Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/ChangeLog.2005 @ 25

Last change on this file since 25 was 25, checked in by landauf, 16 years ago

added tcl to libs

File size: 142.3 KB
Line 
12005-12-30  Kevin B. Kenny  <kennykb@acm.org>
2
3        * generic/tclStubLib.c: Corrected a typo in "missing Stubs table
4        pointer."
5
62005-12-27  Kevin B. Kenny  <kennykb@acm.org>
7
8        * generic/tcl.decls:  Destubbed TclTomMathInitializeStubs - it is in
9        * generic/tcl.h:      the stub library, not the main shared
10        * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble.
11        * generic/tclExecute.c:
12        * generic/tclInt.h:
13        * generic/tclStrToD.c:
14
15        * generic/tclDecls.h:
16        * generic/tclStubLib.c:
17        * generic/tclStubInit.c: Regenerated.
18
19        * generic/clock.tcl: Reverted to using the time zone abbreviation and
20        not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a
21        good long-term solution, but there may not be one.
22
23        * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the
24        square root, roughly doubling the speed of the routine. (This is a
25        local change that needs to be communicated to Tom.)
26
27        * win/Makefile.in: Corrected a bug where tommath_class.h and
28        tommath_superclass.h were not installed, making it impossible for
29        client code to compile against the tommath stubs.
30
31        * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to
32        Daylight Saving Time in Canada, plus redefinition of the Posix-style
33        zones [e.g., EST5EDT] to be locale-independent.)
34
35        * libtommath: Updated to Tom St.Denis's release 0.37.
36
372005-12-20  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
38
39        * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs
40        and not ints, so they are less likely to wrap on 64-bit machines.
41
422005-12-19  Don Porter  <dgp@users.sourceforge.net>
43
44        * generic/tclCmdMZ.c:   Modified [string is double] to use
45        * tests/string.test:    TclParseNumber() to parse trailing whitespace.
46        Ensures consistency, and makes it easier to cleanup after invalid
47        internal reps left behind by parsing [Bugs 1360532 1382287].
48
49        * generic/tclParseExpr.c:       Added TCL_PARSE_NO_WHITESPACE to
50        * generic/tclScan.c:    TclParseNumber() calls since [scan] and [expr]
51        * tests/scan.test:      parsing don't want spaces in parsed numbers.
52
53        * generic/tclInt.h:     Added TCL_PARSE_NO_WHITESPACE flag to the
54        * generic/tclStrToD.c:  TclParseNumber() interface.
55
562005-12-19  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
57
58        * doc/Tcl.n: Clarify what is going on in variable substitution
59        following thread on comp.lang.tcl.
60
612005-12-18  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
62
63        * generic/tclCompCmds.c (TclCompileDictCmd): Ensure that we only do an
64        'endCatch' when there's a preceding 'beginCatch'. [Bug 1382528] Many
65        thanks to Anton Kovalenko for finding this and pointing out that it was
66        a catch stack handling problem!
67
682005-12-14  Daniel Steffen  <das@users.sourceforge.net>
69
70        * generic/tclIOUtil.c: workaround gcc warning "comparison is always
71        * generic/tclTest.c:   false due to limited range of data type".
72
73        * macosx/Tcl.xcode/project.pbxproj:
74        * macosx/Tcl.xcodeproj/project.pbxproj:
75        * unix/Makefile.in: add new tclTomMath* files.
76
77        * generic/tclBasic.c: replace panic with Tcl_Panic.
78
792005-12-13  Kevin B. Kenny  <kennykb@acm.org>
80
81        * generic/tcl.decls:    Added changes to export an additional stubs
82        * generic/tclBasic.c:   table to represent the 'libtommath' routines
83        * generic/tclDecls.h:   that Tcl uses and export them to callers.
84        * generic/tclInt.decls: Reran 'genstubs'
85        * generic/tclInt.h:
86        * generic/tclIntDecls.h:
87        * generic/tclIntPlatDecls.h:
88        * generic/tclStubInit.c:
89        * generic/tclStubLib.c:
90        * generic/tclTomMath.decls:
91        * generic/tclTomMath.h:
92        * generic/tclTomMathDecls.h:
93        * generic/tclTomMathInterface.c:
94        * generic/tommath.h:
95        * tools/fix_tommath_h.tcl:
96        * unix/Makefile.in:
97        * win/Makefile.in:
98        * win/makefile.vc:
99
100        * generic/tclClock.c:   Made changes to silence a number of compiler
101        * generic/tclIO.c:      warnings when building with mingw.
102        * generic/tclIORChan.c:
103        * generic/tclLink.c:
104        * generic/tclListObj.c:
105        * generic/tclObj.c:
106        * generic/tclParseExpr.c:
107        * generic/tclProc.c:
108        * generic/tclTimer.c:
109        * win/tclWinChan.c:
110        * win/tclWinConsole.c:
111        * win/tclWinDde.c:
112        * win/tclWinFCmd.c:
113        * win/tclWinFile.c:
114        * win/tclWinReg.c:
115        * win/tclWinSock.c:
116
1172005-12-13  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
118
119        * generic/tclExecute.c (TEBC:DICT_FIRST,DICT_DONE): Only decrease the
120        references to the dictionary once the iteration completes. Do this by
121        storing the dict in the iterator context variable. [Bug 1379349] Thanks
122        to Ulrich Ring and Tobias Hippler for finding this.
123
1242005-12-12  Jeff Hobbs  <jeffh@ActiveState.com>
125
126        * unix/tcl.m4, unix/configure: Fix sh quoting error reported in
127        bash-3.1+ [Bug 1377619] (schafer)
128
1292005-12-12  Kevin B. Kenny  <kennykb@acm.org>
130
131        * doc/mathfunc.n: Changed two examples from the incorrect 'tcl::math::'
132        to 'tcl::mathfunc::' [Bug 1378818]
133
1342005-12-09  Mo DeJong  <mdejong@users.sourceforge.net>
135
136        * win/configure: Regen.
137        * win/tcl.m4 (SC_CONFIG_CFLAGS): Define MACHINE for gcc builds. The
138        lack of a definition of this variable in the manifest file was causing
139        a runtime error in wish built with gcc.
140
1412005-12-09  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
142
143        * tests/lsearch.test (lsearch-10.8..10):  If the -start is off the end,
144        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find nothing
145        at all. [Bug 1374778]
146
1472005-12-08  Jeff Hobbs  <jeffh@ActiveState.com>
148
149        * win/Makefile.in, win/makefile.vc: Add Win x64 and CE build support
150        * win/tcl.m4, win/configure:        CE still requires C code fixes.
151
152        * generic/tcl.h: use struct __stat64 (not _stat64) for MSC_VER >= 1400
153        (i.e. latest Platform SDK).
154
1552005-12-07  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
156
157        * doc/socket.n: Cross-referenced the socket documentation better to the
158        fconfigure documentation on the topic of asynch sockets.
159        * doc/fconfigure.n: Added keyword to documentation of -blocking option
160        so that people looking for "asynch" can find it as well.
161
1622005-12-05  Daniel Steffen  <das@users.sourceforge.net>
163
164        * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure
165        overrides that were originally copied from Darwin CVS (rdar://3693001)
166
1672005-12-05  Kevin B. Kenny  <kennykb@acm.org>
168
169        * tools/tclZIC.tcl: Updated to reflect changes in calling sequence when
170        GetJulianDateFromEraYearMonthDay moved to C.
171        * library/tzdata: Regenerated from Olson's tzdata2005p.tar.gz - the
172        'systemv' changes appear not to affect Tcl's processing of the dates.
173
1742005-12-05  Daniel Steffen  <das@users.sourceforge.net>
175
176        * unix/configure.in: move check for fts API to configure.in and run it
177        * unix/tcl.m4:       on all platforms, since Linux glibc2 and *BSDs
178        also have this; using fts is more efficient than a recursive
179        opendir/readdir.
180        * unix/tclUnixFCmd.c (TraverseUnixTree): add support to fts code for
181        platforms with stat64.
182        * unix/configure:
183        * unix/tclConfig.h.in: regen.
184
1852005-12-05  Jeff Hobbs  <jeffh@ActiveState.com>
186
187        * unix/configure:     Use fts file API on Darwin if available.
188        * unix/tcl.m4:        Addresses file delete issues in readdir noted
189        * unix/tclUnixFCmd.c: in [Bug 1034337]. (steffen)
190        Remove redundant stat call for each file in DoCopyFile. (steffen)
191
1922005-12-02  Kevin B. Kenny  <kennykb@acm.org>
193
194        * generic/tclClock.c: Moved a tiny bit more of [clock format] from run
195        * library/clock.tcl: time to compile time, and fixed a l10n bug in the
196        process. [Bug 1371446]. Also, conditoned the call to SetupTimeZone to
197        speed the common case where TZData($timezone) already exists, and
198        achieved a puny speedup by making ::tcl::clock::getenv not throw
199        errors.
200        * unix/Makefile.in: Made some changes to support a 'make' command that
201        is present on some antiquated versions of Solaris.
202
2032005-12-01  Kevin B. Kenny  <kennykb@acm.org>
204
205        * library/clock.tcl: Continued rationalizing the code, eliminating
206        numerous redundant [mc] calls. Added another time boost by precompiling
207        a [::format] command to do the bulk of the work of [clock format].
208
2092005-12-01  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
210
211        * unix/Makefile.in: Add remaining dependency info. While automated
212        maintenance of this information would be good, having it at all is much
213        better than a poke in the eye with a sharp stick...
214
2152005-12-01  Daniel Steffen  <das@users.sourceforge.net>
216
217        * generic/tclClock.c: fix warning.
218
219        * unix/tcl.m4 (Darwin): fix error when MACOSX_DEPLOYMENT_TARGET unset
220        * unix/configure: regen.
221
2222005-11-30  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
223
224        * unix/Makefile.in: Add dependency information relating to tclCompile.h
225        since when the list of opcodes changes it is usually useful to rebuild
226        everything that depends on it (but which is nonetheless a small
227        fraction of the total set of Tcl source files).
228
229        ***POTENTIAL INCOMPATIBILITY*** for bytecode savers/loaders. See below
230
231        * generic/tclCompCmds.c (TclCompileSwitchCmd): Arrange for very simple
232        [switch] invokations to be compiled into hash lookups into jump tables;
233        only a very specific kind of [switch] can be safely compiled this way,
234        but that happens to be the most common kind. This makes around 5-10%
235        difference to the speed of execution of clock.test.
236        * generic/tclExecute.c (TEBC:INST_JUMP_TABLE): New instruction to allow
237        for jumps to locations looked up in a hashtable. Requires a new AuxData
238        type, tclJumptableInfoType (supported by the functions DupJumptableInfo
239        and FreeJumptableInfo in tclCompCmds.c) so anything that saves bytecode
240        containing this *must* be updated!
241
2422005-11-30  Kevin Kenny  <kennykb@acm.org>
243
244        * generic/tclClock.c: Fixed a bad refcount in previous commit that led
245        to a corrupted heap. Also silenced a warning that some compilers gave
246        about the excessively long constant for JULIAN_SEC_POSIX_EPOCH. Also
247        fixed a bug where [clock format] would fail in the :localtime zone for
248        times before the Posix Epoch. Thanks to Miguel Sofer for pointing out
249        all of these. Also rationalized the code a little bit by moving parts
250        of [clock scan] into C, eliminating some code that was duplicated in
251        the C and Tcl layers.
252
2532005-11-29  Kevin Kenny  <kennykb@acm.org>
254
255        * generic/tclBasic.c:   Moved a big part of [clock format] down
256        * generic/tclClock.c:   to the C level in order to make it go faster.
257        * generic/tclInt.h:     Preliminary measurements suggest that it
258        * generic/clock.tcl:    more than doubles in speed with this change.
259
2602005-11-29  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
261
262        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to
263        process REs that contain backreferences. This expensive mode of
264        operation is only used if the RE would otherwise cause a compilation
265        failure. [Bug 1366683]
266
2672005-11-28  Kevin Kenny  <kennykb@acm.org>
268
269        * tools/tclZIC.tcl (convertTimeOfDay): Corrected a typo that caused
270        wrong DST transitions in any time zone where the transition is
271        specified as local Standard Time (as opposed to wall-clock or UTC).
272        (Also updated the code to be bignum-safe.)
273        * tests/clock.test (clock-51.1): Added regression test for the above.
274        * library/tzdata: Updated to Olson's 'tzdata2005o' (changes for Cuba,
275        Nicaragua, Jordan, and Georgia) and regenerated. Thanks to Paul
276        Mackerras for reporting this problem.
277
2782005-11-27  Daniel Steffen  <das@users.sourceforge.net>
279
280        * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
281        add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to
282        configure (flag can't be present twice, so can't be in both CFLAGS and
283        LDFLAGS during configure), don't use -prebind when deploying on 10.4,
284        define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542).
285        (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete
286        autoconf macros. Sync with tk/unix/tcl.m4.
287
288        * unix/configure.in: fix obsolete autoconf macros, sync gratuitous
289        formatting/ordering differences with tk/unix/configure.in.
290
291        * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable
292        linking the same as during configure (needed to avoid losing any linker
293        relevant flags in CFLAGS, in particular flags that cannot be in
294        LDFLAGS). Avoid concurrent linking of tclsh and compiling of
295        tclTestInit.o or xtTestInit.o during parallel make.
296        (checkstubs, checkdoc, checkexports): dependency and Darwin fixes
297        (dist): add new macosx files.
298
299        * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING
300        on second NSAddImage only. [Bug 1204237]
301        (TclGuessPackageName): should not be MODULE_SCOPE.
302        (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for
303        loading universal (fat) bundles from memory.
304
305        * unix/tclUnixFCmd.c:
306        * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes.
307        (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API
308        to enable copying of xattrs & ACLs by [file copy].
309
310        * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE
311        defines to support fat compiles of ppc and ppc64 at the same time,
312        (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location
313        of version numbers in macosx files.
314
315        * generic/tclInt.h: clarify fat compile comment.
316
317        * unix/tclUnixPort.h: add Darwin specifc configure overrides to support
318        fat compiles, where configure runs only once for multiple architectures
319        (replaces Darwin CVS fix by emoy, rdar://3693001).
320
321        * macosx/tclMacOSXBundle.c:
322        * macosx/tclMacOSXNotify.c:
323        * unix/tclUnixNotfy.c:
324        * unix/tclUnixPort.h: fix #include order to support compile time
325        override of HAVE_COREFOUNDATION in tclUnixPort.h when building for
326        ppc64
327
328        * macosx/Tcl.pbproj/default.pbxuser (new file):
329        * macosx/Tcl.pbproj/jingham.pbxuser:
330        * macosx/Tcl.pbproj/project.pbxproj:
331        * macosx/Tcl.xcode/default.pbxuser (new file):
332        * macosx/Tcl.xcode/project.pbxproj (new file):
333        * macosx/Tcl.xcodeproj/default.pbxuser (new file):
334        * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated
335        projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on
336        10.2, with native tcltest targets and support for universal (fat)
337        compiles.
338
339        * macosx/README: clarification/cleanup, document new Xcode projects and
340        universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once).
341
342        * unix/Makefile.in:
343        * unix/aclocal.m4:
344        * unix/configure.in:
345        * unix/dltest/Makefile.in:
346        * macosx/configure.ac (new file): add support for inclusion of
347        unix/configure.in by macosx/configure.ac, allows generation of a config
348        headers enabled configure script in macosx (required by Xcode
349        projects).
350
351        * macosx/GNUmakefile: rename from Makefile to avoid overwriting by
352        configure run in tcl/macosx, add support for reusing configure cache,
353        build target fixes, remove GENERIC_FLAGS override now handled by
354        tcl.m4.
355
356        * generic/tcl.decls: add Tcl_Main declaration as comment to avoid
357        'checkstubs' target complaining about it missing from stubs.
358
359        * generic/regex.h:
360        * generic/tclDate.c:
361        * generic/tclEnv.c:
362        * generic/tclGetDate.y:
363        * generic/tclIOUtil.c:
364        * generic/tclObj.c:
365        * generic/tclStubInit.c:
366        * generic/tclStubLib.c:
367        * generic/tclPathObj.c:
368        * generic/tclThreadAlloc.c:
369        * generic/tclThreadStorage.c:
370        * generic/tclTrace.c:
371        * generic/tclVar.c:
372        * generic/tommath.h:
373        * tools/fix_tommath_h.tcl:
374        * unix/tclUnixFCmd.c: ensure externally visible symbols not contained
375        in stubs table are declared as MODULE_SCOPE (or as static if not used
376        outside of own source file). These changes allow 'make checkstubs' to
377        complete without error on Darwin with gcc 4.
378
379        * generic/rege_dfa.c (getvacant):
380        * generic/regexec.c (cfind):
381        * generic/tclCompExpr.c (CompileSubExpr):
382        * generic/tclNamesp.c (NamespaceEnsembleCmd):
383        * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to
384        silence gcc 4 warnings.
385
386        * generic/tclExecute.c (TclExecuteByteCode): fix unused variable
387        warning when NO_WIDE_TYPE is defined.
388
389        * generic/regguts.h: only #define NDEBUG if not already #defined.
390
391        * unix/tclUnixNotfy.c:
392        * macosx/tclMacOSXNotify.c: sync whitespace & comments.
393
394        * unix/tclUnixPort.h:
395        * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex
396        API.
397
398        * unix/configure:
399        * unix/tclConfig.h.in: regen.
400
4012005-11-21  Andreas Kupries  <andreask@activestate.com>
402
403        * unix/Makefile.in (install-libraries): Updated Makefile to new
404        * win/Makefile.in (install-libraries):  version of the http package.
405        This fixes the ifneeded/provide mismatch reported when trying to
406        require http. Should we maybe try to automatically extract the version
407        number from the http code to prevent future breakage ?
408
409        This follows the update of the version number by dgp on Nov 15 (No
410        entry found in the ChangeLog).
411
4122005-11-20  Joe English  <jenglish@users.sourceforge.net>
413
414        * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when
415        Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure
416        crashes wish"]
417
4182005-11-18  Miguel Sofer  <msofer@users.sf.net>
419
420        * tests/trace.test (trace-34.5): [Bug 1047286], added a second test
421        illustrating the role of "ns in callStack" in the ns's visibility
422        during deletion traces.
423
4242005-11-18  Kevin B. Kenny  <kennykb@acm.org>
425
426        * doc/clock.n: Restored several missing lines near the %w format group
427        so that %w and %W are documented with their actual behaviour. [Bug
428        1359183]
429
4302005-11-18  Jeff Hobbs  <jeffh@ActiveState.com>
431
432        * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we
433        retrieve the next statePtr from it.
434
4352005-11-18  Miguel Sofer  <msofer@users.sf.net>
436
437        * generic/tclObj.c (GetBignumFromObj): replace NULL with
438        tclEmptyStringRep to stop memcpy from complaining in a debug build
439        (the corresponding branch is eliminated by the optimiser otherwise).
440
4412005-11-18  Andreas Kupries  <andreask@activestate.com>
442
443        * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch
444        for [Bug 1359094]. This moves the retrieval of the next channel state
445        to the end of the loop, as the called closeproc may close other
446        channels, i.e. modify the list we are iterating, invalidating any
447        pointer retrieved earlier.
448
4492005-11-18  Don Porter  <dgp@users.sourceforge.net>
450
451        * generic/tclListObj.c: Restored the SetListFromAny routine to the
452        * generic/tclObj.c:     "list" Tcl_ObjType, and restored the
453        Tcl_RegisterObjType() call for "list". This addresses the needs of some
454        "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is
455        that of the "list" Tcl_ObjType.
456
4572005-11-18  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
458
459        * library/http/http.tcl (http::geturl): Improved syntactic validation
460        of URLs, and better error messages in some cases. [Bug 1358369]
461
4622005-11-17  Miguel Sofer  <msofer@users.sf.net>
463
464        * tests/namespace.test: fix comment
465
4662005-11-14  Don Porter  <dgp@users.sourceforge.net>
467
468        * generic/tclStrToD.c:  More data in the "can't happen" Tcl_Panic to
469        aid debugging.
470
471        * generic/tclBasic.c (CallCommandTraces): Save/restore the interp
472        result during traces to fix [Bug 1355342].
473
4742005-11-13  Miguel Sofer  <msofer@users.sf.net>
475
476        * generic/tclInt.h:
477        * generic/tclNamesp.c:
478        * tests/namespace.test: fix for [Bug 1354540] and [Bug 1355942]. The
479        new tests 7.3-6 and the modified 51.13 fail due to the unrelated [Bug
480        1355342]
481
482        * tests/trace.test: added tests 20.13-16 for [Bug 1355342]
483
4842005-11-12  Miguel Sofer  <msofer@users.sf.net>
485
486        * generic/tclBasic.c (Tcl_DeleteCommandFromToken):
487        * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for
488        [Bug 1354540] - making sure that cached references to a command being
489        deleted cannot be made reusable by a delete trace.
490
4912005-11-12  Donal K. Fellows  <dkf@users.sf.net>
492
493        * generic/tclNamesp.c (Tcl_FindCommand): Do not find commands in dead
494        namespaces on the path. Partial fix for [Bug 1354540].
495
4962005-11-11  Don Porter  <dgp@users.sourceforge.net>
497
498        * generic/tclInt.h:     Revised TclParseNumber interface to enable
499        * generic/tclScan.c:    revision to the [scan] command implementation
500        * generic/tclStrToD.c:  to permit tests scan-4.44,55 to pass again.
501        [Bug 1348067].
502
5032005-11-11  Miguel Sofer  <msofer@users.sf.net>
504
505        * generic/tclBasic.c (Tcl_DeleteCommandFromToken):
506        * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early
507        to insure that cached references to this command are invalidated.
508        Partial fix for [Bug 1352734] - at least insures that namespace-51.13
509        does not cause a panic. The test is still marked as knownbug, pending
510        resolution of what is actually the correct return value ([Bug
511        1354540])
512
5132005-11-09  Kevin B. Kenny  <kennykb@acm.org>
514
515        * generic/tclTimer.c: Changed [after] so that it behaves correctly
516        * tests/timer.test:   with negative arguments [Bug 1350293] and
517        arguments that overflow a 32-bit word. [Bug 1350291]
518
5192005-11-08  Don Porter  <dgp@users.sourceforge.net>
520
521        * tests/compile.test:   Updated tests with changed behavior
522        * tests/execute.test:   due to addition of bignums.
523        * tests/expr-old.test:
524        * tests/expr.test:
525        * tests/parseExpr.test:
526        * tests/platform.test:
527        * tests/string.test:
528
5292005-11-08  Jeff Hobbs  <jeffh@ActiveState.com>
530
531        * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130
532        based on errors seen on OS X 10.3 with lots of links in a dir.
533        [Bug 1034337 followup]
534
5352005-11-09  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
536
537        * unix/Makefile.in (gdb-test): Added a new target to make it easier to
538        run the test suite inside a debugger.
539
5402005-11-08  Don Porter  <dgp@users.sourceforge.net>
541
542        * tests/compExpr-old.test:      Updated tests with changed behavior due
543        to addition of bignums.
544
545        * tests/expr.test:      Portable tests expr-46.13-18 [Bug 1341368]
546
547        * generic/tclPkg.c:     Corrected inconsistencies in the value returned
548        * tests/pkg.test:       by Tcl_PkgRequire(Ex) so that the returned
549        values will always agree with what is stored in the package database.
550        This way repeated calls to Tcl_PkgRequire(Ex) have the same results.
551        Thanks to Hemang Lavana. [Bug 1162286].
552
5532005-11-08  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
554
555        * generic/tclTrace.c (TraceVarEx): Factor out heart of Tcl_TraceVar2
556        (TclTraceVariableObjCmd,TraceVarProc): Use the new internal API to
557        arrange for the clientData to be cleaned up at the same time as the
558        rest of the main trace record. This simplifies the code a bit at the
559        same time.
560
5612005-11-07  Miguel Sofer  <msofer@users.sf.net>
562
563        * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug
564        1348775]. The recently added trace-8.9 test is now 13.4.
565
5662005-11-07  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
567
568        * tests/dict.test (dict-19.2): arrange for the stress testing code to
569        only stress test the dict code and not the trace code as well. [Bug
570        1342858]
571
5722005-11-05  Miguel Sofer  <msofer@users.sf.net>
573
574        * tests/trace.test (trace-8.9): added test to detect leak, see [Bug
575        1348775].
576
5772005-11-04  Pat Thoyts  <patthoyts@users.sourceforge.net>
578
579        * win/tclWinPort.h:  Applied [Patch 1267871] by Matt Newman for
580        * win/tclWinPipe.c:  extended error code support on Windows.
581        * tests/exec.test:   Tests for extended error codes.
582        * generic/tclPipe.c: Permit long codes (platform macros permitting).
583
5842005-11-04  Miguel Sofer  <msofer@users.sf.net>
585
586        * generic/tclBinary.c:
587        * generic/tclCmdAH.c:
588        * generic/tclCmdIL.c:
589        * generic/tclCmdMZ.c:
590        * generic/tclDictObj.c:
591        * generic/tclExecute.c:
592        * generic/tclIOCmd.c:
593        * generic/tclLink.c:
594        * generic/tclTest.c:
595        * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar,
596        Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr
597        argument - i.e., they will free a 0-refCount object if they failed to
598        set the variable. Fixed all callers in the core.
599
6002005-11-04  Kevin Kenny  <kennykb@acm.org>
601
602        * generic/tclGetDate.y: Added abbreviations for the Korean
603        * library/clock.tcl:    timezone. [Patch 1298737]
604        * generic/tclDate.c:    Regenerated.
605
606        * tools/findBadExternals.tcl: Added this script, which locates external
607        symbols that do not begin with 'Tcl' or 'tcl' and hence might be in
608        conflict with other link libraries. Thanks to George Peter Staplin for
609        the idea and the initial version of the script. [Bug 1263012]
610
611        * unix/Makefile.in: Trimmed a bunch of fat out of the tommath/
612        directory in 'make dist'. [RFE 1333318]
613
614        * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to
615        heidibr@users.sf.net for the patch. [Bug 1163896]. Removed the last
616        vestiges of GNU dld from the Unix build [RFE 1071992].
617
618        * unix/tclLoadDld.c: Removed.
619        * unix/configure: Regenerated.
620
6212005-11-04  Miguel Sofer  <msofer@users.sf.net>
622
623        * generic/tclInt.h:
624        * generic/tclNamesp.c:
625        * generic/tclVar.c:
626        * tests/trace.test: fix for [Bugs 1338280/1337229]; changed to use the
627        same approach as the 8.4 patch in the ticket (i.e., removed the patch
628        committed on 2005-31-10).
629
6302005-11-03  Pat Thoyts  <patthoyts@users.sourceforge.net>
631
632        * win/tclWin32Dll.c:   Applied [Patch 1256872] to provide unicode
633        * win/tclWinConsole.c: support in the console on suitable systems.
634        * win/tclWinInt.h:     Patch by Anton Kovalenko
635
6362005-11-02  Pat Thoyts  <patthoyts@users.sourceforge.net>
637
638        Applied [Patch 1096916] to support building with MSVC 8.
639        * generic/regerror.c: Avoid use of reserved word.
640        * generic/tcl.h:      Select the right Tcl_Stat structure
641        * generic/tclDate.c:  Casts to handle 64 bit time_t case.
642        * tests/env.test:     Include essential envvar on Win32
643        * win/nmakehlp.c:     Handle new return codes.
644        * win/makefile.vc:    Use the selected options.
645        * win/rules.vc:       Check options are applicable
646        * win/tclWinPort.h:   Disable deprecated function warnings
647        * win/tclWinSock.c:   Provide default value to avoid warning.
648        * win/tclWinTime.c:   Add casts to handle 64bit time_t type.
649
6502005-11-01  Don Porter  <dgp@users.sourceforge.net>
651
652        * generic/tclTrace.c (TclCheckExecutionTraces): Corrected mistaken
653        assumption that all command traces are set at the script level.
654        Report/fix from Jacques H. de Villiers. [Bug 1337941]
655
656        * tests/unixNotfy.test (1.1,2): Update error message whitespace to
657        match changes in code.
658
659        * tests/expr-old.test (expr-32.52): Use int(.) to restrict result of
660        left shift to the C long range.
661
662        * expr.test (expr-46.13): Added test that illustrates shortcoming of
663        [Patch 1340260].
664
6652005-10-31  Miguel Sofer  <msofer@users.sf.net>
666
667        * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don.
668        * tests/trace.test: fix duplicate test numbers
669
6702005-10-31  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
671
672        * win/tclWinSerial.c (SerialSetOptionProc): Cleaned up option parsing
673        to produce more informative error messages and separate error and
674        non-error code paths better.
675        * tests/ioCmd.test (iocmd-8-19): Updated.
676
6772005-10-29  Miguel Sofer  <msofer@users.sf.net>
678
679        * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure
680        that a second call with TCL_TRACE_DESTROYED does not lead to a second
681        call to Tcl_EventuallyFree(). It is still true that that second call
682        should not happen, so the bug is not completely fixed.
683        * tests/trace.test (test-18.3-4): added tests for [Bug 1337229] and
684        [Bug 1338280].
685
6862005-10-23  Vince Darley  <vincentdarley@sourceforge.net>
687
688        * generic/tclFileName.c: fix to memory leak in glob [Bug 1335006] Obj
689        leak detection and patch by Eric Melbardis.
690
691        * tests/fCmd.test:
692        * win/tclWinFile.c: where appropriate windows API is available, try to
693        set 'nlink' and 'ino' stat fields (previously they were always 0). [Bug
694        1325803]
695
6962005-10-22  Miguel Sofer  <msofer@users.sf.net>
697
698        * tests/foreach.test (foreach-8.1): added test for [Bug 1189274]
699
7002005-10-22  Miguel Sofer  <msofer@users.sf.net>
701
702        * generic/tclExecute.c (INST_INCR_*): fixed [Bug 1334570]. Obj leak
703        detection and patch by Eric Melbardis.
704
7052005-10-21  Kevin B. Kenny  <kennykb@acm.org>
706
707        * generic/tclStrToD.c (RefineApproximation): Plugged a memory leak
708        where two intermediate results were not freed on one return path. [Bug
709        1334461]. Thanks to Eric Melbardis for the patch.
710
7112005-10-21  Donal K. Fellows  <dkf@users.sf.net>
712
713        * doc/binary.n: Clarify that virtually all code that uses the 'h'
714        format in [binary scan] should be using the 'H' format instead. It is
715        nearly always a bug to use the other!
716
7172005-10-20  Miguel Sofer  <msofer@users.sf.net>
718
719        * generic/tclListObj.c (TclLsetFlat):
720        * tests/lset.test (lset-10.3): fixed handling of unshared lists with
721        shared sublists, [Bug 1333036] reported by neuronstorm.
722
7232005-10-19  Donal K. Fellows  <dkf@users.sf.net>
724
725        * generic/tclIORChan.c (PassReceivedError,PassReceivedErrorInterp):
726        Fix crash caused by passing -1 as the length to TclNewStringObj(). Only
727        Tcl_NewStringObj (the function call, not the macro) handles that sort
728        of thing correctly. This makes ioCmd.test pass again.
729
7302005-10-19  Don Porter  <dgp@users.sourceforge.net>
731
732        * generic/tclClock.c:           Removed some dead code.
733        * generic/tclCmdIL.c:
734        * generic/tclCompCmds.c:
735        * generic/tclDictObj.c:
736        * generic/tclExecute.c:
737        * generic/tclLiteral.c:
738        * generic/tclParseExpr.c:
739        * generic/tclScan.c:
740        * generic/tclUtil.c:
741        * generic/tclVar.c:
742
7432005-10-19  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
744
745        * generic/tclIORChan.c: General cleanup, removing checks that are
746        unnecessary due to the general contracts of other functions in the
747        core, converting to using ANSI declarations, etc. Note that nearly the
748        whole file has changed, but it is often just cosmetic.
749
7502005-10-19  Miguel Sofer  <msofer@users.sf.net>
751
752        * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed
753        faulty peephole optimisation that can cause crashes, [Bug 1331475]
754        reported by Aric Bills.
755
7562005-10-18  Don Porter  <dgp@users.sourceforge.net>
757
758        * generic/tclExecute.c: Added optimization for I32L64 systems to avoid
759        using bignums to perform int multiplies. The improvement shows up most
760        dramatically in tclbench's matrix.bench.
761
7622005-10-15  Don Porter  <dgp@users.sourceforge.net>
763
764        * generic/tclExecute.c: Restored some optimizations of the
765        INST_INCR_SCALAR1_IMM opcode.
766
7672005-10-14  Zoran Vasiljevic  <vasiljevic@users.sourceforge.net>
768
769        * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated
770        2005-10-04 (see below). Look into [Bug 1323992] for detailed
771        discussion.
772
773        * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have
774        been CRTIMPORT rather. This broke compilation of generic/tclMain.c and
775        was probably introduced by mistake while applying the fix for [Bug
776        1256937] below.
777
7782005-10-14  Kevin Kenny  <kennykb@acm.org>
779
780        * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a
781        couple of infelicitous do {...} while(0) constructs.
782
7832005-10-14  Pat Thoyts  <patthoyts@users.sourceforge.net>
784
785        * generic/tcl.h:     Fix for [Bug 1256937] - correctly decorate
786        * generic/tclMain.c: imported functions from msvcrt in static builds.
787
7882005-10-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
789
790        * tests/format.test: "Forward"-port of test updates relating to [Bug
791        1284178]. The bug itself was fixed by TIP#237.
792
7932005-10-13  Zoran Vasiljevic  <vasiljevic@users.sourceforge.net>
794
795        * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef
796        TCL_THREADS changes done to de-activate pending event processing when
797        channel is being closed/cutted.
798
7992005-10-13  Don Porter  <dgp@users.sourceforge.net>
800
801        * generic/tclExecute.c: Removed obsolete use of NO_ERRNO_H.
802        * tools/man2tcl.c:
803        * unix/tcl.m4:
804        * unix/tclConfig.h.in:
805        * win/configure.in:
806
807        * unix/configure:       autoconf-2.59
808        * win/configure:
809
810        * compat/tclErrno.h:    Removed obsolete file.
811
812        * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when
813        parsing "Na". [Bug 1325833]
814
8152005-10-12  Don Porter  <dgp@users.sourceforge.net>
816
817        * generic/tclExecute.c (GetNumberFromObj):      Restored some lost
818        optimizations for empty string values. We avoid cost of a call to
819        TclParseNumber just to tell us an empty string isn't a number.
820
8212005-10-12  Donal K. Fellows  <dkf@users.sf.net>
822
823        * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not
824        be combined with post-increment arguments. [Bug 1325099]
825
8262005-10-12  Kevin Kenny  <kennykb@acm.org>
827
828        * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several
829        common cases inlined in hopes of gaining a little performance in [incr]
830
8312005-10-10  Miguel Sofer  <msofer@users.sf.net>
832
833        * generic/tclCompCmds.c: New convenience macro CompileTokens().
834
8352005-10-10  Don Porter  <dgp@users.sourceforge.net>
836
837        * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also
838        added missing "break" to a switch that broke wide XOR operations.
839
8402005-10-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
841
842        * generic/tclInterp.c (DeleteScriptLimitCallback)
843        (SetScriptLimitCallback): Improve the interlocking between the script
844        limit callback record and the hash table of current such records, to
845        prevent crashes in callbacks that create callbacks.
846        (Tcl_LimitSetTime): Reset the correct flag. Problem reported by
847        Nicolas Castagne <castagne@imag.fr> on comp.lang.tcl
848
8492005-10-10  Miguel Sofer  <msofer@users.sf.net>
850
851        * generic/tclExecute.c: Fixing errors in last commit. (Two commits, the
852        second removes wrong comment).
853
8542005-10-09  Miguel Sofer  <msofer@users.sf.net>
855
856        * generic/tclBasic.c:
857        * generic/tclExecute.c:
858        * generic/tclStrToD.c:
859        * generic/tclStringObj.c: Initialise variables to avoid compiler
860        warnings ([Bug 1320818] among others).
861
8622005-10-08  Don Porter  <dgp@users.sourceforge.net>
863
864        TIP#237 IMPLEMENTATION
865
866        [kennykb-numerics-branch] Resynchronized with the HEAD; at this
867        checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and
868        kennykb-numerics-branch contain identical code.
869
870        [kennykb-numerics-branch]       Merge updates from HEAD
871
872        * generic/tclExecute.c: More performance macros and special handling of
873        the wide integer type for performance on 32-bit systems.
874
8752005-10-07  Don Porter  <dgp@users.sourceforge.net>
876
877        [kennykb-numerics-branch]
878
879        * generic/tclExecute.c: Macro GetNumberFromObj() is version of
880        TclGetNumberFromObj() that saves a function call for common uses.
881
882        * generic/tclInt.h:     Made #undef NO_WIDE_TYPE the default on 32-bit
883        systems. Being able to use 64-bit values without leaping to mp_int
884        should help with performance.
885
886        * generic/tclObj.c:     Bug fixes in the #undef NO_WIDE_TYPE
887        * generic/tclExecute.c: configuration.
888
889        * generic/tclExecute.c: Improved performance of comparison opcodes and
890        bitwise operations and removed yet more dead code.
891
8922005-10-07  Jeff Hobbs  <jeffh@ActiveState.com>
893
894        * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to
895        * tests/fCmd.test (fCmd-20.2):           account for NFS special files
896        with a readdir rewind threshold. [Bug 1034337]
897
8982005-10-06  Don Porter  <dgp@users.sourceforge.net>
899
900        [kennykb-numerics-branch]
901
902        * generic/tclExecute.c: Improved performance of INST_RSHIFT and
903        INST_LSHIFT.
904
9052005-10-05  Don Porter  <dgp@users.sourceforge.net>
906
907        [kennykb-numerics-branch]
908
909        * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV,
910        INST_ADD, and INST_SUB and replaced a "goto... label" with a "break
911        from loop" in TclIncrObj() and removed some dead code.
912
9132005-10-05  Andreas Kupries  <andreask@activestate.com>
914
915        * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied
916        the patch provided by David Gravereaux.
917
918        * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David
919        Welton's patch for it, and added a note about wideSeekProc.
920
921        * generic/tclIORChan.c (RcClose): Removed unreachable panic/return
922        statements. This fixes the remainder of [Bug 1286256].
923
9242005-10-05  Jeff Hobbs  <jeffh@ActiveState.com>
925
926        * tests/env.test (env-6.1):
927        * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1
928        * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET
929        to existing USE_PUTENV define to account for various systems that have
930        putenv(), but can't unset env vars with it. Note difference between
931        Windows and Linux for actually unsetting the env var (use of '=').
932        Correct the resizing of the environ array. We assume that we are in
933        full ownership, but that's not correct.[Bug 979640]
934
9352005-10-04  Don Porter  <dgp@users.sourceforge.net>
936
937        [kennykb-numerics-branch]
938        * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add
939        native long integers. Also updated IllegalExprOperandType and the
940        INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC
941        sections for performance.
942
943        * generic/tclBasic.c: Updated more callers to make use of
944        TclGetNumberFromObj. Removed some dead code.
945
9462005-10-04  Jeff Hobbs  <jeffh@ActiveState.com>
947
948        * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708]
949
950        * tests/http.test:              do not URI encode -._~ according
951        * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho)
952
953        * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load
954        only. [Bug 1204237]
955
956        * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503]
957
958        * tests/winFile.test (getuser): allow valid Windows usernames. [Bug
959        1311285]
960
961        * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} in
962        addition to {expand} for word expansion (make with
963        -DALLOW_EMPTY_EXPAND).
964
9652005-10-04  Zoran Vasiljevic  <vasiljevic@users.sourceforge.net>
966
967        * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any
968        outstanding timer for the channel. Also, prevents events still in the
969        event queue from triggering on the current channel.
970
971        * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if passed
972        NULL argument.
973
9742005-10-03  Don Porter  <dgp@users.sourceforge.net>
975
976        [kennykb-numerics-branch]
977
978        * generic/tclBasic.c:   Re-implemented ExprRoundFunc and
979        ExprEntierFunc to use TclGetNumberFromObj.
980
981        * generic/tclInt.h:     Added new routine TclGetNumberFromObj to
982        * generic/tclObj.c:     provide efficient access to the actual
983        internal rep of a numeric Tcl_Obj without conversions.
984
9852005-10-03  Kevin Kenny  <kennykb@acm.org>
986
987        * tools/loadICU.tcl:  Changed the file names of message catalogs to
988                              lowercase.
989        * tools/makeTestCases.tcl:
990        * library/tzdata/*:   Olson's tzdata2005n.tar.gz. Includes new DST
991        rules for USA and a number of changes to other locales.
992        * tests/clock.test:   Regenerated for new US DST rules.
993
9942005-09-30  Don Porter  <dgp@users.sourceforge.net>
995
996        * generic/tclMain.c: Separate encoding conversion of command line
997        arguments from list formatting. [Bug 1306162].
998
9992005-09-30  Don Porter  <dgp@users.sourceforge.net>
1000
1001        [kennykb-numerics-branch]
1002
1003        * generic/tclStringObj.c:       Bug fix: Missing cast to large enough
1004        integral size before << operations led to broken [format %llx] results.
1005        Thanks to Robert Henry for reporting the bug.
1006
10072005-09-29  Jeff Hobbs  <jeffh@ActiveState.com>
1008
1009        * doc/mathfunc.n:   implementation for TIP #255, expr min/max
1010        * library/init.tcl:
1011        * tests/info.test, tests/expr-old.test:
1012
10132005-09-27  Don Porter  <dgp@users.sourceforge.net>
1014
1015        [kennykb-numerics-branch]
1016
1017        * generic/tcl.h:        Changed name of the new Tcl_Obj intrep field
1018        * generic/tclObj.c:     from "bignumValue" to "ptrAndLongRep" as
1019        * generic/tclProc.c:    described in TIP 237, and more suitable for
1020        other more general uses.
1021
10222005-09-27  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
1023
1024        * tests/binary.test (binary-14.18): Added test for [Bug 1116542] though
1025        the bug itself was already fixed by unrelated changes.
1026
10272005-09-26  Kevin Kenny  <kennykb@acm.org>
1028
1029        [kennykb-numerics-branch] Merge updates from HEAD.
1030
10312005-09-26  Kevin Kenny  <kennykb@acm.org>
1032
1033        * libtommath/:                   Updated to release 0.36.
1034        * generic/tommath.h:             Regenerated.
1035        * generic/tclTomMathInterface.h: Added ten missing aliases for mp_*
1036        functions to avoid namespace pollution in Tcl's exported symbols. [Bug
1037        1263012]
1038
10392005-09-23  Don Porter  <dgp@users.sourceforge.net>
1040
1041        [kennykb-numerics-branch]
1042
1043        * unix/Makefile.in:     Added -DMP_PREC=4 switch to all compiles so
1044        * win/Makefile.in:      that minimum memory requirements of mp_int's
1045        * win/makefile.vc:      will not be quite so large. [Bug 1299153].
1046
1047        * generic/tclStrToD.c:  Fixed memory leak. [Bug 1299803].
1048        * generic/tclObj.c:
1049
10502005-09-20  Don Porter  <dgp@users.sourceforge.net>
1051
1052        [kennykb-numerics-branch]
1053
1054        * generic/tclExecute.c: Revise TclIncrObj() to call
1055        Tcl_GetBignumAndClearObj.
1056
1057        * generic/tcl.decls:    Add Tcl_GetBignumAndClearObj.
1058        * generic/tclObj.c:
1059
1060        * generic/tclDecls.h:   make genstubs
1061        * generic/tclStubInit.c:
1062
10632005-09-16  Don Porter  <dgp@users.sourceforge.net>
1064
1065        [kennykb-numerics-branch]
1066
1067        * generic/tclInt.h:              Added TclBNInitBigNumFromWideInt() so
1068        * generic/tclTomMathInterface.c: that every caller isn't required to
1069        duplicate the sign logic to use the unsigned interface.
1070
1071        * generic/tclBasic.c:   Reduce the number of places where Tcl intrudes
1072        * generic/tclExecute.c: into the internal format details of the mp_int
1073        * generic/tclObj.c:     struct.
1074        * generic/tclStrToD.c:
1075        * generic/tcLStringObj.c:
1076
1077        * generic/tclTomMath.h: Added mp_cmp_d to routines from libtommath
1078        * unix/Makefile.in:     used by Tcl.
1079        * win/Makefile.in:
1080        * win/makefile.vc:
1081
1082        * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a
1083        has the value -d, then the value &c computed should be zero, but
1084        mp_add_d was producing an inconsistent zero value with a sign field of
1085        MP_NEG, something like a value of -0, which other routines in
1086        libtommath can't handle.
1087
1088        * generic/tclExecute.c: Dropped all creation of "bigOne" values and
1089        just use tommath routines that accept the value "1" directly.
1090
10912005-09-15  Miguel Sofer  <msofer@users.sf.net>
1092
1093        * doc/ParseCmd.3: copy/paste fix [Bug 1292427]
1094
10952005-09-15  Don Porter  <dgp@users.sourceforge.net>
1096
1097        [kennykb-numerics-branch]       Merge updates from HEAD.
1098
1099        * generic/tclStringObj.c (TclAppendFormattedObjs):      Revision to
1100        eliminate one round of string copying.
1101
1102        * generic/tclBasic.c:   More callers of TclObjPrintf and
1103        * generic/tclCkalloc.c: TclFormatToErrorInfo.
1104        * generic/tclCmdMZ.c:
1105        * generic/tclExecute.c:
1106        * generic/tclIORChan.c:
1107        * generic/tclMain.c:
1108        * generic/tclProc.c:
1109        * generic/tclTimer.c:
1110        * generic/tclUtil.c:
1111        * unix/tclUnixFCmd.c
1112
1113        * unix/configure:       autoconf-2.59
1114
11152005-09-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1116
1117        * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to
1118        transparently open large files on RHEL 3. [Bug 1287638]
1119
11202005-09-14  Don Porter  <dgp@users.sourceforge.net>
1121
1122        * generic/tclStringObj.c:       Bug fixes: ObjPrintfVA needed to
1123        support "*" fields and needed to interpret precision limits on %s
1124        conversions as a maximum number of bytes, not Tcl_UniChars, to take
1125        from the (char *) argument.
1126
1127        * generic/tclBasic.c:   Updated several callers to use
1128        * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or
1129        * generic/tclCmdAH.c:   TclObjPrintf().
1130        * generic/tclCmdIL.c:
1131        * generic/tclCmdMZ.c:
1132        * generic/tclDictObj.c:
1133        * generic/tclExecute.c:
1134        * generic/tclIORChan.c:
1135        * generic/tclIOUtil.c:
1136        * generic/tclNamesp.c:
1137        * generic/tclProc.c:
1138
1139        * library/init.tcl:     Keep [unknown] in sync with errorInfo
1140        formatting rules.
1141
11422005-09-13  Don Porter  <dgp@users.sourceforge.net>
1143
1144        * generic/tclBasic.c:   First caller of TclFormatToErrorInfo.
1145
1146        * generic/tclInt.h:             Using stdarg.h conventions, add more
1147        * generic/tclStringObj.c:       fixed arguments to TclFormatObj() and
1148        TclObjPrintf(). Added new routine TclFormatToErrorInfo().
1149
1150        * generic/tcl.h:        Explicitly standardized on the use of stdarg.h
1151        * generic/tclBasic.c:   conventions for functions with variable number
1152        * generic/tclInt.h:     of arguments. Support for varargs.h has been
1153        * generic/tclPanic.c:   implicitly gone for some time now. All
1154        * generic/tclResult.c:  TCL_VARARGS* macros purged from Tcl sources,
1155        * generic/tclStringObj.c:       leaving only some deprecated #define's
1156        * tools/genStubs.tcl:   in tcl.h for the sake of older extensions.
1157
1158        * generic/tclDecls.h:   make genstubs
1159
1160        * doc/AddErrInfo.3:     Replaced all documented requirement for use of
1161        * doc/Eval.3:           TCL_VARARGS_START() with requirement for use of
1162        * doc/Panic.3:          va_start().
1163        * doc/SetResult.3:
1164        * doc/StringObj.3:
1165
11662005-09-12  Don Porter  <dgp@users.sourceforge.net>
1167
1168        [kennykb-numerics-branch]       Merge updates from HEAD.
1169
1170        * generic/tclCmdAH.c:           Added support for the "ll" width
1171        * generic/tclStringObj.c:       specifier to [format].
1172
1173        * generic/tclStringObj.c (TclAppendFormattedObjs):      Bug fix: make
1174        sure %ld formats force the collection of a wide value, when the value
1175        could be a different long.
1176
11772005-09-09  Andreas Kupries  <andreask@activestate.com>
1178
1179        * generic/tclIORChan.c (RcDecodeEventMask): Added missing type
1180        declaration for the parameter 'mask'. This fixes the [Bug 1286256]. The
1181        other warning can be removed only by removing the panic/return code.
1182
11832005-09-09  Don Porter  <dgp@users.sourceforge.net>
1184
1185        [kennykb-numerics-branch]       Merge updates from HEAD.
1186
11872005-09-09  Kevin Kenny  <kennykb@acm.org>
1188
1189        * generic/tclStringObj.c:  Added two missing casts to silence messages
1190        from MSVC6.
1191
11922005-09-09  Don Porter  <dgp@users.sourceforge.net>
1193
1194        * generic/tclInt.h:             New internal routine TclObjPrintf()
1195        * generic/tclStringObj.c:       is similar to TclFormatObj() but
1196        accepts arguments in non-Tcl_Obj format.
1197
1198        * generic/tclInt.h:             New internal routines TclFormatObj()
1199        * generic/tclStringObj.c:       and TclAppendFormattedObjs() to offer
1200        sprintf()-like means to append to Tcl_Obj. Work in progress toward
1201        [RFE 572392].
1202
1203        * generic/tclCmdAH.c:   Compiler directive NEW_FORMAT when #define'd
1204        directs the [format] command to be implemented in terms of the new
1205        TclAppendFormattedObjs() routine.
1206
12072005-09-08  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
1208
1209        TIP#254 IMPLEMENTATION
1210
1211        * generic/tclLink.c (LinkTraceProc,ObjValue): Added many new of C var
1212        * generic/tcl.h:                              to link to, making it
1213        * doc/LinkVar.3:                              easier to seamlessly
1214        * generic/tclTest.c (TestlinkCmd):            couple C code and Tcl
1215        * tests/link.test:                            scripts in an
1216        application. [Patch 1242844]
1217
12182005-09-07  Don Porter  <dgp@users.sourceforge.net>
1219
1220        * generic/tclUtf.c (Tcl_UniCharToUtf):  Corrected handling of negative
1221        * tests/utf.test (utf-1.5):         Tcl_UniChar input value. Incorrect
1222        handling was producing byte sequences outside of Tcl's legal internal
1223        encoding. [Bug 1283976].
1224
12252005-09-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1226
1227        * generic/tclInt.h (List): Added flag to keep track of whether a list
1228        * generic/tclListObj.c:    with a string rep is provably canonical.
1229        * generic/tclUtil.c (Tcl_ConcatObj):  Do efficient concatenation and
1230        * generic/tclBasic.c (Tcl_EvalObjEx): evaluation when the list is
1231        canonical, and not just when the list is pure. This should make the
1232        "pure list" hacking introduced in 8.3 much more robust.
1233
12342005-09-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1235
1236        * generic/tclObj.c (pendingObjDataKey): Added missing 'static' to stop
1237        symbol from leaking outside the Tcl library. [Bug 1263012]
1238
12392005-09-02  Don Porter  <dgp@users.sourceforge.net>
1240
1241        [kennykb-numerics-branch]
1242
1243        * generic/tclScan.c:    Bug fix: The %o, %x, %i formats of [scan] must
1244        not accept any 0b or 0o prefixes. [scan $s %o] must continue to work
1245        even with KILL_OCTAL enabled.
1246
1247        * generic/tclInt.h:     Added TCL_PARSE_SCAN_PREFIXES to the flags
1248        * generic/tclStrToD.c:  accepted by TclParseNumber.
1249
12502005-09-01  Andreas Kupries  <andreask@activestate.com>
1251
1252        * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static
1253        modifier in declaration and definition of function.
1254
1255        * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static
1256        modifier in declaration and definition of function.
1257
1258        * generic/tclResult.c (ReleaseKeys): Synchronized use of static
1259        modifier in declaration and definition of function.
1260
1261        * generic/tclListObj.c (NewListIntRep): Synchronized use of static
1262        modifier in declaration and definition of function.
1263
1264        * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized
1265        use of static modifier in declaration and definition of function.
1266
1267        * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of
1268        static modifier in declaration and definition of function.
1269
1270        * generic/tclIORChan.c (RcNewHandle): Synchronized use of static
1271        modifier in declaration and definition of function.
1272
12732005-09-01  Don Porter  <dgp@users.sourceforge.net>
1274
1275        [kennykb-numerics-branch]
1276
1277        * generic/tclObj.c:     TclParseNumber calls meant to parse an integer
1278        value now pass the TCL_PARSE_INTEGER_ONLY flag.
1279
1280        * generic/tclScan.c:    Extended [scan] to accept the %lld, %llo, %llx,
1281        and %lli formats. Numeric scanning is now done via TclParseNumber calls
1282
1283        * generic/tclInt.h:     Extended TclParseNumber to accept new flag
1284        * generic/tclStrToD.c:  values TCL_PARSE_INTEGER_ONLY,
1285        TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller
1286        more control over the parsing rules.
1287
12882005-08-31  Vince Darley  <vincentdarley@sourceforge.net>
1289
1290        * doc/FileSystem.3:
1291        * unix/tclUnixFile.c:
1292        * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be
1293        called with a NULL interpreter, and fix the code so this is allowed.
1294        Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this
1295        with a NULL interpreter.
1296
12972005-08-30  Don Porter  <dgp@users.sourceforge.net>
1298
1299        [kennykb-numerics-branch]
1300
1301        * generic/tclObj.c:     Extended bignum support to include bignums so
1302        large they will not pack into a Tcl_Obj. When they outgrow Tcl's string
1303        rep length limits, a panic will result.
1304
1305        * generic/tclTomMath.h: Added mp_sqrt to routines from
1306        * unix/Makefile.in:     libtommath used by Tcl.
1307        * win/Makefile.in:
1308        * win/makefile.vc:
1309
1310        * generic/tclBasic.c:   Extended sqrt(.) so that range covers the
1311        entire double range, accepting as many bignums in the domain as that
1312        will allow.
1313
13142005-08-29  Andreas Kupries  <andreask@activestate.com>
1315
1316        * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for
1317        [Bug 1189657]. Syncs the implementation to the specification (TIP #189)
1318
13192005-08-29  Don Porter  <dgp@users.sourceforge.net>
1320
1321        [kennykb-numerics-branch]       Merge updates from HEAD.
1322
1323        * generic/tclBasic.c:   Restored round(.) to the Tcl 8.4 rules.
1324
13252005-08-29  Kevin Kenny  <kennykb@acm.org>
1326
1327        * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero"
1328        * tests/expr.test (expr-46.*):       behaviour to the "round" function.
1329        Added test cases for the behavior, including the awkward case of a
1330        number whose fractional part is 1/2-1/2ulp. [Bug 1275043]
1331
13322005-08-26  Andreas Kupries  <andreask@activestate.com>
1333
1334        * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to
1335        {Cut,Splice}Channel for internal use, and created new public functions
1336        for Tcl_{Cut,Splice}Channel which walk the whole stack of
1337        transformations and invoke the necessary thread actions. Added code to
1338        Tcl_(Un)StackChannel to properly invoke the thread actions when pushing
1339        and popping transformations on/from a channel.
1340
13412005-08-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1342
1343        * generic/tclNamesp.c (NamespaceEnsembleCmd): Reset the result after
1344        creating an ensemble to clear any result object sharing (potentially
1345        caused by delete traces) so that we can safely return the name of the
1346        ensemble. Previously, this caused crashes in Snit's test suite.
1347
13482005-08-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1349
1350        * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and
1351        unsafe crashes from happening when working with very large string
1352        representations. [Bug 1267380]
1353
1354        * generic/tclExecute.c (TEBC:INST_DICT_LAPPEND): Stop dropping a
1355        duplicated object on the floor, which was a memory leak (and a wrong
1356        result too). Thanks to Andreas Kupries for reporting this.
1357
13582005-08-25  Don Porter  <dgp@users.sourceforge.net>
1359
1360        [kennykb-numerics-branch] Merge updates from HEAD
1361
1362        * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values
1363        produced incorrect results.
1364
1365        * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management.
1366        [expr 0<<6] should be 0, not 6.
1367
1368        * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf,
1369        non-NaN doubles, using bignums for the result as needed.
1370
13712005-08-24  Andreas Kupries  <andreask@activestate.com>
1372
1373        TIP#219 IMPLEMENTATION
1374
1375        * doc/SetChanErr.3: ** New File **. Documentation of the new channel
1376        API functions.
1377        * generic/tcl.decls:  Stub declarations of the new channel API.
1378        * generic/tclDecls.h: Regenerated
1379        * generic/tclStubInit.c:
1380
1381        * tclIORChan.c: ** New File **. Implementation of the reflected
1382        channel.
1383        * generic/tclInt.h: Integration of reflected channel and new error
1384        * generic/tclIO.c:  propagation into the generic I/O core.
1385        * generic/tclIOCmd.c:
1386        * generic/tclIO.h:
1387        * library/init.tcl:
1388
1389        * tests/io.test:    Extended testsuite.
1390        * tests/ioCmd.test:
1391        * tests/chan.test:
1392        * generic/tclTest.c:
1393        * generic/tclThreadTest.c:
1394
1395        * unix/Makefile.in: Integration into the build machinery.
1396        * win/Makefile.in:
1397        * win/Makefile.vc:
1398
13992005-08-24  Kevin Kenny  <kennykb@acm.org>
1400
1401        * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of
1402        * tests/binary.test (binary-65.*)         formatting floating point
1403        numbers with the largest and smallest possible significands, and added
1404        test cases for them.
1405
14062005-08-24  Kevin Kenny  <kennykb@users.sourceforge.net>
1407
1408        [kennykb-numerics-branch]
1409
1410        * generic/tclExecute.c: Corrected some TRACE bugs that prevented
1411        compilation with --enable-symbols=all.
1412        * generic/tclStrToD.c: Revised commentary to prepare for a renaming of
1413        the file, removed some dead code, and fixed a bug where
1414        TclBignumToDouble failed on huge negative numbers.
1415        * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint'
1416        to large/small significand tests.
1417        * tests/expr.test (expr-45.*) Added missing braces around expressions.
1418
14192005-08-24  Don Porter  <dgp@users.sourceforge.net>
1420
1421        [kennykb-numerics-branch]
1422
1423        * generic/tclBasic.c:   Revised implementation of the ceil(.) and
1424        * generic/tclInt.h:     floor(.) math functions in light of the
1425        * generic/tclStrToD.c:  revised comparison operators, so that it is
1426        always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple
1427        approach of "convert to double and call ceil() or floor()" could not
1428        guarantee that.
1429
1430        * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when
1431        appropriate. Removed declarations of removed routines.
1432
1433        * generic/tclExecute.c: Revised the type promotion rules of the
1434        comparison operators so that they form proper equivalence classes over
1435        the set of numeric strings.
1436
14372005-08-23  Mo DeJong  <mdejong@users.sourceforge.net>
1438
1439        * unix/configure.in:
1440        * win/configure: Regen.
1441        * win/configure.in: Update minimum autoconf version to 2.59.
1442
14432005-08-23  Kevin Kenny  <kennykb@users.sourceforge.net>
1444
1445        [kennykb-numerics-branch]
1446
1447        * generic/tclCmdMZ.c (Tcl_StringObjCmd):
1448        * generic/tclInt.h:
1449        * generic/tclObj.c (Tcl_GetBooleanFromObj, SetDoubleFromAny,
1450        Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj):
1451        * generic/tclParseExpr.c (GetLexeme):
1452        * generic/tclScan.c (Tcl_ScanObjCmd):
1453        * generic/tclStrToD.c (TclParseNumber):
1454        * tests/binary.test (binary-62.1-65.7):
1455        * tests/expr.test (expr-40.1-42.1):
1456        * scan.test (scan-14.1,14.2):
1457        Modified Tcl_ParseNumber to accept an argument to force interpretation
1458        as decimal, and modified [scan] to use it. Corrected a bug where Not a
1459        Number with hexadecimal information bits returned consistently
1460        incorrect values. #ifdef-ed out some code that is needed only for IBM
1461        hexadecimal floating point. Fixed bugs in code to handle the corner
1462        cases of smallest and largest significands. Added test cases to improve
1463        test coverage in generic/tclStrToD.c. Added test cases for 0b notation
1464        (TIP #114). Removed TclStrToD, and the static functions that it calls,
1465        which are now dead code (TclParseNumber now does all input
1466        floating-point conversions.)
1467
14682005-08-23  Don Porter  <dgp@users.sourceforge.net>
1469
1470        [kennykb-numerics-branch]
1471
1472        * generic/tclStrToD.c:  Bug fix: set shift magnitude properly whether
1473        we're expanding to mp_int type or not.
1474
1475        * generic/tclExecute.c: Bug fix: ACCEPT_NAN under INST_UMINUS.
1476
1477        * generic/tclStrToD.c:  New macros TIP_114_FORMATS and KILL_OCTAL to
1478        configure acceptance of 0o and 0b numbers and rejection of "leading
1479        zero as octal".
1480
1481        * generic/tclBasic.c:   Re-used the guts of int(.) and wide(.) math
1482        functions to perform conversions in OldMathFuncProc.
1483
1484        * generic/tclBasic.c:   Support for ACCEPT_NAN.
1485        * generic/tclExecute.c:
1486
1487        * generic/tclInt.decls: Restored TclExprFloatError to internal stubs
1488        * generic/tclBasic.c:   table, and moved definition back to
1489        * generic/tclExecute.c: tclExecute.c from tclBasic.c to handle #undef
1490        ACCEPT_NAN.
1491
1492        * generic/tclIntDecls.h:        make genstubs
1493        * generic/tclStubInit.c:
1494
1495        * generic/tclInt.h:     New internal macros TclIsNaN and TclIsInfinite
1496        * generic/tclBasic.c:   replace the IS_NAN and IS_INF macros scattered
1497        * generic/tclExecute.c: here and there.
1498        * generic/tclObj.c:
1499        * generic/tclStrToD.c:
1500        * generic/tclUtil.c:
1501
15022005-08-22  Daniel Steffen  <das@users.sourceforge.net>
1503
1504        * unix/tclConfig.h.in: autoheader-2.59.
1505
15062005-08-22  Don Porter  <dgp@users.sourceforge.net>
1507
1508        [kennykb-numerics-branch]
1509
1510        * generic/tclInt.h:     New ACCEPT_NAN macro to mark code that
1511        * generic/tclCmdAH.c:   supports or disables accepting of the NaN
1512        * generic/tclExecute.c: value at various points.
1513        * generic/tclLink.c:
1514
1515        * generic/tclStrToD.c:  Bug fix. Parsing of +/- Infinity was reversed.
1516
1517        * generic/tclTestObj.c: Disabled unused [testconvertobj] command.
1518
1519        * generic/tclBasic:     Added [expr {entier(.)}]. Rewrote int(.) and
1520        wide(.) to use the same guts, accepting all non-Inf doubles as
1521        arguments.
1522
1523        * generic/tclInt.h:     New routine TclInitBignumFromDouble.
1524        * generic/tclStrToD.c:  Modified to return code and write error
1525        message.
1526
1527        * generic/tclInt.h:     TCL_WIDE_INT_IS_LONG implies NO_WIDE_TYPE.
1528        * generic/tclObj.c:     Removed now unnecessary tests of the
1529        * generic/tclStrToD.c:  TCL_WIDE_INT_IS_LONG definition.
1530
1531        * generic/tclInt.h:     New internal routine TclSetBignumIntRep
1532        * generic/tclObj.c:     consolidates packing of bignum value into a
1533        * generic/tclStrToD.c:  Tcl_Obj within one source code file.
1534
1535        * tests/expr.test:      Corrected the wideIs64bit constraint.
1536        * tests/format.test:
1537        * tests/scan.test:
1538
15392005-08-21  Don Porter  <dgp@users.sourceforge.net>
1540
1541        [kennykb-numerics-branch]
1542
1543        * generic/tclInt.h:             Moved TclParseInteger to tclUtil.c and
1544        * generic/tclParseExpr.c:       made it static.
1545        * generic/tclUtil.c:
1546
1547        * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made
1548        * generic/tclBasic.c:   it static.
1549        * generic/tclExecute.c:
1550
1551        * generitc/tclIntDecls.h:       make genstubs
1552        * generic/tclStubInit.c:
1553
1554        * generic/tclExecute.c: errno, IS_NAN, IS_INF, LLD no longer called in
1555        this file; dropped/disabled support for them.
1556
1557        * generic/tclCompExpr.c:        errno no longer used in these files;
1558        * generic/tclParseExpr.c:       dropped support "hack" for it.
1559
1560        * generic/tclStrToD.c:  Disabled out of date support "hack" for errno.
1561
1562        * generic/tclBasic.c:   Eliminated VerifyExprObjType. Initialize errno
1563        to zero in OldMathFuncProc.
1564
15652005-08-19  Don Porter  <dgp@users.sourceforge.net>
1566
1567        [kennykb-numerics-branch]
1568
1569        * generic/tclBasic.c:   Updated OldMathFuncProc and ExprAbsFunc to do
1570        less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc,
1571        ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised
1572        ExprSrandFunc error message.
1573
1574        * generic/tclProc.c:    Wrapped a few tclWideIntType uses in
1575        * generic/tclCmdMZ.c:   #ifndef NO_WIDE_TYPE.
1576
1577        * generic/tclInt.h:     #define'd NO_WIDE_TYPE.
1578
1579        * generic/tclVar.c:     Replaced TclPtrIncrVar and TclPtrIncrWideVar
1580        * generic/tclInt.h:     with TclPtrIncrObjVar and replaced TclIncrVar2
1581        * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New
1582        routines call on TclIncrObj to do the work.
1583
1584        * generic/tclIntDecls.h:        make genstubs
1585        * generic/tclStubInit.c:
1586
1587        * generic/tclCmdIL.c:   Rework Tcl_IncrObjCmd and the INST_*INCR*
1588        * generic/tclExecute.c: opcodes to use the new routines.
1589
15902005-08-18  Don Porter  <dgp@users.sourceforge.net>
1591
1592        [kennykb-numerics-branch]
1593
1594        * generic/tclExecute.c:         Fixed string rep invalidation bug in
1595        * tests/dict.test (dict-11.17): INST_DICT_INCR_IMM rewrite.
1596
1597        * generic/tclDictObj.c: DictIncrCmd rewrite to use TclIncrObj.
1598
1599        * generic/tclInt.h:     TclIncrObj static -> internal
1600        * generic/tclExecute.c:
1601
16022005-08-17  George Peter Staplin  <GeorgePS@XMission.com>
1603
1604        * generic/tclBasic.c: eliminate a namespace clash caused by
1605        BuiltinFuncTable not being static.
1606
1607        * generic/tclObj.c: fix a namespace clash caused by a missing
1608        static for pendingObjData.
1609
16102005-08-17  Kevin Kenny  <kennykb@acm.org>
1611
1612        * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident
1613        that caused a (mostly harmless) double finalize of the load and
1614        filesystem subsystems.
1615        * tests/clock.test: Eliminated the bad test clock-43.1, and split
1616        clock-50.1 into two tests, with a more permissive check on the error
1617        message for an out-of-range value.
1618
16192005-08-17  Kevin Kenny  <kennykb@users.sourceforge.net>
1620
1621        [kennykb-numerics-branch]
1622
1623        * generic/tclBasic.c (Tcl_Expr{Long,Double}{,Obj}): Updated to
1624        * generic/tclTest.c:                                deal with
1625        * tests/expr-old.test:                              bignums (well,
1626        * tests/expr.test:                                  mostly).
1627        Added a missing "errno=0;" in ExprUnaryFunc so that spurious error
1628        returns aren't detected.
1629        Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very
1630        poor test coverage in those areas.
1631        * generic/tclParseExpr.c: Reworked parsing of numbers to call
1632        TclParseNumber rather than trying to do things locally.
1633        * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr
1634        does not include any trailing whitespace.
1635
16362005-08-17  Don Porter  <dgp@users.sourceforge.net>
1637
1638        [kennykb-numerics-branch]
1639
1640        * generic/tclExecute.c: New routine TclIncrObj to centralize the
1641        increment operation needed in many places. Updated INST_DICT_INCR_IMM
1642        to make use of it.
1643
16442005-08-16  Don Porter  <dgp@users.sourceforge.net>
1645
1646        [kennykb-numerics-branch]
1647
1648        * generic/tclExecute.c: Made bit shifting opcodes and INST_MOD
1649        bignum-aware.
1650
1651        * tests/scan.test:      Making << bignum-aware means that repeated
1652        * tests/string.test:    left shifting cannot turn a positive into a
1653        negative. Revised [int_range] and [largest_int] utility commands in the
1654        test suite that relied on that happening. Without revision they became
1655        infinite loops.
1656
1657        * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware.
1658
1659        * generic/tclTomMath.h: Added mp_or and mp_xor to routines from
1660        * unix/Makefile.in:     libtommath used by Tcl.
1661        * win/Makefile.in:
1662        * win/makefile.vc:
1663
16642005-08-15  Don Porter  <dgp@users.sourceforge.net>
1665
1666        [kennykb-numerics-branch]       Updates from HEAD.
1667        * generic/tclExecute.c: More revisions to IllegalExprOperandType.
1668        Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according
1669        to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs.
1670
1671        * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers.
1672        * generic/tclUtil.c:
1673        * generic/tclCompCmds.c:
1674
1675        * generic/tclBasic.c:   Rewrite of VerifyExprObjType().
1676
1677        * generic/tclIntDecls.h:        make genstubs
1678        * generic/tclStubInit.c:
1679
1680        * generic/tclExecute.c: Updated execution of comparison bytecodes to
1681        be bignum-aware, routing string compares through INST_STR_CMP.
1682
16832005-08-14  Don Porter  <dgp@users.sourceforge.net>
1684
1685        [kennykb-numerics-branch]
1686
1687        * generic/tclExecute.c: Updated execution of arithmetic bytecodes to
1688        be bignum-aware, and to allow calculations on NaN to produce a NaN
1689        result. INST_UMINUS updated to call mp_neg.
1690
1691        * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to
1692        * unix/Makefile.in:     routines from libtommath used by Tcl.
1693        * win/Makefile.in:
1694        * win/makefile.vc:
1695
16962005-08-13  Don Porter  <dgp@users.sourceforge.net>
1697
1698        [kennykb-numerics-branch]
1699
1700        * generic/tclObj.c:     Extended Bignum auto-narrowing to auto-narrow
1701        to tclWideIntType when appropriate; this helps keep things working as
1702        the bytecode execution code is migrated to supporting bignums.
1703
1704        * generic/tclExecute.c: Major overhaul of IllegalExprOperandType.
1705        Changed several TclNewFooObj() calls to more logically appropriate
1706        ones. Added several TODO comments marking opportunies for future work.
1707        Made more use of the eePtr->constants. Made INST_UMINUS bignum aware.
1708
17092005-08-12  Don Porter  <dgp@users.sourceforge.net>
1710
1711        [kennykb-numerics-branch]
1712
1713        * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as
1714        result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT
1715        from INST_UMINUS and simplify.
1716
17172005-08-12  Kevin Kenny  <kennykb@acm.org>
1718
1719        * generic/tclClock.c (MktimeObjCmd):
1720        * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile)
1721        (ReadZoneinfoFile):
1722        * tests/clock.test (clock-50.1):
1723        Added functionality to read /etc/localtime if it exists, so that Tcl's
1724        time can track system time on Linux even if TZ is not set. Changed
1725        ::tcl::clock::Mktime to check for failure, and added a test case that
1726        mimics failure but is really success.
1727
17282005-08-11  Don Porter  <dgp@users.sourceforge.net>
1729
1730        [kennykb-numerics-branch]
1731
1732        * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take advantage
1733        of loss of "pure double" issues. Merged INST_UPLUS with
1734        INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure
1735        "double"s as well.
1736
1737        * generic/tclStrToD.c:  Restored conditional generation of
1738        tclWideIntType values by TclParseNumber so that Tcl's not completely
1739        broken while bignum calculation support is incomplete. The NO_WIDE_TYPE
1740        macro can be used to disable this.
1741
1742        * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)]
1743        bignum-aware.
1744
17452005-08-11  Kevin Kenny  <kennykb@acm.org>
1746
1747        * generic/tclEvent.c:         Eliminated the USE_THREAD_STORAGE option
1748        * generic/tclInt.h:           (which is on in every build generated by
1749        * generic/tclThread.c:        by the standard configurator).
1750        * generic/tclThreadStorage.c: Eliminated the code for thread specific
1751        * unix/configure:             data without USE_THREAD_STORAGE and
1752        * unix/tcl.m4:                radically refactored the code for
1753        * unix/tclConfig.h.in:        USE_THREAD_STORAGE so that it has fewer
1754        * unix/tclUnixThrd.c:         dependencies on the order of
1755        * win/configure:              finalization. (Also, made 'make
1756        * win/Makefile.in:            distclean' on Windows clean just a little
1757        * win/rules.vc:               bit cleaner.)
1758        * win/tcl.m4:
1759        * win/tclWinThrd.c:
1760
17612005-08-10  Don Porter  <dgp@users.sourceforge.net>
1762
1763        [kennykb-numerics-branch]
1764
1765        * generic/tclTomMath.h: Added mp_shrink, mp_to_unsigned_bin,
1766        * unix/Makefile.in:     mp_to_unsigned_bin_n, and mp_unsigned_bin_size
1767        * win/Makefile.in:      to routines from libtommath used by Tcl.
1768        * win/makefile.vc:
1769
1770        * generic/tommath.h:    make gentommath_h
1771
1772        * generic/tclObj.c:     Substantial rewrite to make all number parsing
1773        flow through TclParseNumber(). Also established the NO_WIDE_TYPE and
1774        BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different
1775        portions of the code.
1776
1777        * generic/tclInt.h:     Added NO_WIDE_TYPE #ifdefs
1778
17792005-08-10  Kevin Kenny  <kennykb@acm.org>
1780
1781        * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and
1782        Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we can't
1783        unload DLL's until after their TSD keys are finalized. (Note that we'll
1784        still see aborts if an unloaded DLL has TSD - that still needs to be
1785        fixed.
1786
1787        * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on
1788        * tests/expr.test (expr-3.8):             'unix' because they get
1789        stack overflows on Win32 threaded builds,
1790
17912005-08-09  Vince Darley  <vincentdarley@users.sourceforge.net>
1792
1793        * generic/tclPathObj.c: fix to [file rootname] bug in optimized code
1794        path reported on comp.lang.tcl.
1795
17962005-08-08  Don Porter  <dgp@users.sourceforge.net>
1797
1798        [kennykb-numerics-branch]
1799
1800        * generic/tclObj.c:     Replaced some goto's with loops and started
1801        use of BIGNUM_AUTO_NARROW and NO_WIDE_TYPE.
1802
18032005-08-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1804
1805        * generic/tclThreadStorage.c: Stop exposing the guts of the thread
1806        storage system through the internal stubs table. Client code should
1807        always use the standard API.
1808
18092005-08-05  Don Porter  <dgp@users.sourceforge.net>
1810
1811        [kennykb-numerics-branch]
1812        * generic/tclObj.c:     Rewrote Tcl_GetDoubleFromObj().
1813
18142005-08-05  Donal K. Fellows  <dkf@users.sf.net>
1815
1816        * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name
1817        for the cp1251 charset. Thanks to Victor Wagner for reporting this.
1818        [Bug 1252475]
1819
18202005-08-05  Kevin Kenny  <kennykb@users.sourceforge.net>
1821
1822        * win/makefile.vc: Removed unused file ldAout.tcl.
1823        * win/makefile.bc: [Bug 1244361]
1824
1825        * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug
1826        1246264]
1827
1828        * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner
1829        * tests/expr.test (expr-38.1):      case of applying 'abs' to the
1830        smallest 32-bit integer. [Bug 1241572]
1831
18322005-08-04  Andreas Kupries  <andreask@activestate.com>
1833
1834        * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently
1835        missing word to complete a sentence.
1836
1837        * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic
1838        message.
1839
18402005-08-04  Don Porter  <dgp@users.sourceforge.net>
1841
1842        [kennykb-numerics-branch] Updated from HEAD
1843
1844        * generic/tclObj.c:     Rewrote Tcl_GetBooleanFromObj() and supporting
1845        routines to make use of TclParseNumber. This reduces the potential
1846        number of times a string value must be scanned.
1847
1848        * generic/tclObj.c:     Simplified routines that manage the typeTable.
1849        Deleted the UpdateStringOfBoolean() routine, that can never be called.
1850
18512005-08-03  Don Porter  <dgp@users.sourceforge.net>
1852
1853        * generic/tclCompExpr.c:        Untangled some dependencies in the
1854        * generic/tclEvent.c:           order of finalization routines.
1855        * generic/tclInt.h:             [Bug 1251399]
1856        * generic/tclObj.c:
1857
18582005-08-02  Don Porter  <dgp@users.sourceforge.net>
1859
1860        [kennykb-numerics-branch] Updated from HEAD
1861
18622005-07-30  Daniel Steffen  <das@users.sourceforge.net>
1863
1864        * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for
1865        bugs/changes in behaviour in Mac OS X 10.4 Tiger.
1866
18672005-07-29  Donal K. Fellows  <dkf@users.sf.net>
1868
1869        * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still
1870        have to take care with non-existant variables. [Bug 1247135]
1871
18722005-07-28  Mo DeJong  <mdejong@users.sourceforge.net>
1873
1874        * win/README: Update link to msys_mingw8.zip.
1875
18762005-07-28  Don Porter  <dgp@users.sourceforge.net>
1877
1878        * tests/compExpr-old.test:      Still more conversion of "nonPortable"
1879        * tests/error.test:             tests into tests with constraints that
1880        * tests/expr-old.test:          describe the limits of their
1881        * tests/expr.test:              portability. Also more consolidation
1882        * tests/fileName.test:          of constraint synonyms.
1883        * tests/format.test:            wideis64bit, 64bitInts => wideIs64bit
1884        * tests/get.test:               wideIntegerUnparsed => wideIs32bit
1885        * tests/load.test:              wideIntExpressions => wideBiggerThanInt
1886        * tests/obj.test:
1887        * tests/parseExpr.test:         Dropped "roundOffBug" constraint that
1888        * tests/string.test:            protected from buggy sprintf.
1889
18902005-07-28  Donal K. Fellows  <dkf@users.sf.net>
1891
1892        * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to
1893        * unix/tclUnixPipe.c (TclpOpenFile):     use the O_APPEND flag for
1894        * tests/exec.test (exec-19.1):           files opened in a pipeline
1895        like ">>this". Note that Windows cannot support such access; there is
1896        no equivalent flag on the handle that can be set at the kernel-call
1897        level. The test is unix-specific in every way. [Bug 1245953]
1898
18992005-07-27  Don Porter  <dgp@users.sourceforge.net>
1900
1901        * generic/tclUtil.c:    Converted the $::tcl_precision value to be kept
1902        per-thread to prevent different threads from stomping on each others'
1903        formatting prescriptions.
1904
1905        ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the
1906        value of ::tcl_precision will now have to set it in each thread.
1907
1908        * tests/expr.test:      Consolidated equivalent constraints into
1909        * tests/fileName.test:  single definitions and (more precise) names:
1910        * tests/get.test:       longis32bit, 32bit, !intsAre64bit => longIs32bit
1911        * tests/listObj.test:   empty => emptyTest; winOnly => win
1912        * tests/obj.test:       intsAre64bit => longIs64bit
1913        Also updated some "nonPortable" tests to use constraints that mark
1914        precisely what about them isn't portable, so the tests can run where
1915        they work.
1916
1917        * library/init.tcl ([unknown]): Corrected return code handling in the
1918        portions of [unknown] that expand incomplete commands during
1919        interactive operations. [Bug 1214462].
1920
19212005-07-26  Mo DeJong  <mdejong@users.sourceforge.net>
1922
1923        * unix/configure: Regen.
1924        * unix/configure.in: Check for a $prefix/share directory and add it the
1925        the package if found. This will check for Tcl packages in
1926        /usr/local/share when Tcl is configured with the default dist install.
1927        [Patch 1231015]
1928
19292005-07-26  Don Porter  <dgp@users.sourceforge.net>
1930
1931        * generic/tclBasic.c (Tcl_CallWhenDeleted):     Converted to use
1932        per-thread counter, rather than a process global one that required
1933        mutex protection. [RFE 1077194]
1934
1935        * generic/tclNamesp.c (TclTeardownNamespace):   Re-ordering so that
1936        * tests/trace.test (trace-34.4):        command delete traces fire
1937        while the command still exists. [Bug 1047286]
1938
19392005-07-24  Mo DeJong  <mdejong@users.sourceforge.net>
1940
1941        * unix/configure: Regen.
1942        * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH):
1943        * win/configure: Regen.
1944        * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search
1945        for tclsh on PATH and build and install locations into two macros.
1946        SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the
1947        name of the tclsh executable in the Tcl build directory. [Bug 1160114]
1948        [Patch 1244153]
1949
19502005-07-23  Don Porter  <dgp@users.sourceforge.net>
1951
1952        * library/auto.tcl:     Updates to the Tcl script library to make use
1953        * library/history.tcl:  of Tcl 8.4 features. Forward port of
1954        * library/init.tcl:     appropriate portions of [Patch 1237755].
1955        * library/package.tcl:
1956        * library/safe.tcl:
1957        * library/word.tcl:
1958
19592005-07-23  Mo DeJong  <mdejong@users.sourceforge.net>
1960
1961        * tests/string.test: Add string is tests for functionality that was not
1962        tested.
1963        * win/README: Update msys + mingw URL. Remove old Cygwin + mingw info.
1964
19652005-07-23  Miguel Sofer  <msofer@users.sf.net>
1966
1967        * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for
1968        uninitialised variables.
1969
19702005-07-23  Donal K. Fellows  <dkf@users.sf.net>
1971
1972        * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor
1973        to work correctly with wide values.
1974
19752005-07-21  Donal K. Fellows  <dkf@users.sf.net>
1976
1977        * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler
1978        * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also
1979        added an instruction to support 'finally'-like clauses, exposed more of
1980        the dict guts to the rest of the core, and defined a few tests to
1981        exercise more obscure parts of the compiler's operation that were bugs
1982        during development.
1983
19842005-07-21  Kevin B. Kenny  <kennykb@acm.org>
1985
1986        * library/ldAout.tcl (***REMOVED***):   Removed support for ancient
1987        * unix/configure:                       BSD's, IRIX 4, RISCos and
1988        * unix/Makefile.in:                     Ultrix. Removed two files whose
1989        * unix/tcl.m4:                          code is used only on those
1990        * unix/tclLoadAout.c (***REMOVED***):   antique platforms.
1991
1992        ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those
1993        platforms; it is to be noted though, that an error in the installer has
1994        actually not caused a necessary file to be installed on those platforms
1995        in several releases, and nobody's complained.
1996
19972005-07-16  Kevin B. Kenny  <kennykb@acm.org>
1998
1999        * generic/tclStrToD.c (RefineResult):  Plugged a stupid memory leak in
2000        RefineResult (called from Tcl_StrToD). [Tk Bug 1227781]
2001
20022005-07-15  Kevin B. Kenny  <kennykb@acm.org>
2003
2004        * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime):
2005        * library/clock.tcl (GuessWindowsTimeZone, ClearCaches):
2006        * tests/clock.test (clock-49.1, clock-49.2):
2007        Handle correctly the case where localtime() returns NULL to report a
2008        conversion error. Also handle the case where the Windows registry
2009        contains timezone values that can be mapped to a tzdata file name but
2010        the corresponding file does not exist or is corrupted, by falling back
2011        on a Posix timezone string instead; this last case will avoid calls to
2012        localtime() in starpacks on Windows. [Bug 1237907]
2013
20142005-07-14  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
2015
2016        * generic/tclCompile.c: Update to follow style guidelines.
2017        (TclPrintInstruction): Reorganize to do better printing out of bytecode
2018        with far fewer "special hacks" for particular opcodes.
2019        * generic/tclCompile.h: Requires two new opcode types.
2020
20212005-07-13  Don Porter  <dgp@users.sourceforge.net>
2022
2023        * unix/tclUnixSock.c:   Use a ProcessGlobalValue to store the value
2024        * win/tclWinSock.c:     returned by Tcl_GetHostName() ([info
2025        hostname]). Also re-order initialization of the value on Windows to
2026        favor GetComputerName() over gethostname() as a source of the
2027        information.
2028
20292005-07-12  Kevin Kenny  <kennykb@acm.org>
2030
2031        [kennykb-numerics-branch] Updated from HEAD
2032
2033        * generic/tclCmdMZ.c (Tcl_StringObjCmd):
2034        * generic/tclInt.h:
2035        * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny)
2036        (Tcl_GetIntFromObj, SetIntOrWideFromAny):
2037        * generic/tclStrToD.c (TclParseNumber, etc.):
2038        * tclTomMathInterface.c (TclBNInitBignumFromWideUInt):
2039        * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2):
2040
2041        Initial attempt at an implementation of TIP #249, comprising a unified
2042        parser and modifications to the Tcl_Get*FromObj routines to use it.
2043        Further integration of the parser is necessary and planned.
2044
20452005-07-12  Donal K. Fellows  <dkf@users.sf.net>
2046
2047        * doc/lsearch.n: Clarify documentation of -exact option; wording was
2048        open to misinterpretation by non-English speakers.
2049
20502005-07-11  Donal K. Fellows  <dkf@users.sf.net>
2051
2052        * generic/tclExecute.c: General style cleanup.
2053
20542005-07-08  Mo DeJong  <mdejong@users.sourceforge.net>
2055
2056        * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide
2057        type integer division and modulus operations so that the smallest and
2058        largest integer values are handled properly. The divide operation is
2059        more efficient since it no longer does a modulus or negation and only
2060        checks for a remainder when the quotient will be a negative number.
2061        The modulus operation is now a bit more complex because of a number of
2062        special cases dealing with the smallest and largest integers.
2063        * tests/expr.test: Add test cases for division and modulus operations
2064        on the smallest and largest integer values for 32 and 64 bit types.
2065        [Patch 1230205]
2066
20672005-07-06  Don Porter  <dgp@users.sourceforge.net>
2068
2069        * generic/tclLink.c:    Simplified LinkTraceProc [Bug 1208108].
2070
20712005-07-05  Don Porter  <dgp@users.sourceforge.net>
2072
2073        * unix/Makefile.in:     Purged use of TCLTESTARGS [RFE 1161550].
2074
2075        * generic/tclUtil.c:    Converted TclFormatInt() into a macro.
2076        * generic/tclInt.decls: [RFE 1194015]
2077        * generic/tclInt.h:
2078
2079        * generic/tclIntDecls.h:        make genstubs
2080        * generic/tclStubInit.c:
2081
2082        * generic/tclNamesp.c:  Allow for [namespace import] of a command
2083        * tests/namespace.test: over a previous [namespace import] of itself
2084        without throwing an error. [RFE 1230597]
2085
20862005-07-04  Donal K. Fellows  <dkf@users.sf.net>
2087
2088        * generic/tclDictObj.c (DictForCmd, DictFilterCmd): Interlocking of
2089        dictionary internal representations is now done in the core of the dict
2090        iterator. Purge the last attempts at doing it at a higher level as they
2091        didn't work and were no longer needed.
2092
20932005-07-01  Zoran Vasiljevic  <vasiljevic@users.sourceforge.net>
2094
2095        * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting
2096        on the condition variable when tearing down the notifier thread [Bug
2097        1222872].
2098
20992005-06-28  Mo DeJong  <mdejong@users.sourceforge.net>
2100
2101        * generic/tclExecute.c (TclExecuteByteCode): When parsing an integer
2102        operand for a unary minus expression operator, check for a wide integer
2103        that is actually LONG_MIN. If found, convert back to a long int type.
2104        * tests/expr.test: Add constraint for 32bit long int type and 64bit
2105        wide int type. Add tests that parse the smallest/largest long int and
2106        wide int values.
2107
21082005-06-24  Kevin Kenny  <kennykb@acm.org>
2109
2110        * generic/tclEvent.c (Tcl_Finalize):
2111        * generic/tclInt.h:
2112        * generic/tclPreserve.c (TclFinalizePreserve): Changed the finalization
2113        logic so that Tcl_Preserve finalizes after exit handlers run; a lot of
2114        code called from Tk's exit handlers presumes that Tcl_Preserve will
2115        still work even from an exit handler.
2116
21172005-06-24  Don Porter  <dgp@users.sourceforge.net>
2118
2119        * library/auto.tcl:     Make file safe to re-[source] without
2120        destroying registered auto_mkindex_parser hooks.
2121
21222005-06-23  Kevin Kenny  <kennykb@acm.org>
2123
2124        * win/tclWinChan.c: More rewriting of __asm__ blocks that implement
2125        * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as
2126        forgiving of violations committed by the old code and caused panics.
2127        [Bug 1225957]
2128
21292005-06-23  Daniel Steffen  <das@users.sourceforge.net>
2130
2131        * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept
2132        multi-digit patchlevels.
2133
21342005-06-22  Don Porter  <dgp@users.sourceforge.net>
2135
2136        * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to
2137        Pat Thoyts for discovery and fix.
2138
21392005-06-22  Kevin Kenny  <kennykb@acm.org>
2140
2141        * generic/tclInt.h:                         Changed the finalization
2142        * generic/tclEvent.c (Tcl_Finalize):        logic to defer the
2143        * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe
2144        * unix/tclUnixPipe.c (TclFinalizePipes):    management until after all
2145        * win/tclWinPipe.c (TclFinalizePipes):      channels have been closed,
2146        in order to avoid a situation where the Windows PipeCloseProc2 would
2147        re-establish the exit handler after exit handlers had already run,
2148        corrupting the heap. [Bug 1225727] Also corrected a potential read of
2149        uninitialized memory in PipeClose2Proc [Bug 1225044]
2150
21512005-06-21  Andreas Kupries  <andreask@activestate.com>
2152
2153        * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel
2154        Steffen. There are compilers (*) who error out on the redefinition of
2155        WORDS_BIGENDIAN. We have to undef the previous definition (on the
2156        command line) first to make this acceptable. (*): AIX native.
2157
21582005-06-21  Kevin B. Kenny  <kennykb@acm.org>
2159
2160        * generic/tclFileName.c: Changed [file split] and [file join] to treat
2161        Windows drive letters similarly to ~ syntax and make sure that they
2162        appear with "./" in front when they are in intermediate components of
2163        the path. [Bug 1194458]
2164        * tests/fileName.test: Added test for the above bug.
2165
21662005-06-21  Don Porter  <dgp@users.sourceforge.net>
2167
2168        * generic/tclBasic.c:   Added missing walk of the list of active
2169        * generic/tclTrace.c:   traces to cleanup references to traces being
2170        * generic/tclInt.h:     deleted. [Bug 1201035] Made the walk of the
2171        * tests/trace.test (trace-34.*): active trace list aware of the
2172        direction of trace scanning, so the proper correction can be made.
2173        [Bug 1224585]
2174
21752005-06-21  Donal K. Fellows  <dkf@users.sf.net>
2176
2177        * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Only enable the 'compile' special
2178        debugging feature when requested in configure.in; removes irrelevant
2179        junk from the configure files of extensions that use Tcl's tcl.m4.
2180
21812005-06-20  Donal K. Fellows  <dkf@users.sf.net>
2182
2183        * generic/tclCompile.h (INST_PUSH_RETURN_OPTIONS): New opcode to allow
2184        * generic/tclCompCmds.c (TclCompileCatchCmd):      compilation of
2185        * generic/tclCompile.c:                            TIP#90 catch [Bug
2186        * generic/tclExecute.c (TclExecuteByteCode):       1219112]
2187
2188        * generic/tclCompCmds.c (TclCompileSwitchCmd): Ensure we spill to the
2189        command form in all cases where it generates an error.
2190
21912005-06-20  Mo DeJong  <mdejong@users.sourceforge.net>
2192
2193        * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Generate an error if a mode
2194        argument like -exact is passed more than once to the switch command.
2195        The previous implementation silently accepted invalid switch
2196        invocations like [switch -exact -glob $str ...].
2197        * tests/for.test: Check some error cases when invoking continue and
2198        break inside a for loop next script.
2199        * tests/switch.test: Add checks for shortened version of a mode
2200        argument like -exact. Add test for more than one mode argument. Add
2201        test for odd case of passing a variable as a body script.
2202
22032005-06-18  Daniel Steffen  <das@users.sourceforge.net>
2204
2205        * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with
2206        fat compiles on Darwin (i.e. ppc and i386 at the same time), the
2207        configure AC_C_BIGENDIAN check is not sufficient in this case because a
2208        single run of the compiler builds for two architectures with different
2209        endianness.
2210
2211        * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
2212        ensure we can always relocate binaries with install_name_tool.
2213
2214        * unix/configure: autoconf-2.59
2215
22162005-06-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2217
2218        * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only
2219        * tests/format.test: insert 'l' modifier when it is needed.
2220
22212005-06-17  Donal K. Fellows  <dkf@users.sf.net>
2222
2223        * generic/tclTimer.c (AfterDelay): Split out the code to manage
2224        synchronous-delay [after] commands.
2225        * tests/interp.test (interp-34.10): Time limits and synch-delay [after]
2226        did not mix well... [Bug 1221395]
2227
22282005-06-14  Donal K. Fellows  <dkf@users.sf.net>
2229
2230        * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Only delete a
2231        * tests/namespace.test (namespace-49.2): command from the hashtable on
2232        reentrant processing if it has not been already deleted; at least three
2233        deletes of the same command are possible. [Bug 1220058]
2234        * generic/tclTrace.c (TraceCommandProc): Remove bogus error message
2235        creation when traces trigger in situations where the command has
2236        already been deleted.
2237
22382005-06-13  Vince Darley  <vincentdarley@users.sourceforge.net>
2239
2240        * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176]
2241
22422005-06-12  Donal K. Fellows  <dkf@users.sf.net>
2243
2244        * generic/tclCompCmds.c: Factor out some common idioms into named forms
2245        for greater clarity.
2246
22472005-06-10  Donal K. Fellows  <dkf@users.sf.net>
2248
2249        * doc/chan.n: Fold in the descriptive parts of the documentation for
2250        all the commands that [chan] builds on top of.
2251
22522005-06-09  Vince Darley  <vincentdarley@users.sourceforge.net>
2253
2254        * generic/tclFCmd.c: fix to race condition in file mkdir [Bug 1217375]
2255        * doc/glob.n: improve glob documentation [Bug 1190891]
2256
22572005-06-09  Donal K. Fellows  <dkf@users.sf.net>
2258
2259        * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add
2260        mention of distinctly-relevant [namespace path] subcommand.
2261
22622005-06-07  Don Porter  <dgp@users.sourceforge.net>
2263
2264        * generic/tclInt.h:             Reduced the Tcl_ObjTypes "index",
2265        * generic/tclIndexObj.c:        "ensembleCmd", "localVarName", and
2266        * generic/tclNamesp.c:          "levelReference" to file static scope.
2267        * generic/tclProc.c:
2268        * generic/tclVar.c:
2269
2270        * generic/tclObj.c:     Restored registration of the "procbody"
2271        Tcl_ObjType, as required by the tclcompiler application.
2272
2273        * generic/tclDecls.h:           make genstubs
2274        * generic/tclStubInit.c:
2275
22762005-06-07  Donal K. Fellows  <dkf@users.sf.net>
2277
2278        * generic/tclIO.c (Tcl_ChannelTruncateProc): Stop proliferation of
2279        * generic/tcl.h:                             channel type versions
2280        * doc/CrtChannel.3:                          following advice from AKu
2281
2282        Bump patchlevel to a4 to distinguish from a3 release.
2283
2284        * generic/tclInt.h (INTERP_TRACE_IN_PROGRESS): Add flag so the error
2285        * generic/tclIndexObj.c (Tcl_WrongNumArgs):    messages from ensembles
2286        * generic/tclIOCmd.c (Tcl_ReadObjCmd):         can be correct.
2287
2288        TIP#208 IMPLEMENTATION
2289
2290        * library/init.tcl: Create the chan ensemble.
2291        * tests/chan.test: Rudimentary test suite.
2292        * doc/chan.n: General documentation.
2293
2294        TRUNCATION API (part of TIP#208)
2295        * generic/tcl.h, generic/tcl.decls: Declaration of the API.
2296        * doc/CrtChannel.3, doc/OpenFileChnl.3: Documentation of the API.
2297        * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl.
2298        * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of
2299        Tcl-level truncation API.
2300        * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation API
2301        implementation.
2302        * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of
2303        truncating driver.
2304
2305        * win/tclWinChan.c (FileTruncateProc): Added implementation of file
2306        truncation for Windows.
2307        * tests/chan.test (chan-15.2): Added real test of truncation.
2308
23092005-06-06  Kevin B. Kenny  <kennykb@acm.org>
2310
2311        * win/tclWin32Dll.c: Corrected another buglet in the assembly code for
2312        stack probing on Win32/gcc. [Bug 1213678]
2313        * generic/tclObj,c: Added missing 'static' on definition of
2314        UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand
2315        (which HP-UX native 'cc' seems unable to handle). [Bug 1215775]
2316
23172005-06-04  Jeff Hobbs  <jeffh@ActiveState.com>
2318
2319        *** 8.5a3 TAGGED FOR RELEASE ***
2320
2321        * unix/Makefile.in (dist): add libtommath
2322
23232005-06-03  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2324
2325        * library/parray.tcl (parray): Only generate the sorted list of element
2326        names once. Thanks to Andreas Leitgeb for spotting this.
2327
23282005-06-03  Daniel Steffen  <das@users.sourceforge.net>
2329
2330        * macosx/Makefile: fixed 'embedded' target.
2331
23322005-06-02  Jeff Hobbs  <jeffh@ActiveState.com>
2333
2334        * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var
2335        * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion
2336        when multiple Tcl source dirs exist.
2337
23382005-06-01  Don Porter  <dgp@users.sourceforge.net>
2339
2340        * generic/tclBasic.c:   For compatibility with earlier Tcl releases,
2341        * generic/tclResult.c:  when a command procedure simply does a
2342        * generic/tclTest.c:    "return TCL_RETURN;" we must interpret that
2343        * tests/result.test:    the same as
2344        "return Tcl_SetReturnOptions(interp, Tcl_NewObj());"  [Bug 1209759].
2345
23462005-06-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2347
2348        * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of
2349        -nocase -glob [switch]es (only one we know how to compile).
2350
2351        TIP#241 IMPLEMENTATION from Joe Mistachkin
2352
2353        * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd):
2354        * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Implementation of -nocase
2355        option for [lsearch], [lsort] and [switch] commands.
2356        * win/tclWinPort.h: Win uses nonstandard function names...
2357        * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests
2358        * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs
2359
2360        * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common
2361        case of [lindex] more efficiently.
2362
2363        * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number
2364        of arguments to Tcl_JoinThread.
2365
23662005-05-31  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2367
2368        * unix/configure.in, unix/tcl.m4: Standardize generation of help
2369        messages to always use AC_HELP_STRING and always (except for --with-tcl
2370        and --with-tk, where the default is complex) say what the default is.
2371
23722005-05-31  Zoran Vasiljevic  <vasiljevic@users.sourceforge.net>
2373
2374        * unix/tclUnixNotfy.c: the notifier thread is now created as joinable
2375        thread and it is properly joined in Tcl_FinalizeNotifier. This is an
2376        attempt to fix the [Bug 1082283].
2377
23782005-05-30  Zoran Vasiljevic  <vasiljevic@users.sf.net>
2379
2380        * win/tclWinThrd.c: Fixed [Bug 1204064]
2381
23822005-05-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2383
2384        TIP #229 IMPLEMENTATION
2385
2386        * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs)
2387        (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath):
2388        Implementation of the [namespace path] command and the command name
2389        resolution engine.
2390        * doc/info.n, doc/namespace.n: Doc updates.
2391        * tests/namespace.test (namespace-51.*): Test updates.
2392        * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers):
2393        * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure
2394        that people don't see stale paths.
2395        * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs.
2396        * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands].
2397
23982005-05-26  Daniel Steffen  <das@users.sourceforge.net>
2399
2400        * macosx/Makefile: moved & corrected EMBEDDED_BUILD check.
2401
2402        * unix/configure.in: corrected framework finalization to softlink stub
2403        library to Versions/8.x subdir instead of Versions/Current.
2404        * unix/configure: autoconf-2.59
2405
24062005-05-25  Jeff Hobbs  <jeffh@ActiveState.com>
2407
2408        * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast
2409
24102005-05-25  Don Porter  <dgp@users.sourceforge.net>
2411
2412        TIP#182 IMPLEMENTATION  [Patch 1165062]
2413
2414        * doc/mathfunc.n:       New built-in math function bool().
2415        * generic/tclBasic.c:
2416        * tests/expr.test:
2417        * tests/info.test:
2418
24192005-05-24  Don Porter  <dgp@users.sourceforge.net>
2420
2421        * library/init.tcl:     Updated [unknown] to be sure the [return]
2422        * tests/init.test:      options from an auto-loaded command are seen
2423        correctly by the caller.
2424
24252005-05-24  Daniel Steffen  <das@users.sourceforge.net>
2426
2427        * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars
2428        that need to be handled specially.
2429
2430        * macosx/Makefile:
2431        * macosx/README:
2432        * macosx/Tcl-Info.plist.in (new file):
2433        * unix/Makefile.in:
2434        * unix/configure.in:
2435        * unix/tcl.m4:
2436        * unix/tclUnixInit.c: moved all Darwin framework build support from
2437        macosx/Makefile into the standard unix configure/make buildsystem, the
2438        macosx/Makefile is no longer required to build Tcl.framework (but its
2439        functionality is still available for backwards compatibility).
2440        * unix/configure: autoconf-2.59
2441
2442        * generic/tclIOUtil.c (TclLoadFile):
2443        * generic/tclInt.h:
2444        * unix/tcl.m4:
2445        * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in
2446        addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's),
2447        and can be [load]ed from memory, e.g. directly from VFS without needing
2448        to be written out to a temporary location first. [Bug 1202209]
2449        * unix/configure: autoconf-2.59
2450        * unix/tclConfig.h.in: autoheader-2.59
2451
2452        * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a
2453        count > 1 to return a string with a float value instead of a rounded
2454        off integer. [Bug 1202178]
2455
2456        * doc/expr.n:
2457        * doc/string.n: fixed roff syntax complaints from 'make html'.
2458
24592005-05-20  Don Porter  <dgp@users.sourceforge.net>
2460
2461        * generic/tclParseExpr.c:       Corrected parser to recognize all
2462        boolean literals accepted by Tcl_GetBoolean, including prefixes like
2463        "y" and "f", and to allow "eq" and "ne" as function names in the proper
2464        context. [Bug 1201589].
2465
24662005-05-19  Donal K. Fellows  <dkf@users.sf.net>
2467
2468        * generic/tclBasic.c (TclEvalObjvInternal): Rewrite for greater
2469        clarity; although 'goto' is Bad, the contortions you have to go through
2470        to avoid it can be worse...
2471
24722005-05-19  Daniel Steffen  <das@users.sourceforge.net>
2473
2474        * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing CFRelease
2475        of runLoopSource in Tcl_InitNotifier (reported by Zoran):
2476        CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the
2477        runLoopSource in Tcl_FinalizeNotifier.
2478
24792005-05-18  Don Porter  <dgp@users.sourceforge.net>
2480
2481        * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper around
2482        Tcl_ExprBooleanObj.
2483
2484        * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping
2485        string-based Tcl_GetBoolean call, so that internal reps are kept for
2486        subsequent quick boolean operations.
2487
2488        * generic/tclExecute.c: Dropped most special handling of the "boolean"
2489        Tcl_ObjType, since that type should now be rarely encountered.
2490
2491        * doc/BoolObj.3:        Rewrite of documentation dropping many details
2492        about the internals of Tcl_Objs. Shorter documentation focuses on the
2493        function and use of the routines.
2494
2495        * generic/tclInt.h:     Revision to the "boolean" Tcl_ObjType, so that
2496        * generic/tclObj.c:     only string values like "yes" and "false" are
2497        * tests/obj.test:       kept as the "boolean" Tcl_ObjType. The string
2498        values "0" and "1" are kept as "int" Tcl_ObjType, which also produce
2499        quick calls to Tcl_GetBooleanFromObj(). Since this internal change
2500        means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce
2501        a Tcl_Obj of type "boolean", the registration of the "boolean" type is
2502        also removed.
2503        ***POTENTIAL INCOMPATIBILITY***
2504        For callers of Tcl_GetObjType on the type name "boolean".
2505
25062005-05-17  Don Porter  <dgp@users.sourceforge.net>
2507
2508        * generic/tclObj.c (TclInitObjSubsystem):       Removed the
2509        * tests/listObj.test:   registration of the Tcl_ObjType's "list",
2510        * tests/obj.test:       "procbody", "index", "ensembleCommand",
2511        "localVarName", and "levelReference". The only reason to register a
2512        Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only
2513        reason for that is to retrieve a (Tcl_ObjType *) to pass to
2514        Tcl_ConvertToType(). None of the types above can support a
2515        Tcl_ConvertToType() call; they panic. Better not to offer something
2516        than to lead users into a panic.
2517        ***POTENTIAL INCOMPATIBILITY***
2518        For callers of Tcl_GetObjType on the type names listed above.
2519
25202005-05-15  Kevin Kenny  <kennykb@users.sourceforge.net>
2521
2522        * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION
2523        structures on HAVE_NO_SEH, to fix a bug in buildability on MSVC.
2524
25252005-05-14  Daniel Steffen  <das@users.sourceforge.net>
2526
2527        * generic/tclInt.decls:
2528        * generic/tclTest.c:
2529        * generic/tclUtil.c:
2530        * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c
2531        to the MODULE_SCOPE tclPlatform global: renamed existing
2532        TclWinGetPlatform() accessor to TclGetPlatform() and moved it to
2533        generic code so that it can be used by on all platforms where
2534        MODULE_SCOPE is enforced.
2535
2536        * macosx/tclMacOSXBundle.c:
2537        * unix/tclUnixInit.c:
2538        * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and
2539        added test of CoreFoundation availablility to allow building on ppc64,
2540        replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of
2541        Tiger or later OSSpinLockLock API.
2542
2543        * unix/tclUnixNotfy.c:
2544        * unix/Makefile.in:
2545        * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is
2546        available, use new CFRunLoop based notifier: allows easy integration
2547        with other event loops on Mac OS X, in particular the TkAqua Carbon
2548        event loop is now integrated via a standard tcl event source (instead
2549        of TkAqua upon loading having to finalize the exsting notifier and
2550        replace it with its custom version). [Patch 1202052]
2551
2552        * tests/unixNotfy.test: don't run unthreaded tests on Darwin since
2553        notifier may be using threads even in unthreaded core.
2554
2555        * unix/tclUnixPort.h:
2556        * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during
2557        configure, as Darwin 7 and later realpath is threadsafe.
2558
2559        * macosx/Makefile: enable configure caching.
2560
2561        * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so
2562        that it can be included more than once without warnings from gcc4.0 (as
2563        happens e.g. when including both tclInt.h and tclPort.h)
2564
2565        * macosx/tclMacOSXBundle.c:
2566        * unix/tclUnixChan.c:
2567        * unix/tclLoadDyld.c:
2568        * unix/tclUnixInit.c: fixed gcc 4.0 warnings.
2569
2570        * unix/configure: autoconf-2.59
2571        * unix/tclConfig.h.in: autoheader-2.59
2572
2573        * generic/tclIntDecls.h:
2574        * generic/tclIntPlatDecls.h:
2575        * generic/tclStubInit.c: make genstubs
2576
25772005-05-13  Kevin Kenny  <kennykb@acm.org>
2578
2579        * win/tclWin32Dll.c: Further rework of the SEH logic. All
2580        EXCEPTION_REGISTRATION records are now in the activation record rather
2581        than pushed on the stack.
2582
25832005-05-13  Don Porter  <dgp@users.sourceforge.net>
2584
2585        * generic/tclBasic.c:   Dropped the TCL_NO_MATH configuration. It's
2586        * generic/tclBinary.c:  believed this has not been working in a long
2587        * generic/tclExecute.c: time. Tcl needs math.h. [RFE 1200680]
2588        * unix/Makefile.in:
2589
25902005-05-12  Kevin Kenny  <kennykb@acm.org>
2591
2592        * doc/mathfunc.n: Changed NAME line to match the name of the page.
2593
25942005-05-11  Kevin Kenny  <kennykb@acm.org>
2595
2596        [kennykb-numerics-branch] Resynchronized with the HEAD; at this
2597        checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and
2598        kennykb-numerics-branch contain identical code.
2599
26002005-05-11  Kevin Kenny  <kennykb@acm.org>
2601
2602        * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the
2603        code to cast 'char' to UCHAR explicitly when using ctype macros, to
2604        silence complaints from the Solaris compiler.
2605
26062005-05-10  Jeff Hobbs  <jeffh@ActiveState.com>
2607
2608        * unix/tclUnixFCmd.c: add lint attr to enum to satisfy strictly
2609        compliant compilers that don't like trailing ,s.
2610
2611        * tests/string.test: string-10.[21-30]
2612        * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent
2613        possible UMR in unichar cmp function for string map.
2614
26152005-05-10  Kevin Kenny  <kennykb@acm.org>
2616
2617        * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted
2618        in reads of uninitialized memory when using 'd', 'q', or 'Q' format.
2619        * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle
2620        the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit
2621        in NaN from everyone else.
2622        * libtommath/tommath_superclass.h: Corrected C++-style comment.
2623
26242005-05-10  Kevin Kenny  <kennykb@acm.org>
2625
2626        Merged all changes on kennykb-numerics-branch back into the HEAD.
2627        TIP's 132 and 232 are now Final.
2628
26292005-05-10  Kevin Kenny  <kennykb@acm.org>
2630
2631        [kennykb-numerics-branch] Merged changes from HEAD.
2632
26332005-05-10  Miguel Sofer  <msofer@users.sf.net>
2634
2635        * generic/tclExecute.c (ExponLong, ExponWide):
2636        * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0
2637        [Bug 1198892]
2638
26392005-05-09  Kevin B. Kenny  <kennykb@acm.org>
2640
2641        [kennykb-numerics-branch]
2642        * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked
2643        structured event handling to function even with -fomit-frame-pointers.
2644
26452005-05-08  Kevin B. Kenny  <kennykb@acm.org>
2646
2647        [kennykb-numerics-branch]
2648        * generic/tclStrToD.c: Made code more portable by finding a workaround
2649        for MSVC's 'volatile' issue that does not require conditional
2650        compilation.
2651        * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling
2652        from the GCC code since (a) bad code is generated by the instruction
2653        scheduling with -O2, and (b) it's not needed on any reasonably modern
2654        CPU.
2655
26562005-05-07  Kevin B. Kenny  <kennykb@acm.org>
2657
2658        [kennykb-numerics-branch]
2659        * generic/tclEvent.c:  Moved initialization of tclStrToD.c's
2660        * generic/tclInt.h:    static constants into a procedure called
2661        * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked
2662        locking protocol. Cleaned up an issue where MSVC ignored the
2663        'volatile' specifier, causing incorrect comparison of an underflowed
2664        number against zero.
2665
26662005-05-06  Jeff Hobbs  <jeffh@ActiveState.com>
2667
2668        * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add
2669        support for x86_64 Solaris cc builds.
2670
26712005-05-05  Kevin B. Kenny  <kennykb@acm.org>
2672
2673        [kennykb-numerics-branch] Merged with HEAD.
2674
26752005-05-05  Kevin B. Kenny  <kennykb@acm.org>
2676
2677        * win/tclWinThrd.c:  Corrected a compilation error on the
2678                             --enable-threads configuration.
2679
26802005-05-05  Don Porter  <dgp@users.sourceforge.net>
2681
2682        * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.
2683        * generic/tclInt.h:
2684        * generic/tclUtil.c:
2685        * generic/tclIntDecls.h:        `make genstubs`
2686        * generic/tclStubInit.c:
2687        * generic/tclBasic.c:   Added callers of TclMatchIsTrivial where a
2688        * generic/tclCmdIL.c:   search can be done more efficiently when it is
2689        * generic/tclCompCmds.c:recognized that a pattern match is really an
2690        * generic/tclDictObj.c: exact match. [Patch 1076088]
2691        * generic/tclIO.c:
2692        * generic/tclNamesp.c:
2693        * generic/tclVar.c:
2694
2695        * generic/tclCompCmds.c:        Factored common efficiency trick into a
2696        macro named CompileWord.
2697
2698        * generic/tclCompCmds.c:        Replaced all instance of
2699        * generic/tclCompile.c:         TCL_OUT_LINE_COMPILE with TCL_ERROR.
2700        * generic/tclInt.h:             Now that we've eradicated the mistaken
2701        * tests/appendComp.test:        notion of a "compile-time error", we
2702        can use the TCL_ERROR return code to signal any failure to produce
2703        bytecode.
2704
27052005-05-03  Don Porter  <dgp@users.sourceforge.net>
2706
2707        * doc/DString.3:        Eliminated use of identifier "string" in Tcl's
2708        * doc/Environment.3:    public C API to avoid conflict/confusion with
2709        * doc/Eval.3:           the std::string of C++.
2710        * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3:
2711        * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3:
2712        * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c:
2713        * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c:
2714        * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c:
2715        * generic/tclUtil.c, unix/tclUnixChan.c:
2716
2717        * generic/tclDecls.h:   `make genstubs`
2718
27192005-05-02  Don Porter  <dgp@users.sourceforge.net>
2720
2721        * generic/tcl.decls:
2722        * generic/tclBasic.c:   Simplified implementation of Tcl_ExprString.
2723        * tests/expr-old.test:
2724
2725        * generic/tclDecls.h:   `make genstubs`
2726
27272005-04-30  Daniel Steffen  <das@users.sourceforge.net>
2728
2729        * unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes.
2730
27312005-04-29  Don Porter  <dgp@users.sourceforge.net>
2732
2733        TIP#176 IMPLEMENTATION  [Patch 1165695]
2734
2735        * generic/tclUtil.c:    Extended TclGetIntForIndex to recognize index
2736        formats including end+integer and integer+/-integer.
2737
2738        * generic/tclCmdMZ.c:   Extended the -start switch of [regexp] and
2739        [regsub] to accept all index formats known by TclGetIntForIndex.
2740
2741        * doc/lindex.n:         Updated docs to note new index formats.
2742        * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n:
2743        * doc/lset.n, doc/lsort.n, doc/regexp.n, doc/regsub.n, doc/string.n:
2744
2745        * tests/cmdIL.test:     Updated tests.
2746        * tests/compile.test, tests/lindex.test, tests/linsert.test:
2747        * tests/lrange.test, tests/lreplace.test, tests/lsearch.test:
2748        * tests/lset.test, tests/regexp.test, tests/regexpComp.test:
2749        * tests/string.test, tests/stringComp.test, tests/util.test:
2750
27512005-04-28  Don Porter  <dgp@users.sourceforge.net>
2752
2753        * tests/unixInit.test (7.1): Alternative fix for the 2004-11-11 commit.
2754
27552005-04-27  Don Porter  <dgp@users.sourceforge.net>
2756
2757        * library/init.tcl:     Corrected flaw in interactive command
2758        * tests/main.test:      auto-completion. [Bug 1191409].
2759
2760        TIP#183 IMPLEMENTATION  [Patch 577093]
2761
2762        * generic/tclIOUtil.c (TclGetOpenModeEx):       New routine.
2763        * generic/tclInt.h:
2764
2765        * generic/tclIO.c (Tcl_OpenObjCmd):     Support for "b" and
2766        * doc/open.n:           "BINARY" in "access" argument to [open].
2767        * tests/ioCmd.test:
2768
27692005-04-26  Kevin B. Kenny  <kennykb@users.sourceforge.net>
2770
2771        * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the
2772        internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a
2773        NaN.
2774
2775        * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent
2776        overflow/underflow behaviour that the merge of 2004-04-25 messed up.
2777        Thanks to Don Porter for calling attention to this bug. Also removed an
2778        uninitialised memory reference in this function that valgrind caught.
2779        Also changed to return TCL_ERROR on a pure NaN.
2780
2781        * generic/tclStrToD.c (RefineResult): Added a test for the initial
2782        approximation being HUGE_VAL; this test avoids EDOM being returned from
2783        ldexp on some platforms on input values exceeding the floating point
2784        range.
2785
2786        * tests/expr.test (expr-29.*, expr-30.*): Added further tests of
2787        overflow/underflow on input conversions.
2788
27892005-04-25  Kevin B. Kenny  <kennykb@users.sourceforge.net>
2790
2791        [kennykb-numerics-branch] Merged with HEAD.
2792
2793        * doc/CrtMathFunc.n:            Revised documentation for TIP 232
2794
27952005-04-25  Daniel Steffen  <das@users.sourceforge.net>
2796
2797        * compat/string.h: fixed memchr() protoype for __APPLE__ so that we
2798        build on Mac OS X 10.1 again.
2799
2800        * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being
2801        finalized in unthreaded core (was testing for notifier initialization
2802        in current thread by checking thread id != 0 but thread id is always 0
2803        in untreaded core).
2804
2805        * win/tclWinNotify.c (Tcl_WaitForEvent):
2806        * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for
2807        zero wait times (as specified in TIP 233).
2808
2809        * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS
2810        from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS.
2811
2812        * unix/tcl.m4 (Darwin): added configure checks for recently added
2813        linker flags -single_module and -search_paths_first to allow building
2814        with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD
2815        and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of
2816        symbols from libtclstub to avoid duplicate symbol warnings, added
2817        PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to
2818        __private_extern__.
2819        (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check.
2820
2821        * unix/configure: autoconf-2.59
2822
28232005-04-25  Kevin B. Kenny  <kennykb@users.sourceforge.net>
2824
2825        * library/tzdata/America/Boise:
2826        * library/tzdata/America/Chicago:
2827        * library/tzdata/America/Denver
2828        * library/tzdata/America/Indianapolis:
2829        * library/tzdata/America/Los_Angeles:
2830        * library/tzdata/America/Louisville:
2831        * library/tzdata/America/Managua:
2832        * library/tzdata/America/New_York:
2833        * library/tzdata/America/Phoenix:
2834        * library/tzdata/America/Port-au-Prince:
2835        * library/tzdata/America/Indiana/Knox:
2836        * library/tzdata/America/Indiana/Marengo:
2837        * library/tzdata/America/Indiana/Vevay:
2838        * library/tzdata/America/Kentucky/Monticello:
2839        * library/tzdata/America/North_Dakota/Center:
2840        * library/tzdata/Asia/Tehran:
2841        Olson's tzdata2005i. Corrects exact time at which Standard Time was
2842        adopted in the US (generally, noon, Standard Time, rather than noon,
2843        Local Mean Time). Adopts new civil rules for Nicaragua and Iran.
2844
28452005-04-25  Don Porter  <dgp@users.sourceforge.net>
2846
2847        * library/init.tcl:     Use "ni" and "in" operators.
2848
28492005-04-25  Miguel Sofer  <msofer@users.sf.net>
2850
2851        * generic/tclExecute.c: fix for [Bug 1189274].
2852
28532005-04-24  Don Porter  <dgp@users.sourceforge.net>
2854
2855        * generic/tclLiteral.c: Silence compiler warnings.
2856        * generic/tclObj.c:     [Bug 1188863].
2857
28582005-04-22  Don Porter  <dgp@users.sourceforge.net>
2859
2860        The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it
2861        into agreement with its docs. Further investigation reveals it was the
2862        docs that were incorrect.
2863
2864        * doc/BoolObj.3:        Corrections to the documentation of
2865        Tcl_GetBooleanFromObj to bring it into agreement with what this public
2866        interface has always done, including noting the difference in function
2867        between Tcl_GetBooleanFromObj and Tcl_GetBoolean.
2868
2869        * generic/tclGet.c:     Revised Tcl_GetBoolean to no longer be a
2870        wrapper around Tcl_GetBooleanFromObj (different function!).
2871
2872        * generic/tclObj.c:     Removed TclGetTruthValueFromObj routine that
2873        was added yesterday. Revisions so that only Tcl_GetBoolean-approved
2874        values get the "boolean" Tcl_ObjType. This retains the fix for [Bug
2875        1187123].
2876        * tests/string.test:    Test string-23.0 for Bug 1187123.
2877
2878        * generic/tclInt.h:     Revert most recent change.
2879        * generic/tclBasic.c:
2880        * generic/tclCompCmds.c:
2881        * generic/tclDictObj.c:
2882        * generic/tclExecute.c:
2883        * tests/obj.test:
2884
28852005-04-21  Don Porter  <dgp@users.sourceforge.net>
2886
2887        * doc/GetInt.3: Convert argument "string" to "str" to agree with code.
2888        Also clarified a few details on int and double formats.
2889        * generic/tclGet.c:     Radical code simplification. Converted
2890        Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces
2891        code duplication, and the resulting potential for inconsistency.
2892
2893        * generic/tclObj.c:     Several changes:
2894
2895        - Re-ordered error detection code so all values with trailing garbage
2896          receive a "not an integer" message instead of an "integer too large"
2897          message.
2898        - Removed inactive code meant to deal with strtoul* routines that fail
2899          to parse leading signs. All of them do, and if any are detected that
2900          do not, the correct fix is replacement with compat/strtoul*.c, not a
2901          lot of special care by the callers.
2902        - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep.
2903        - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with
2904          Tcl_GetBoolean, accepting only "0" and "1" and not other numeric
2905          strings. [Bug 1187123]
2906        - Added new private routine TclGetTruthValueFromObj to perform the more
2907          permissive conversion of numeric values to boolean that is needed by
2908          the [expr] machinery.
2909
2910        * generic/tclInt.h (TclGetTruthValueFromObj):   New routine.
2911        * generic/tclExecute.c: Updated callers to call new routine.
2912        * generic/tclBasic.c:   Updated callers to call new routine.
2913        * generic/tclCompCmds.c:        Updated callers to call new routine.
2914        * generic/tclDictObj.c: Updated callers to call new routine.
2915        * tests/obj.test:       Corrected bad tests that actually expected
2916        values like "47" and "0xac" to be accepted as booleans.
2917
2918        * generic/tclLiteral.c: Disabled the code that forces some literals
2919        into the "int" Tcl_ObjType during registration. We can re-enable it if
2920        this change causes trouble, but it seems more sensible to let Tcl's
2921        "on-demand" shimmering rule, and not try to pre-guess things.
2922
29232005-04-20  Kevin B. Kenny  <kennykb@acm.org>
2924
2925        [kennykb-numerics-branch]
2926        * doc/expr.n:
2927        * doc/mathfunc.n (new file):    Revised documentation for TIP 232
2928
29292005-04-20  Don Porter  <dgp@users.sourceforge.net>
2930
2931        * generic/tclGet.c (Tcl_GetInt):        Corrected error that did not
2932        * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be
2933        recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
2934
29352005-04-20  Kevin B. Kenny  <kennykb@acm.org>
2936
2937        * generic/tclFileName.c: Silenced a compiler warning about '/*' within
2938        a comment.
2939
29402005-04-19  Don Porter  <dgp@users.sourceforge.net>
2941
2942        * generic/tclBasic.c:   Added unsupported command
2943        * generic/tclCmdAH.c:   [::tcl::unsupported::EncodingDirs] to permit
2944        * generic/tclInt.h:     query/set of the encoding search path at
2945        * generic/tclInterp.c:  the script level. Updated init.tcl to make
2946        * library/init.tcl:     use of the new command. Also updated several
2947        coding practices in init.tcl ("eq" for [string equal], etc.)
2948
29492005-04-19  Kevin B. Kenny  <kennykb@acm.org>
2950
2951        * library/clock.tcl (Initialize): Put initialization code into a proc
2952        to avoid inadvertently clobbering global variables. [Bug 1185933]
2953        * tests/clock.test (clock-48.1): Added regression test for the above
2954        bug.
2955        Thanks to Ulrich Ring for reporting this bug.
2956
29572005-04-16  Miguel Sofer  <msofer@users.sf.net>
2958
2959        * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak. [Bug
2960        1084111]
2961
29622005-04-16  Zoran Vasiljevic  <vasiljevic@users.sf.net>
2963
2964        * generic/tclIOUtil.c: force clenaup of the interp result in
2965        TclLoadFile(). Some implementations of TclpFindSymbol() will seed the
2966        interp result with error message when unable to find the requested
2967        symbol (this is not considered to be an error).
2968
2969        Set of changes correcting huge memory waste (not a leak) when a thread
2970        exits. This has been introduced in 8.4.7 within an attempt to correctly
2971        cleanup after ourselves when Tcl library is being unloaded with the
2972        Tcl_Finalize() call.
2973
2974        This fixes the [Bug 1178445]
2975
2976        * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and
2977        TclFreeAllocCache()
2978
2979        * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to
2980        explicitly call TclpFreeAllocCache with the NULL-ptr as argument
2981        signalling cleanup of private tsd key used only by the threading
2982        allocator.
2983
2984        * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when
2985        being called with NULL argument. This is a signal for it to clean up
2986        the tsd key associated with the threading allocator.
2987
2988        * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache
2989        and fixed to recognize when being called with NULL argument. This is a
2990        signal for it to clean up the tsd key associated with the threading
2991        allocator.
2992
29932005-04-13  Don Porter  <dgp@users.sourceforge.net>
2994
2995        * tests/unixInit.test:  Disabled obsolete tests and removed code
2996        * tests/encoding.test:  that supported them.
2997        * generic/tclInterp.c:
2998
2999        * library/init.tcl:     Use auto-loading to bring in Tcl Module support
3000        * library/tclIndex:     as needed. This reduces startup time by
3001        * library/tm.tcl:       delaying this initialization to a later time.
3002
30032005-04-15  Miguel Sofer  <msofer@users.sf.net>
3004
3005        * generic/tclExecute.c: missing semicolons caused failure to compile
3006        with TCL_COMPILE_DEBUG.
3007
30082005-04-13  David Gravereaux  <davygrvy@pobox.com>
3009
3010        * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit
3011        * tests/io.test:        changed from ten bytes to one byte. Need for
3012        * tests/iogt.test:      this change was proven by Ross Cartlidge
3013        <rossc@cisco.com> where [read stdin 1] was grabbing 10 bytes followed
3014        by starting a child process that was intended to continue reading from
3015        stdin. Even with -buffersize set to one, nine chars were getting lost
3016        by the buffersize over reading for the native read() caused by [read].
3017
30182005-04-13  Don Porter  <dgp@users.sourceforge.net>
3019
3020        * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed
3021        order of verifying candidate [encoding system] value, checking against
3022        a table in memory first before calling Tcl_GetEncoding and potentially
3023        scanning through the filesystem. Also ordered the table so that a
3024        binary search could be used within it. Improves startup time a bit more
3025        on some systems.
3026
30272005-04-13  Kevin B. Kenny  <kennykb@acm.org>
3028
3029        * library/clock.n: Added a missing '--' on several [switch] commands to
3030        improve performance of [clock format] and related operations. [FRQ
3031        1182459]
3032
30332005-04-13  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
3034
3035        * doc/fcopy.n: Improved documentation on copying binary files, added an
3036        example and mentioned the use of [file copy].
3037        * doc/fconfigure.n: Improved documentation of -encoding binary option.
3038        This is all following comments from Steve Manning <steve@manning.net>
3039        on comp.lang.tcl that the current documentation was not clear.
3040
30412005-04-13  Miguel Sofer  <msofer@users.sf.net>
3042
3043        * generic/tclCompile.c:Commented out the functions
3044        TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not
3045        debugging the compiler, as they are never called in that case.
3046
30472005-04-12  Don Porter  <dgp@users.sourceforge.net>
3048
3049        * generic/tclInterp.c:  Corrected bad syntax of Tcl_Panic() call.
3050
3051        * generic/tclUtil.c (TclGetProcessGlobalValue): More robust handling
3052        of bad TclInitProcessGlobalValueProc behavior; an immediate panic
3053        rather than a mysterious crash later.
3054
3055        * generic/tclEncoding.c:        Several changes to the way the
3056        encodingFileMap cache is maintained. Previously, it was attempted to
3057        keep the file map filled and up to date with changes in the encoding
3058        search path. This contributed to slow startup times since it required
3059        an expensive "glob" operation to fill the cache. Now the validity of
3060        items in the cache are checked at the time they are used, so the cache
3061        is permitted to fall out of sync with the encoding search path. Only
3062        [encoding names] and Tcl_GetEncodingNames() now pay the full expense.
3063        [Bug 1177363]
3064
30652005-04-12  Kevin B. Kenny  <kennykb@acm.org>
3066
3067        * compat/strstr.c: Added default definition of NULL to accommodate
3068        building on systems with badly broken headers. [Bug 1175161]
3069
30702005-04-11  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
3071
3072        * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl
3073        8.5 (on which it was dependent anyway). Also added a [package require]
3074        line to formalize the relationship.
3075
30762005-04-11  Kevin Kenny  <kennykb@users.sf.net>
3077
3078        [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35.
3079
3080        * generic/tclBasic.c: Attempted to repeat changes that applied to
3081        tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with
3082        (possibly) a few more uses of his new object creation macros. Also
3083        plugged a memory leak in TclObjInvoke. [Bug 1180368]
3084
30852005-04-10  Kevin Kenny  <kennykb@acm.org>
3086
3087        * library/tzdata/America/Montevideo:
3088        * library/tzdata/Asia/Almaty:
3089        * library/tzdata/Asia/Aqtau:
3090        * library/tzdata/Asia/Aqtobe:
3091        * library/tzdata/Asia/Baku:
3092        * library/tzdata/Asia/Jerusalem:
3093        * library/tzdata/Asia/Oral:
3094        * library/tzdata/Asia/Qyzylorda:
3095        * library/tzdata/Indian/Chagos:
3096        * library/tzdata/Indian/Cocos:          Olson's tzdata2005h
3097
30982005-04-10  Don Porter  <dgp@users.sourceforge.net>
3099
3100        * generic/tclBasic.c (TclObjInvoke):    Plug memory leak. [Bug 1180368]
3101
31022005-04-09  Miguel Sofer  <msofer@users.sf.net>
3103
3104        * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs
3105
31062005-04-09  Daniel Steffen  <das@users.sourceforge.net>
3107
3108        * macosx/README: updated requirements for OS & developer tool versions
3109        and other small fixes/cleanup.
3110
3111        * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL return
3112        when getting index from an empty list.
3113
3114        * unix/tcl.m4 (Darwin): added -single_module linker flag to
3115        TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS.
3116        * unix/configure: autoconf-2.59
3117
31182005-04-08  Don Porter  <dgp@users.sourceforge.net>
3119
3120        * generic/tclInt.h (TclGetEncodingFromObj):      New function to
3121        * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a
3122        Tcl_Encoding value, as well as cache it in the internal rep of a new
3123        "encoding" Tcl_ObjType.
3124        * generic/tclCmdAH.c (Tcl_EncodingObjCmd):      Updated to call new
3125        function so that Tcl_Encoding's used by [encoding convert*] routines
3126        are not freed too quickly. [Bug 1077262]
3127
31282005-04-08  Donal K. Fellows  <dkf@users.sf.net>
3129
3130        * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to
3131        handle the other form of [switch] and generate slightly simpler (but
3132        longer) code.
3133
31342005-04-06  Donal K. Fellows  <dkf@users.sf.net>
3135
3136        * doc/upvar.n, doc/unset.n, doc/tell.n, doc/tclvars.n, doc/subst.n:
3137        * doc/seek.n, doc/scan.n, doc/regsub.n, doc/registry.n, doc/regexp.n:
3138        * doc/read.n, doc/puts.n, doc/pkgMkIndex.n, doc/open.n, doc/lreplace.n:
3139        * doc/lrange.n, doc/load.n, doc/llength.n, doc/linsert.n, doc/lindex.n:
3140        * doc/lappend.n, doc/info.n, doc/gets.n, doc/format.n, doc/flush.n:
3141        * doc/fileevent.n, doc/file.n, doc/fblocked.n, doc/close.n:
3142        * doc/array.n, doc/Utf.3, doc/TraceVar.3, doc/StrMatch.3, doc/RegExp.3:
3143        * doc/PrintDbl.3, doc/OpenTcp.3, doc/OpenFileChnl.3, doc/Object.3:
3144        * doc/Notifier.3, doc/LinkVar.3, doc/IntObj.3, doc/Interp.3:
3145        * doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3, doc/CrtMathFnc.3:
3146        * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3:
3147        * doc/Backslash.3: Purge old .VS/.VE macro instances.
3148
3149        * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really
3150        is (.IP and .TP are really just two ways of doing the same thing).
3151        Change below made this relevant.
3152        * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs
3153        in various *roff implementations. Also reworded the atom descriptions
3154        slightly.
3155
31562005-04-05  Don Porter  <dgp@users.sourceforge.net>
3157
3158        * generic/tclExecute.c (ExprSrandFunc):  Replaced incursions into the
3159        * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with
3160        simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that
3161        those routines are better behaved wrt shimmering. [Patch 1177219]
3162
31632005-04-05  Miguel Sofer  <msofer@users.sf.net>
3164
3165        * generic/tclInt.h:
3166        * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed
3167        up the freeing of simple Tcl_Obj [Patch 1174551]
3168
31692005-04-04  Miguel Sofer  <msofer@users.sf.net>
3170
3171        * generic/tclExecute.c: small opts in obj handling
3172
31732005-04-02  Miguel Sofer  <msofer@users.sf.net>
3174
3175        * generic/tclVar.c: converted a few function calls to macros.
3176
31772005-04-01  Miguel Sofer  <msofer@users.sf.net>
3178
3179        * doc/ListObj.3:
3180        * generic/tclBasic.c:
3181        * generic/tclCmdIL.c:
3182        * generic/tclConfig.c:
3183        * generic/tclExecute.c:
3184        * generic/tclInt.decls:
3185        * generic/tclInt.h:
3186        * generic/tclIntDecls.h:
3187        * generic/tclListObj.c:
3188        * generic/tclStubInit.c:
3189        * generic/tclVar.c: Changed the internal representation of lists to
3190        (a) reduce the malloc/free calls at list creation (from 2 to 1), (b)
3191        reduce the cost of handling empty lists (we now never create a list
3192        internal rep for them), (c) allow refcounting of the list internal rep.
3193        The latter permits insuring that the pointers returned by
3194        Tcl_ListObjGetElements remain valid even if the object shimmers away
3195        from its original list type. This is [Patch 1158008]
3196
3197        * generic/tclExecute.c:
3198        * generic/tclInt.h:
3199        * generic/tclObj.c:
3200        * generic/tclStringObj.c:
3201        (1) defined new internal macros for creating and setting frequently
3202        used obj types (int,long, wideInt, double, string). Changed TEBC to use
3203        eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr =
3204        Tcl_NewIntObj(i)'
3205        (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and
3206        "1", for use by TEBC.
3207        (3) slight reduction in cost of INST_START_CMD
3208
32092005-03-31  Miguel Sofer  <msofer@users.sf.net>
3210
3211        * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and
3212        branch" with "compute index into table"
3213
32142005-03-30  Donal K. Fellows  <donal.k.fellows@manchester.ac.uk>
3215
3216        * doc/FileSystem.3: Defined loadHandle argument. [Bug 1172401]
3217
32182005-03-29  Jeff Hobbs  <jeffh@ActiveState.com>
3219
3220        * win/tcl.m4, win/configure: do not require cygpath in macros to allow
3221        msys alone as an alternative.
3222
32232005-03-24  Don Porter  <dgp@users.sourceforge.net>
3224
3225        * generic/tclCompile.h: Move the TclInterpReady() declaration from
3226        * generic/tclInt.h:     tclCompile.h to tclInt.h. Should have been done
3227        as part of the 1115904 bug fix on 2005-03-18.
3228
3229        * generic/tclThreadTest.c:      Stop providing the phony package
3230        "Thread 1.0" when the [::testthread] command is defined. It's never
3231        used by anything, and conflicts with loading the real "Thread" package.
3232
32332005-03-18  Don Porter  <dgp@users.sourceforge.net>
3234
3235        * generic/tclCompCmds.c (TclCompileIncrCmd):    Corrected checks for
3236        immediate operand usage to permit leading space and sign characters.
3237        Restores more efficient bytecode for [incr x -1] that got lost in the
3238        CONST string reforms of Tcl 8.4. [Bug 1165671]
3239
3240        * generic/tclBasic.c (Tcl_EvalEx):      Restored recursion limit
3241        * generic/tclParse.c (TclSubstTokens):  testing in nested command
3242        * tests/basic.test (basic-46.4):        substitutions within direct
3243        * tests/parse.test (parse-19.*):        script evaluation (Tcl_EvalEx)
3244        that got lost in the parser reforms of Tcl 8.1. Added tests for correct
3245        behavior. [Bug 1115904]
3246
32472005-03-15  Vince Darley  <vincentdarley@users.sourceforge.net>
3248
3249        * generic/tclFileName.c:
3250        * win/tclWinFile.c:
3251        * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures
3252        on reserved filenames like 'COM1:', etc.
3253
32542005-03-15  Pat Thoyts  <patthoyts@users.sourceforge.net>
3255
3256        * unix/tcl.m4:    Updated the OpenBSD configuration and regenerated
3257        * unix/configure: the configure script.
3258
32592005-03-15  Kevin B. Kenny  <kennykb@acm.org>
3260
3261        [kennykb-numerics-branch] Merged with HEAD.
3262
3263        * generic/tclBasic.c (many):
3264        * generic/tclCompExpr.c (CompileMathFuncCall):
3265        * generic/tclCompile.h:
3266        * generic/tclExecute.c (many):
3267        * generic/tclParseExpr.c (ParsePrimaryExpr):
3268        * tests/compExpr-old.test:
3269        * tests/compExpr.test:
3270        * tests/compile.test:
3271        * tests/expr-old.test:
3272        * tests/expr.test:
3273        * tests/for.test:
3274        * tests/parseExpr.test: Initial implementation of TIP #232.
3275
3276        * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke
3277        --enable-symbols=mem build
3278        * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to
3279        allow NaN(7ffffffffffff).
3280
32812005-03-14  Miguel Sofer  <msofer@users.sf.net>
3282
3283        * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj
3284        ref passed to TRACE_WITH_OBJ).
3285
32862005-03-14  Miguel Sofer  <msofer@users.sf.net>
3287
3288        * generic/tclCompile.c: fixed INST_RETURN's stack effect in
3289        tclInstructionTable (-1 instead of -2)
3290
32912005-03-10  Miguel Sofer  <msofer@users.sf.net>
3292
3293        * generic/tclCompCmds.c: removed debugging line
3294
32952005-03-10  Don Porter  <dgp@users.sourceforge.net>
3296
3297        * generic/tclTrace.c (TclCheckInterpTraces):    Corrected mistaken cast
3298        of ClientData to (TraceCommandInfo *) when not warranted. Thanks to
3299        Yuri Victorovich for the report. [Bug 1153871]
3300        * generic/tcl.h:        Moved flag values TCL_TRACE_ENTER_EXEC and
3301        * generic/tclInt.h:     TCL_TRACE_LEAVE_EXEC from public interface into
3302        private. Should be used only by internal workings of execution traces.
3303
33042005-03-09  Kevin B. Kenny  <kennykb@acm.org>
3305
3306        [kennykb-numerics-branch] Merged from HEAD.
3307
3308        * doc/PrintDbl.3:
3309        * doc/tclVars.n: Documented new semantics for tcl_precision.
3310        * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for
3311        division-by-zero on IEEE-754 machines.
3312        * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in
3313        the range [1e-4 .. 1.) were printed incorrectly.
3314        * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for
3315        division by zero.
3316        * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for
3317        overflow in pow() to deal with infinities.
3318        * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test case
3319        for division by zero and for underflow on input conversions.
3320        * tests/parseExpr.test (parseExpr-16.11): Revised test case for
3321        overflow on input conversion.
3322        * tests/string.test (string-6.38 deleted): Removed test case for
3323        underflow on input conversion, which is no longer an error.
3324        * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c
3325
33262005-03-08  Jeff Hobbs  <jeffh@ActiveState.com>
3327
3328        * win/makefile.vc: clarify necessary defined vars that can come from
3329        MSVC or the Platform SDK.
3330
33312005-03-07  Donal K. Fellows  <dkf@users.sf.net>
3332
3333        * doc/string.n: Minor typo. [Bug 1158247]
3334
33352005-03-07  Miguel Sofer  <msofer@users.sf.net>
3336
3337        * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed
3338        the peephole opt in INST_POP so that it is not used when
3339        TCL_COMPILE_DEBUG is defined.
3340
33412005-03-04  Kevin B. Kenny  <kennykb@acm.org>
3342
3343        [kennykb-numerics-branch]
3344
3345        * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating
3346        point values as infinities and zeroes.
3347        * generic/tclExecute.c: Changed [expr] to be permissive about
3348        infinities, allowing them to propagate.
3349        * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about
3350        over/underflow.
3351        * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about
3352        over/underflow.
3353        * generic/tclParseExpr.c: Made [expr] permissive about input numbers
3354        out of range.
3355
33562005-03-03  Kevin B. Kenny  <kennykb@acm.org>
3357
3358        [kennykb-numerics-branch]
3359
3360        * generic/tclInt.h:
3361        * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN):
3362        * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of
3363        TclDoubleDigits so that it accepts a pointer to the signum of the
3364        argument, and returns the signum via that pointer. Added very hacky
3365        code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be
3366        done other than as a hack until C9x; C89 simply doesn't deal with the
3367        concept of -0.0). Added output conversion of tagged NaN values.
3368        * generic/tclBinary.c (FormatNumber): Changed to allow [binary format]
3369        to handle NaN.
3370        * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make
3371        sure that NaN's can be scanned and formatted.
3372        * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified so
3373        that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized.
3374
33752005-03-02  Kevin B. Kenny  <kennykb@acm.org>
3376
3377        [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23.
3378
3379        * generic/tclExecute.c: Broadened test for NaN to work on Windows.
3380        * generic/tclInt.h:
3381        * generic/tclStrToD.c (Tcl_DoubleDigits):
3382        * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added
3383        Tcl_DoubleDigits to format 'double' numbers with the minimum number of
3384        significant digits to yield correct rounding. Modified tcl_precision
3385        to accept 0 as a precision (meaning "minimum digits"), and made 0 the
3386        default. [TIP #132]
3387        * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj.
3388        * unix/Makefile.in:
3389        * win/Makefile.in:
3390        * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build.
3391        * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to
3392        test 'odd'.
3393        * generic/tommath.h: Regenerated.
3394        * tests/binary.test:
3395        * tests/expr-old.test:
3396        * tests/expr.test:
3397        * tests/scan.test: Corrected a number of tests that depended on
3398        tcl_precision, and removed the {eformat} condition from tests that no
3399        longer require it.
3400        * tests/util.test: Corrected a number of tests that depended on
3401        tcl_precision, and removed the {eformat} condition from tests that no
3402        longer require it. Added a series of tests for correct rounding in
3403        Tcl_PrintDouble. [TIP #132].
3404
34052005-03-01  David N. Welton  <davidw@dedasys.com>
3406
3407        * doc/CrtSlave.3: Changed to Tcl_Object to Tcl_Obj in the man page.
3408
34092005-02-24  Don Porter  <dgp@users.sourceforge.net>
3410
3411        * library/tcltest/tcltest.tcl:  Better use of [glob -types] to avoid
3412        * tests/tcltest.test:   failed attempts to [source] a directory, and
3413        similar matters. Thanks to "mpettigr". [Bug 1119798]
3414
3415        * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8
3416        * unix/Makefile.in:
3417        * win/Makefile.in:
3418
34192005-02-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3420
3421        * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605]
3422
34232005-02-17  Jeff Hobbs  <jeffh@ActiveState.com>
3424
3425        * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not
3426        Tcl_UniCharLen.
3427
34282005-02-16  Miguel Sofer  <msofer@users.sf.net>
3429
3430        * doc/variable.n: fix for [Bug 1124160], variables are detected by
3431        [info vars] but not by [info locals].
3432
34332005-02-11  Jeff Hobbs  <jeffh@ActiveState.com>
3434
3435        * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into
3436        * unix/tcl.m4:      SHLIB_LD). Combine AIX-* and AIX-5 branches in
3437        * unix/configure:   SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+
3438        and HP-UX-11. autoconf-2.59 gen'd.
3439
34402005-02-11  Miguel Sofer  <msofer@users.sf.net>
3441
3442        * tests/basic.test (basic-26.3): new test
3443
34442005-02-10  Miguel Sofer  <msofer@users.sf.net>
3445
3446        * generic/tclBasic.c (Tcl_EvalObjEx):
3447        * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV
3448        in the pure-list branch, in case the list shimmers away. Fix for [Bug
3449        1119369], reported by Peter MacDonald.
3450
34512005-02-10  Vince Darley  <vincentdarley@users.sourceforge.net>
3452
3453        * generic/tclFileName.c: fix for test failures introduced on 2005-01-17
3454        [Bug 1119092]
3455
34562005-02-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3457
3458        * doc/binary.n: Made the documentation of sign bit masking and [binary
3459        scan] consistent. [Bug 1117017]
3460
34612005-02-08  David N. Welton  <davidw@dedasys.com>
3462
3463        * doc/CrtChannel.3: Typo: return->returns.
3464
34652005-02-06  Kevin B. Kenny  <kennykb@acm.org>
3466
3467        [kennykb-numerics-branch]
3468
3469        * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the
3470        FPU precision on gcc+x86. Enabled fast conversion of floats with small
3471        exponents now that precision is correct.
3472        * tests/expr.test: Corrected test for the smallest representible value
3473        to the right IEEE values.
3474
34752005-02-06  David N. Welton  <davidw@dedasys.com>
3476
3477        * doc/Thread.3: One-word grammar fix.
3478
34792005-02-05  David N. Welton  <davidw@dedasys.com>
3480
3481        * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread.
3482
3483        * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath
3484        documentation.
3485
3486        * generic/tclPathObj.c: Cleaned up typo in comment.
3487
34882005-02-03  Kevin B. Kenny  <kennykb@acm.org>
3489
3490        [kennykb-numerics-branch]
3491
3492        * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code
3493        to ensure that 'ldexp' is never called with a value that will underflow
3494        * tests/expr.test: Added tests for the smallest representible value,
3495        and rounding between it and zero. (The tests reflect current
3496        behaviour; plan is to change the specification of Tcl so that input
3497        conversion of doubles underflows silently.)
3498
34992005-02-02  Mo DeJong  <mdejong@users.sourceforge.net>
3500
3501        * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the
3502        framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if
3503        it is not the correct type. If the body of the proc is not of the
3504        compiled byte code type then the code will crash. This was discovered
3505        while tracking down a crash in Itcl, that crash is fixed by Itcl patch
3506        1115085.
3507
35082005-02-01  Kevin B. Kenny  <kennykb@acm.org>
3509
3510        [kennykb-numerics-branch]  Merged with HEAD as of today.
3511
3512        * generic/tclInt.decls: Changed numbers of new stubs to resolve a
3513        conflict.
3514        * generic/tclInt.h: Added new TclStrToD routine that replaces the
3515        native 'strtod' throughout Tcl.
3516        * generic/tclCmdMZ (Tcl_StringObjCmd):
3517        * generic/tclGet.c (Tcl_GetDouble):
3518        * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny):
3519        * generic/tclParseExpr.c (GetLexeme):
3520        * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native
3521        'strtod' with a TclStrToD routine that performs correct rounding and
3522        handles denormals.
3523        * generic/tclStrToD.c: (new file)
3524        New scanning function for extracting 'double' from a string that rounds
3525        correctly, and handles denormals and infinities.
3526        * unix/Makefile.in:
3527        * win/Makefile.in:
3528        * win/makefile.vc:
3529        Added tclStrToD.c and the tommath routines that support it.
3530
3531        These changes represent a partial implementation of TIP #132. Output
3532        conversion of floating point numbers, and proper handling of infinities
3533        within expressions, still need to be addressed.
3534
35352005-02-01  Don Porter  <dgp@users.sourceforge.net>
3536
3537        * generic/tclExecute.c (TclCompEvalObj): Removed stray statement left
3538        behind in prior code reorganization.
3539
35402005-01-31  Don Porter  <dgp@users.sourceforge.net>
3541
3542        * unix/configure:       autoconf-2.57
3543
35442005-01-30  Joe English  <jenglish@users.sourceforge.net>
3545
3546        * unix/configure.in: Restored two double-evals that were removed in the
3547        DBGX purge; these are still needed on some platforms to account for
3548        TCL_TRIM_DOTS. [Bug 1112654]
3549
3550        * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need
3551        to find someone with autoconf 2.57.
3552
35532005-01-28  Jeff Hobbs  <jeffh@ActiveState.com>
3554
3555        * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build support.
3556        [Bug 1021871]
3557
35582005-01-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3559
3560        * tests/expr-old.test (expr-old-37.2): Added test for [Bug 1109484]
3561
35622005-01-27  Jeff Hobbs  <jeffh@ActiveState.com>
3563
3564        * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble)
3565        (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484]
3566
35672005-01-26  Andreas Kupries  <andreask@activestate.com>
3568
3569        TIP#218 IMPLEMENTATION
3570
3571        * generic/tclDecls.h:   Regenerated from tcl.decls.
3572        * generic/tclStubInit.c:
3573
3574        * doc/CrtChannel.3:     Documentation of extended API,
3575        * generic/tcl.decls:    extended testsuite, and
3576        * generic/tcl.h:        implementation. Removal of old
3577        * generic/tclIO.c:      driver-specific TclpCut/Splice
3578        * generic/tclInt.h:     functions. Replaced with generic
3579        * tests/io.test:        thread-action calls through the
3580        * unix/tclUnixChan.c:   new hooks. Update of all builtin
3581        * unix/tclUnixPipe.c:   channel drivers to version 4.
3582        * unix/tclUnixSock.c:   Windows drivers extended to
3583        * win/tclWinChan.c:     manage thread state in a thread
3584        * win/tclWinConsole.c:  action handler.
3585        * win/tclWinPipe.c:
3586        * win/tclWinSerial.c:
3587        * win/tclWinSock.c:
3588
35892005-01-25  Don Porter  <dgp@users.sourceforge.net>
3590
3591        * library/auto.tcl:     Updated [auto_reset] to clear auto-loaded
3592        commands in namespaces other than :: and to clear auto-loaded commands
3593        that do not happen to be procs. [Bug 1101670]
3594        ***POTENTIAL INCOMPATIBILITY***
3595
35962005-01-25  Daniel Steffen  <das@users.sourceforge.net>
3597
3598        * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic
3599        library in /usr/lib etc instead of linking to static library earlier in
3600        search path. [Bug 956908] Removed obsolete references to Rhapsody.
3601        * unix/configure: autoconf-2.57
3602
36032005-01-21  Andreas Kupries  <andreask@activestate.com>
3604
3605        * generic/tclStubInit.c: Regenerated the stubs support code from the
3606        * generic/tclDecls.h:    modified tcl.decls (TIP #233, see below).
3607
3608        * doc/GetTime.3:       Implemented TIP #233, i.e. the
3609        * generic/tcl.decls:   'Virtualization of Tcl's Sense of Time'.
3610        * generic/tcl.h:       Declared, implemented, and documented the
3611        * generic/tclInt.h:    specified new API functions. Moved the
3612        * unix/tclUnixEvent.c: native (OS) access to time information
3613        * unix/tclUnixNotfy.c: into standard handler functions. Inserted
3614        * unix/tclUnixTime.c:  hooks calling on the handlers where native
3615        * win/tclWinNotify.c:  access was done before, and where scaling
3616        * win/tclWinTime.c:    between domains (real/virtual) is required.
3617
36182005-01-21  Andreas Kupries  <andreask@activestate.com>
3619
3620        * generic/tclThread.c: Typo police. Fixed some nits
3621        * generic/tclCmdAH.c:  in header comments of functions.
3622        * generic/tclBasic.c:  (Missing --).
3623        * generic/tclFileName.c:
3624
36252005-01-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3626
3627        * doc/FileSystem.3: Add missing ARGUMENTS section definitions for
3628        arguments to Tcl_FSLink. [Bug 1106272]
3629
36302005-01-21  Kevin B. Kenny  <kennykb@acm.org>
3631
3632        [kennykb-numerics-branch]
3633
3634        * unix/Makefile.in: Updated Makefile to build libtommath on Unix as
3635        well as Windows. [Bug 1106865]
3636
3637        * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning
3638        about a mismatched 'const'.
3639
36402005-01-20  Kevin B. Kenny  <kennykb@acm.org>
3641
3642        [kennykb-numerics-branch] Development checkpoint.
3643
3644        * compat/strtoll.c:     Reverted to HEAD.
3645        * compat/strtoull.c:
3646        * doc/Ensemble.3:
3647        * generic/tclBasic.c:
3648        * generic/tclCmdIL.c:
3649        * generic/tclNamesp.c:
3650        * generic/tclPathObj.c:
3651        * generic/tclPort.h:
3652        * unix/configure:
3653        * unix/configure.in:
3654        * unix/tcl.m4:
3655        * win/configure:
3656        * win/configure.in:
3657        * win/rules.vc:
3658        * win/tcl.m4:
3659
3660        * generic/tcl.h: Added declarations for bignum types, and for a
3661        'bignumValue' in the Tcl_Obj structure.
3662        * generic/tclInt.h: Added declarations of interface procedures for
3663        memory allocation in libtommath.
3664
3665        * generic/tcl.decls: Added new interface to bignum objects.
3666        * generic/tclInt.decls: Added internal stubs for bignum routines used
3667        by the test code in tclTestObj.c.
3668
3669        * generic/tclDecls/h: Regen.
3670        * generic/tclIntDecls.h:
3671        * generic/tclStubInit.h:
3672
3673        * tools/fix_tommath_h.tcl: (New file) Script to edit
3674        libtommath/tommath.h and produce generic/tommath.h so that storage
3675        classes, allocation routines, and data types conform to Tcl's
3676        conventions.
3677        * generic/tommath.h: (New file) Generated by the above.
3678
3679        * generic/tclTomMath.h: (New file) Additional declarations to be
3680        included in tommath.h when building Tcl.
3681
3682        * generic/tclTomMathInterface.c: (New file) Small 'glue' routines
3683        adapting tommath's API to Tcl.
3684
3685        * libtommath/bn_fast_s_mp_mul_digs.c:
3686        * libtommath/bn_mp_mul_d.c:
3687        * libtommath/bn_mp_read_radix.c:
3688        * libtommath/tommath.h: Applied suggested changes from Tom St Denis
3689        that correct an off-by-one error in single-digit multiplication
3690        (leading to a pointer smash if uncorrected) and change the string
3691        argument to 'mp_read_radix' from 'char*' to 'const char*'.
3692
3693        * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient
3694        memory is requested even if the number has a single digit.
3695
3696        * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the
3697        input string contains an invalid character.
3698
3699        * generic/tclObj.c: Added accessor functions for bignums.
3700        * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise the
3701        accessor functions for bignums.
3702
3703        * win/Makefile.in: Added rules for making libtommath.
3704
37052005-01-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3706
3707        TIP#235 IMPLEMENTATION
3708
3709        * doc/Ensemble.3: Documentation for the new public API.
3710        * generic/tclNamesp.c (Tcl_CreateEnsemble,...): Rename of
3711        * generic/tcl.decls:            existing API into TIPped form.
3712
37132005-01-19  Mo DeJong  <mdejong@users.sourceforge.net>
3714
3715        * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to
3716        remove a FileInfo from the thread local list before deallocating it.
3717        This should have been done via an earlier call to Tcl_CutChannel, but I
3718        was running into a crash in the next call to Tcl_CutChannel during the
3719        I/O finalization stage.
3720
37212005-01-18  Kevin Kenny  <kennykb@acm.org>
3722
3723        * library/tzdata/GMT+0:
3724        * library/tzdata/GMT-0:
3725        * library/tzdata/GMT0:
3726        * library/tzdata/Greenwich:
3727        * library/tzdata/Navajo:
3728        * library/tzdata/Universal:
3729        * library/tzdata/Zulu:
3730        * library/tzdata/America/Asuncion:
3731        * library/tzdata/America/Rosario:
3732        * library/tzdata/Asia/Jerusalem:
3733        * library/tzdata/Brazil/Acre:
3734        Routine update per Olson's tzdata2005c. Removed links to links
3735        (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST
3736        rules and "best guess" at this year's Israeli rules.
3737
37382005-01-17  Vince Darley  <vincentdarley@users.sourceforge.net>
3739
3740        * generic/tclFileName.c: fix for glob failure on Windows shares [Bug
3741        1100542].
3742
3743        * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not
3744        a good idea. [Bug 1101678]
3745
37462005-01-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3747
3748        * tests/compile.test (compile-17.1): Document known issue with binding
3749        time of compiled command interpretations in [expr].
3750
3751        * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that
3752        we don't need to hard-code attribute indexes. [Bug 1100671]
3753
37542005-01-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3755
3756        * doc/string.n: Removed the term 'set' from the documentation of the
3757        [string trim] commands, as it caused confusion.
3758
37592005-01-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3760
3761        * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case
3762        when the --with-tcl/--with-tk arguments point to the config scripts
3763        themselves and not their directory. If this is the case, they now
3764        complain but keep working. [FRQ 951247]
3765        * unix/configure:       autoconf-2.57
3766
37672005-01-10  Joe English  <jenglish@users.sourceforge.net>
3768
3769        * unix/Makefile.in, unix/configure.in, unix/tcl.m4,
3770        * unix/tclConfig.sh.in, unix/dltest/Makefile.in:
3771        Remove ${DBGX}, ${TCL_DBGX} from Tcl build system [Patch 1081595].
3772        * unix/configure: regenerated
3773
37742005-01-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3775
3776        * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to
3777        make clashes with types in standard C headers less of a problem. [Bug
3778        1098829]
3779
37802005-01-09  Joe English  <jenglish@users.sourceforge.net>
3781
3782        * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and
3783        related #ifdeffery (see [Bug 1095909]).
3784        * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R.
3785        * unix/configure: Regenerated.
3786
37872005-01-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3788
3789        * library/http/http.tcl (http::mapReply): Significant performance
3790        enhancement by using [string map] instead of [regsub]/[subst], and
3791        update version requirement to Tcl8.4. [Bug 1020491]
3792
37932005-01-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3794
3795        * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode
3796        control comment to prevent problems with old versions of man. [Bug
3797        1085127]
3798
37992005-01-05  Pat Thoyts  <patthoyts@users.sourceforge.net>
3800
3801        * tests/winDde.test: Fixed broken test result.
3802
38032005-01-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3804
3805        * generic/tclInt.h, generic/tclPort.h: Move the #include of tclConfig.h
3806        *first* before any reference to tcl.h so that the build configuration
3807        is loaded before the first reference to any system headers. Issue
3808        reported by Art Haas on tcl-core.
3809
38102005-01-04  Don Porter  <dgp@users.sourceforge.net>
3811
3812        * tests/fCmd.test (fCmd-18.10): Added notNetworkFilesystem constraint.
3813        [Bug 456665]
3814
3815        ******************************************************************
3816        *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004"             ***
3817        *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003"             ***
3818        *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002"             ***
3819        *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001"             ***
3820        *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"             ***
3821        *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
3822        ******************************************************************
Note: See TracBrowser for help on using the repository browser.