summaryrefslogtreecommitdiffstats
path: root/ast/erfa/gmst82.c
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-09-21 17:02:41 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-09-21 17:02:41 (GMT)
commitbd7d67f66c53df36bb50e3423bfc91eae8618201 (patch)
tree343b06f7a9f2decdfa8d3e4aae885be3e909aa14 /ast/erfa/gmst82.c
parentf2f490ba0f98917b590fd7e538b9514e4119e640 (diff)
downloadblt-bd7d67f66c53df36bb50e3423bfc91eae8618201.zip
blt-bd7d67f66c53df36bb50e3423bfc91eae8618201.tar.gz
blt-bd7d67f66c53df36bb50e3423bfc91eae8618201.tar.bz2
update ast
Diffstat (limited to 'ast/erfa/gmst82.c')
-rw-r--r--ast/erfa/gmst82.c160
1 files changed, 0 insertions, 160 deletions
diff --git a/ast/erfa/gmst82.c b/ast/erfa/gmst82.c
deleted file mode 100644
index 9484b66..0000000
--- a/ast/erfa/gmst82.c
+++ /dev/null
@@ -1,160 +0,0 @@
-#include "erfa.h"
-
-double eraGmst82(double dj1, double dj2)
-/*
-** - - - - - - - - - -
-** e r a G m s t 8 2
-** - - - - - - - - - -
-**
-** Universal Time to Greenwich mean sidereal time (IAU 1982 model).
-**
-** Given:
-** dj1,dj2 double UT1 Julian Date (see note)
-**
-** Returned (function value):
-** double Greenwich mean sidereal time (radians)
-**
-** Notes:
-**
-** 1) The UT1 date dj1+dj2 is a Julian Date, apportioned in any
-** convenient way between the arguments dj1 and dj2. For example,
-** JD(UT1)=2450123.7 could be expressed in any of these ways,
-** among others:
-**
-** dj1 dj2
-**
-** 2450123.7 0 (JD method)
-** 2451545 -1421.3 (J2000 method)
-** 2400000.5 50123.2 (MJD method)
-** 2450123.5 0.2 (date & time method)
-**
-** The JD method is the most natural and convenient to use in
-** cases where the loss of several decimal digits of resolution
-** is acceptable. The J2000 and MJD methods are good compromises
-** between resolution and convenience. The date & time method is
-** best matched to the algorithm used: maximum accuracy (or, at
-** least, minimum noise) is delivered when the dj1 argument is for
-** 0hrs UT1 on the day in question and the dj2 argument lies in the
-** range 0 to 1, or vice versa.
-**
-** 2) The algorithm is based on the IAU 1982 expression. This is
-** always described as giving the GMST at 0 hours UT1. In fact, it
-** gives the difference between the GMST and the UT, the steady
-** 4-minutes-per-day drawing-ahead of ST with respect to UT. When
-** whole days are ignored, the expression happens to equal the GMST
-** at 0 hours UT1 each day.
-**
-** 3) In this function, the entire UT1 (the sum of the two arguments
-** dj1 and dj2) is used directly as the argument for the standard
-** formula, the constant term of which is adjusted by 12 hours to
-** take account of the noon phasing of Julian Date. The UT1 is then
-** added, but omitting whole days to conserve accuracy.
-**
-** Called:
-** eraAnp normalize angle into range 0 to 2pi
-**
-** References:
-**
-** Transactions of the International Astronomical Union,
-** XVIII B, 67 (1983).
-**
-** Aoki et al., Astron. Astrophys. 105, 359-361 (1982).
-**
-** Copyright (C) 2013-2016, NumFOCUS Foundation.
-** Derived, with permission, from the SOFA library. See notes at end of file.
-*/
-{
-/* Coefficients of IAU 1982 GMST-UT1 model */
- double A = 24110.54841 - ERFA_DAYSEC / 2.0;
- double B = 8640184.812866;
- double C = 0.093104;
- double D = -6.2e-6;
-
-/* Note: the first constant, A, has to be adjusted by 12 hours */
-/* because the UT1 is supplied as a Julian date, which begins */
-/* at noon. */
-
- double d1, d2, t, f, gmst;
-
-
-/* Julian centuries since fundamental epoch. */
- if (dj1 < dj2) {
- d1 = dj1;
- d2 = dj2;
- } else {
- d1 = dj2;
- d2 = dj1;
- }
- t = (d1 + (d2 - ERFA_DJ00)) / ERFA_DJC;
-
-/* Fractional part of JD(UT1), in seconds. */
- f = ERFA_DAYSEC * (fmod(d1, 1.0) + fmod(d2, 1.0));
-
-/* GMST at this UT1. */
- gmst = eraAnp(ERFA_DS2R * ((A + (B + (C + D * t) * t) * t) + f));
-
- return gmst;
-
-}
-/*----------------------------------------------------------------------
-**
-**
-** Copyright (C) 2013-2016, NumFOCUS Foundation.
-** All rights reserved.
-**
-** This library is derived, with permission, from the International
-** Astronomical Union's "Standards of Fundamental Astronomy" library,
-** available from http://www.iausofa.org.
-**
-** The ERFA version is intended to retain identical functionality to
-** the SOFA library, but made distinct through different function and
-** file names, as set out in the SOFA license conditions. The SOFA
-** original has a role as a reference standard for the IAU and IERS,
-** and consequently redistribution is permitted only in its unaltered
-** state. The ERFA version is not subject to this restriction and
-** therefore can be included in distributions which do not support the
-** concept of "read only" software.
-**
-** Although the intent is to replicate the SOFA API (other than
-** replacement of prefix names) and results (with the exception of
-** bugs; any that are discovered will be fixed), SOFA is not
-** responsible for any errors found in this version of the library.
-**
-** If you wish to acknowledge the SOFA heritage, please acknowledge
-** that you are using a library derived from SOFA, rather than SOFA
-** itself.
-**
-**
-** TERMS AND CONDITIONS
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions
-** are met:
-**
-** 1 Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-**
-** 2 Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-**
-** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
-** the International Astronomical Union nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-** POSSIBILITY OF SUCH DAMAGE.
-**
-*/
t/blt.git/diff/tcl8.6/compat/gettod.c?id=3fa8e6dc88e8041b6cb88d1b1e9c05676d3346b7'>tcl8.6/compat/gettod.c30
-rw-r--r--tcl8.6/compat/memcmp.c64
-rw-r--r--tcl8.6/compat/mkstemp.c78
-rw-r--r--tcl8.6/compat/opendir.c110
-rw-r--r--tcl8.6/compat/stdlib.h36
-rw-r--r--tcl8.6/compat/string.h57
-rw-r--r--tcl8.6/compat/strncasecmp.c136
-rw-r--r--tcl8.6/compat/strstr.c70
-rw-r--r--tcl8.6/compat/strtod.c252
-rw-r--r--tcl8.6/compat/strtol.c77
-rw-r--r--tcl8.6/compat/strtoul.c214
-rw-r--r--tcl8.6/compat/unistd.h76
-rw-r--r--tcl8.6/compat/waitpid.c168
-rw-r--r--tcl8.6/compat/zlib/CMakeLists.txt249
-rw-r--r--tcl8.6/compat/zlib/ChangeLog1472
-rw-r--r--tcl8.6/compat/zlib/FAQ368
-rw-r--r--tcl8.6/compat/zlib/INDEX68
-rw-r--r--tcl8.6/compat/zlib/Makefile5
-rw-r--r--tcl8.6/compat/zlib/Makefile.in288
-rw-r--r--tcl8.6/compat/zlib/README115
-rw-r--r--tcl8.6/compat/zlib/adler32.c179
-rw-r--r--tcl8.6/compat/zlib/amiga/Makefile.pup69
-rw-r--r--tcl8.6/compat/zlib/amiga/Makefile.sas68
-rw-r--r--tcl8.6/compat/zlib/as400/bndsrc215
-rw-r--r--tcl8.6/compat/zlib/as400/compile.clp110
-rw-r--r--tcl8.6/compat/zlib/as400/readme.txt115
-rw-r--r--tcl8.6/compat/zlib/as400/zlib.inc451
-rw-r--r--tcl8.6/compat/zlib/compress.c80
-rwxr-xr-xtcl8.6/compat/zlib/configure831
-rw-r--r--tcl8.6/compat/zlib/contrib/README.contrib78
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/buffer_demo.adb106
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/mtest.adb156
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/read.adb156
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/readme.txt65
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/test.adb463
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib-streams.adb225
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib-streams.ads114
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib-thin.adb141
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib-thin.ads450
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib.adb701
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib.ads328
-rw-r--r--tcl8.6/compat/zlib/contrib/ada/zlib.gpr20
-rw-r--r--tcl8.6/compat/zlib/contrib/amd64/amd64-match.S452
-rw-r--r--tcl8.6/compat/zlib/contrib/asm686/README.68651
-rw-r--r--tcl8.6/compat/zlib/contrib/asm686/match.S357
-rw-r--r--tcl8.6/compat/zlib/contrib/blast/Makefile8
-rw-r--r--tcl8.6/compat/zlib/contrib/blast/README4
-rw-r--r--tcl8.6/compat/zlib/contrib/blast/blast.c446
-rw-r--r--tcl8.6/compat/zlib/contrib/blast/blast.h75
-rw-r--r--tcl8.6/compat/zlib/contrib/blast/test.pkbin8 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/contrib/blast/test.txt1
-rw-r--r--tcl8.6/compat/zlib/contrib/delphi/ZLib.pas557
-rw-r--r--tcl8.6/compat/zlib/contrib/delphi/ZLibConst.pas11
-rw-r--r--tcl8.6/compat/zlib/contrib/delphi/readme.txt76
-rw-r--r--tcl8.6/compat/zlib/contrib/delphi/zlibd32.mak99
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.build33
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.chmbin72726 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.sln21
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs58
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs202
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs83
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CodecBase.cs198
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Deflater.cs106
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.cs288
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj141
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/GZipStream.cs301
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Inflater.cs105
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs274
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/LICENSE_1_0.txt23
-rw-r--r--tcl8.6/compat/zlib/contrib/dotzlib/readme.txt58
-rw-r--r--tcl8.6/compat/zlib/contrib/gcc_gvmat64/gvmat64.S574
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/README1
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/infback9.c615
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/infback9.h37
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/inffix9.h107
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/inflate9.h47
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/inftree9.c324
-rw-r--r--tcl8.6/compat/zlib/contrib/infback9/inftree9.h61
-rw-r--r--tcl8.6/compat/zlib/contrib/inflate86/inffas86.c1157
-rw-r--r--tcl8.6/compat/zlib/contrib/inflate86/inffast.S1368
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream/test.cpp24
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream/zfstream.cpp329
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream/zfstream.h128
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream2/zstream.h307
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream2/zstream_test.cpp25
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream3/README35
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream3/TODO17
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream3/test.cc50
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream3/zfstream.cc479
-rw-r--r--tcl8.6/compat/zlib/contrib/iostream3/zfstream.h466
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx64/bld_ml64.bat2
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx64/gvmat64.asm553
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx64/inffas8664.c186
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx64/inffasx64.asm396
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx64/readme.txt31
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx86/bld_ml32.bat2
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx86/inffas32.asm1080
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx86/match686.asm479
-rw-r--r--tcl8.6/compat/zlib/contrib/masmx86/readme.txt27
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/Makefile25
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/Makefile.am45
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/MiniZip64_Changes.txt6
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/MiniZip64_info.txt74
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/configure.ac32
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/crypt.h131
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/ioapi.c247
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/ioapi.h208
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/iowin32.c461
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/iowin32.h28
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/make_vms.com25
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/miniunz.c660
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/miniunzip.163
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/minizip.146
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/minizip.c520
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/minizip.pc.in12
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/mztools.c291
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/mztools.h37
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/unzip.c2125
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/unzip.h437
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/zip.c2007
-rw-r--r--tcl8.6/compat/zlib/contrib/minizip/zip.h362
-rw-r--r--tcl8.6/compat/zlib/contrib/pascal/example.pas599
-rw-r--r--tcl8.6/compat/zlib/contrib/pascal/readme.txt76
-rw-r--r--tcl8.6/compat/zlib/contrib/pascal/zlibd32.mak99
-rw-r--r--tcl8.6/compat/zlib/contrib/pascal/zlibpas.pas276
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/Makefile42
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/README63
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/puff.c840
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/puff.h35
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/pufftest.c165
-rw-r--r--tcl8.6/compat/zlib/contrib/puff/zeros.rawbin2517 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/contrib/testzlib/testzlib.c275
-rw-r--r--tcl8.6/compat/zlib/contrib/testzlib/testzlib.txt10
-rw-r--r--tcl8.6/compat/zlib/contrib/untgz/Makefile14
-rw-r--r--tcl8.6/compat/zlib/contrib/untgz/Makefile.msc17
-rw-r--r--tcl8.6/compat/zlib/contrib/untgz/untgz.c674
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/readme.txt65
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj310
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters22
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/minizip.vcxproj307
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters22
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj420
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters58
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj310
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters22
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlib.rc32
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj473
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters77
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibvc.def143
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibvc.sln135
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj657
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters118
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/miniunz.vcxproj314
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/minizip.vcxproj311
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/testzlib.vcxproj426
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj314
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/zlib.rc32
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/zlibstat.vcxproj464
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/zlibvc.def143
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/zlibvc.sln117
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc11/zlibvc.vcxproj688
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/miniunz.vcproj565
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/minizip.vcproj562
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/testzlib.vcproj852
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj565
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/zlib.rc32
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj835
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/zlibvc.def143
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/zlibvc.sln144
-rw-r--r--tcl8.6/compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj1156
-rw-r--r--tcl8.6/compat/zlib/crc32.c425
-rw-r--r--tcl8.6/compat/zlib/crc32.h441
-rw-r--r--tcl8.6/compat/zlib/deflate.c1967
-rw-r--r--tcl8.6/compat/zlib/deflate.h346
-rw-r--r--tcl8.6/compat/zlib/doc/algorithm.txt209
-rw-r--r--tcl8.6/compat/zlib/doc/rfc1950.txt619
-rw-r--r--tcl8.6/compat/zlib/doc/rfc1951.txt955
-rw-r--r--tcl8.6/compat/zlib/doc/rfc1952.txt675
-rw-r--r--tcl8.6/compat/zlib/doc/txtvsbin.txt107
-rw-r--r--tcl8.6/compat/zlib/examples/README.examples49
-rw-r--r--tcl8.6/compat/zlib/examples/enough.c572
-rw-r--r--tcl8.6/compat/zlib/examples/fitblk.c233
-rw-r--r--tcl8.6/compat/zlib/examples/gun.c702
-rw-r--r--tcl8.6/compat/zlib/examples/gzappend.c504
-rw-r--r--tcl8.6/compat/zlib/examples/gzjoin.c449
-rw-r--r--tcl8.6/compat/zlib/examples/gzlog.c1059
-rw-r--r--tcl8.6/compat/zlib/examples/gzlog.h91
-rw-r--r--tcl8.6/compat/zlib/examples/zlib_how.html545
-rw-r--r--tcl8.6/compat/zlib/examples/zpipe.c205
-rw-r--r--tcl8.6/compat/zlib/examples/zran.c409
-rw-r--r--tcl8.6/compat/zlib/gzclose.c25
-rw-r--r--tcl8.6/compat/zlib/gzguts.h209
-rw-r--r--tcl8.6/compat/zlib/gzlib.c634
-rw-r--r--tcl8.6/compat/zlib/gzread.c594
-rw-r--r--tcl8.6/compat/zlib/gzwrite.c577
-rw-r--r--tcl8.6/compat/zlib/infback.c640
-rw-r--r--tcl8.6/compat/zlib/inffast.c340
-rw-r--r--tcl8.6/compat/zlib/inffast.h11
-rw-r--r--tcl8.6/compat/zlib/inffixed.h94
-rw-r--r--tcl8.6/compat/zlib/inflate.c1512
-rw-r--r--tcl8.6/compat/zlib/inflate.h122
-rw-r--r--tcl8.6/compat/zlib/inftrees.c306
-rw-r--r--tcl8.6/compat/zlib/inftrees.h62
-rw-r--r--tcl8.6/compat/zlib/make_vms.com867
-rw-r--r--tcl8.6/compat/zlib/msdos/Makefile.bor115
-rw-r--r--tcl8.6/compat/zlib/msdos/Makefile.dj2104
-rw-r--r--tcl8.6/compat/zlib/msdos/Makefile.emx69
-rw-r--r--tcl8.6/compat/zlib/msdos/Makefile.msc112
-rw-r--r--tcl8.6/compat/zlib/msdos/Makefile.tc100
-rw-r--r--tcl8.6/compat/zlib/nintendods/Makefile126
-rw-r--r--tcl8.6/compat/zlib/nintendods/README5
-rw-r--r--tcl8.6/compat/zlib/old/Makefile.emx69
-rw-r--r--tcl8.6/compat/zlib/old/Makefile.riscos151
-rw-r--r--tcl8.6/compat/zlib/old/README3
-rw-r--r--tcl8.6/compat/zlib/old/descrip.mms48
-rw-r--r--tcl8.6/compat/zlib/old/os2/Makefile.os2136
-rw-r--r--tcl8.6/compat/zlib/old/os2/zlib.def51
-rw-r--r--tcl8.6/compat/zlib/old/visual-basic.txt160
-rw-r--r--tcl8.6/compat/zlib/qnx/package.qpg141
-rw-r--r--tcl8.6/compat/zlib/test/example.c601
-rw-r--r--tcl8.6/compat/zlib/test/infcover.c671
-rw-r--r--tcl8.6/compat/zlib/test/minigzip.c651
-rw-r--r--tcl8.6/compat/zlib/treebuild.xml116
-rw-r--r--tcl8.6/compat/zlib/trees.c1226
-rw-r--r--tcl8.6/compat/zlib/trees.h128
-rw-r--r--tcl8.6/compat/zlib/uncompr.c59
-rw-r--r--tcl8.6/compat/zlib/watcom/watcom_f.mak43
-rw-r--r--tcl8.6/compat/zlib/watcom/watcom_l.mak43
-rw-r--r--tcl8.6/compat/zlib/win32/DLL_FAQ.txt397
-rw-r--r--tcl8.6/compat/zlib/win32/Makefile.bor110
-rw-r--r--tcl8.6/compat/zlib/win32/Makefile.gcc182
-rw-r--r--tcl8.6/compat/zlib/win32/Makefile.msc163
-rw-r--r--tcl8.6/compat/zlib/win32/README-WIN32.txt103
-rw-r--r--tcl8.6/compat/zlib/win32/README.txt60
-rw-r--r--tcl8.6/compat/zlib/win32/USAGE.txt89
-rw-r--r--tcl8.6/compat/zlib/win32/VisualC.txt3
-rw-r--r--tcl8.6/compat/zlib/win32/zdll.libbin15658 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/win32/zlib.def86
-rwxr-xr-xtcl8.6/compat/zlib/win32/zlib1.dllbin107520 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/win32/zlib1.rc40
-rw-r--r--tcl8.6/compat/zlib/win64/libz.dll.abin46874 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/win64/zdll.libbin15288 -> 0 bytes-rwxr-xr-xtcl8.6/compat/zlib/win64/zlib1.dllbin112640 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/zconf.h511
-rw-r--r--tcl8.6/compat/zlib/zconf.h.cmakein513
-rw-r--r--tcl8.6/compat/zlib/zconf.h.in511
-rw-r--r--tcl8.6/compat/zlib/zlib.3151
-rw-r--r--tcl8.6/compat/zlib/zlib.3.pdfbin8734 -> 0 bytes-rw-r--r--tcl8.6/compat/zlib/zlib.h1768
-rw-r--r--tcl8.6/compat/zlib/zlib.map83
-rw-r--r--tcl8.6/compat/zlib/zlib.pc.cmakein13
-rw-r--r--tcl8.6/compat/zlib/zlib.pc.in13
-rw-r--r--tcl8.6/compat/zlib/zlib2ansi152
-rw-r--r--tcl8.6/compat/zlib/zutil.c324
-rw-r--r--tcl8.6/compat/zlib/zutil.h253
-rw-r--r--tcl8.6/doc/Access.371
-rw-r--r--tcl8.6/doc/AddErrInfo.3312
-rw-r--r--tcl8.6/doc/Alloc.392
-rw-r--r--tcl8.6/doc/AllowExc.344
-rw-r--r--tcl8.6/doc/AppInit.383
-rw-r--r--tcl8.6/doc/AssocData.387
-rw-r--r--tcl8.6/doc/Async.3161
-rw-r--r--tcl8.6/doc/BackgdErr.378
-rw-r--r--tcl8.6/doc/Backslash.347
-rw-r--r--tcl8.6/doc/BoolObj.395
-rw-r--r--tcl8.6/doc/ByteArrObj.391
-rw-r--r--tcl8.6/doc/CallDel.367
-rw-r--r--tcl8.6/doc/Cancel.374
-rw-r--r--tcl8.6/doc/ChnlStack.397
-rw-r--r--tcl8.6/doc/Class.3237
-rw-r--r--tcl8.6/doc/CmdCmplt.334
-rw-r--r--tcl8.6/doc/Concat.351
-rw-r--r--tcl8.6/doc/CrtChannel.3928
-rw-r--r--tcl8.6/doc/CrtChnlHdlr.389
-rw-r--r--tcl8.6/doc/CrtCloseHdlr.355
-rw-r--r--tcl8.6/doc/CrtCommand.3143
-rw-r--r--tcl8.6/doc/CrtFileHdlr.391
-rw-r--r--tcl8.6/doc/CrtInterp.3150
-rw-r--r--tcl8.6/doc/CrtMathFnc.3162
-rw-r--r--tcl8.6/doc/CrtObjCmd.3302
-rw-r--r--tcl8.6/doc/CrtSlave.3236
-rw-r--r--tcl8.6/doc/CrtTimerHdlr.376
-rw-r--r--tcl8.6/doc/CrtTrace.3191
-rw-r--r--tcl8.6/doc/DString.3153
-rw-r--r--tcl8.6/doc/DetachPids.375
-rw-r--r--tcl8.6/doc/DictObj.3234
-rw-r--r--tcl8.6/doc/DoOneEvent.3106
-rw-r--r--tcl8.6/doc/DoWhenIdle.387
-rw-r--r--tcl8.6/doc/DoubleObj.364
-rw-r--r--tcl8.6/doc/DumpActiveMemory.368
-rw-r--r--tcl8.6/doc/Encoding.3558
-rw-r--r--tcl8.6/doc/Ensemble.3219
-rw-r--r--tcl8.6/doc/Environment.338
-rw-r--r--tcl8.6/doc/Eval.3211
-rw-r--r--tcl8.6/doc/Exit.3140
-rw-r--r--tcl8.6/doc/ExprLong.3106
-rw-r--r--tcl8.6/doc/ExprLongObj.3106
-rw-r--r--tcl8.6/doc/FileSystem.31644
-rw-r--r--tcl8.6/doc/FindExec.363
-rw-r--r--tcl8.6/doc/GetCwd.352
-rw-r--r--tcl8.6/doc/GetHostName.327
-rw-r--r--tcl8.6/doc/GetIndex.3104
-rw-r--r--tcl8.6/doc/GetInt.386
-rw-r--r--tcl8.6/doc/GetOpnFl.358
-rw-r--r--tcl8.6/doc/GetStdChan.386
-rw-r--r--tcl8.6/doc/GetTime.3109
-rw-r--r--tcl8.6/doc/GetVersion.348
-rw-r--r--tcl8.6/doc/Hash.3334
-rw-r--r--tcl8.6/doc/Init.334
-rw-r--r--tcl8.6/doc/InitStubs.389
-rw-r--r--tcl8.6/doc/IntObj.3152
-rw-r--r--tcl8.6/doc/Interp.3134
-rw-r--r--tcl8.6/doc/Limit.3192
-rw-r--r--tcl8.6/doc/LinkVar.3207
-rw-r--r--tcl8.6/doc/ListObj.3251
-rw-r--r--tcl8.6/doc/Load.370
-rw-r--r--tcl8.6/doc/Method.3251
-rw-r--r--tcl8.6/doc/NRE.3328
-rw-r--r--tcl8.6/doc/Namespace.3165
-rw-r--r--tcl8.6/doc/Notifier.3635
-rw-r--r--tcl8.6/doc/OOInitStubs.354
-rw-r--r--tcl8.6/doc/Object.3352
-rw-r--r--tcl8.6/doc/ObjectType.3256
-rw-r--r--tcl8.6/doc/OpenFileChnl.3648
-rw-r--r--tcl8.6/doc/OpenTcp.3169
-rw-r--r--tcl8.6/doc/Panic.389
-rw-r--r--tcl8.6/doc/ParseArgs.3198
-rw-r--r--tcl8.6/doc/ParseCmd.3467
-rw-r--r--tcl8.6/doc/PkgRequire.397
-rw-r--r--tcl8.6/doc/Preserve.3110
-rw-r--r--tcl8.6/doc/PrintDbl.351
-rw-r--r--tcl8.6/doc/RecEvalObj.353
-rw-r--r--tcl8.6/doc/RecordEval.355
-rw-r--r--tcl8.6/doc/RegConfig.3111
-rw-r--r--tcl8.6/doc/RegExp.3383
-rw-r--r--tcl8.6/doc/SaveResult.3120
-rw-r--r--tcl8.6/doc/SetChanErr.3140
-rw-r--r--tcl8.6/doc/SetErrno.366
-rw-r--r--tcl8.6/doc/SetRecLmt.353
-rw-r--r--tcl8.6/doc/SetResult.3255
-rw-r--r--tcl8.6/doc/SetVar.3249
-rw-r--r--tcl8.6/doc/Signal.341
-rw-r--r--tcl8.6/doc/Sleep.334
-rw-r--r--tcl8.6/doc/SourceRCFile.332
-rw-r--r--tcl8.6/doc/SplitList.3188
-rw-r--r--tcl8.6/doc/SplitPath.397
-rw-r--r--tcl8.6/doc/StaticPkg.370
-rw-r--r--tcl8.6/doc/StdChannels.3120
-rw-r--r--tcl8.6/doc/StrMatch.349
-rw-r--r--tcl8.6/doc/StringObj.3387
-rw-r--r--tcl8.6/doc/SubstObj.368
-rw-r--r--tcl8.6/doc/TCL_MEM_DEBUG.380
-rw-r--r--tcl8.6/doc/Tcl.n275
-rw-r--r--tcl8.6/doc/TclZlib.3276
-rw-r--r--tcl8.6/doc/Tcl_Main.3196
-rw-r--r--tcl8.6/doc/Thread.3242
-rw-r--r--tcl8.6/doc/ToUpper.388
-rw-r--r--tcl8.6/doc/TraceCmd.3150
-rw-r--r--tcl8.6/doc/TraceVar.3380
-rw-r--r--tcl8.6/doc/Translate.371
-rw-r--r--tcl8.6/doc/UniCharIsAlpha.391
-rw-r--r--tcl8.6/doc/UpVar.374
-rw-r--r--tcl8.6/doc/Utf.3259
-rw-r--r--tcl8.6/doc/WrongNumArgs.379
-rw-r--r--tcl8.6/doc/after.n151
-rw-r--r--tcl8.6/doc/append.n49
-rw-r--r--tcl8.6/doc/apply.n102
-rw-r--r--tcl8.6/doc/array.n187
-rw-r--r--tcl8.6/doc/bgerror.n93
-rw-r--r--tcl8.6/doc/binary.n908
-rw-r--r--tcl8.6/doc/break.n47
-rw-r--r--tcl8.6/doc/case.n60
-rw-r--r--tcl8.6/doc/catch.n125
-rw-r--r--tcl8.6/doc/cd.n43
-rw-r--r--tcl8.6/doc/chan.n850
-rw-r--r--tcl8.6/doc/class.n136
-rw-r--r--tcl8.6/doc/clock.n938
-rw-r--r--tcl8.6/doc/close.n108
-rw-r--r--tcl8.6/doc/concat.n58
-rw-r--r--tcl8.6/doc/continue.n47
-rw-r--r--tcl8.6/doc/copy.n66
-rw-r--r--tcl8.6/doc/coroutine.n205
-rw-r--r--tcl8.6/doc/dde.n189
-rw-r--r--tcl8.6/doc/define.n404
-rw-r--r--tcl8.6/doc/dict.n445
-rw-r--r--tcl8.6/doc/encoding.n115
-rw-r--r--tcl8.6/doc/eof.n61
-rw-r--r--tcl8.6/doc/error.n78
-rw-r--r--tcl8.6/doc/eval.n84
-rw-r--r--tcl8.6/doc/exec.n452
-rw-r--r--tcl8.6/doc/exit.n51
-rw-r--r--tcl8.6/doc/expr.n475
-rw-r--r--tcl8.6/doc/fblocked.n67
-rw-r--r--tcl8.6/doc/fconfigure.n289
-rw-r--r--tcl8.6/doc/fcopy.n182
-rw-r--r--tcl8.6/doc/file.n549
-rw-r--r--tcl8.6/doc/fileevent.n156
-rw-r--r--tcl8.6/doc/filename.n178
-rw-r--r--tcl8.6/doc/flush.n45
-rw-r--r--tcl8.6/doc/for.n87
-rw-r--r--tcl8.6/doc/foreach.n104
-rw-r--r--tcl8.6/doc/format.n285
-rw-r--r--tcl8.6/doc/gets.n71
-rw-r--r--tcl8.6/doc/glob.n267
-rw-r--r--tcl8.6/doc/global.n58
-rw-r--r--tcl8.6/doc/history.n102
-rw-r--r--tcl8.6/doc/http.n647
-rw-r--r--tcl8.6/doc/if.n88
-rw-r--r--tcl8.6/doc/incr.n61
-rw-r--r--tcl8.6/doc/info.n777
-rw-r--r--tcl8.6/doc/interp.n910
-rw-r--r--tcl8.6/doc/join.n44
-rw-r--r--tcl8.6/doc/lappend.n49
-rw-r--r--tcl8.6/doc/lassign.n60
-rw-r--r--tcl8.6/doc/library.n320
-rw-r--r--tcl8.6/doc/lindex.n125
-rw-r--r--tcl8.6/doc/linsert.n55
-rw-r--r--tcl8.6/doc/list.n56
-rw-r--r--tcl8.6/doc/llength.n55
-rw-r--r--tcl8.6/doc/lmap.n85
-rw-r--r--tcl8.6/doc/load.n196
-rw-r--r--tcl8.6/doc/lrange.n78
-rw-r--r--tcl8.6/doc/lrepeat.n38
-rw-r--r--tcl8.6/doc/lreplace.n86
-rw-r--r--tcl8.6/doc/lreverse.n34
-rw-r--r--tcl8.6/doc/lsearch.n220
-rw-r--r--tcl8.6/doc/lset.n146
-rw-r--r--tcl8.6/doc/lsort.n274
-rw-r--r--tcl8.6/doc/man.macros267
-rw-r--r--tcl8.6/doc/mathfunc.n305
-rw-r--r--tcl8.6/doc/mathop.n310
-rw-r--r--tcl8.6/doc/memory.n115
-rw-r--r--tcl8.6/doc/msgcat.n651
-rw-r--r--tcl8.6/doc/my.n56
-rw-r--r--tcl8.6/doc/namespace.n969
-rw-r--r--tcl8.6/doc/next.n208
-rw-r--r--tcl8.6/doc/object.n128
-rw-r--r--tcl8.6/doc/open.n430
-rw-r--r--tcl8.6/doc/package.n370
-rw-r--r--tcl8.6/doc/packagens.n50
-rw-r--r--tcl8.6/doc/pid.n48
-rw-r--r--tcl8.6/doc/pkgMkIndex.n233
-rw-r--r--tcl8.6/doc/platform.n86
-rw-r--r--tcl8.6/doc/platform_shell.n57
-rw-r--r--tcl8.6/doc/prefix.n116
-rw-r--r--tcl8.6/doc/proc.n128
-rw-r--r--tcl8.6/doc/puts.n98
-rw-r--r--tcl8.6/doc/pwd.n39
-rw-r--r--tcl8.6/doc/re_syntax.n858
-rw-r--r--tcl8.6/doc/read.n89
-rw-r--r--tcl8.6/doc/refchan.n411
-rw-r--r--tcl8.6/doc/regexp.n208
-rw-r--r--tcl8.6/doc/registry.n218
-rw-r--r--tcl8.6/doc/regsub.n192
-rw-r--r--tcl8.6/doc/rename.n45
-rw-r--r--tcl8.6/doc/return.n326
-rw-r--r--tcl8.6/doc/safe.n359
-rw-r--r--tcl8.6/doc/scan.n293
-rw-r--r--tcl8.6/doc/seek.n92
-rw-r--r--tcl8.6/doc/self.n152
-rw-r--r--tcl8.6/doc/set.n75
-rw-r--r--tcl8.6/doc/socket.n235
-rw-r--r--tcl8.6/doc/source.n71
-rw-r--r--tcl8.6/doc/split.n93
-rw-r--r--tcl8.6/doc/string.n485
-rw-r--r--tcl8.6/doc/subst.n164
-rw-r--r--tcl8.6/doc/switch.n186
-rw-r--r--tcl8.6/doc/tailcall.n69
-rw-r--r--tcl8.6/doc/tclsh.1149
-rw-r--r--tcl8.6/doc/tcltest.n1259
-rw-r--r--tcl8.6/doc/tclvars.n566
-rw-r--r--tcl8.6/doc/tell.n48
-rw-r--r--tcl8.6/doc/throw.n48
-rw-r--r--tcl8.6/doc/time.n47
-rw-r--r--tcl8.6/doc/tm.n308
-rw-r--r--tcl8.6/doc/trace.n426
-rw-r--r--tcl8.6/doc/transchan.n160
-rw-r--r--tcl8.6/doc/try.n103
-rw-r--r--tcl8.6/doc/unknown.n91
-rw-r--r--tcl8.6/doc/unload.n172
-rw-r--r--tcl8.6/doc/unset.n68
-rw-r--r--tcl8.6/doc/update.n65
-rw-r--r--tcl8.6/doc/uplevel.n103
-rw-r--r--tcl8.6/doc/upvar.n122
-rw-r--r--tcl8.6/doc/variable.n100
-rw-r--r--tcl8.6/doc/vwait.n246
-rw-r--r--tcl8.6/doc/while.n65
-rw-r--r--tcl8.6/doc/zlib.n466
-rw-r--r--tcl8.6/generic/README3
-rw-r--r--tcl8.6/generic/regc_color.c856
-rw-r--r--tcl8.6/generic/regc_cvec.c147
-rw-r--r--tcl8.6/generic/regc_lex.c1195
-rw-r--r--tcl8.6/generic/regc_locale.c1260
-rw-r--r--tcl8.6/generic/regc_nfa.c3213
-rw-r--r--tcl8.6/generic/regcomp.c2225
-rw-r--r--tcl8.6/generic/regcustom.h155
-rw-r--r--tcl8.6/generic/rege_dfa.c805
-rw-r--r--tcl8.6/generic/regerror.c129
-rw-r--r--tcl8.6/generic/regerrs.h20
-rw-r--r--tcl8.6/generic/regex.h305
-rw-r--r--tcl8.6/generic/regexec.c1335
-rw-r--r--tcl8.6/generic/regfree.c60
-rw-r--r--tcl8.6/generic/regfronts.c91
-rw-r--r--tcl8.6/generic/regguts.h453
-rw-r--r--tcl8.6/generic/tcl.decls2391
-rw-r--r--tcl8.6/generic/tcl.h2665
-rw-r--r--tcl8.6/generic/tclAlloc.c759
-rw-r--r--tcl8.6/generic/tclAssembly.c4331
-rw-r--r--tcl8.6/generic/tclAsync.c355
-rw-r--r--tcl8.6/generic/tclBasic.c9055
-rw-r--r--tcl8.6/generic/tclBinary.c2988
-rw-r--r--tcl8.6/generic/tclCkalloc.c1328
-rw-r--r--tcl8.6/generic/tclClock.c2079
-rw-r--r--tcl8.6/generic/tclCmdAH.c2953
-rw-r--r--tcl8.6/generic/tclCmdIL.c4533
-rw-r--r--tcl8.6/generic/tclCmdMZ.c4881
-rw-r--r--tcl8.6/generic/tclCompCmds.c3511
-rw-r--r--tcl8.6/generic/tclCompCmdsGR.c3188
-rw-r--r--tcl8.6/generic/tclCompCmdsSZ.c4485
-rw-r--r--tcl8.6/generic/tclCompExpr.c2806
-rw-r--r--tcl8.6/generic/tclCompile.c4474
-rw-r--r--tcl8.6/generic/tclCompile.h1908
-rw-r--r--tcl8.6/generic/tclConfig.c408
-rw-r--r--tcl8.6/generic/tclDTrace.d225
-rw-r--r--tcl8.6/generic/tclDate.c2914
-rw-r--r--tcl8.6/generic/tclDecls.h3918
-rw-r--r--tcl8.6/generic/tclDictObj.c3664
-rw-r--r--tcl8.6/generic/tclDisassemble.c1636
-rw-r--r--tcl8.6/generic/tclEncoding.c3649
-rw-r--r--tcl8.6/generic/tclEnsemble.c3665
-rw-r--r--tcl8.6/generic/tclEnv.c744
-rw-r--r--tcl8.6/generic/tclEvent.c1624
-rw-r--r--tcl8.6/generic/tclExecute.c10754
-rw-r--r--tcl8.6/generic/tclFCmd.c1513
-rw-r--r--tcl8.6/generic/tclFileName.c2658
-rw-r--r--tcl8.6/generic/tclFileSystem.h74
-rw-r--r--tcl8.6/generic/tclGet.c156
-rw-r--r--tcl8.6/generic/tclGetDate.y1130
-rw-r--r--tcl8.6/generic/tclHash.c1116
-rw-r--r--tcl8.6/generic/tclHistory.c230
-rw-r--r--tcl8.6/generic/tclIO.c11250
-rw-r--r--tcl8.6/generic/tclIO.h297
-rw-r--r--tcl8.6/generic/tclIOCmd.c2027
-rw-r--r--tcl8.6/generic/tclIOGT.c1441
-rw-r--r--tcl8.6/generic/tclIORChan.c3292
-rw-r--r--tcl8.6/generic/tclIORTrans.c3427
-rw-r--r--tcl8.6/generic/tclIOSock.c291
-rw-r--r--tcl8.6/generic/tclIOUtil.c4874
-rw-r--r--tcl8.6/generic/tclIndexObj.c1489
-rw-r--r--tcl8.6/generic/tclInt.decls1261
-rw-r--r--tcl8.6/generic/tclInt.h4862
-rw-r--r--tcl8.6/generic/tclIntDecls.h1370
-rw-r--r--tcl8.6/generic/tclIntPlatDecls.h567
-rw-r--r--tcl8.6/generic/tclInterp.c4825
-rw-r--r--tcl8.6/generic/tclLink.c636
-rw-r--r--tcl8.6/generic/tclListObj.c2040
-rw-r--r--tcl8.6/generic/tclLiteral.c1233
-rw-r--r--tcl8.6/generic/tclLoad.c1179
-rw-r--r--tcl8.6/generic/tclLoadNone.c129
-rw-r--r--tcl8.6/generic/tclMain.c961
-rw-r--r--tcl8.6/generic/tclNamesp.c5101
-rw-r--r--tcl8.6/generic/tclNotify.c1141
-rw-r--r--tcl8.6/generic/tclOO.c3037
-rw-r--r--tcl8.6/generic/tclOO.decls218
-rw-r--r--tcl8.6/generic/tclOO.h147
-rw-r--r--tcl8.6/generic/tclOOBasic.c1245
-rw-r--r--tcl8.6/generic/tclOOCall.c1537
-rw-r--r--tcl8.6/generic/tclOODecls.h234
-rw-r--r--tcl8.6/generic/tclOODefineCmds.c2677
-rw-r--r--tcl8.6/generic/tclOOInfo.c1530
-rw-r--r--tcl8.6/generic/tclOOInt.h607
-rw-r--r--tcl8.6/generic/tclOOIntDecls.h166
-rw-r--r--tcl8.6/generic/tclOOMethod.c1763
-rw-r--r--tcl8.6/generic/tclOOStubInit.c78
-rw-r--r--tcl8.6/generic/tclOOStubLib.c71
-rw-r--r--tcl8.6/generic/tclObj.c4519
-rw-r--r--tcl8.6/generic/tclOptimize.c444
-rw-r--r--tcl8.6/generic/tclPanic.c170
-rw-r--r--tcl8.6/generic/tclParse.c2534
-rw-r--r--tcl8.6/generic/tclParse.h17
-rw-r--r--tcl8.6/generic/tclPathObj.c2693
-rw-r--r--tcl8.6/generic/tclPipe.c1135
-rw-r--r--tcl8.6/generic/tclPkg.c1923
-rw-r--r--tcl8.6/generic/tclPkgConfig.c135
-rw-r--r--tcl8.6/generic/tclPlatDecls.h122
-rw-r--r--tcl8.6/generic/tclPort.h43
-rw-r--r--tcl8.6/generic/tclPosixStr.c1211
-rw-r--r--tcl8.6/generic/tclPreserve.c473
-rw-r--r--tcl8.6/generic/tclProc.c2782
-rw-r--r--tcl8.6/generic/tclRegexp.c1074
-rw-r--r--tcl8.6/generic/tclRegexp.h52
-rw-r--r--tcl8.6/generic/tclResolve.c424
-rw-r--r--tcl8.6/generic/tclResult.c1755
-rw-r--r--tcl8.6/generic/tclScan.c1079
-rw-r--r--tcl8.6/generic/tclStrToD.c5039
-rw-r--r--tcl8.6/generic/tclStringObj.c3128
-rw-r--r--tcl8.6/generic/tclStringRep.h97
-rw-r--r--tcl8.6/generic/tclStringTrim.h43
-rw-r--r--tcl8.6/generic/tclStubInit.c1420
-rw-r--r--tcl8.6/generic/tclStubLib.c127
-rw-r--r--tcl8.6/generic/tclStubLibTbl.c58
-rw-r--r--tcl8.6/generic/tclTest.c7483
-rw-r--r--tcl8.6/generic/tclTestObj.c1495
-rw-r--r--tcl8.6/generic/tclTestProcBodyObj.c309
-rw-r--r--tcl8.6/generic/tclThread.c538
-rw-r--r--tcl8.6/generic/tclThreadAlloc.c1185
-rw-r--r--tcl8.6/generic/tclThreadJoin.c316
-rw-r--r--tcl8.6/generic/tclThreadStorage.c373
-rw-r--r--tcl8.6/generic/tclThreadTest.c1211
-rw-r--r--tcl8.6/generic/tclTimer.c1293
-rw-r--r--tcl8.6/generic/tclTomMath.decls238
-rw-r--r--tcl8.6/generic/tclTomMath.h832
-rw-r--r--tcl8.6/generic/tclTomMathDecls.h518
-rw-r--r--tcl8.6/generic/tclTomMathInt.h3
-rw-r--r--tcl8.6/generic/tclTomMathInterface.c310
-rw-r--r--tcl8.6/generic/tclTomMathStubLib.c79
-rw-r--r--tcl8.6/generic/tclTrace.c3271
-rw-r--r--tcl8.6/generic/tclUniData.c1614
-rw-r--r--tcl8.6/generic/tclUtf.c2062
-rw-r--r--tcl8.6/generic/tclUtil.c4485
-rw-r--r--tcl8.6/generic/tclVar.c6382
-rw-r--r--tcl8.6/generic/tclZlib.c4017
-rw-r--r--tcl8.6/generic/tommath.h1
-rw-r--r--tcl8.6/library/auto.tcl651
-rwxr-xr-xtcl8.6/library/clock.tcl4547
-rw-r--r--tcl8.6/library/dde/pkgIndex.tcl7
-rw-r--r--tcl8.6/library/encoding/ascii.enc20
-rw-r--r--tcl8.6/library/encoding/big5.enc1516
-rw-r--r--tcl8.6/library/encoding/cp1250.enc20
-rw-r--r--tcl8.6/library/encoding/cp1251.enc20
-rw-r--r--tcl8.6/library/encoding/cp1252.enc20
-rw-r--r--tcl8.6/library/encoding/cp1253.enc20
-rw-r--r--tcl8.6/library/encoding/cp1254.enc20
-rw-r--r--tcl8.6/library/encoding/cp1255.enc20
-rw-r--r--tcl8.6/library/encoding/cp1256.enc20
-rw-r--r--tcl8.6/library/encoding/cp1257.enc20
-rw-r--r--tcl8.6/library/encoding/cp1258.enc20
-rw-r--r--tcl8.6/library/encoding/cp437.enc20
-rw-r--r--tcl8.6/library/encoding/cp737.enc20
-rw-r--r--tcl8.6/library/encoding/cp775.enc20
-rw-r--r--tcl8.6/library/encoding/cp850.enc20
-rw-r--r--tcl8.6/library/encoding/cp852.enc20
-rw-r--r--tcl8.6/library/encoding/cp855.enc20
-rw-r--r--tcl8.6/library/encoding/cp857.enc20
-rw-r--r--tcl8.6/library/encoding/cp860.enc20
-rw-r--r--tcl8.6/library/encoding/cp861.enc20
-rw-r--r--tcl8.6/library/encoding/cp862.enc20
-rw-r--r--tcl8.6/library/encoding/cp863.enc20
-rw-r--r--tcl8.6/library/encoding/cp864.enc20
-rw-r--r--tcl8.6/library/encoding/cp865.enc20
-rw-r--r--tcl8.6/library/encoding/cp866.enc20
-rw-r--r--tcl8.6/library/encoding/cp869.enc20
-rw-r--r--tcl8.6/library/encoding/cp874.enc20
-rw-r--r--tcl8.6/library/encoding/cp932.enc801
-rw-r--r--tcl8.6/library/encoding/cp936.enc2162
-rw-r--r--tcl8.6/library/encoding/cp949.enc2128
-rw-r--r--tcl8.6/library/encoding/cp950.enc1499
-rw-r--r--tcl8.6/library/encoding/dingbats.enc20
-rw-r--r--tcl8.6/library/encoding/ebcdic.enc19
-rw-r--r--tcl8.6/library/encoding/euc-cn.enc1397
-rw-r--r--tcl8.6/library/encoding/euc-jp.enc1353
-rw-r--r--tcl8.6/library/encoding/euc-kr.enc1533
-rw-r--r--tcl8.6/library/encoding/gb12345.enc1414
-rw-r--r--tcl8.6/library/encoding/gb1988.enc20
-rw-r--r--tcl8.6/library/encoding/gb2312-raw.enc1380
-rw-r--r--tcl8.6/library/encoding/gb2312.enc1397
-rw-r--r--tcl8.6/library/encoding/iso2022-jp.enc12
-rw-r--r--tcl8.6/library/encoding/iso2022-kr.enc7
-rw-r--r--tcl8.6/library/encoding/iso2022.enc14
-rw-r--r--tcl8.6/library/encoding/iso8859-1.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-10.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-13.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-14.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-15.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-16.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-2.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-3.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-4.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-5.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-6.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-7.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-8.enc20
-rw-r--r--tcl8.6/library/encoding/iso8859-9.enc20
-rw-r--r--tcl8.6/library/encoding/jis0201.enc20
-rw-r--r--tcl8.6/library/encoding/jis0208.enc1319
-rw-r--r--tcl8.6/library/encoding/jis0212.enc1159
-rw-r--r--tcl8.6/library/encoding/koi8-r.enc20
-rw-r--r--tcl8.6/library/encoding/koi8-u.enc20
-rw-r--r--tcl8.6/library/encoding/ksc5601.enc1516
-rw-r--r--tcl8.6/library/encoding/macCentEuro.enc20
-rw-r--r--tcl8.6/library/encoding/macCroatian.enc20
-rw-r--r--tcl8.6/library/encoding/macCyrillic.enc20
-rw-r--r--tcl8.6/library/encoding/macDingbats.enc20
-rw-r--r--tcl8.6/library/encoding/macGreek.enc20
-rw-r--r--tcl8.6/library/encoding/macIceland.enc20
-rw-r--r--tcl8.6/library/encoding/macJapan.enc785
-rw-r--r--tcl8.6/library/encoding/macRoman.enc20
-rw-r--r--tcl8.6/library/encoding/macRomania.enc20
-rw-r--r--tcl8.6/library/encoding/macThai.enc20
-rw-r--r--tcl8.6/library/encoding/macTurkish.enc20
-rw-r--r--tcl8.6/library/encoding/macUkraine.enc20
-rw-r--r--tcl8.6/library/encoding/shiftjis.enc690
-rw-r--r--tcl8.6/library/encoding/symbol.enc20
-rw-r--r--tcl8.6/library/encoding/tis-620.enc20
-rw-r--r--tcl8.6/library/history.tcl311
-rw-r--r--tcl8.6/library/http/http.tcl1541
-rw-r--r--tcl8.6/library/http/pkgIndex.tcl2
-rw-r--r--tcl8.6/library/http1.0/http.tcl377
-rw-r--r--tcl8.6/library/http1.0/pkgIndex.tcl11
-rw-r--r--tcl8.6/library/init.tcl818
-rw-r--r--tcl8.6/library/msgcat/msgcat.tcl1210
-rw-r--r--tcl8.6/library/msgcat/pkgIndex.tcl2
-rw-r--r--tcl8.6/library/msgs/af.msg49
-rw-r--r--tcl8.6/library/msgs/af_za.msg6
-rw-r--r--tcl8.6/library/msgs/ar.msg54
-rw-r--r--tcl8.6/library/msgs/ar_in.msg6
-rw-r--r--tcl8.6/library/msgs/ar_jo.msg39
-rw-r--r--tcl8.6/library/msgs/ar_lb.msg39
-rw-r--r--tcl8.6/library/msgs/ar_sy.msg39
-rw-r--r--tcl8.6/library/msgs/be.msg52
-rw-r--r--tcl8.6/library/msgs/bg.msg52
-rw-r--r--tcl8.6/library/msgs/bn.msg49
-rw-r--r--tcl8.6/library/msgs/bn_in.msg6
-rw-r--r--tcl8.6/library/msgs/ca.msg50
-rw-r--r--tcl8.6/library/msgs/cs.msg54
-rw-r--r--tcl8.6/library/msgs/da.msg52
-rw-r--r--tcl8.6/library/msgs/de.msg54
-rw-r--r--tcl8.6/library/msgs/de_at.msg35
-rw-r--r--tcl8.6/library/msgs/de_be.msg53
-rw-r--r--tcl8.6/library/msgs/el.msg52
-rw-r--r--tcl8.6/library/msgs/en_au.msg7
-rw-r--r--tcl8.6/library/msgs/en_be.msg7
-rw-r--r--tcl8.6/library/msgs/en_bw.msg6
-rw-r--r--tcl8.6/library/msgs/en_ca.msg7
-rw-r--r--tcl8.6/library/msgs/en_gb.msg7
-rw-r--r--tcl8.6/library/msgs/en_hk.msg8
-rw-r--r--tcl8.6/library/msgs/en_ie.msg7
-rw-r--r--tcl8.6/library/msgs/en_in.msg8
-rw-r--r--tcl8.6/library/msgs/en_nz.msg7
-rw-r--r--tcl8.6/library/msgs/en_ph.msg8
-rw-r--r--tcl8.6/library/msgs/en_sg.msg6
-rw-r--r--tcl8.6/library/msgs/en_za.msg6
-rw-r--r--tcl8.6/library/msgs/en_zw.msg6
-rw-r--r--tcl8.6/library/msgs/eo.msg54
-rw-r--r--tcl8.6/library/msgs/es.msg52
-rw-r--r--tcl8.6/library/msgs/es_ar.msg6
-rw-r--r--tcl8.6/library/msgs/es_bo.msg6
-rw-r--r--tcl8.6/library/msgs/es_cl.msg6
-rw-r--r--tcl8.6/library/msgs/es_co.msg6
-rw-r--r--tcl8.6/library/msgs/es_cr.msg6
-rw-r--r--tcl8.6/library/msgs/es_do.msg6
-rw-r--r--tcl8.6/library/msgs/es_ec.msg6
-rw-r--r--tcl8.6/library/msgs/es_gt.msg6
-rw-r--r--tcl8.6/library/msgs/es_hn.msg6
-rw-r--r--tcl8.6/library/msgs/es_mx.msg6
-rw-r--r--tcl8.6/library/msgs/es_ni.msg6
-rw-r--r--tcl8.6/library/msgs/es_pa.msg6
-rw-r--r--tcl8.6/library/msgs/es_pe.msg6
-rw-r--r--tcl8.6/library/msgs/es_pr.msg6
-rw-r--r--tcl8.6/library/msgs/es_py.msg6
-rw-r--r--tcl8.6/library/msgs/es_sv.msg6
-rw-r--r--tcl8.6/library/msgs/es_uy.msg6
-rw-r--r--tcl8.6/library/msgs/es_ve.msg6
-rw-r--r--tcl8.6/library/msgs/et.msg52
-rw-r--r--tcl8.6/library/msgs/eu.msg47
-rw-r--r--tcl8.6/library/msgs/eu_es.msg7
-rw-r--r--tcl8.6/library/msgs/fa.msg47
-rw-r--r--tcl8.6/library/msgs/fa_in.msg52
-rw-r--r--tcl8.6/library/msgs/fa_ir.msg9
-rw-r--r--tcl8.6/library/msgs/fi.msg50
-rw-r--r--tcl8.6/library/msgs/fo.msg47
-rw-r--r--tcl8.6/library/msgs/fo_fo.msg7
-rw-r--r--tcl8.6/library/msgs/fr.msg52
-rw-r--r--tcl8.6/library/msgs/fr_be.msg7
-rw-r--r--tcl8.6/library/msgs/fr_ca.msg7
-rw-r--r--tcl8.6/library/msgs/fr_ch.msg7
-rw-r--r--tcl8.6/library/msgs/ga.msg47
-rw-r--r--tcl8.6/library/msgs/ga_ie.msg7
-rw-r--r--tcl8.6/library/msgs/gl.msg47
-rw-r--r--tcl8.6/library/msgs/gl_es.msg6
-rw-r--r--tcl8.6/library/msgs/gv.msg47
-rw-r--r--tcl8.6/library/msgs/gv_gb.msg6
-rw-r--r--tcl8.6/library/msgs/he.msg52
-rw-r--r--tcl8.6/library/msgs/hi.msg39
-rw-r--r--tcl8.6/library/msgs/hi_in.msg6
-rw-r--r--tcl8.6/library/msgs/hr.msg50
-rw-r--r--tcl8.6/library/msgs/hu.msg54
-rw-r--r--tcl8.6/library/msgs/id.msg47
-rw-r--r--tcl8.6/library/msgs/id_id.msg6
-rw-r--r--tcl8.6/library/msgs/is.msg50
-rw-r--r--tcl8.6/library/msgs/it.msg54
-rw-r--r--tcl8.6/library/msgs/it_ch.msg6
-rw-r--r--tcl8.6/library/msgs/ja.msg44
-rw-r--r--tcl8.6/library/msgs/kl.msg47
-rw-r--r--tcl8.6/library/msgs/kl_gl.msg7
-rw-r--r--tcl8.6/library/msgs/ko.msg55
-rw-r--r--tcl8.6/library/msgs/ko_kr.msg8
-rw-r--r--tcl8.6/library/msgs/kok.msg39
-rw-r--r--tcl8.6/library/msgs/kok_in.msg6
-rw-r--r--tcl8.6/library/msgs/kw.msg47
-rw-r--r--tcl8.6/library/msgs/kw_gb.msg6
-rw-r--r--tcl8.6/library/msgs/lt.msg52
-rw-r--r--tcl8.6/library/msgs/lv.msg52
-rw-r--r--tcl8.6/library/msgs/mk.msg52
-rw-r--r--tcl8.6/library/msgs/mr.msg39
-rw-r--r--tcl8.6/library/msgs/mr_in.msg6
-rw-r--r--tcl8.6/library/msgs/ms.msg47
-rw-r--r--tcl8.6/library/msgs/ms_my.msg6
-rw-r--r--tcl8.6/library/msgs/mt.msg27
-rw-r--r--tcl8.6/library/msgs/nb.msg52
-rw-r--r--tcl8.6/library/msgs/nl.msg50
-rw-r--r--tcl8.6/library/msgs/nl_be.msg7
-rw-r--r--tcl8.6/library/msgs/nn.msg52
-rw-r--r--tcl8.6/library/msgs/pl.msg52
-rw-r--r--tcl8.6/library/msgs/pt.msg50
-rw-r--r--tcl8.6/library/msgs/pt_br.msg7
-rw-r--r--tcl8.6/library/msgs/ro.msg52
-rw-r--r--tcl8.6/library/msgs/ru.msg52
-rw-r--r--tcl8.6/library/msgs/ru_ua.msg6
-rw-r--r--tcl8.6/library/msgs/sh.msg52
-rw-r--r--tcl8.6/library/msgs/sk.msg52
-rw-r--r--tcl8.6/library/msgs/sl.msg52
-rw-r--r--tcl8.6/library/msgs/sq.msg54
-rw-r--r--tcl8.6/library/msgs/sr.msg52
-rw-r--r--tcl8.6/library/msgs/sv.msg52
-rw-r--r--tcl8.6/library/msgs/sw.msg49
-rw-r--r--tcl8.6/library/msgs/ta.msg39
-rw-r--r--tcl8.6/library/msgs/ta_in.msg6
-rw-r--r--tcl8.6/library/msgs/te.msg47
-rw-r--r--tcl8.6/library/msgs/te_in.msg8
-rw-r--r--tcl8.6/library/msgs/th.msg54
-rw-r--r--tcl8.6/library/msgs/tr.msg50
-rw-r--r--tcl8.6/library/msgs/uk.msg52
-rw-r--r--tcl8.6/library/msgs/vi.msg50
-rw-r--r--tcl8.6/library/msgs/zh.msg55
-rw-r--r--tcl8.6/library/msgs/zh_cn.msg7
-rw-r--r--tcl8.6/library/msgs/zh_hk.msg28
-rw-r--r--tcl8.6/library/msgs/zh_sg.msg8
-rw-r--r--tcl8.6/library/msgs/zh_tw.msg8
-rw-r--r--tcl8.6/library/opt/optparse.tcl1072
-rw-r--r--tcl8.6/library/opt/pkgIndex.tcl12
-rw-r--r--tcl8.6/library/package.tcl747
-rw-r--r--tcl8.6/library/parray.tcl28
-rw-r--r--tcl8.6/library/platform/pkgIndex.tcl3
-rw-r--r--tcl8.6/library/platform/platform.tcl397
-rw-r--r--tcl8.6/library/platform/shell.tcl241
-rwxr-xr-xtcl8.6/library/reg/pkgIndex.tcl9
-rw-r--r--tcl8.6/library/safe.tcl1133
-rw-r--r--tcl8.6/library/tclIndex75
-rw-r--r--tcl8.6/library/tcltest/pkgIndex.tcl12
-rw-r--r--tcl8.6/library/tcltest/tcltest.tcl3420
-rw-r--r--tcl8.6/library/tm.tcl375
-rw-r--r--tcl8.6/library/tzdata/Africa/Abidjan6
-rw-r--r--tcl8.6/library/tzdata/Africa/Accra52
-rw-r--r--tcl8.6/library/tzdata/Africa/Addis_Ababa5
-rw-r--r--tcl8.6/library/tzdata/Africa/Algiers39
-rw-r--r--tcl8.6/library/tzdata/Africa/Asmara5
-rw-r--r--tcl8.6/library/tzdata/Africa/Asmera5
-rw-r--r--tcl8.6/library/tzdata/Africa/Bamako5
-rw-r--r--tcl8.6/library/tzdata/Africa/Bangui5
-rw-r--r--tcl8.6/library/tzdata/Africa/Banjul5
-rw-r--r--tcl8.6/library/tzdata/Africa/Bissau7
-rw-r--r--tcl8.6/library/tzdata/Africa/Blantyre5
-rw-r--r--tcl8.6/library/tzdata/Africa/Brazzaville5
-rw-r--r--tcl8.6/library/tzdata/Africa/Bujumbura5
-rw-r--r--tcl8.6/library/tzdata/Africa/Cairo132
-rw-r--r--tcl8.6/library/tzdata/Africa/Casablanca230
-rw-r--r--tcl8.6/library/tzdata/Africa/Ceuta258
-rw-r--r--tcl8.6/library/tzdata/Africa/Conakry5
-rw-r--r--tcl8.6/library/tzdata/Africa/Dakar5
-rw-r--r--tcl8.6/library/tzdata/Africa/Dar_es_Salaam5
-rw-r--r--tcl8.6/library/tzdata/Africa/Djibouti5
-rw-r--r--tcl8.6/library/tzdata/Africa/Douala5
-rw-r--r--tcl8.6/library/tzdata/Africa/El_Aaiun219
-rw-r--r--tcl8.6/library/tzdata/Africa/Freetown5
-rw-r--r--tcl8.6/library/tzdata/Africa/Gaborone5
-rw-r--r--tcl8.6/library/tzdata/Africa/Harare5
-rw-r--r--tcl8.6/library/tzdata/Africa/Johannesburg11
-rw-r--r--tcl8.6/library/tzdata/Africa/Juba5
-rw-r--r--tcl8.6/library/tzdata/Africa/Kampala5
-rw-r--r--tcl8.6/library/tzdata/Africa/Khartoum39
-rw-r--r--tcl8.6/library/tzdata/Africa/Kigali5
-rw-r--r--tcl8.6/library/tzdata/Africa/Kinshasa5
-rw-r--r--tcl8.6/library/tzdata/Africa/Lagos6
-rw-r--r--tcl8.6/library/tzdata/Africa/Libreville5
-rw-r--r--tcl8.6/library/tzdata/Africa/Lome5
-rw-r--r--tcl8.6/library/tzdata/Africa/Luanda5
-rw-r--r--tcl8.6/library/tzdata/Africa/Lubumbashi5
-rw-r--r--tcl8.6/library/tzdata/Africa/Lusaka5
-rw-r--r--tcl8.6/library/tzdata/Africa/Malabo5
-rw-r--r--tcl8.6/library/tzdata/Africa/Maputo6
-rw-r--r--tcl8.6/library/tzdata/Africa/Maseru5
-rw-r--r--tcl8.6/library/tzdata/Africa/Mbabane5
-rw-r--r--tcl8.6/library/tzdata/Africa/Mogadishu5
-rw-r--r--tcl8.6/library/tzdata/Africa/Monrovia8
-rw-r--r--tcl8.6/library/tzdata/Africa/Nairobi9
-rw-r--r--tcl8.6/library/tzdata/Africa/Ndjamena8
-rw-r--r--tcl8.6/library/tzdata/Africa/Niamey5
-rw-r--r--tcl8.6/library/tzdata/Africa/Nouakchott5
-rw-r--r--tcl8.6/library/tzdata/Africa/Ouagadougou5
-rw-r--r--tcl8.6/library/tzdata/Africa/Porto-Novo5
-rw-r--r--tcl8.6/library/tzdata/Africa/Sao_Tome5
-rw-r--r--tcl8.6/library/tzdata/Africa/Timbuktu5
-rw-r--r--tcl8.6/library/tzdata/Africa/Tripoli34
-rw-r--r--tcl8.6/library/tzdata/Africa/Tunis39
-rw-r--r--tcl8.6/library/tzdata/Africa/Windhoek222
-rw-r--r--tcl8.6/library/tzdata/America/Adak276
-rw-r--r--tcl8.6/library/tzdata/America/Anchorage276
-rw-r--r--tcl8.6/library/tzdata/America/Anguilla5
-rw-r--r--tcl8.6/library/tzdata/America/Antigua5
-rw-r--r--tcl8.6/library/tzdata/America/Araguaina60
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Buenos_Aires67
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Catamarca68
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/ComodRivadavia5
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Cordoba67
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Jujuy67
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/La_Rioja69
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Mendoza68
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Rio_Gallegos68
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Salta66
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/San_Juan69
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/San_Luis68
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Tucuman69
-rw-r--r--tcl8.6/library/tzdata/America/Argentina/Ushuaia68
-rw-r--r--tcl8.6/library/tzdata/America/Aruba5
-rw-r--r--tcl8.6/library/tzdata/America/Asuncion259
-rw-r--r--tcl8.6/library/tzdata/America/Atikokan12
-rw-r--r--tcl8.6/library/tzdata/America/Atka5
-rw-r--r--tcl8.6/library/tzdata/America/Bahia68
-rw-r--r--tcl8.6/library/tzdata/America/Bahia_Banderas222
-rw-r--r--tcl8.6/library/tzdata/America/Barbados15
-rw-r--r--tcl8.6/library/tzdata/America/Belem35
-rw-r--r--tcl8.6/library/tzdata/America/Belize60
-rw-r--r--tcl8.6/library/tzdata/America/Blanc-Sablon12
-rw-r--r--tcl8.6/library/tzdata/America/Boa_Vista40
-rw-r--r--tcl8.6/library/tzdata/America/Bogota9
-rw-r--r--tcl8.6/library/tzdata/America/Boise281
-rw-r--r--tcl8.6/library/tzdata/America/Buenos_Aires5
-rw-r--r--tcl8.6/library/tzdata/America/Cambridge_Bay252
-rw-r--r--tcl8.6/library/tzdata/America/Campo_Grande257
-rw-r--r--tcl8.6/library/tzdata/America/Cancun47
-rw-r--r--tcl8.6/library/tzdata/America/Caracas10
-rw-r--r--tcl8.6/library/tzdata/America/Catamarca5
-rw-r--r--tcl8.6/library/tzdata/America/Cayenne7
-rw-r--r--tcl8.6/library/tzdata/America/Cayman5
-rw-r--r--tcl8.6/library/tzdata/America/Chicago369
-rw-r--r--tcl8.6/library/tzdata/America/Chihuahua221
-rw-r--r--tcl8.6/library/tzdata/America/Coral_Harbour5
-rw-r--r--tcl8.6/library/tzdata/America/Cordoba5
-rw-r--r--tcl8.6/library/tzdata/America/Costa_Rica15
-rw-r--r--tcl8.6/library/tzdata/America/Creston8
-rw-r--r--tcl8.6/library/tzdata/America/Cuiaba257
-rw-r--r--tcl8.6/library/tzdata/America/Curacao7
-rw-r--r--tcl8.6/library/tzdata/America/Danmarkshavn39
-rw-r--r--tcl8.6/library/tzdata/America/Dawson256
-rw-r--r--tcl8.6/library/tzdata/America/Dawson_Creek64
-rw-r--r--tcl8.6/library/tzdata/America/Denver291
-rw-r--r--tcl8.6/library/tzdata/America/Detroit272
-rw-r--r--tcl8.6/library/tzdata/America/Dominica5
-rw-r--r--tcl8.6/library/tzdata/America/Edmonton284
-rw-r--r--tcl8.6/library/tzdata/America/Eirunepe41
-rw-r--r--tcl8.6/library/tzdata/America/El_Salvador10
-rw-r--r--tcl8.6/library/tzdata/America/Ensenada5
-rw-r--r--tcl8.6/library/tzdata/America/Fort_Nelson151
-rw-r--r--tcl8.6/library/tzdata/America/Fort_Wayne5
-rw-r--r--tcl8.6/library/tzdata/America/Fortaleza48
-rw-r--r--tcl8.6/library/tzdata/America/Glace_Bay273
-rw-r--r--tcl8.6/library/tzdata/America/Godthab246
-rw-r--r--tcl8.6/library/tzdata/America/Goose_Bay338
-rw-r--r--tcl8.6/library/tzdata/America/Grand_Turk82
-rw-r--r--tcl8.6/library/tzdata/America/Grenada5
-rw-r--r--tcl8.6/library/tzdata/America/Guadeloupe5
-rw-r--r--tcl8.6/library/tzdata/America/Guatemala14
-rw-r--r--tcl8.6/library/tzdata/America/Guayaquil7
-rw-r--r--tcl8.6/library/tzdata/America/Guyana9
-rw-r--r--tcl8.6/library/tzdata/America/Halifax361
-rw-r--r--tcl8.6/library/tzdata/America/Havana285
-rw-r--r--tcl8.6/library/tzdata/America/Hermosillo21
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Indianapolis234
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Knox285
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Marengo236
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Petersburg247
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Tell_City234
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Vevay213
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Vincennes234
-rw-r--r--tcl8.6/library/tzdata/America/Indiana/Winamac240
-rw-r--r--tcl8.6/library/tzdata/America/Indianapolis5
-rw-r--r--tcl8.6/library/tzdata/America/Inuvik249
-rw-r--r--tcl8.6/library/tzdata/America/Iqaluit250
-rw-r--r--tcl8.6/library/tzdata/America/Jamaica29
-rw-r--r--tcl8.6/library/tzdata/America/Jujuy5
-rw-r--r--tcl8.6/library/tzdata/America/Juneau276
-rw-r--r--tcl8.6/library/tzdata/America/Kentucky/Louisville314
-rw-r--r--tcl8.6/library/tzdata/America/Kentucky/Monticello279
-rw-r--r--tcl8.6/library/tzdata/America/Knox_IN5
-rw-r--r--tcl8.6/library/tzdata/America/Kralendijk5
-rw-r--r--tcl8.6/library/tzdata/America/La_Paz8
-rw-r--r--tcl8.6/library/tzdata/America/Lima16
-rw-r--r--tcl8.6/library/tzdata/America/Los_Angeles317
-rw-r--r--tcl8.6/library/tzdata/America/Louisville5
-rw-r--r--tcl8.6/library/tzdata/America/Lower_Princes5
-rw-r--r--tcl8.6/library/tzdata/America/Maceio52
-rw-r--r--tcl8.6/library/tzdata/America/Managua21
-rw-r--r--tcl8.6/library/tzdata/America/Manaus39
-rw-r--r--tcl8.6/library/tzdata/America/Marigot5
-rw-r--r--tcl8.6/library/tzdata/America/Martinique9
-rw-r--r--tcl8.6/library/tzdata/America/Matamoros219
-rw-r--r--tcl8.6/library/tzdata/America/Mazatlan222
-rw-r--r--tcl8.6/library/tzdata/America/Mendoza5
-rw-r--r--tcl8.6/library/tzdata/America/Menominee274
-rw-r--r--tcl8.6/library/tzdata/America/Merida216
-rw-r--r--tcl8.6/library/tzdata/America/Metlakatla212
-rw-r--r--tcl8.6/library/tzdata/America/Mexico_City228
-rw-r--r--tcl8.6/library/tzdata/America/Miquelon234
-rw-r--r--tcl8.6/library/tzdata/America/Moncton342
-rw-r--r--tcl8.6/library/tzdata/America/Monterrey218
-rw-r--r--tcl8.6/library/tzdata/America/Montevideo92
-rw-r--r--tcl8.6/library/tzdata/America/Montreal5
-rw-r--r--tcl8.6/library/tzdata/America/Montserrat5
-rw-r--r--tcl8.6/library/tzdata/America/Nassau279
-rw-r--r--tcl8.6/library/tzdata/America/New_York369
-rw-r--r--tcl8.6/library/tzdata/America/Nipigon264
-rw-r--r--tcl8.6/library/tzdata/America/Nome276
-rw-r--r--tcl8.6/library/tzdata/America/Noronha48
-rw-r--r--tcl8.6/library/tzdata/America/North_Dakota/Beulah279
-rw-r--r--tcl8.6/library/tzdata/America/North_Dakota/Center279
-rw-r--r--tcl8.6/library/tzdata/America/North_Dakota/New_Salem279
-rw-r--r--tcl8.6/library/tzdata/America/Ojinaga222
-rw-r--r--tcl8.6/library/tzdata/America/Panama7
-rw-r--r--tcl8.6/library/tzdata/America/Pangnirtung252
-rw-r--r--tcl8.6/library/tzdata/America/Paramaribo10
-rw-r--r--tcl8.6/library/tzdata/America/Phoenix17
-rw-r--r--tcl8.6/library/tzdata/America/Port-au-Prince49
-rw-r--r--tcl8.6/library/tzdata/America/Port_of_Spain6
-rw-r--r--tcl8.6/library/tzdata/America/Porto_Acre5
-rw-r--r--tcl8.6/library/tzdata/America/Porto_Velho35
-rw-r--r--tcl8.6/library/tzdata/America/Puerto_Rico10
-rw-r--r--tcl8.6/library/tzdata/America/Rainy_River264
-rw-r--r--tcl8.6/library/tzdata/America/Rankin_Inlet248
-rw-r--r--tcl8.6/library/tzdata/America/Recife48
-rw-r--r--tcl8.6/library/tzdata/America/Regina58
-rw-r--r--tcl8.6/library/tzdata/America/Resolute248
-rw-r--r--tcl8.6/library/tzdata/America/Rio_Branco37
-rw-r--r--tcl8.6/library/tzdata/America/Rosario5
-rw-r--r--tcl8.6/library/tzdata/America/Santa_Isabel5
-rw-r--r--tcl8.6/library/tzdata/America/Santarem36
-rw-r--r--tcl8.6/library/tzdata/America/Santiago289
-rw-r--r--tcl8.6/library/tzdata/America/Santo_Domingo21
-rw-r--r--tcl8.6/library/tzdata/America/Sao_Paulo258
-rw-r--r--tcl8.6/library/tzdata/America/Scoresbysund246
-rw-r--r--tcl8.6/library/tzdata/America/Shiprock5
-rw-r--r--tcl8.6/library/tzdata/America/Sitka275
-rw-r--r--tcl8.6/library/tzdata/America/St_Barthelemy5
-rw-r--r--tcl8.6/library/tzdata/America/St_Johns372
-rw-r--r--tcl8.6/library/tzdata/America/St_Kitts5
-rw-r--r--tcl8.6/library/tzdata/America/St_Lucia5
-rw-r--r--tcl8.6/library/tzdata/America/St_Thomas5
-rw-r--r--tcl8.6/library/tzdata/America/St_Vincent5
-rw-r--r--tcl8.6/library/tzdata/America/Swift_Current29
-rw-r--r--tcl8.6/library/tzdata/America/Tegucigalpa12
-rw-r--r--tcl8.6/library/tzdata/America/Thule224
-rw-r--r--tcl8.6/library/tzdata/America/Thunder_Bay272
-rw-r--r--tcl8.6/library/tzdata/America/Tijuana285
-rw-r--r--tcl8.6/library/tzdata/America/Toronto365
-rw-r--r--tcl8.6/library/tzdata/America/Tortola5
-rw-r--r--tcl8.6/library/tzdata/America/Vancouver320
-rw-r--r--tcl8.6/library/tzdata/America/Virgin5
-rw-r--r--tcl8.6/library/tzdata/America/Whitehorse256
-rw-r--r--tcl8.6/library/tzdata/America/Winnipeg316
-rw-r--r--tcl8.6/library/tzdata/America/Yakutat276
-rw-r--r--tcl8.6/library/tzdata/America/Yellowknife252
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Casey10
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Davis12
-rw-r--r--tcl8.6/library/tzdata/Antarctica/DumontDUrville8
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Macquarie97
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Mawson7
-rw-r--r--tcl8.6/library/tzdata/Antarctica/McMurdo5
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Palmer252
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Rothera6
-rw-r--r--tcl8.6/library/tzdata/Antarctica/South_Pole5
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Syowa6
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Troll196
-rw-r--r--tcl8.6/library/tzdata/Antarctica/Vostok6
-rw-r--r--tcl8.6/library/tzdata/Arctic/Longyearbyen5
-rw-r--r--tcl8.6/library/tzdata/Asia/Aden5
-rw-r--r--tcl8.6/library/tzdata/Asia/Almaty57
-rw-r--r--tcl8.6/library/tzdata/Asia/Amman246
-rw-r--r--tcl8.6/library/tzdata/Asia/Anadyr72
-rw-r--r--tcl8.6/library/tzdata/Asia/Aqtau59
-rw-r--r--tcl8.6/library/tzdata/Asia/Aqtobe58
-rw-r--r--tcl8.6/library/tzdata/Asia/Ashgabat31
-rw-r--r--tcl8.6/library/tzdata/Asia/Ashkhabad5
-rw-r--r--tcl8.6/library/tzdata/Asia/Baghdad59
-rw-r--r--tcl8.6/library/tzdata/Asia/Bahrain5
-rw-r--r--tcl8.6/library/tzdata/Asia/Baku74
-rw-r--r--tcl8.6/library/tzdata/Asia/Bangkok7
-rw-r--r--tcl8.6/library/tzdata/Asia/Barnaul73
-rw-r--r--tcl8.6/library/tzdata/Asia/Beirut270
-rw-r--r--tcl8.6/library/tzdata/Asia/Bishkek57
-rw-r--r--tcl8.6/library/tzdata/Asia/Brunei7
-rw-r--r--tcl8.6/library/tzdata/Asia/Calcutta5
-rw-r--r--tcl8.6/library/tzdata/Asia/Chita72
-rw-r--r--tcl8.6/library/tzdata/Asia/Choibalsan222
-rw-r--r--tcl8.6/library/tzdata/Asia/Chongqing5
-rw-r--r--tcl8.6/library/tzdata/Asia/Chungking5
-rw-r--r--tcl8.6/library/tzdata/Asia/Colombo13
-rw-r--r--tcl8.6/library/tzdata/Asia/Dacca5
-rw-r--r--tcl8.6/library/tzdata/Asia/Damascus280
-rw-r--r--tcl8.6/library/tzdata/Asia/Dhaka14
-rw-r--r--tcl8.6/library/tzdata/Asia/Dili10
-rw-r--r--tcl8.6/library/tzdata/Asia/Dubai6
-rw-r--r--tcl8.6/library/tzdata/Asia/Dushanbe29
-rw-r--r--tcl8.6/library/tzdata/Asia/Gaza278
-rw-r--r--tcl8.6/library/tzdata/Asia/Harbin5
-rw-r--r--tcl8.6/library/tzdata/Asia/Hebron277
-rw-r--r--tcl8.6/library/tzdata/Asia/Ho_Chi_Minh14
-rw-r--r--tcl8.6/library/tzdata/Asia/Hong_Kong75
-rw-r--r--tcl8.6/library/tzdata/Asia/Hovd221
-rw-r--r--tcl8.6/library/tzdata/Asia/Irkutsk72
-rw-r--r--tcl8.6/library/tzdata/Asia/Istanbul5
-rw-r--r--tcl8.6/library/tzdata/Asia/Jakarta13
-rw-r--r--tcl8.6/library/tzdata/Asia/Jayapura8
-rw-r--r--tcl8.6/library/tzdata/Asia/Jerusalem272
-rw-r--r--tcl8.6/library/tzdata/Asia/Kabul7
-rw-r--r--tcl8.6/library/tzdata/Asia/Kamchatka71
-rw-r--r--tcl8.6/library/tzdata/Asia/Karachi16
-rw-r--r--tcl8.6/library/tzdata/Asia/Kashgar5
-rw-r--r--tcl8.6/library/tzdata/Asia/Kathmandu7
-rw-r--r--tcl8.6/library/tzdata/Asia/Katmandu5
-rw-r--r--tcl8.6/library/tzdata/Asia/Khandyga73
-rw-r--r--tcl8.6/library/tzdata/Asia/Kolkata10
-rw-r--r--tcl8.6/library/tzdata/Asia/Krasnoyarsk71
-rw-r--r--tcl8.6/library/tzdata/Asia/Kuala_Lumpur13
-rw-r--r--tcl8.6/library/tzdata/Asia/Kuching24
-rw-r--r--tcl8.6/library/tzdata/Asia/Kuwait5
-rw-r--r--tcl8.6/library/tzdata/Asia/Macao5
-rw-r--r--tcl8.6/library/tzdata/Asia/Macau46
-rw-r--r--tcl8.6/library/tzdata/Asia/Magadan72
-rw-r--r--tcl8.6/library/tzdata/Asia/Makassar9
-rw-r--r--tcl8.6/library/tzdata/Asia/Manila15
-rw-r--r--tcl8.6/library/tzdata/Asia/Muscat5
-rw-r--r--tcl8.6/library/tzdata/Asia/Nicosia257
-rw-r--r--tcl8.6/library/tzdata/Asia/Novokuznetsk71
-rw-r--r--tcl8.6/library/tzdata/Asia/Novosibirsk73
-rw-r--r--tcl8.6/library/tzdata/Asia/Omsk71
-rw-r--r--tcl8.6/library/tzdata/Asia/Oral58
-rw-r--r--tcl8.6/library/tzdata/Asia/Phnom_Penh5
-rw-r--r--tcl8.6/library/tzdata/Asia/Pontianak13
-rw-r--r--tcl8.6/library/tzdata/Asia/Pyongyang10
-rw-r--r--tcl8.6/library/tzdata/Asia/Qatar7
-rw-r--r--tcl8.6/library/tzdata/Asia/Qyzylorda57
-rw-r--r--tcl8.6/library/tzdata/Asia/Rangoon9
-rw-r--r--tcl8.6/library/tzdata/Asia/Riyadh6
-rw-r--r--tcl8.6/library/tzdata/Asia/Saigon5
-rw-r--r--tcl8.6/library/tzdata/Asia/Sakhalin74
-rw-r--r--tcl8.6/library/tzdata/Asia/Samarkand32
-rw-r--r--tcl8.6/library/tzdata/Asia/Seoul27
-rw-r--r--tcl8.6/library/tzdata/Asia/Shanghai23
-rw-r--r--tcl8.6/library/tzdata/Asia/Singapore14
-rw-r--r--tcl8.6/library/tzdata/Asia/Srednekolymsk71
-rw-r--r--tcl8.6/library/tzdata/Asia/Taipei46
-rw-r--r--tcl8.6/library/tzdata/Asia/Tashkent32
-rw-r--r--tcl8.6/library/tzdata/Asia/Tbilisi60
-rw-r--r--tcl8.6/library/tzdata/Asia/Tehran229
-rw-r--r--tcl8.6/library/tzdata/Asia/Tel_Aviv5
-rw-r--r--tcl8.6/library/tzdata/Asia/Thimbu5
-rw-r--r--tcl8.6/library/tzdata/Asia/Thimphu7
-rw-r--r--tcl8.6/library/tzdata/Asia/Tokyo16
-rw-r--r--tcl8.6/library/tzdata/Asia/Tomsk73
-rw-r--r--tcl8.6/library/tzdata/Asia/Ujung_Pandang5
-rw-r--r--tcl8.6/library/tzdata/Asia/Ulaanbaatar221
-rw-r--r--tcl8.6/library/tzdata/Asia/Ulan_Bator5
-rw-r--r--tcl8.6/library/tzdata/Asia/Urumqi6
-rw-r--r--tcl8.6/library/tzdata/Asia/Ust-Nera71
-rw-r--r--tcl8.6/library/tzdata/Asia/Vientiane5
-rw-r--r--tcl8.6/library/tzdata/Asia/Vladivostok71
-rw-r--r--tcl8.6/library/tzdata/Asia/Yakutsk71
-rw-r--r--tcl8.6/library/tzdata/Asia/Yekaterinburg72
-rw-r--r--tcl8.6/library/tzdata/Asia/Yerevan70
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Azores349
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Bermuda259
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Canary247
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Cape_Verde9
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Faeroe5
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Faroe245
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Jan_Mayen5
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Madeira350
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Reykjavik73
-rw-r--r--tcl8.6/library/tzdata/Atlantic/South_Georgia6
-rw-r--r--tcl8.6/library/tzdata/Atlantic/St_Helena5
-rw-r--r--tcl8.6/library/tzdata/Atlantic/Stanley75
-rw-r--r--tcl8.6/library/tzdata/Australia/ACT5
-rw-r--r--tcl8.6/library/tzdata/Australia/Adelaide273
-rw-r--r--tcl8.6/library/tzdata/Australia/Brisbane23
-rw-r--r--tcl8.6/library/tzdata/Australia/Broken_Hill275
-rw-r--r--tcl8.6/library/tzdata/Australia/Canberra5
-rw-r--r--tcl8.6/library/tzdata/Australia/Currie273
-rw-r--r--tcl8.6/library/tzdata/Australia/Darwin15
-rw-r--r--tcl8.6/library/tzdata/Australia/Eucla25
-rw-r--r--tcl8.6/library/tzdata/Australia/Hobart281
-rw-r--r--tcl8.6/library/tzdata/Australia/LHI5
-rw-r--r--tcl8.6/library/tzdata/Australia/Lindeman28
-rw-r--r--tcl8.6/library/tzdata/Australia/Lord_Howe244
-rw-r--r--tcl8.6/library/tzdata/Australia/Melbourne272
-rw-r--r--tcl8.6/library/tzdata/Australia/NSW5
-rw-r--r--tcl8.6/library/tzdata/Australia/North5
-rw-r--r--tcl8.6/library/tzdata/Australia/Perth25
-rw-r--r--tcl8.6/library/tzdata/Australia/Queensland5
-rw-r--r--tcl8.6/library/tzdata/Australia/South5
-rw-r--r--tcl8.6/library/tzdata/Australia/Sydney272
-rw-r--r--tcl8.6/library/tzdata/Australia/Tasmania5
-rw-r--r--tcl8.6/library/tzdata/Australia/Victoria5
-rw-r--r--tcl8.6/library/tzdata/Australia/West5
-rw-r--r--tcl8.6/library/tzdata/Australia/Yancowinna5
-rw-r--r--tcl8.6/library/tzdata/Brazil/Acre5
-rw-r--r--tcl8.6/library/tzdata/Brazil/DeNoronha5
-rw-r--r--tcl8.6/library/tzdata/Brazil/East5
-rw-r--r--tcl8.6/library/tzdata/Brazil/West5
-rw-r--r--tcl8.6/library/tzdata/CET265
-rw-r--r--tcl8.6/library/tzdata/CST6CDT278
-rw-r--r--tcl8.6/library/tzdata/Canada/Atlantic5
-rw-r--r--tcl8.6/library/tzdata/Canada/Central5
-rw-r--r--tcl8.6/library/tzdata/Canada/East-Saskatchewan5
-rw-r--r--tcl8.6/library/tzdata/Canada/Eastern5
-rw-r--r--tcl8.6/library/tzdata/Canada/Mountain5
-rw-r--r--tcl8.6/library/tzdata/Canada/Newfoundland5
-rw-r--r--tcl8.6/library/tzdata/Canada/Pacific5
-rw-r--r--tcl8.6/library/tzdata/Canada/Saskatchewan5
-rw-r--r--tcl8.6/library/tzdata/Canada/Yukon5
-rw-r--r--tcl8.6/library/tzdata/Chile/Continental5
-rw-r--r--tcl8.6/library/tzdata/Chile/EasterIsland5
-rw-r--r--tcl8.6/library/tzdata/Cuba5
-rw-r--r--tcl8.6/library/tzdata/EET251
-rw-r--r--tcl8.6/library/tzdata/EST5
-rw-r--r--tcl8.6/library/tzdata/EST5EDT278
-rw-r--r--tcl8.6/library/tzdata/Egypt5
-rw-r--r--tcl8.6/library/tzdata/Eire5
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT5
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+05
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+15
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+105
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+115
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+125
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+25
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+35
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+45
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+55
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+65
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+75
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+85
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT+95
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-05
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-15
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-105
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-115
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-125
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-135
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-145
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-25
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-35
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-45
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-55
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-65
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-75
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-85
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT-95
-rw-r--r--tcl8.6/library/tzdata/Etc/GMT05
-rw-r--r--tcl8.6/library/tzdata/Etc/Greenwich5
-rw-r--r--tcl8.6/library/tzdata/Etc/UCT5
-rw-r--r--tcl8.6/library/tzdata/Etc/UTC5
-rw-r--r--tcl8.6/library/tzdata/Etc/Universal5
-rw-r--r--tcl8.6/library/tzdata/Etc/Zulu5
-rw-r--r--tcl8.6/library/tzdata/Europe/Amsterdam310
-rw-r--r--tcl8.6/library/tzdata/Europe/Andorra237
-rw-r--r--tcl8.6/library/tzdata/Europe/Astrakhan71
-rw-r--r--tcl8.6/library/tzdata/Europe/Athens268
-rw-r--r--tcl8.6/library/tzdata/Europe/Belfast5
-rw-r--r--tcl8.6/library/tzdata/Europe/Belgrade250
-rw-r--r--tcl8.6/library/tzdata/Europe/Berlin274
-rw-r--r--tcl8.6/library/tzdata/Europe/Bratislava5
-rw-r--r--tcl8.6/library/tzdata/Europe/Brussels316
-rw-r--r--tcl8.6/library/tzdata/Europe/Bucharest268
-rw-r--r--tcl8.6/library/tzdata/Europe/Budapest282
-rw-r--r--tcl8.6/library/tzdata/Europe/Busingen5
-rw-r--r--tcl8.6/library/tzdata/Europe/Chisinau272
-rw-r--r--tcl8.6/library/tzdata/Europe/Copenhagen264
-rw-r--r--tcl8.6/library/tzdata/Europe/Dublin359
-rw-r--r--tcl8.6/library/tzdata/Europe/Gibraltar328
-rw-r--r--tcl8.6/library/tzdata/Europe/Guernsey5
-rw-r--r--tcl8.6/library/tzdata/Europe/Helsinki248
-rw-r--r--tcl8.6/library/tzdata/Europe/Isle_of_Man5
-rw-r--r--tcl8.6/library/tzdata/Europe/Istanbul306
-rw-r--r--tcl8.6/library/tzdata/Europe/Jersey5
-rw-r--r--tcl8.6/library/tzdata/Europe/Kaliningrad85
-rw-r--r--tcl8.6/library/tzdata/Europe/Kiev251
-rw-r--r--tcl8.6/library/tzdata/Europe/Kirov70
-rw-r--r--tcl8.6/library/tzdata/Europe/Lisbon351
-rw-r--r--tcl8.6/library/tzdata/Europe/Ljubljana5
-rw-r--r--tcl8.6/library/tzdata/Europe/London372
-rw-r--r--tcl8.6/library/tzdata/Europe/Luxembourg313
-rw-r--r--tcl8.6/library/tzdata/Europe/Madrid294
-rw-r--r--tcl8.6/library/tzdata/Europe/Malta299
-rw-r--r--tcl8.6/library/tzdata/Europe/Mariehamn5
-rw-r--r--tcl8.6/library/tzdata/Europe/Minsk76
-rw-r--r--tcl8.6/library/tzdata/Europe/Monaco315
-rw-r--r--tcl8.6/library/tzdata/Europe/Moscow83
-rw-r--r--tcl8.6/library/tzdata/Europe/Nicosia5
-rw-r--r--tcl8.6/library/tzdata/Europe/Oslo271
-rw-r--r--tcl8.6/library/tzdata/Europe/Paris314
-rw-r--r--tcl8.6/library/tzdata/Europe/Podgorica5
-rw-r--r--tcl8.6/library/tzdata/Europe/Prague272
-rw-r--r--tcl8.6/library/tzdata/Europe/Riga258
-rw-r--r--tcl8.6/library/tzdata/Europe/Rome301
-rw-r--r--tcl8.6/library/tzdata/Europe/Samara73
-rw-r--r--tcl8.6/library/tzdata/Europe/San_Marino5
-rw-r--r--tcl8.6/library/tzdata/Europe/Sarajevo5
-rw-r--r--tcl8.6/library/tzdata/Europe/Simferopol82
-rw-r--r--tcl8.6/library/tzdata/Europe/Skopje5
-rw-r--r--tcl8.6/library/tzdata/Europe/Sofia258
-rw-r--r--tcl8.6/library/tzdata/Europe/Stockholm250
-rw-r--r--tcl8.6/library/tzdata/Europe/Tallinn254
-rw-r--r--tcl8.6/library/tzdata/Europe/Tirane263
-rw-r--r--tcl8.6/library/tzdata/Europe/Tiraspol5
-rw-r--r--tcl8.6/library/tzdata/Europe/Ulyanovsk73
-rw-r--r--tcl8.6/library/tzdata/Europe/Uzhgorod254
-rw-r--r--tcl8.6/library/tzdata/Europe/Vaduz5
-rw-r--r--tcl8.6/library/tzdata/Europe/Vatican5
-rw-r--r--tcl8.6/library/tzdata/Europe/Vienna271
-rw-r--r--tcl8.6/library/tzdata/Europe/Vilnius252
-rw-r--r--tcl8.6/library/tzdata/Europe/Volgograd72
-rw-r--r--tcl8.6/library/tzdata/Europe/Warsaw296
-rw-r--r--tcl8.6/library/tzdata/Europe/Zagreb5
-rw-r--r--tcl8.6/library/tzdata/Europe/Zaporozhye252
-rw-r--r--tcl8.6/library/tzdata/Europe/Zurich250
-rw-r--r--tcl8.6/library/tzdata/GB5
-rw-r--r--tcl8.6/library/tzdata/GB-Eire5
-rw-r--r--tcl8.6/library/tzdata/GMT5
-rw-r--r--tcl8.6/library/tzdata/GMT+05
-rw-r--r--tcl8.6/library/tzdata/GMT-05
-rw-r--r--tcl8.6/library/tzdata/GMT05
-rw-r--r--tcl8.6/library/tzdata/Greenwich5
-rw-r--r--tcl8.6/library/tzdata/HST5
-rw-r--r--tcl8.6/library/tzdata/Hongkong5
-rw-r--r--tcl8.6/library/tzdata/Iceland5
-rw-r--r--tcl8.6/library/tzdata/Indian/Antananarivo5
-rw-r--r--tcl8.6/library/tzdata/Indian/Chagos7
-rw-r--r--tcl8.6/library/tzdata/Indian/Christmas6
-rw-r--r--tcl8.6/library/tzdata/Indian/Cocos6
-rw-r--r--tcl8.6/library/tzdata/Indian/Comoro5
-rw-r--r--tcl8.6/library/tzdata/Indian/Kerguelen6
-rw-r--r--tcl8.6/library/tzdata/Indian/Mahe6
-rw-r--r--tcl8.6/library/tzdata/Indian/Maldives7
-rw-r--r--tcl8.6/library/tzdata/Indian/Mauritius10
-rw-r--r--tcl8.6/library/tzdata/Indian/Mayotte5
-rw-r--r--tcl8.6/library/tzdata/Indian/Reunion6
-rw-r--r--tcl8.6/library/tzdata/Iran5
-rw-r--r--tcl8.6/library/tzdata/Israel5
-rw-r--r--tcl8.6/library/tzdata/Jamaica5
-rw-r--r--tcl8.6/library/tzdata/Japan5
-rw-r--r--tcl8.6/library/tzdata/Kwajalein5
-rw-r--r--tcl8.6/library/tzdata/Libya5
-rw-r--r--tcl8.6/library/tzdata/MET265
-rw-r--r--tcl8.6/library/tzdata/MST5
-rw-r--r--tcl8.6/library/tzdata/MST7MDT278
-rw-r--r--tcl8.6/library/tzdata/Mexico/BajaNorte5
-rw-r--r--tcl8.6/library/tzdata/Mexico/BajaSur5
-rw-r--r--tcl8.6/library/tzdata/Mexico/General5
-rw-r--r--tcl8.6/library/tzdata/NZ5
-rw-r--r--tcl8.6/library/tzdata/NZ-CHAT5
-rw-r--r--tcl8.6/library/tzdata/Navajo5
-rw-r--r--tcl8.6/library/tzdata/PRC5
-rw-r--r--tcl8.6/library/tzdata/PST8PDT278
-rw-r--r--tcl8.6/library/tzdata/Pacific/Apia188
-rw-r--r--tcl8.6/library/tzdata/Pacific/Auckland285
-rw-r--r--tcl8.6/library/tzdata/Pacific/Bougainville10
-rw-r--r--tcl8.6/library/tzdata/Pacific/Chatham258
-rw-r--r--tcl8.6/library/tzdata/Pacific/Chuuk6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Easter268
-rw-r--r--tcl8.6/library/tzdata/Pacific/Efate26
-rw-r--r--tcl8.6/library/tzdata/Pacific/Enderbury8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Fakaofo7
-rw-r--r--tcl8.6/library/tzdata/Pacific/Fiji191
-rw-r--r--tcl8.6/library/tzdata/Pacific/Funafuti6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Galapagos7
-rw-r--r--tcl8.6/library/tzdata/Pacific/Gambier6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Guadalcanal6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Guam8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Honolulu11
-rw-r--r--tcl8.6/library/tzdata/Pacific/Johnston5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Kiritimati8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Kosrae8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Kwajalein8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Majuro7
-rw-r--r--tcl8.6/library/tzdata/Pacific/Marquesas6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Midway5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Nauru9
-rw-r--r--tcl8.6/library/tzdata/Pacific/Niue8
-rw-r--r--tcl8.6/library/tzdata/Pacific/Norfolk10
-rw-r--r--tcl8.6/library/tzdata/Pacific/Noumea12
-rw-r--r--tcl8.6/library/tzdata/Pacific/Pago_Pago9
-rw-r--r--tcl8.6/library/tzdata/Pacific/Palau6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Pitcairn7
-rw-r--r--tcl8.6/library/tzdata/Pacific/Pohnpei6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Ponape5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Port_Moresby7
-rw-r--r--tcl8.6/library/tzdata/Pacific/Rarotonga32
-rw-r--r--tcl8.6/library/tzdata/Pacific/Saipan5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Samoa5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Tahiti6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Tarawa6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Tongatapu14
-rw-r--r--tcl8.6/library/tzdata/Pacific/Truk5
-rw-r--r--tcl8.6/library/tzdata/Pacific/Wake6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Wallis6
-rw-r--r--tcl8.6/library/tzdata/Pacific/Yap5
-rw-r--r--tcl8.6/library/tzdata/Poland5
-rw-r--r--tcl8.6/library/tzdata/Portugal5
-rw-r--r--tcl8.6/library/tzdata/ROC5
-rw-r--r--tcl8.6/library/tzdata/ROK5
-rw-r--r--tcl8.6/library/tzdata/Singapore5
-rw-r--r--tcl8.6/library/tzdata/SystemV/AST45
-rw-r--r--tcl8.6/library/tzdata/SystemV/AST4ADT5
-rw-r--r--tcl8.6/library/tzdata/SystemV/CST65
-rw-r--r--tcl8.6/library/tzdata/SystemV/CST6CDT5
-rw-r--r--tcl8.6/library/tzdata/SystemV/EST55
-rw-r--r--tcl8.6/library/tzdata/SystemV/EST5EDT5
-rw-r--r--tcl8.6/library/tzdata/SystemV/HST105
-rw-r--r--tcl8.6/library/tzdata/SystemV/MST75
-rw-r--r--tcl8.6/library/tzdata/SystemV/MST7MDT5
-rw-r--r--tcl8.6/library/tzdata/SystemV/PST85
-rw-r--r--tcl8.6/library/tzdata/SystemV/PST8PDT5
-rw-r--r--tcl8.6/library/tzdata/SystemV/YST95
-rw-r--r--tcl8.6/library/tzdata/SystemV/YST9YDT5
-rw-r--r--tcl8.6/library/tzdata/Turkey5
-rw-r--r--tcl8.6/library/tzdata/UCT5
-rw-r--r--tcl8.6/library/tzdata/US/Alaska5
-rw-r--r--tcl8.6/library/tzdata/US/Aleutian5
-rw-r--r--tcl8.6/library/tzdata/US/Arizona5
-rw-r--r--tcl8.6/library/tzdata/US/Central5
-rw-r--r--tcl8.6/library/tzdata/US/East-Indiana5
-rw-r--r--tcl8.6/library/tzdata/US/Eastern5
-rw-r--r--tcl8.6/library/tzdata/US/Hawaii5
-rw-r--r--tcl8.6/library/tzdata/US/Indiana-Starke5
-rw-r--r--tcl8.6/library/tzdata/US/Michigan5
-rw-r--r--tcl8.6/library/tzdata/US/Mountain5
-rw-r--r--tcl8.6/library/tzdata/US/Pacific5
-rw-r--r--tcl8.6/library/tzdata/US/Pacific-New5
-rw-r--r--tcl8.6/library/tzdata/US/Samoa5
-rw-r--r--tcl8.6/library/tzdata/UTC5
-rw-r--r--tcl8.6/library/tzdata/Universal5
-rw-r--r--tcl8.6/library/tzdata/W-SU5
-rw-r--r--tcl8.6/library/tzdata/WET251
-rw-r--r--tcl8.6/library/tzdata/Zulu5
-rw-r--r--tcl8.6/library/word.tcl152
-rw-r--r--tcl8.6/libtommath/LICENSE4
-rw-r--r--tcl8.6/libtommath/bn.ilg6
-rw-r--r--tcl8.6/libtommath/bn.ind82
-rw-r--r--tcl8.6/libtommath/bn.pdfbin340921 -> 0 bytes-rw-r--r--tcl8.6/libtommath/bn.tex1835
-rw-r--r--tcl8.6/libtommath/bn_error.c43
-rw-r--r--tcl8.6/libtommath/bn_fast_mp_invmod.c144
-rw-r--r--tcl8.6/libtommath/bn_fast_mp_montgomery_reduce.c168
-rw-r--r--tcl8.6/libtommath/bn_fast_s_mp_mul_digs.c103
-rw-r--r--tcl8.6/libtommath/bn_fast_s_mp_mul_high_digs.c94
-rw-r--r--tcl8.6/libtommath/bn_fast_s_mp_sqr.c110
-rw-r--r--tcl8.6/libtommath/bn_mp_2expt.c44
-rw-r--r--tcl8.6/libtommath/bn_mp_abs.c39
-rw-r--r--tcl8.6/libtommath/bn_mp_add.c49
-rw-r--r--tcl8.6/libtommath/bn_mp_add_d.c109
-rw-r--r--tcl8.6/libtommath/bn_mp_addmod.c37
-rw-r--r--tcl8.6/libtommath/bn_mp_and.c53
-rw-r--r--tcl8.6/libtommath/bn_mp_clamp.c40
-rw-r--r--tcl8.6/libtommath/bn_mp_clear.c40
-rw-r--r--tcl8.6/libtommath/bn_mp_clear_multi.c30
-rw-r--r--tcl8.6/libtommath/bn_mp_cmp.c39
-rw-r--r--tcl8.6/libtommath/bn_mp_cmp_d.c40
-rw-r--r--tcl8.6/libtommath/bn_mp_cmp_mag.c51
-rw-r--r--tcl8.6/libtommath/bn_mp_cnt_lsb.c49
-rw-r--r--tcl8.6/libtommath/bn_mp_copy.c64
-rw-r--r--tcl8.6/libtommath/bn_mp_count_bits.c41
-rw-r--r--tcl8.6/libtommath/bn_mp_div.c288
-rw-r--r--tcl8.6/libtommath/bn_mp_div_2.c64
-rw-r--r--tcl8.6/libtommath/bn_mp_div_2d.c93
-rw-r--r--tcl8.6/libtommath/bn_mp_div_3.c75
-rw-r--r--tcl8.6/libtommath/bn_mp_div_d.c110
-rw-r--r--tcl8.6/libtommath/bn_mp_dr_is_modulus.c39
-rw-r--r--tcl8.6/libtommath/bn_mp_dr_reduce.c90
-rw-r--r--tcl8.6/libtommath/bn_mp_dr_setup.c28
-rw-r--r--tcl8.6/libtommath/bn_mp_exch.c30
-rw-r--r--tcl8.6/libtommath/bn_mp_expt_d.c53
-rw-r--r--tcl8.6/libtommath/bn_mp_exptmod.c108
-rw-r--r--tcl8.6/libtommath/bn_mp_exptmod_fast.c316
-rw-r--r--tcl8.6/libtommath/bn_mp_exteuclid.c78
-rw-r--r--tcl8.6/libtommath/bn_mp_fread.c63
-rw-r--r--tcl8.6/libtommath/bn_mp_fwrite.c48
-rw-r--r--tcl8.6/libtommath/bn_mp_gcd.c101
-rw-r--r--tcl8.6/libtommath/bn_mp_get_int.c41
-rw-r--r--tcl8.6/libtommath/bn_mp_grow.c53
-rw-r--r--tcl8.6/libtommath/bn_mp_init.c42
-rw-r--r--tcl8.6/libtommath/bn_mp_init_copy.c28
-rw-r--r--tcl8.6/libtommath/bn_mp_init_multi.c55
-rw-r--r--tcl8.6/libtommath/bn_mp_init_set.c28
-rw-r--r--tcl8.6/libtommath/bn_mp_init_set_int.c27
-rw-r--r--tcl8.6/libtommath/bn_mp_init_size.c44
-rw-r--r--tcl8.6/libtommath/bn_mp_invmod.c39
-rw-r--r--tcl8.6/libtommath/bn_mp_invmod_slow.c171
-rw-r--r--tcl8.6/libtommath/bn_mp_is_square.c105
-rw-r--r--tcl8.6/libtommath/bn_mp_jacobi.c101
-rw-r--r--tcl8.6/libtommath/bn_mp_karatsuba_mul.c163
-rw-r--r--tcl8.6/libtommath/bn_mp_karatsuba_sqr.c117
-rw-r--r--tcl8.6/libtommath/bn_mp_lcm.c56
-rw-r--r--tcl8.6/libtommath/bn_mp_lshd.c63
-rw-r--r--tcl8.6/libtommath/bn_mp_mod.c44
-rw-r--r--tcl8.6/libtommath/bn_mp_mod_2d.c51
-rw-r--r--tcl8.6/libtommath/bn_mp_mod_d.c23
-rw-r--r--tcl8.6/libtommath/bn_mp_montgomery_calc_normalization.c55
-rw-r--r--tcl8.6/libtommath/bn_mp_montgomery_reduce.c114
-rw-r--r--tcl8.6/libtommath/bn_mp_montgomery_setup.c55
-rw-r--r--tcl8.6/libtommath/bn_mp_mul.c62
-rw-r--r--tcl8.6/libtommath/bn_mp_mul_2.c78
-rw-r--r--tcl8.6/libtommath/bn_mp_mul_2d.c81
-rw-r--r--tcl8.6/libtommath/bn_mp_mul_d.c75
-rw-r--r--tcl8.6/libtommath/bn_mp_mulmod.c36
-rw-r--r--tcl8.6/libtommath/bn_mp_n_root.c128
-rw-r--r--tcl8.6/libtommath/bn_mp_neg.c36
-rw-r--r--tcl8.6/libtommath/bn_mp_or.c46
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_fermat.c58
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_is_divisible.c46
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_is_prime.c79
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_miller_rabin.c99
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_next_prime.c166
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_rabin_miller_trials.c48
-rw-r--r--tcl8.6/libtommath/bn_mp_prime_random_ex.c121
-rw-r--r--tcl8.6/libtommath/bn_mp_radix_size.c83
-rw-r--r--tcl8.6/libtommath/bn_mp_radix_smap.c20
-rw-r--r--tcl8.6/libtommath/bn_mp_rand.c51
-rw-r--r--tcl8.6/libtommath/bn_mp_read_radix.c88
-rw-r--r--tcl8.6/libtommath/bn_mp_read_signed_bin.c37
-rw-r--r--tcl8.6/libtommath/bn_mp_read_unsigned_bin.c51
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce.c96
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_2k.c57
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_2k_l.c58
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_2k_setup.c43
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_2k_setup_l.c40
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_is_2k.c48
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_is_2k_l.c40
-rw-r--r--tcl8.6/libtommath/bn_mp_reduce_setup.c30
-rw-r--r--tcl8.6/libtommath/bn_mp_rshd.c68
-rw-r--r--tcl8.6/libtommath/bn_mp_set.c25
-rw-r--r--tcl8.6/libtommath/bn_mp_set_int.c44
-rw-r--r--tcl8.6/libtommath/bn_mp_shrink.c36
-rw-r--r--tcl8.6/libtommath/bn_mp_signed_bin_size.c23
-rw-r--r--tcl8.6/libtommath/bn_mp_sqr.c54
-rw-r--r--tcl8.6/libtommath/bn_mp_sqrmod.c37
-rw-r--r--tcl8.6/libtommath/bn_mp_sqrt.c142
-rw-r--r--tcl8.6/libtommath/bn_mp_sub.c55
-rw-r--r--tcl8.6/libtommath/bn_mp_sub_d.c89
-rw-r--r--tcl8.6/libtommath/bn_mp_submod.c38
-rw-r--r--tcl8.6/libtommath/bn_mp_to_signed_bin.c29
-rw-r--r--tcl8.6/libtommath/bn_mp_to_signed_bin_n.c27
-rw-r--r--tcl8.6/libtommath/bn_mp_to_unsigned_bin.c44
-rw-r--r--tcl8.6/libtommath/bn_mp_to_unsigned_bin_n.c27
-rw-r--r--tcl8.6/libtommath/bn_mp_toom_mul.c280
-rw-r--r--tcl8.6/libtommath/bn_mp_toom_sqr.c222
-rw-r--r--tcl8.6/libtommath/bn_mp_toradix.c71
-rw-r--r--tcl8.6/libtommath/bn_mp_toradix_n.c84
-rw-r--r--tcl8.6/libtommath/bn_mp_unsigned_bin_size.c24
-rw-r--r--tcl8.6/libtommath/bn_mp_xor.c47
-rw-r--r--tcl8.6/libtommath/bn_mp_zero.c32
-rw-r--r--tcl8.6/libtommath/bn_prime_tab.c57
-rw-r--r--tcl8.6/libtommath/bn_reverse.c35
-rw-r--r--tcl8.6/libtommath/bn_s_mp_add.c105
-rw-r--r--tcl8.6/libtommath/bn_s_mp_exptmod.c248
-rw-r--r--tcl8.6/libtommath/bn_s_mp_mul_digs.c86
-rw-r--r--tcl8.6/libtommath/bn_s_mp_mul_high_digs.c77
-rw-r--r--tcl8.6/libtommath/bn_s_mp_sqr.c80
-rw-r--r--tcl8.6/libtommath/bn_s_mp_sub.c85
-rw-r--r--tcl8.6/libtommath/bncore.c32
-rw-r--r--tcl8.6/libtommath/booker.pl265
-rw-r--r--tcl8.6/libtommath/callgraph.txt11913
-rw-r--r--tcl8.6/libtommath/changes.txt403
-rw-r--r--tcl8.6/libtommath/demo/demo.c736
-rw-r--r--tcl8.6/libtommath/demo/timing.c315
-rw-r--r--tcl8.6/libtommath/dep.pl123
-rw-r--r--tcl8.6/libtommath/etc/2kprime.12
-rw-r--r--tcl8.6/libtommath/etc/2kprime.c75
-rw-r--r--tcl8.6/libtommath/etc/drprime.c59
-rw-r--r--tcl8.6/libtommath/etc/drprimes.2825
-rw-r--r--tcl8.6/libtommath/etc/drprimes.txt9
-rw-r--r--tcl8.6/libtommath/etc/makefile50
-rw-r--r--tcl8.6/libtommath/etc/makefile.icc67
-rw-r--r--tcl8.6/libtommath/etc/makefile.msvc23
-rw-r--r--tcl8.6/libtommath/etc/mersenne.c140
-rw-r--r--tcl8.6/libtommath/etc/mont.c41
-rw-r--r--tcl8.6/libtommath/etc/pprime.c396
-rw-r--r--tcl8.6/libtommath/etc/prime.1024414
-rw-r--r--tcl8.6/libtommath/etc/prime.512205
-rw-r--r--tcl8.6/libtommath/etc/timer.asm37
-rw-r--r--tcl8.6/libtommath/etc/tune.c138
-rw-r--r--tcl8.6/libtommath/gen.pl17
-rw-r--r--tcl8.6/libtommath/logs/README13
-rw-r--r--tcl8.6/libtommath/logs/add.log16
-rw-r--r--tcl8.6/libtommath/logs/addsub.pngbin6253 -> 0 bytes-rw-r--r--tcl8.6/libtommath/logs/expt.log7
-rw-r--r--tcl8.6/libtommath/logs/expt.pngbin6604 -> 0 bytes-rw-r--r--tcl8.6/libtommath/logs/expt_2k.log5
-rw-r--r--tcl8.6/libtommath/logs/expt_2kl.log4
-rw-r--r--tcl8.6/libtommath/logs/expt_dr.log7
-rw-r--r--tcl8.6/libtommath/logs/graphs.dem17
-rw-r--r--tcl8.6/libtommath/logs/index.html24
-rw-r--r--tcl8.6/libtommath/logs/invmod.log0
-rw-r--r--tcl8.6/libtommath/logs/invmod.pngbin4917 -> 0 bytes-rw-r--r--tcl8.6/libtommath/logs/mult.log84
-rw-r--r--tcl8.6/libtommath/logs/mult.pngbin6769 -> 0 bytes-rw-r--r--tcl8.6/libtommath/logs/mult_kara.log84
-rw-r--r--tcl8.6/libtommath/logs/sqr.log84
-rw-r--r--tcl8.6/libtommath/logs/sqr_kara.log84
-rw-r--r--tcl8.6/libtommath/logs/sub.log16
-rw-r--r--tcl8.6/libtommath/makefile186
-rw-r--r--tcl8.6/libtommath/makefile.bcc44
-rw-r--r--tcl8.6/libtommath/makefile.cygwin_dll51
-rw-r--r--tcl8.6/libtommath/makefile.icc116
-rw-r--r--tcl8.6/libtommath/makefile.msvc40
-rw-r--r--tcl8.6/libtommath/makefile.shared102
-rw-r--r--tcl8.6/libtommath/mess.sh4
-rw-r--r--tcl8.6/libtommath/mtest/logtab.h19
-rw-r--r--tcl8.6/libtommath/mtest/mpi-config.h85
-rw-r--r--tcl8.6/libtommath/mtest/mpi-types.h15
-rw-r--r--tcl8.6/libtommath/mtest/mpi.c3979
-rw-r--r--tcl8.6/libtommath/mtest/mpi.h225
-rw-r--r--tcl8.6/libtommath/mtest/mtest.c304
-rw-r--r--tcl8.6/libtommath/pics/design_process.sxdbin6950 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/design_process.tifbin79042 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/expt_state.sxdbin6869 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/expt_state.tifbin87540 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/makefile35
-rw-r--r--tcl8.6/libtommath/pics/primality.tifbin85512 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/radix.sxdbin6181 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/sliding_window.sxdbin6787 -> 0 bytes-rw-r--r--tcl8.6/libtommath/pics/sliding_window.tifbin53880 -> 0 bytes-rw-r--r--tcl8.6/libtommath/poster.out0
-rw-r--r--tcl8.6/libtommath/poster.pdfbin37822 -> 0 bytes-rw-r--r--tcl8.6/libtommath/poster.tex35
-rw-r--r--tcl8.6/libtommath/pre_gen/mpi.c9048
-rw-r--r--tcl8.6/libtommath/pretty.build66
-rw-r--r--tcl8.6/libtommath/tombc/grammar.txt35
-rw-r--r--tcl8.6/libtommath/tommath.h579
-rw-r--r--tcl8.6/libtommath/tommath.out139
-rw-r--r--tcl8.6/libtommath/tommath.pdfbin1194158 -> 0 bytes-rw-r--r--tcl8.6/libtommath/tommath.src6350
-rw-r--r--tcl8.6/libtommath/tommath.tex6691
-rw-r--r--tcl8.6/libtommath/tommath_class.h995
-rw-r--r--tcl8.6/libtommath/tommath_superclass.h72
-rw-r--r--tcl8.6/license.terms40
-rw-r--r--tcl8.6/macosx/GNUmakefile208
-rw-r--r--tcl8.6/macosx/README174
-rw-r--r--tcl8.6/macosx/Tcl-Common.xcconfig37
-rw-r--r--tcl8.6/macosx/Tcl-Debug.xcconfig20
-rw-r--r--tcl8.6/macosx/Tcl-Info.plist.in36
-rw-r--r--tcl8.6/macosx/Tcl-Release.xcconfig20
-rw-r--r--tcl8.6/macosx/Tcl.xcode/default.pbxuser200
-rw-r--r--tcl8.6/macosx/Tcl.xcode/project.pbxproj2934
-rw-r--r--tcl8.6/macosx/Tcl.xcodeproj/default.pbxuser211
-rw-r--r--tcl8.6/macosx/Tcl.xcodeproj/project.pbxproj3039
-rw-r--r--tcl8.6/macosx/Tclsh-Info.plist.in36
-rwxr-xr-xtcl8.6/macosx/configure11790
-rw-r--r--tcl8.6/macosx/configure.ac11
-rw-r--r--tcl8.6/macosx/tclMacOSXBundle.c312
-rw-r--r--tcl8.6/macosx/tclMacOSXFCmd.c721
-rw-r--r--tcl8.6/macosx/tclMacOSXNotify.c2037
-rw-r--r--tcl8.6/pkgs/README57
-rw-r--r--tcl8.6/pkgs/package.list.txt35
-rw-r--r--tcl8.6/tests/README107
-rw-r--r--tcl8.6/tests/aaa_exit.test54
-rw-r--r--tcl8.6/tests/all.tcl22
-rw-r--r--tcl8.6/tests/append.test323
-rw-r--r--tcl8.6/tests/appendComp.test476
-rw-r--r--tcl8.6/tests/apply.test321
-rw-r--r--tcl8.6/tests/assemble.test3378
-rw-r--r--tcl8.6/tests/assemble1.bench85
-rw-r--r--tcl8.6/tests/assocd.test68
-rw-r--r--tcl8.6/tests/async.test216
-rw-r--r--tcl8.6/tests/autoMkindex.test372
-rw-r--r--tcl8.6/tests/basic.test987
-rw-r--r--tcl8.6/tests/binary.test2849
-rw-r--r--tcl8.6/tests/case.test89
-rw-r--r--tcl8.6/tests/chan.test275
-rw-r--r--tcl8.6/tests/chanio.test7742
-rw-r--r--tcl8.6/tests/clock.test36974
-rw-r--r--tcl8.6/tests/cmdAH.test1665
-rw-r--r--tcl8.6/tests/cmdIL.test745
-rw-r--r--tcl8.6/tests/cmdInfo.test107
-rw-r--r--tcl8.6/tests/cmdMZ.test355
-rw-r--r--tcl8.6/tests/compExpr-old.test677
-rw-r--r--tcl8.6/tests/compExpr.test396
-rw-r--r--tcl8.6/tests/compile.test1056
-rw-r--r--tcl8.6/tests/concat.test57
-rw-r--r--tcl8.6/tests/config.test60
-rw-r--r--tcl8.6/tests/coroutine.test753
-rw-r--r--tcl8.6/tests/dcall.test43
-rw-r--r--tcl8.6/tests/dict.test2065
-rw-r--r--tcl8.6/tests/dstring.test439
-rw-r--r--tcl8.6/tests/encoding.test610
-rw-r--r--tcl8.6/tests/env.test349
-rw-r--r--tcl8.6/tests/error.test1211
-rw-r--r--tcl8.6/tests/eval.test89
-rw-r--r--tcl8.6/tests/event.test961
-rw-r--r--tcl8.6/tests/exec.test715
-rw-r--r--tcl8.6/tests/execute.test1088
-rw-r--r--tcl8.6/tests/expr-old.test1208
-rw-r--r--tcl8.6/tests/expr.test7194
-rw-r--r--tcl8.6/tests/fCmd.test2608
-rw-r--r--tcl8.6/tests/fileName.test1633
-rw-r--r--tcl8.6/tests/fileSystem.test956
-rw-r--r--tcl8.6/tests/for-old.test71
-rw-r--r--tcl8.6/tests/for.test1360
-rw-r--r--tcl8.6/tests/foreach.test294
-rw-r--r--tcl8.6/tests/format.test581
-rw-r--r--tcl8.6/tests/get.test101
-rw-r--r--tcl8.6/tests/history.test255
-rw-r--r--tcl8.6/tests/http.test668
-rw-r--r--tcl8.6/tests/http11.test675
-rw-r--r--tcl8.6/tests/httpd236
-rw-r--r--tcl8.6/tests/httpd11.tcl255
-rw-r--r--tcl8.6/tests/httpold.test293
-rw-r--r--tcl8.6/tests/if-old.test162
-rw-r--r--tcl8.6/tests/if.test1282
-rw-r--r--tcl8.6/tests/incr-old.test92
-rw-r--r--tcl8.6/tests/incr.test522
-rw-r--r--tcl8.6/tests/indexObj.test166
-rw-r--r--tcl8.6/tests/info.test2421
-rw-r--r--tcl8.6/tests/init.test195
-rw-r--r--tcl8.6/tests/interp.test3666
-rw-r--r--tcl8.6/tests/io.test8670
-rw-r--r--tcl8.6/tests/ioCmd.test3843
-rw-r--r--tcl8.6/tests/ioTrans.test2093
-rw-r--r--tcl8.6/tests/iogt.test955
-rw-r--r--tcl8.6/tests/join.test55
-rw-r--r--tcl8.6/tests/lindex.test458
-rw-r--r--tcl8.6/tests/link.test310
-rw-r--r--tcl8.6/tests/linsert.test119
-rw-r--r--tcl8.6/tests/list.test134
-rw-r--r--tcl8.6/tests/listObj.test209
-rw-r--r--tcl8.6/tests/llength.test41
-rw-r--r--tcl8.6/tests/lmap.test471
-rw-r--r--tcl8.6/tests/load.test248
-rw-r--r--tcl8.6/tests/lrange.test100
-rw-r--r--tcl8.6/tests/lrepeat.test84
-rw-r--r--tcl8.6/tests/lreplace.test240
-rw-r--r--tcl8.6/tests/lsearch.test528
-rw-r--r--tcl8.6/tests/lset.test481
-rw-r--r--tcl8.6/tests/lsetComp.test431
-rw-r--r--tcl8.6/tests/macOSXFCmd.test181
-rw-r--r--tcl8.6/tests/macOSXLoad.test33
-rw-r--r--tcl8.6/tests/main.test1297
-rw-r--r--tcl8.6/tests/mathop.test1340
-rw-r--r--tcl8.6/tests/misc.test74
-rw-r--r--tcl8.6/tests/msgcat.test1085
-rw-r--r--tcl8.6/tests/namespace-old.test861
-rw-r--r--tcl8.6/tests/namespace.test3282
-rw-r--r--tcl8.6/tests/notify.test327
-rw-r--r--tcl8.6/tests/nre.test451
-rw-r--r--tcl8.6/tests/obj.test635
-rw-r--r--tcl8.6/tests/oo.test3737
-rw-r--r--tcl8.6/tests/ooNext2.test1065
-rw-r--r--tcl8.6/tests/opt.test245
-rw-r--r--tcl8.6/tests/package.test1279
-rw-r--r--tcl8.6/tests/parse.test1138
-rw-r--r--tcl8.6/tests/parseExpr.test1079
-rw-r--r--tcl8.6/tests/parseOld.test552
-rw-r--r--tcl8.6/tests/pid.test57
-rw-r--r--tcl8.6/tests/pkgMkIndex.test698
-rw-r--r--tcl8.6/tests/platform.test84
-rw-r--r--tcl8.6/tests/proc-old.test517
-rw-r--r--tcl8.6/tests/proc.test396
-rw-r--r--tcl8.6/tests/pwd.test31
-rw-r--r--tcl8.6/tests/reg.test1229
-rw-r--r--tcl8.6/tests/regexp.test1133
-rw-r--r--tcl8.6/tests/regexpComp.test997
-rw-r--r--tcl8.6/tests/registry.test691
-rw-r--r--tcl8.6/tests/remote.tcl159
-rw-r--r--tcl8.6/tests/rename.test192
-rw-r--r--tcl8.6/tests/resolver.test206
-rw-r--r--tcl8.6/tests/result.test147
-rw-r--r--tcl8.6/tests/safe.test846
-rw-r--r--tcl8.6/tests/scan.test853
-rw-r--r--tcl8.6/tests/security.test45
-rw-r--r--tcl8.6/tests/set-old.test940
-rw-r--r--tcl8.6/tests/set.test568
-rw-r--r--tcl8.6/tests/socket.test2413
-rw-r--r--tcl8.6/tests/source.test312
-rw-r--r--tcl8.6/tests/split.test88
-rw-r--r--tcl8.6/tests/stack.test62
-rw-r--r--tcl8.6/tests/string.test2004
-rw-r--r--tcl8.6/tests/stringComp.test798
-rw-r--r--tcl8.6/tests/stringObj.test491
-rw-r--r--tcl8.6/tests/subst.test311
-rw-r--r--tcl8.6/tests/switch.test772
-rw-r--r--tcl8.6/tests/tailcall.test696
-rw-r--r--tcl8.6/tests/tcltest.test1837
-rw-r--r--tcl8.6/tests/thread.test1443
-rw-r--r--tcl8.6/tests/timer.test605
-rw-r--r--tcl8.6/tests/tm.test245
-rw-r--r--tcl8.6/tests/trace.test2686
-rw-r--r--tcl8.6/tests/unixFCmd.test441
-rw-r--r--tcl8.6/tests/unixFile.test65
-rw-r--r--tcl8.6/tests/unixForkEvent.test45
-rw-r--r--tcl8.6/tests/unixInit.test402
-rw-r--r--tcl8.6/tests/unixNotfy.test102
-rw-r--r--tcl8.6/tests/unknown.test65
-rw-r--r--tcl8.6/tests/unload.test313
-rw-r--r--tcl8.6/tests/uplevel.test305
-rw-r--r--tcl8.6/tests/upvar.test588
-rw-r--r--tcl8.6/tests/utf.test452
-rw-r--r--tcl8.6/tests/util.test4028
-rw-r--r--tcl8.6/tests/var.test993
-rw-r--r--tcl8.6/tests/while-old.test119
-rw-r--r--tcl8.6/tests/while.test702
-rw-r--r--tcl8.6/tests/winConsole.test48
-rw-r--r--tcl8.6/tests/winDde.test491
-rw-r--r--tcl8.6/tests/winFCmd.test1465
-rw-r--r--tcl8.6/tests/winFile.test224
-rw-r--r--tcl8.6/tests/winNotify.test162
-rw-r--r--tcl8.6/tests/winPipe.test454
-rw-r--r--tcl8.6/tests/winTime.test66
-rw-r--r--tcl8.6/tests/zlib.test926
-rw-r--r--tcl8.6/tools/Makefile.in67
-rw-r--r--tcl8.6/tools/README25
-rwxr-xr-xtcl8.6/tools/checkLibraryDoc.tcl293
-rwxr-xr-xtcl8.6/tools/configure2170
-rw-r--r--tcl8.6/tools/configure.in35
-rw-r--r--tcl8.6/tools/encoding/Makefile110
-rw-r--r--tcl8.6/tools/encoding/README5
-rw-r--r--tcl8.6/tools/encoding/ascii.txt95
-rw-r--r--tcl8.6/tools/encoding/big5.txt13904
-rw-r--r--tcl8.6/tools/encoding/cjk.inf4467
-rw-r--r--tcl8.6/tools/encoding/cp1250.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1251.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1252.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1253.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1254.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1255.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1256.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1257.txt274
-rw-r--r--tcl8.6/tools/encoding/cp1258.txt274
-rw-r--r--tcl8.6/tools/encoding/cp437.txt273
-rw-r--r--tcl8.6/tools/encoding/cp737.txt273
-rw-r--r--tcl8.6/tools/encoding/cp775.txt274
-rw-r--r--tcl8.6/tools/encoding/cp850.txt273
-rw-r--r--tcl8.6/tools/encoding/cp852.txt273
-rw-r--r--tcl8.6/tools/encoding/cp855.txt274
-rw-r--r--tcl8.6/tools/encoding/cp857.txt274
-rw-r--r--tcl8.6/tools/encoding/cp860.txt274
-rw-r--r--tcl8.6/tools/encoding/cp861.txt274
-rw-r--r--tcl8.6/tools/encoding/cp862.txt274
-rw-r--r--tcl8.6/tools/encoding/cp863.txt274
-rw-r--r--tcl8.6/tools/encoding/cp864.txt274
-rw-r--r--tcl8.6/tools/encoding/cp865.txt274
-rw-r--r--tcl8.6/tools/encoding/cp866.txt274
-rw-r--r--tcl8.6/tools/encoding/cp869.txt274
-rw-r--r--tcl8.6/tools/encoding/cp874.txt274
-rw-r--r--tcl8.6/tools/encoding/cp932.txt7998
-rw-r--r--tcl8.6/tools/encoding/cp936.txt22065
-rw-r--r--tcl8.6/tools/encoding/cp949.txt17322
-rw-r--r--tcl8.6/tools/encoding/cp950.txt13777
-rw-r--r--tcl8.6/tools/encoding/dingbats.txt250
-rw-r--r--tcl8.6/tools/encoding/ebcdic.txt289
-rw-r--r--tcl8.6/tools/encoding/gb12345.txt7604
-rw-r--r--tcl8.6/tools/encoding/gb1988.txt158
-rw-r--r--tcl8.6/tools/encoding/gb2312.txt7513
-rw-r--r--tcl8.6/tools/encoding/iso2022-jp.esc10
-rw-r--r--tcl8.6/tools/encoding/iso2022-kr.esc5
-rw-r--r--tcl8.6/tools/encoding/iso2022.esc12
-rw-r--r--tcl8.6/tools/encoding/iso8859-1.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-10.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-13.txt299
-rw-r--r--tcl8.6/tools/encoding/iso8859-14.txt301
-rw-r--r--tcl8.6/tools/encoding/iso8859-15.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-16.txt299
-rw-r--r--tcl8.6/tools/encoding/iso8859-2.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-3.txt296
-rw-r--r--tcl8.6/tools/encoding/iso8859-4.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-5.txt303
-rw-r--r--tcl8.6/tools/encoding/iso8859-6.txt260
-rw-r--r--tcl8.6/tools/encoding/iso8859-7.txt302
-rw-r--r--tcl8.6/tools/encoding/iso8859-8.txt270
-rw-r--r--tcl8.6/tools/encoding/iso8859-9.txt307
-rw-r--r--tcl8.6/tools/encoding/jis0201.txt202
-rw-r--r--tcl8.6/tools/encoding/jis0208.txt6940
-rw-r--r--tcl8.6/tools/encoding/jis0212.txt6141
-rw-r--r--tcl8.6/tools/encoding/koi8-r.txt302
-rw-r--r--tcl8.6/tools/encoding/ksc5601.txt8262
-rw-r--r--tcl8.6/tools/encoding/macCentEuro.txt319
-rw-r--r--tcl8.6/tools/encoding/macCroatian.txt347
-rw-r--r--tcl8.6/tools/encoding/macCyrillic.txt344
-rw-r--r--tcl8.6/tools/encoding/macDingbats.txt260
-rw-r--r--tcl8.6/tools/encoding/macGreek.txt338
-rw-r--r--tcl8.6/tools/encoding/macIceland.txt365
-rw-r--r--tcl8.6/tools/encoding/macJapan.txt7598
-rw-r--r--tcl8.6/tools/encoding/macRoman.txt364
-rw-r--r--tcl8.6/tools/encoding/macRomania.txt285
-rw-r--r--tcl8.6/tools/encoding/macThai.txt299
-rw-r--r--tcl8.6/tools/encoding/macTurkish.txt334
-rw-r--r--tcl8.6/tools/encoding/macUkraine.txt279
-rw-r--r--tcl8.6/tools/encoding/shiftjis.txt7096
-rw-r--r--tcl8.6/tools/encoding/symbol.txt265
-rw-r--r--tcl8.6/tools/encoding/tis-620.txt263
-rw-r--r--tcl8.6/tools/encoding/txt2enc.c251
-rw-r--r--tcl8.6/tools/eolFix.tcl80
-rw-r--r--tcl8.6/tools/feather.bmpbin2102 -> 0 bytes-rwxr-xr-xtcl8.6/tools/findBadExternals.tcl53
-rwxr-xr-xtcl8.6/tools/fix_tommath_h.tcl102
-rw-r--r--tcl8.6/tools/genStubs.tcl1179
-rw-r--r--tcl8.6/tools/index.tcl199
-rw-r--r--tcl8.6/tools/installData.tcl50
-rwxr-xr-xtcl8.6/tools/loadICU.tcl619
-rwxr-xr-xtcl8.6/tools/makeTestCases.tcl1180
-rw-r--r--tcl8.6/tools/man2help.tcl141
-rw-r--r--tcl8.6/tools/man2help2.tcl1033
-rw-r--r--tcl8.6/tools/man2html.tcl185
-rw-r--r--tcl8.6/tools/man2html1.tcl258
-rw-r--r--tcl8.6/tools/man2html2.tcl927
-rw-r--r--tcl8.6/tools/man2tcl.c424
-rw-r--r--tcl8.6/tools/mkdepend.tcl420
-rw-r--r--tcl8.6/tools/regexpTestLib.tcl263
-rw-r--r--tcl8.6/tools/str2c59
-rw-r--r--tcl8.6/tools/tcl.hpj.in19
-rwxr-xr-xtcl8.6/tools/tclZIC.tcl1373
-rw-r--r--tcl8.6/tools/tclsh.svg67
-rw-r--r--tcl8.6/tools/tcltk-man2html-utils.tcl1629
-rwxr-xr-xtcl8.6/tools/tcltk-man2html.tcl752
-rw-r--r--tcl8.6/tools/tsdPerf.c59
-rw-r--r--tcl8.6/tools/tsdPerf.tcl24
-rw-r--r--tcl8.6/tools/uniClass.tcl130
-rw-r--r--tcl8.6/tools/uniParse.tcl411
-rw-r--r--tcl8.6/tools/white.bmpbin20522 -> 0 bytes-rw-r--r--tcl8.6/unix/Makefile.in2117
-rw-r--r--tcl8.6/unix/README169
-rw-r--r--tcl8.6/unix/aclocal.m41
-rwxr-xr-xtcl8.6/unix/configure20272
-rw-r--r--tcl8.6/unix/configure.in998
-rw-r--r--tcl8.6/unix/dltest/Makefile.in110
-rw-r--r--tcl8.6/unix/dltest/README4
-rw-r--r--tcl8.6/unix/dltest/pkga.c145
-rw-r--r--tcl8.6/unix/dltest/pkgb.c190
-rw-r--r--tcl8.6/unix/dltest/pkgc.c170
-rw-r--r--tcl8.6/unix/dltest/pkgd.c170
-rw-r--r--tcl8.6/unix/dltest/pkge.c54
-rw-r--r--tcl8.6/unix/dltest/pkgooa.c141
-rw-r--r--tcl8.6/unix/dltest/pkgua.c341
-rwxr-xr-xtcl8.6/unix/install-sh528
-rwxr-xr-xtcl8.6/unix/installManPage117
-rwxr-xr-xtcl8.6/unix/ldAix58
-rw-r--r--tcl8.6/unix/tcl.m43138
-rw-r--r--tcl8.6/unix/tcl.pc.in15
-rw-r--r--tcl8.6/unix/tcl.spec52
-rw-r--r--tcl8.6/unix/tclAppInit.c169
-rw-r--r--tcl8.6/unix/tclConfig.h.in511
-rw-r--r--tcl8.6/unix/tclConfig.sh.in169
-rw-r--r--tcl8.6/unix/tclLoadAix.c630
-rw-r--r--tcl8.6/unix/tclLoadDl.c274
-rw-r--r--tcl8.6/unix/tclLoadDyld.c717
-rw-r--r--tcl8.6/unix/tclLoadNext.c217
-rw-r--r--tcl8.6/unix/tclLoadOSF.c235
-rw-r--r--tcl8.6/unix/tclLoadShl.c224
-rw-r--r--tcl8.6/unix/tclUnixChan.c1937
-rw-r--r--tcl8.6/unix/tclUnixCompat.c1022
-rw-r--r--tcl8.6/unix/tclUnixEvent.c95
-rw-r--r--tcl8.6/unix/tclUnixFCmd.c2517
-rw-r--r--tcl8.6/unix/tclUnixFile.c1243
-rw-r--r--tcl8.6/unix/tclUnixInit.c1078
-rw-r--r--tcl8.6/unix/tclUnixNotfy.c1493
-rw-r--r--tcl8.6/unix/tclUnixPipe.c1327
-rw-r--r--tcl8.6/unix/tclUnixPort.h725
-rw-r--r--tcl8.6/unix/tclUnixSock.c1665
-rw-r--r--tcl8.6/unix/tclUnixTest.c782
-rw-r--r--tcl8.6/unix/tclUnixThrd.c823
-rw-r--r--tcl8.6/unix/tclUnixThrd.h19
-rw-r--r--tcl8.6/unix/tclUnixTime.c541
-rw-r--r--tcl8.6/unix/tclXtNotify.c667
-rw-r--r--tcl8.6/unix/tclXtTest.c134
-rw-r--r--tcl8.6/unix/tclooConfig.sh19
-rw-r--r--tcl8.6/win/Makefile.in882
-rw-r--r--tcl8.6/win/README99
-rw-r--r--tcl8.6/win/aclocal.m41
-rw-r--r--tcl8.6/win/buildall.vc.bat103
-rw-r--r--tcl8.6/win/cat.c41
-rw-r--r--tcl8.6/win/coffbase.txt43
-rwxr-xr-xtcl8.6/win/configure6296
-rw-r--r--tcl8.6/win/configure.in464
-rw-r--r--tcl8.6/win/makefile.bc594
-rw-r--r--tcl8.6/win/makefile.vc1239
-rw-r--r--tcl8.6/win/nmakehlp.c697
-rw-r--r--tcl8.6/win/rules.vc698
-rw-r--r--tcl8.6/win/tcl.dsp1567
-rw-r--r--tcl8.6/win/tcl.dsw29
-rw-r--r--tcl8.6/win/tcl.hpj.in19
-rw-r--r--tcl8.6/win/tcl.m41299
-rw-r--r--tcl8.6/win/tcl.rc57
-rw-r--r--tcl8.6/win/tclAppInit.c338
-rw-r--r--tcl8.6/win/tclConfig.sh.in180
-rw-r--r--tcl8.6/win/tclWin32Dll.c801
-rw-r--r--tcl8.6/win/tclWinChan.c1588
-rw-r--r--tcl8.6/win/tclWinConsole.c1502
-rw-r--r--tcl8.6/win/tclWinDde.c1901
-rw-r--r--tcl8.6/win/tclWinError.c428
-rw-r--r--tcl8.6/win/tclWinFCmd.c1968
-rwxr-xr-xtcl8.6/win/tclWinFile.c3204
-rw-r--r--tcl8.6/win/tclWinInit.c721
-rw-r--r--tcl8.6/win/tclWinInt.h89
-rw-r--r--tcl8.6/win/tclWinLoad.c402
-rw-r--r--tcl8.6/win/tclWinNotify.c608
-rw-r--r--tcl8.6/win/tclWinPipe.c3167
-rw-r--r--tcl8.6/win/tclWinPort.h571
-rw-r--r--tcl8.6/win/tclWinReg.c1547
-rw-r--r--tcl8.6/win/tclWinSerial.c2297
-rw-r--r--tcl8.6/win/tclWinSock.c3376
-rw-r--r--tcl8.6/win/tclWinTest.c663
-rw-r--r--tcl8.6/win/tclWinThrd.c1102
-rw-r--r--tcl8.6/win/tclWinTime.c1165
-rw-r--r--tcl8.6/win/tclooConfig.sh19
-rw-r--r--tcl8.6/win/tclsh.exe.manifest.in53
-rw-r--r--tcl8.6/win/tclsh.icobin57022 -> 0 bytes-rw-r--r--tcl8.6/win/tclsh.rc82
2051 files changed, 0 insertions, 1009321 deletions
diff --git a/tcl8.6/.fossil-settings/binary-glob b/tcl8.6/.fossil-settings/binary-glob
deleted file mode 100644
index ca85874..0000000
--- a/tcl8.6/.fossil-settings/binary-glob
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bmp
-*.gif
-*.png
diff --git a/tcl8.6/.fossil-settings/crnl-glob b/tcl8.6/.fossil-settings/crnl-glob
deleted file mode 100644
index c014320..0000000
--- a/tcl8.6/.fossil-settings/crnl-glob
+++ /dev/null
@@ -1,10 +0,0 @@
-tools/tcl.hpj.in
-tools/tcl.wse.in
-win/buildall.vc.bat
-win/coffbase.txt
-win/makefile.bc
-win/makefile.vc
-win/rules.vc
-win/tcl.dsp
-win/tcl.dsw
-win/tcl.hpj.in
diff --git a/tcl8.6/.fossil-settings/encoding-glob b/tcl8.6/.fossil-settings/encoding-glob
deleted file mode 100644
index c014320..0000000
--- a/tcl8.6/.fossil-settings/encoding-glob
+++ /dev/null
@@ -1,10 +0,0 @@
-tools/tcl.hpj.in
-tools/tcl.wse.in
-win/buildall.vc.bat
-win/coffbase.txt
-win/makefile.bc
-win/makefile.vc
-win/rules.vc
-win/tcl.dsp
-win/tcl.dsw
-win/tcl.hpj.in
diff --git a/tcl8.6/.fossil-settings/ignore-glob b/tcl8.6/.fossil-settings/ignore-glob
deleted file mode 100644
index 9ed86b1..0000000
--- a/tcl8.6/.fossil-settings/ignore-glob
+++ /dev/null
@@ -1,24 +0,0 @@
-*.a
-*.dll
-*.dylib
-*.exe
-*.exp
-*.lib
-*.o
-*.obj
-*.res
-*.sl
-*.so
-*/Makefile
-*/config.cache
-*/config.log
-*/config.status
-*/tclConfig.sh
-*/tclsh*
-*/tcltest*
-*/versions.vc
-unix/dltest.marker
-unix/tcl.pc
-unix/pkgs/*
-win/pkgs/*
-win/tcl.hpj
diff --git a/tcl8.6/.project b/tcl8.6/.project
deleted file mode 100644
index 358cc74..0000000
--- a/tcl8.6/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>tcl8.6</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/tcl8.6/.settings/org.eclipse.core.resources.prefs b/tcl8.6/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tcl8.6/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tcl8.6/.settings/org.eclipse.core.runtime.prefs b/tcl8.6/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22..0000000
--- a/tcl8.6/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/tcl8.6/ChangeLog b/tcl8.6/ChangeLog
deleted file mode 100644
index e2881a0..0000000
--- a/tcl8.6/ChangeLog
+++ /dev/null
@@ -1,8856 +0,0 @@
-A NOTE ON THE CHANGELOG:
-Starting in early 2011, Tcl source code has been under the management of
-fossil, hosted at http://core.tcl.tk/tcl/ . Fossil presents a "Timeline"
-view of changes made that is superior in every way to a hand edited log file.
-Because of this, many Tcl developers are now out of the habit of maintaining
-this log file. You may still find useful things in it, but the Timeline is
-a better first place to look now.
-============================================================================
-
-2013-09-19 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6.1 TAGGED FOR RELEASE ***
-
- * generic/tcl.h: Bump version number to 8.6.1.
- * library/init.tcl:
- * unix/configure.in:
- * win/configure.in:
- * unix/tcl.spec:
- * README:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2013-09-19 Donal Fellows <dkf@users.sf.net>
-
- * doc/next.n (METHOD SEARCH ORDER): Bug [3606943]: Corrected
- description of method search order.
-
-2013-09-18 Donal Fellows <dkf@users.sf.net>
-
- Bump TclOO version to 1.0.1 for release.
-
-2013-09-17 Donal Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (BinaryEncodeUu, BinaryDecodeUu): [Bug 2152292]:
- Corrected implementation of the core of uuencode handling so that the
- line length processing is correctly applied.
- ***POTENTIAL INCOMPATIBILITY***
- Existing code that was using the old versions and working around the
- limitations will now need to do far less. The -maxlen option now has
- strict limits on the range of supported lengths; this is a limitation
- of the format itself.
-
-2013-09-09 Donal Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (CloneProcedureMethod): [Bug 3609693]: Strip
- the internal representation of method bodies during cloning in order
- to ensure that any bound references to instance variables are removed.
-
-2013-09-01 Donal Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (BinaryDecodeHex): [Bug b98fa55285]: Ensure that
- whitespace at the end of a string don't cause the decoder to drop the
- last decoded byte.
-
-2013-08-03 Donal Fellows <dkf@users.sf.net>
-
- * library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found
- by the autoloading mechanism.
-
-2013-08-02 Donal Fellows <dkf@users.sf.net>
-
- * generic/tclOODefineCmds.c (ClassSuperSet): Bug [9d61624b3d]: Stop
- crashes when emptying the superclass slot, even when doing elaborate
- things with metaclasses.
-
-2013-08-01 Harald Oehlmann <oehhar@users.sf.net>
-
- * tclUnixNotify.c (Tcl_InitNotifier): Bug [a0bc856dcd]: Start notifier
- thread again if we were forked, to solve Rivet bug 55153.
-
-2013-07-05 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Asuncion:
- * library/tzdata/Antarctica/Macquarie:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Hebron:
- * library/tzdata/Asia/Jerusalem:
- http://www.iana.org/time-zones/repository/releases/tzdata2013d.tar.gz
-
-2013-07-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclXtNotify.c: Bug [817249]: bring tclXtNotify.c up to date with
- Tcl_SetNotifier() change.
-
-2013-07-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Bug [32afa6e256]: dirent64 check is incorrect in tcl.m4
- * unix/configure: (thanks to Brian Griffin)
-
-2013-06-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclConfig.c: Bug [9b2e636361]: Tcl_CreateInterp() needs
- * generic/tclMain.c: initialized encodings.
-
-2013-06-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclEvent.c: Bug [3611974]: InitSubsystems multiple thread
- issue.
-
-2013-06-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/regc_locale.c: Bug [a876646efe]: re_expr character class
- [:cntrl:] should contain \u0000 - \u001f
-
-2013-06-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (TclCompileTryCmd): [Bug 779d38b996]:
- Rewrote the [try] compiler to generate better code in some cases and
- to behave correctly in others; when an error happens during the
- processing of an exception-trap clause or a finally clause, the
- *original* return options are now captured in a -during option, even
- when fully compiled.
-
-2013-06-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (INST_EXPAND_DROP): [Bugs 2835313, 3614226]:
- New opcode to allow resetting the stack to get rid of an expansion,
- restoring the stack to a known state in the process.
- * generic/tclCompile.c, generic/tclCompCmds.c: Adjusted the compilers
- for [break] and [continue] to get stack cleanup right in the majority
- of cases.
- * tests/for.test (for-7.*): Set of tests for these evil cases.
-
-2013-06-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Eliminate NO_VIZ macro as current zlib uses HAVE_HIDDEN
- instead. One more last-moment fix for FreeBSD by Pietro Cerutti
-
-2013-06-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fix for perf bug detected by Kieran
- (https://groups.google.com/forum/?fromgroups#!topic/comp.lang.tcl/vfpI3bc-DkQ),
- diagnosed by dgp to be a close relative of [Bug 781585], which was
- fixed by commit [f46fb50cb3]. This bug was introduced by myself in
- commit [cbfe055d8c].
-
-2013-06-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileBreakCmd, TclCompileContinueCmd):
- Added code to allow [break] and [continue] to be issued as a jump (in
- the most common cases) rather than using the more expensive exception
- processing path in the bytecode engine. [Bug 3614226]: Partial fix for
- the issues relating to cleaning up the stack when dealing with [break]
- and [continue].
-
-2013-05-27 Harald Oehlmann <oehhar@users.sf.net>
-
- * library/msgcat/msgcat.tcl: [Bug 3036566]: Also get locale from
- registry key HCU\Control Panel\Desktop : PreferredUILanguages to honor
- installed language packs on Vista+.
- Bumped msgcat version to 1.5.2
-
-2013-05-22 Andreas Kupries <andreask@activestate.com>
-
- * tclCompile.c: Removed duplicate const qualifier causing the HP
- native cc to error out.
-
-2013-05-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclUtf.c (TclUtfCasecmp): [Bug 3613609]: Replace problematic
- uses of strcasecmp with a proper UTF-8-aware version. Affects both
- [lsearch -nocase] and [lsort -nocase].
-
-2013-05-22 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n: [Bug 3613671]: Added note to portability section on the
- fact that [file owned] does not produce useful results on Windows.
-
-2013-05-20 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixFCmd.c (DefaultTempDir): [Bug 3613567]: Corrected logic
- for checking return code of access() system call, which was inverted.
-
-2013-05-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Fix for FreeBSD, and remove support for older
- * unix/configure: FreeBSD versions. Patch by Pietro Cerutti.
-
-2013-05-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsGR.c: Split tclCompCmds.c again to keep size of
- code down.
-
-2013-05-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: Add panic in order to detect incompatible
- mingw32 sys/stat.h and sys/time.h headers.
-
-2013-05-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/zlib/*: Upgrade to zlib 1.2.8
-
-2013-05-10 Donal K. Fellows <dkf@users.sf.net>
-
- Optimizations and general bytecode generation improvements.
- * generic/tclCompCmds.c (TclCompileAppendCmd, TclCompileLappendCmd):
- (TclCompileReturnCmd): Make these generate bytecode in more cases.
- (TclCompileListCmd): Make this able to push a literal when it can.
- * generic/tclCompile.c (TclSetByteCodeFromAny, PeepholeOptimize):
- Added checks to see if we can apply some simple cross-command-boundary
- optimizations, and defined a small number of such optimizations.
- (TclCompileScript): Added the special ability to compile the list
- command with expansion ([list {*}blah]) into bytecode that does not
- call an external command.
-
-2013-05-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStubInit.c: Add support for Cygwin64, which has a 64-bit
- * generic/tclDecls.h: "long" type. Binary compatibility with win64
- requires that all stub entries use 32-bit long's, therefore the need
- for various wrapper functions/macros. For Tcl 9 a better solution is
- needed, but that cannot be done without introducing binary
- incompatibility.
-
-2013-04-30 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl (::platform::LibcVersion):
- * library/platform/pkgIndex.tcl: Followup to the 2013-01-30 change.
- The RE become too restrictive again. SuSe added a timestamp after the
- version. Loosened up a bit. Bumped package to version 1.0.12.
-
-2013-04-29 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileArraySetCmd): Generate better code
- when the list of things to set is a literal.
-
-2013-04-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj
- and Tcl_SetBooleanObj as macros using Tcl_NewIntObj, Tcl_DbNewLongObj
- and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it
- only eliminates code duplication.
- * generic/tclInt.h: Eliminate use of NO_WIDE_TYPE everywhere: It's
- exactly the same as TCL_WIDE_INT_IS_LONG
-
-2013-04-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: Implement many Tcl_*Var* functions and
- Tcl_GetIndexFromObj as (faster/stack-saving) macros around resp their
- Tcl_*Var*2 equivalent and Tcl_GetIndexFromObjStruct.
-
-2013-04-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: Implement Tcl_Pkg* functions as
- (faster/stack-saving) macros around Tcl_Pkg*Ex functions.
-
-2013-04-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regc_color.c: [Bug 3610026]: Stop crash when the number of
- * generic/regerrs.h: "colors" in a regular expression overflows a
- * generic/regex.h: short int. Thanks to Heikki Linnakangas for
- * generic/regguts.h: the report and the patch.
- * tests/regexp.test:
-
-2013-04-04 Reinhard Max <max@suse.de>
-
- * library/http/http.tcl (http::geturl): Allow URLs that don't have a
- path, but a query query, e.g. http://example.com?foo=bar
- * Bump the http package to 2.8.7.
-
-2013-03-22 Venkat Iyer <venkat@comit.com>
- * library/tzdata/Africa/Cairo: Update to tzdata2013b.
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/Africa/Gaborone:
- * library/tzdata/Africa/Tripoli:
- * library/tzdata/America/Asuncion:
- * library/tzdata/America/Barbados:
- * library/tzdata/America/Bogota:
- * library/tzdata/America/Costa_Rica:
- * library/tzdata/America/Curacao:
- * library/tzdata/America/Nassau:
- * library/tzdata/America/Port-au-Prince:
- * library/tzdata/America/Santiago:
- * library/tzdata/Antarctica/Palmer:
- * library/tzdata/Asia/Aden:
- * library/tzdata/Asia/Hong_Kong:
- * library/tzdata/Asia/Muscat:
- * library/tzdata/Asia/Rangoon:
- * library/tzdata/Asia/Shanghai:
- * library/tzdata/Atlantic/Bermuda:
- * library/tzdata/Europe/Vienna:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Fiji:
- * library/tzdata/Asia/Khandyga: (new)
- * library/tzdata/Asia/Ust-Nera: (new)
- * library/tzdata/Europe/Busingen: (new)
-
-2013-03-21 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: [Bug 2102614]: Add ensemble indexing support to
- * tests/autoMkindex.test: [auto_mkindex]. Thanks Brian Griffin.
-
-2013-03-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFCmd.c: [Bug 3597000]: Consistent [file copy] result.
- * tests/fileSystem.test:
-
-2013-03-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: [Bug 3608360]: Incompatible behaviour of "file
- exists".
-
-2013-03-18 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/cmdAH.test (cmdAH-19.12): [Bug 3608360]: Added test to ensure
- that we never ever allow [file exists] to do globbing.
-
-2013-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Patch by Andrew Shadura, providing better support for
- three architectures they have in Debian.
-
-2013-03-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: [Bugs 3607246,3607372]: Unbalanced refcounts
- * generic/tclLiteral.c: of literals in the global literal table.
-
-2013-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regc_nfa.c: [Bugs 3604074,3606683]: Rewrite of the
- * generic/regcomp.c: fixempties() routine (and supporting routines)
- to completely eliminate the infinite loop hazard. Thanks to Tom Lane
- for the much improved solution.
-
-2013-02-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclLiteral.c: Revise TclReleaseLiteral() to tolerate a NULL
- interp argument.
-
- * generic/tclCompile.c: Update callers and revise mistaken comments.
- * generic/tclProc.c:
-
-2013-02-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/regcomp.c: [Bug 3606139]: missing error check allows
- * tests/regexp.test: regexp to crash Tcl. Thanks to Tom Lane for
- providing the test-case and the patch.
-
-2013-02-26 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/chanio.test (chan-io-28.7): [Bug 3605120]: Stop test from
- hanging when run standalone.
-
-2013-02-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclObj.c: Don't panic if Tcl_ConvertToType is called for a
- type that doesn't have a setFromAnyProc, create a proper error message.
-
-2013-02-25 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/binary.test (binary-41.*): [Bug 3605721]: Test independence
- fixes. Thanks to Rolf Ade for pointing out the problem.
-
-2013-02-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/assocd.test: [Bugs 3605719,3605720]: Test independence.
- * tests/basic.test: Thanks Rolf Ade for patches.
-
-2013-02-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/fake-rfc2553.c: [Bug 3599194]: compat/fake-rfc2553.c is
- broken.
-
-2013-02-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclAssembly.c: Shift more burden of smart cleanup
- * generic/tclCompile.c: onto the TclFreeCompileEnv() routine.
- Stop crashes when the hookProc raises an error.
-
-2013-02-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: [Bug 3605447]: Make sure the -clear option
- * tests/namespace.test: to [namespace export] always clears, whether
- or not new export patterns are specified.
-
-2013-02-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: [Bug 3605401]: Compiler error with latest mingw-w64
- headers.
-
-2013-02-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTrace.c: [Bug 2438181]: Incorrect error reporting in
- * tests/trace.test: traces. Test-case and fix provided by Poor
- Yorick.
-
-2013-02-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regc_nfa.c: [Bug 3604074]: Fix regexp optimization to
- * tests/regexp.test: stop hanging on the expression
- ((((((((a)*)*)*)*)*)*)*)* . Thanks to Bjørn Grathwohl for discovery.
-
-2013-02-14 Harald Oehlmann <oehhar@users.sf.net>
-
- * library/msgcat/msgcat.tcl: [Bug 3604576]: Catch missing registry
- entry "HCU\Control Panel\International".
- Bumped msgcat version to 1.5.1
-
-2013-02-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibTransformOutput): [Bug 3603553]: Ensure that
- data gets written to the underlying stream by compressing transforms
- when the amount of data to be written is one buffer's-worth; problem
- was particularly likely to occur when compressing large quantities of
- not-very-compressible data. Many thanks to Piera Poggio (vampiera) for
- reporting.
-
-2013-02-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 3603695]: Change
- the way that the 'varname' method is implemented so that there are no
- longer problems with interactions due to the resolver. Thanks to
- Taylor Venable <tcvena@gmail.com> for identifying the problem.
-
-2013-02-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/regc_nfa.c (duptraverse): [Bug 3603557]: Increase the
- maximum depth of recursion used when duplicating an automaton in
- response to encountering a "wild" RE that hit the previous limit.
- Allow the limit (DUPTRAVERSE_MAX_DEPTH) to be set by defining its
- value in the Makefile. Problem reported by Jonathan Mills.
-
-2013-02-05 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c: [Bug 3603434]: Make sure TclpObjNormalizePath()
- properly declares "a:/" to be normalized, even when no "A:" drive is
- present on the system.
-
-2013-02-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclLoadNone.c (TclpLoadMemory): [Bug 3433012]: Added dummy
- version of this function to use in the event that a platform thinks it
- can load from memory but cannot actually do so due to it being
- disabled at configuration time.
-
-2013-02-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileArraySetCmd): [Bug 3603163]: Stop
- crash in weird case where [eval] is used to make [array set] get
- confused about whether there is a local variable table or not. Thanks
- to Poor Yorick for identifying a reproducible crashing case.
-
-2013-01-30 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl (::platform::LibcVersion): See
- * library/platform/pkgIndex.tcl: [Bug 3599098]: Fixed the RE
- * unix/Makefile.in: extracting the version to avoid issues with
- * win/Makefile.in: recent changes to the glibc banner. Now targeting a
- less variable part of the string. Bumped package to version 1.0.11.
-
-2013-01-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileArraySetCmd)
- (TclCompileArrayUnsetCmd, TclCompileDictAppendCmd)
- (TclCompileDictCreateCmd, CompileDictEachCmd, TclCompileDictIncrCmd)
- (TclCompileDictLappendCmd, TclCompileDictMergeCmd)
- (TclCompileDictUnsetCmd, TclCompileDictUpdateCmd)
- (TclCompileDictWithCmd, TclCompileInfoCommandsCmd):
- * generic/tclCompCmdsSZ.c (TclCompileStringMatchCmd)
- (TclCompileStringMapCmd): Improve the code generation in cases where
- full compilation is impossible but a full ensemble invoke is provably
- not necessary.
-
-2013-01-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixCompat.c: [Bug 3601804]: platformCPUID segmentation
- fault on Darwin.
-
-2013-01-23 Donal K. Fellows <dkf@users.sf.net>
-
- * library/http/http.tcl (http::geturl): [Bug 2911139]: Do not do vwait
- for connect to avoid reentrancy problems (except when operating
- without a -command option). Internally, this means that all sockets
- created by the http package will always be operated in asynchronous
- mode.
-
-2013-01-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Put back Tcl[GS]etStartupScript(Path|FileName)
- in private stub table, so extensions using this (like Tk 8.4) will
- continue to work in all Tcl 8.x versions. Extensions using this
- still cannot be compiled against Tcl 8.6 headers.
-
-2013-01-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPort.h: [Bug 3598300]: unix: tcl.h does not include
- sys/stat.h
-
-2013-01-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (PushVarName): [Bug 3600328]: Added mechanism
- for suppressing compilation of variables when we couldn't cope with
- the results. Useful for some [array] subcommands.
- * generic/tclEnsemble.c (CompileToCompiledCommand): Must restore the
- compilation environment when a command compiler fails.
-
-2013-01-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (TclZlibInit): [Bug 3601086]: Register the config
- info in the iso8859-1 encoding as that is guaranteed to be present.
-
-2013-01-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * Makefile.in: Allow win32 build with -DTCL_NO_DEPRECATED, just as
- * generic/tcl.h: in the UNIX build. Define Tcl_EvalObj and
- * generic/tclDecls.h: Tcl_GlobalEvalObj as macros, even when
- * generic/tclBasic.c: TCL_NO_DEPRECATED is defined, so Tk can benefit
- from it too.
-
-2013-01-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: More flexible search for win32 tclConfig.sh, backported
- from TEA (not actually used in Tcl, only for Tk)
-
-2013-01-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Put back Tcl_[GS]etStartupScript in internal
- stub table, so extensions using this, compiled against 8.5 headers
- still run in Tcl 8.6.
-
-2013-01-13 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/fileevent.n: [Bug 3436609]: Clarify readable fileevent "false
- positives" in the case of multibyte encodings/transforms.
-
-2013-01-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIntDecls.h: If TCL_NO_DEPRECATED is defined, make sure
- that TIP #139 functions all are taken from the public stub table, even
- if the inclusion is through tclInt.h.
-
-2013-01-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Put back TclBackgroundException in internal
- stub table, so extensions using this, compiled against 8.5 headers
- still run in Tcl 8.6.
-
-2013-01-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/http/http.tcl: [Bug 3599395]: http assumes status line is a
- proper Tcl list.
-
-2013-01-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: [Bug 3092089]: [file normalize] can remove path
- components. [Bug 3587096]: win vista/7: "can't find init.tcl" when
- called via junction without folder list access.
-
-2013-01-07 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclOOStubLib.c: Restrict the stub library to only use
- * generic/tclTomMathStubLib.c: Tcl_PkgRequireEx, Tcl_ResetResult and
- Tcl_AppendResult, not any other function. This puts least restrictions
- on eventual Tcl 9 stubs re-organization, and it works on the widest
- range of Tcl versions.
-
-2013-01-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/http/http.tcl: Don't depend on Spencer-specific regexp
- * tests/env.test: syntax (/u and /U) any more in unrelated places.
- * tests/exec.test:
- Bump http package to 2.8.6.
-
-2013-01-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclEnsemble.c (CompileBasicNArgCommand): Added very simple
- compiler (which just compiles to a normal invoke of the implementation
- command) for many ensemble subcommands where we can prove that there
- is no way for scripts to detect the difference even through error
- handling or [info level]/[info frame]. This improves the code produced
- from some ensembles (e.g., [info], [string]) to the point where the
- ensemble is now not normally seen at the bytecode level at all.
-
-2013-01-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: Insure that PURIFY builds cannot exploit the
- * generic/tclExecute.c: Tcl stack to hide mem defects.
-
-2013-01-03 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/fconfigure.n, doc/CrtChannel.3: Updated to reflect the fact that
- the minimum buffer size is one byte, not ten. Identified by Schelte
- Bron on the Tcler's Chat.
-
- * generic/tclExecute.c (TEBCresume:INST_INVOKE_REPLACE):
- * generic/tclEnsemble.c (TclCompileEnsemble): Added new mechanism to
- allow for more efficient dispatch of non-bytecode-compiled subcommands
- of bytecode-compiled ensembles. This can provide substantial speed
- benefits in some cases.
-
-2013-01-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclEnsemble.c: Remove stray calls to Tcl_Alloc and friends:
- * generic/tclExecute.c: the core should only use ckalloc to allow
- * generic/tclIORTrans.c: MEM_DEBUG to work properly.
- * generic/tclTomMathInterface.c:
-
-2012-12-31 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/string.n: Noted the obsolescence of the 'bytelength',
- 'wordstart' and 'wordend' subcommands, and moved them to later in the
- file.
-
-2012-12-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclListObj.c: [Bug 3598580]: Tcl_ListObjReplace may release
- deleted elements too early.
-
-2012-12-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclUtil.c: [Bug 3598150]: Stop leaking allocated space when
- objifying a zero-length DString. Spotted by afredd.
-
-2012-12-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/dltest/pkgb.c: Inline compat Tcl_GetDefaultEncodingDir.
- * generic/tclStubLib.c: Eliminate unnecessary static HasStubSupport()
- and isDigit() functions, just do the same inline.
-
-2012-12-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (TclSubstCompile): Improved the sequence of
- instructions issued for [subst] when dealing with simple variable
- references.
-
-2012-12-14 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6.0 TAGGED FOR RELEASE ***
-
- * changes: updates for 8.6.0
-
-2012-12-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclZlib.c: Repair same issue with misusing the
- * tests/zlib.test: 'fire and forget' nature of Tcl_ObjSetVar2
- in the new TIP 400 implementation.
-
-2012-12-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdAH.c: (CatchObjCmdCallback): do not decrRefCount
- * tests/cmdAH.test: the newValuePtr sent to Tcl_ObjSetVar2:
- TOSV2 is 'fire and forget', it decrs on its own.
- Fix for [Bug 3595576], found by andrewsh.
-
-2012-12-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Fix Tcl_DecrRefCount macro such that it doesn't
- access its objPtr parameter twice any more.
-
-2012-12-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.6.0.
- * library/init.tcl:
- * unix/configure.in:
- * win/configure.in:
- * unix/tcl.spec:
- * README:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2012-12-10 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (plus-pkgs): Increased robustness of
- version number detection code to deal with packages whose names are
- prefixes of other packages.
- * unix/Makefile.in (dist): Added pkgs/package.list.txt to distribution
- builds to ensure that 'make html' will work better.
-
-2012-12-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/chan.test: Clean up unwanted eofchar side-effect of chan-4.6
- leading to a spurious "'" at end of chan.test under certain conditions
- (see [Bug 3389289] and [Bug 3389251]).
-
- * doc/expr.n: [Bug 3594188]: Clarifications about commas.
-
-2012-12-08 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: Fix busyloop at exit under TCL_FINALIZE_ON_EXIT
- when there are unflushed nonblocking channels. Thanks Miguel for
- spotting.
-
-2012-12-07 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/dltest/pkgb.c: Turn pkgb.so into a Tcl9 interoperability test
- library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 9 should
- either result in an error-message, either succeed, but never crash.
-
-2012-11-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibStreamSubcmd): [Bug 3590483]: Use a mechanism
- for complex option resolution that has fewer problems with more
- finicky compilers.
-
-2012-11-26 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c: Factor out creation of the -sockname and
- -peername lists from TcpGetOptionProc() to TcpHostPortList(). Make it
- robust against implementations of getnameinfo() that error out if
- reverse mapping fails instead of falling back to the numeric
- representation.
-
-2012-11-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (BinaryDecode64): [Bug 3033307]: Corrected
- handling of trailing whitespace when decoding base64. Thanks to Anton
- Kovalenko for reporting, and Andy Goth for the fix and tests.
-
-2012-11-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (INST_STR_RANGE_IMM): [Bug 3588366]: Corrected
- implementation of bounds restriction for end-indexed compiled [string
- range]. Thanks to Emiliano Gavilan for diagnosis and fix.
-
-2012-11-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- IMPLEMENTATION OF TIP#416
-
- New Options for 'load': -global and -lazy
-
- * generic/tcl.h:
- * generic/tclLoad.c
- * unix/tclLoadDl.c
- * unix/tclLoadDyld.c
- * tests/load.test
- * doc/Load.3
- * doc/load.n
-
-2012-11-14 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixFCmd.c (TclUnixOpenTemporaryFile): [Bug 2933003]: Factor
- out all the code to do temporary file creation so that it is possible
- to make it correct in one place. Allow overriding of the back-stop
- default temporary file location at compile time by setting the
- TCL_TEMPORARY_FILE_DIRECTORY #def to a string containing the directory
- name (defaults to "/tmp" as that is the most common default).
-
-2012-11-13 Joe Mistachkin <joe@mistachkin.com>
-
- * win/tclWinInit.c: also search for the library directory (init.tcl,
- encodings, etc) relative to the build directory associated with the
- source checkout.
-
-2012-11-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: re-enable bcc-tailcall, after fixing an
- * generic/tclExecute.c: infinite loop in the TCL_COMPILE_DEBUG mode
-
-
-2012-11-07 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Araguaina:
- * library/tzdata/America/Bahia:
- * library/tzdata/America/Havana:
- * library/tzdata/Asia/Amman:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Hebron:
- * library/tzdata/Asia/Jerusalem:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Fakaofo:
- * library/tzdata/Pacific/Fiji: Import tzdata2012i.
-
-2012-11-06 Donal K. Fellows <dkf@users.sf.net>
-
- * library/http/http.tcl (http::Finish): [Bug 3581754]: Ensure that
- callbacks are done at most once to prevent problems with timeouts on a
- keep-alive connection (combined with reentrant http package use)
- causing excessive stack growth. Not a fix for the underlying problem,
- but ensures that pain will be mostly kept away from users.
- Bump http package to 2.8.5.
-
-2012-11-05 Donal K. Fellows <dkf@users.sf.net>
-
- Added bytecode compilation of many Tcl commands. Some of these are
- total compilations and some are only partial (i.e., only compile in
- some cases). The (sub-)commands affected are:
- * array: exists, set, unset
- * dict: create, exists, merge
- * format: (simple cases only)
- * info: commands, coroutine, level, object
- * info object: class, isa object, namespace
- * namespace: current, code, qualifiers, tail, which
- * regsub: (only cases convertable to simple [string map])
- * self: (only no-argument and [self object] cases)
- * string: first, last, map, range
- * tailcall:
- * yield:
-
- [This was work originally done on the 'dkf-compile-misc-info' branch.]
-
-2012-11-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- IMPLEMENTATION OF TIP#413
-
- Align the [string trim] and [string is space] commands, such that
- [string trim] by default trims all characters for which [string is
- space] returns 1, augmented with the NUL character.
-
- * generic/tclUtf.c: Add NEL, BOM and two more characters to [string is
- space]
- * generic/tclCmdMZ.c: Modify [string trim] for Unicode modifications.
- * generic/regc_locale.c: Regexp engine must match [string is space]
- * doc/string.n
- * tests/string.test
- ***POTENTIAL INCOMPATIBILITY***
- Code that relied on characters not previously trimmed being not
- removed will notice a difference; it is believed that this is rare,
- but a workaround to get the behavior in Tcl 8.5 is to use " \t\n\r" as
- an explicit trim set.
-
-2012-10-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: Dde version number to 1.4.0, ready for Tcl 8.6.0rc1
- * win/makefile.vc
- * win/tclWinDde.c
- * library/dde/pkgIndex.tcl
- * tests/winDde.test
-
-2012-10-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictUnsetCmd): Added compilation of
- the [dict unset] command (for scalar var in LVT only).
-
-2012-10-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Add "flags" parameter from Tcl_LoadFile to
- * generic/tclIOUtil.c: to various internal functions, so these
- * generic/tclLoadNone.c: flags are available through the whole
- * unix/tclLoad*.c: filesystem for (future) internal use.
- * win/tclWinLoad.c:
-
-2012-10-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclNRCoroutineObjCmd): insure that numlevels
- are properly set, fix bug discovered by dkf and reported at
- http://code.activestate.com/lists/tcl-core/12213/
-
-2012-10-16 Donal K. Fellows <dkf@users.sf.net>
-
- IMPLEMENTATION OF TIP#405
-
- New commands for applying a transformation to the elements of a list
- to produce another list (the [lmap] command) and to the mappings of a
- dictionary to produce another dictionary (the [dict map] command). In
- both cases, a [continue] will cause the skipping of an element/pair,
- and a [break] will terminate the construction early and successfully.
-
- * generic/tclCmdAH.c (Tcl_LmapObjCmd, TclNRLmapCmd): Implementation of
- the new [lmap] command, based on (and sharing much of) [foreach].
- * generic/tclDictObj.c (DictMapNRCmd): Implementation of the new [dict
- map] subcommand, based on (and sharing much of) [dict for].
- * generic/tclCompCmds.c (TclCompileLmapCmd, TclCompileDictMapCmd):
- Compilation engines for [lmap] and [dict map].
-
- IMPLEMENTATION OF TIP#400
-
- * generic/tclZlib.c: Allow the specification of a compression
- dictionary (a binary blob used to seed the compression engine) in both
- streams and channel transformations. Also some reorganization to allow
- for getting gzip header dictionaries and controlling buffering levels
- in channel transformations (allowing a trade-off between formal
- correctness and speed).
- (Tcl_ZlibStreamSetCompressionDictionary): New C API to allow setting
- the compression dictionary without using a Tcl script.
-
-2012-10-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDictObj.c: [Bug 3576509]: ::tcl::Bgerror crashes with
- * generic/tclEvent.c: invalid arguments. Better fix, which helps
- for all Tcl_DictObjGet() calls in Tcl's source code.
-
-2012-10-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclEvent.c: [Bug 3576509]: tcl::Bgerror crashes with invalid
- arguments
-
-2012-10-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: [Bug 2459774]: tcl/win/Makefile.in not compatible
- with msys 0.8.
-
-2012-10-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: When checking for std channels being closed,
- compare the channel state, not the channel itself so that stacked
- channels do not cause trouble.
-
-2012-09-26 Reinhard Max <max@suse.de>
-
- * generic/tclIOSock.c (TclCreateSocketAddress): Work around a bug in
- getaddrinfo() on OSX that caused name resolution to fail for [socket
- -server foo -myaddr localhost 0].
-
-2012-09-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/configure.in: New import libraries for zlib 1.2.7, usable for
- * win/configure: all win32/win64 compilers
- * compat/zlib/win32/zdll.lib:
- * compat/zlib/win64/zdll.lib:
-
- * win/tclWinDde.c: [FRQ 3527238]: Full unicode support for dde. Dde
- version is now 1.4.0b2.
- ***POTENTIAL INCOMPATIBILITY***
-
-2012-09-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Make Tcl_Interp a fully opaque structure if
- TCL_NO_DEPRECATED is set (TIP 330 and 336).
- * win/nmakehlp.c: Let "nmakehlp -V" start searching digits after the
- found match (suggested by Harald Oehlmann).
-
-2012-09-19 Harald Oehlmann <oehhar@users.sf.net>
-
- IMPLEMENTATION OF TIP#412.
-
- * library/msgcat/msgcat.tcl: dynamic locale change with mc file
- * library/clock.tcl: load on locale change.
- clock uses new msgcat features.
-
-2012-09-07 Harald Oehlmann <oehhar@users.sf.net>
-
- *** 8.6b3 TAGGED FOR RELEASE ***
-
- IMPLEMENTATION OF TIP#404.
-
- * library/msgcat/msgcat.tcl: [FRQ 3544988]: New commands [mcflset]
- * library/msgcat/pkgIndex.tcl: and [mcflmset] to set mc entries with
- * unix/Makefile.in: implicit message file locale.
- * win/Makefile.in: Bump to 1.5.0.
-
-2012-08-25 Donal K. Fellows <dkf@users.sf.net>
-
- * library/msgs/uk.msg: [Bug 3561330]: Use the correct full name of
- March in Ukrainian. Thanks to Mikhail Teterin for reporting.
-
-2012-08-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBinary.c: [Bug 3496014]: Unecessary memset() in
- Tcl_SetByteArrayObj().
-
-2012-08-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 3559678]: Fix bad filename normalization
- when the last component is the empty string.
-
-2012-08-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Remove wrapper macro for ntohs(): unnecessary,
- because it doesn't require an initialized winsock_2 library. See:
- <http://msdn.microsoft.com/en-us/library/windows/desktop/ms740075%28v=vs.85%29.aspx>
- * win/tclWinSock.c:
- * generic/tclStubInit.c:
-
-2012-08-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/nmakehlp.c: Add "-V<num>" option, in order to be able to detect
- partial version numbers.
-
-2012-08-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/buildall.vc.bat: Only build the threaded builds by default
- * win/rules.vc: Some code cleanup
-
-2010-08-13 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: [Bug 3555454]: Rearrange a bit to quash
- 'declared but never defined' compiler warnings.
-
-2012-08-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/zlib/win64/zlib1.dll: Add 64-bit build of zlib1.dll, and use
- * compat/zlib/win64/zdll.lib: it for the dynamic mingw-w64 build.
- * win/Makefile.in:
- * win/configure.in:
- * win/configure:
-
-2012-08-09 Reinhard Max <max@suse.de>
-
- * tests/http.test: Fix http-3.29 for machines without IPv6 support.
-
-2010-08-08 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: Change one '#ifdef' to '#if defined()' for
- improved consistency within the file.
-
-2012-08-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclfileName.c: [Bug #1536227]: Cygwin network pathname
- * tests/fileName.test: support
-
-2012-08-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: [Bug 3554250]: Overlooked one field of cleanup
- in the thread exit handler for the filesystem subsystem.
-
-2012-07-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInterp.c (Tcl_GetInterpPath):
- * unix/tclUnixPipe.c (TclGetAndDetachPids, Tcl_PidObjCmd):
- * win/tclWinPipe.c (TclGetAndDetachPids, Tcl_PidObjCmd):
- Purge use of Tcl_AppendElement, and corrected conversion of PIDs to
- integer objects.
-
-2012-07-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/nmakehlp.c: Add -Q option from sampleextension.
- * win/Makefile.in: [FRQ 3544967]: Missing objectfiles in static lib
- * win/makefile.vc: (Thanks to Jos Decoster).
-
-2012-07-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: No longer build tcltest.exe to run the tests,
- but use tclsh86.exe in combination with tcltest86.dll to do that.
- * tests/*.test: load tcltest86.dll if necessary.
-
-2012-07-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tests/clock.test: [Bug 3549770]: Multiple test failures running
- * tests/registry.test: tcltest outside build tree
- * tests/winDde.test:
-
-2012-07-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUniData.c: Support Unicode 6.2 (Add Turkish lira sign)
- * generic/regc_locale.c:
-
-2012-07-25 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * win/tclWinPipe.c: [Bug 3547994]: Abandon the synchronous Windows
- pipe driver to its fate when needed to honour TIP#398.
-
-2012-07-24 Trevor Davel <twylite@crypt.co.za>
-
- * win/tclWinSock.c: [Bug: 3545363]: Loop over multiple underlying file
- descriptors for a socket where required (TcpCloseProc, SocketProc).
- Refactor socket/descriptor setup to manage linked list operations in
- one place. Fix memory leak in socket close (TcpCloseProc) and related
- dangling pointers in SocketEventProc.
-
-2012-07-19 Reinhard Max <max@suse.de>
-
- * win/tclWinSock.c (TcpAccept): [Bug: 3545363]: Use a large enough
- buffer for accept()ing IPv6 connections. Fix conversion of host and
- port for passing to the accept proc to be independent of the IP
- version.
-
-2012-07-23 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: [Bug 3545365]: Never try a bg-flush on a dead
- channel, just like before 2011-08-17.
-
-2012-07-19 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclTest.c: Fix several more missing mutex-locks in
- TestasyncCmd.
-
-2012-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclTest.c: [Bug 3544685]: Missing mutex-lock in
- TestasyncCmd since 2011-08-19. Unbounded gratitude to Stuart
- Cassoff for spotting it.
-
-2012-07-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/makefile.vc: [Bug 3544932]: Visual studio compiler check fails
-
-2012-07-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclUtil.c (UpdateStringOfEndOffset): [Bug 3544658]: Stop
- 1-byte overrun in memcpy, that object placement rules made harmless
- but which still caused compiler complaints.
-
-2012-07-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/reg/pkgIndex.tcl: Make registry 1.3 package dynamically
- loadable when ::tcl::pkgconfig is available.
-
-2012-07-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinReg.c: [Bug 3362446]: registry keys command fails
- with 8.5/8.6. Follow Microsofts example better in order to prevent
- problems when using HKEY_PERFORMANCE_DATA.
-
-2012-07-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixNotfy.c: [Bug 3541646]: Don't panic on triggerPipe
- overrun.
-
-2012-07-10 Donal K. Fellows <dkf@users.sf.net>
-
- * win/tclWinSock.c (InitializeHostName): Corrected logic that
- extracted the name of the computer from the gethostname call so that
- it would use the name on success, not failure. Also ensured that the
- buffer size is exactly that recommended by Microsoft.
-
-2012-07-08 Reinhard Max <max@suse.de>
-
- * library/http/http.tcl: [Bug 3531209]: Add fix and test for URLs that
- * tests/http.test: contain literal IPv6 addresses.
-
-2012-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixPipe.c: [Bug 1189293]: Make "<<" binary safe.
- * win/tclWinPipe.c:
-
-2012-07-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclUtil.c (TclDStringAppendObj, TclDStringAppendDString):
- * generic/tclInt.h (TclDStringAppendLiteral, TclDStringClear):
- * generic/tclCompile.h (TclDStringAppendToken): Added wrappers to make
- common cases of appending to Tcl_DStrings simpler to write. Prompted
- by looking at [FRQ 1357401] (these are an _internal_ implementation of
- that FRQ).
-
-2012-06-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/msgcat/msgcat.tcl: Add tn, ro_MO and ru_MO to msgcat.
-
-2012-06-29 Harald Oehlmann <oehhar@users.sf.net>
-
- * library/msgcat/msgcat.tcl: [Bug 3536888]: Locale guessing of
- * library/msgcat/pkgIndex.tcl: msgcat fails on (some) Windows 7. Bump
- * unix/Makefile.in: to 1.4.5
- * win/Makefile.in:
-
-2012-06-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/GetIndex.3: Reinforced the description of the requirement for
- the tables of names to index over to be static, following posting to
- tcl-core by Brian Griffin about a bug caused by Tktreectrl not obeying
- this rule correctly. This does not represent a functionality change,
- merely a clearer documentation of a long-standing constraint.
-
-2012-06-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Let Cygwin shared build link with
- * unix/configure.in: zlib1.dll, not cygz.dll (two less
- * unix/configure: dependencies on cygwin-specific dll's)
- * unix/Makefile.in:
-
-2012-06-26 Reinhard Max <max@suse.de>
-
- * generic/tclIOSock.c: Use EAI_SYSTEM only if it exists.
- * unix/tclUnixSock.c:
-
-2012-06-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileSystem.h: [Bug 3024359]: Make sure that the
- * generic/tclIOUtil.c: per-thread cache of the list of file systems
- * generic/tclPathObj.c: currently registered is only updated at times
- when no active loops are traversing it. Also reduce the amount of
- epoch storing and checking to where it can make a difference.
-
-2012-06-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (EncodingDirsObjCmd): [Bug 3537605]: Do the right
- thing when reporting errors with the number of arguments.
-
-2012-06-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclfileName.c: [Patch 1536227]: Cygwin network pathname
- * tests/fileName.test: support.
-
-2012-06-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixNotfy.c: [Bug 3508771]: Cygwin notifier for handling
- win32 events.
-
-2012-06-22 Reinhard Max <max@suse.de>
-
- * generic/tclIOSock.c: Rework the error message generation of [socket],
- * unix/tclUnixSock.c: so that the error code of getaddrinfo is used
- * win/tclWinSock.c: instead of errno unless it is EAI_SYSTEM.
-
-2012-06-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinReg.c: [Bug 3362446]: registry keys command fails
- * tests/registry.test: with 8.5/8.6
-
-2012-06-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: [Bug 3532959]: Make sure the lifetime
- * generic/tclProc.c: management of entries in the linePBodyPtr
- * tests/proc.test: hash table can tolerate either order of
- teardown, interp first, or Proc first.
-
-2012-06-08 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure.in: Update autogoo for gettimeofday().
- * unix/tclUnixPort.h: Thanks Joe English.
- * unix/configure: autoconf 2.13
-
- * unix/tclUnixPort.h: [Bug 3530533]: Centralize #include <pthread.h>
- * unix/tclUnixThrd.c: in the tclUnixPort.h header so that old unix
- systems that need inclusion in all compilation units are supported.
-
-2012-06-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: Revise the "null data" check: null strings are
- possible, but empty binary arrays are not.
- * tests/winDde.test: Add test-case (winDde-9.4) for transferring
- null-strings with dde. Convert tests to tcltest-2 syntax.
-
-2012-06-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (TclZlibInit): Declare that Tcl is publishing the
- zlib package (version 2.0) as part of its bootstrap process. This will
- have an impact on tclkit (which includes zlib 1.1) but otherwise be
- very low impact.
-
-2012-06-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixInit.c: On Cygwin, use win32 API in stead of uname()
- to determine the tcl_platform variables.
-
-2012-05-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclZlib.c: [Bug 3530536]: zlib-7.4 fails on IRIX64
- * tests/zlib.test:
- * doc/zlib.n: Document that [stream checksum] doesn't do
- what's expected for "inflate" and "deflate" formats
-
-2012-05-31 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (safe::AliasFileSubcommand): Don't assume that
- slaves have corresponding commands, as that is not true for
- sub-subinterpreters (used in Tk's test suite).
-
- * doc/safe.n: [Bug 1997845]: Corrected formatting so that generated
- HTML can link properly.
-
- * tests/socket.test (socket*-13.1): Prevented intermittent test
- failure due to race condition.
-
-2012-05-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/expr.n, doc/mathop.n: [Bug 2931407]: Clarified semantics of
- division and remainder operators.
-
-2012-05-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: [Bug 3525762]: Encoding handling in dde.
- * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX
-
-2012-05-28 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (safe::AliasFileSubcommand): [Bug 3529949]: Made a
- more sophisticated method for preventing information leakage; it
- changes references to "~user" into "./~user", which is safe.
-
-2012-05-25 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/namespace.n, doc/Ensemble.3: [Bug 3528418]: Document what is
- going on with respect to qualification of command prefixes in ensemble
- subcommand maps.
-
- * generic/tclIO.h (SYNTHETIC_EVENT_TIME): Factored out the definition
- of the amount of time that should be waited before firing a synthetic
- event on a channel.
-
-2012-05-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: [Bug 473946]: Special characters were not correctly
- sent, now for XTYP_EXECUTE as well as XTYP_REQUEST.
- * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX
-
-2012-05-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Take cygwin handling of X11 into account.
- * generic/tcl*Decls.h: re-generated
- * generic/tclStubInit.c: Implement TclpIsAtty, Cygwin only.
- * doc/dde.n: Doc fix: "dde execute iexplore" doesn't work
- without -async, because iexplore doesn't return a value
-
-2012-05-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Let cygwin share stub table with win32
- * win/tclWinSock.c: implement TclpInetNtoa for win32
- * generic/tclInt.decls: Revert most of [3caedf05df], since when
- we let cygwin share the win32 stub table this is no longer necessary
- * generic/tcl*Decls.h: re-generated
- * doc/dde.n: 1.3 -> 1.4
-
-2012-05-23 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibTransformInput): [Bug 3525907]: Ensure that
- decompressed input is flushed through the transform correctly when the
- input stream gets to the end. Thanks to Alexandre Ferrieux and Andreas
- Kupries for their work on this.
-
-2012-05-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c: When using Tcl_SetObjLength() calls to
- * generic/tclPathObj.c: grow and shrink the objPtr->bytes
- buffer, care must be taken that the value cannot possibly become pure
- Unicode. Calling Tcl_AppendToObj() has the possibility of making such
- a conversion. Bug found while valgrinding the trunk.
-
-2012-05-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- IMPLEMENTATION OF TIP#106
-
- * win/tclWinDde.c: Added encoding-related abilities to
- * library/dde/pkgIndex.tcl: the [dde] command. The dde package's
- * tests/winDde.test: version is now 1.4.0.
- * doc/dde.n:
-
-2012-05-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOO_Class_Constructor): [Bug 2023112]: Cut
- the amount of hackiness in class constructors, and refactor some of
- the error message handling from [oo::define] to be saner in the face
- of odd happenings.
-
-2012-05-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Corrected
- resulting indexes from -indexvar option to be usable with [string
- range]; this was always the intention (and is consistent with [regexp
- -indices] too).
- ***POTENTIAL INCOMPATIBILITY***
- Uses of [switch -regexp -indexvar] that previously compensated for the
- wrong offsets (by subtracting 1 from the end indices) now do not need
- to do so as the value is correct.
-
- * library/safe.tcl (safe::InterpInit): Ensure that the module path is
- constructed in the correct order.
- (safe::AliasGlob): [Bug 2964715]: More extensive handling of what
- globbing is required to support package loading.
-
- * doc/expr.n: [Bug 3525462]: Corrected statement about what happens
- when comparing "0y" and "0x12"; the previously documented behavior was
- actually a subtle bug (now long-corrected).
-
-2012-05-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (TclMakeFileCommandSafe): [Bug 3445787]: Improve
- the compatibility of safe interpreters' version of 'file' with that of
- unsafe interpreters.
- * library/safe.tcl (::safe::InterpInit): Teach the safe-interp scripts
- about how to expose 'file' properly.
-
-2012-05-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: Protect against receiving strings without ending
- \0, as external applications (or Tcl with TIP #106) could generate
- that.
-
-2012-05-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: [Bug 473946]: Special characters not correctly sent
- * library/dde/pkgIndex.tcl: Increase version to 1.3.3
-
-2012-05-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * {win,unix}/configure{,.in}: [Bug 2812981]: Clean up bundled
- packages' build directory from within Tcl's ./configure, to avoid
- stale configuration.
-
-2012-05-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c: [Bug 3522560]: Fixed the crash, enabled the
- test case. Modified [chan postevent] to properly inject the event(s)
- into the owner thread's event queue for execution in the correct
- context. Renamed the ForwardOpTo...Thread() function to match with our
- terminology.
-
- * tests/ioCmd.test: [Bug 3522560]: Added a test which crashes the core
- if it were not disabled as knownBug. For a reflected channel
- transfered to a different thread the [chan postevent] run in the
- handler thread tries to execute the owner threads's fileevent scripts
- by itself, wrongly reaching across thread boundaries.
-
-2012-04-28 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: Properly close nonblocking channels even when
- not flushing them.
-
-2012-05-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/zlib/*: Upgrade to zlib 1.2.7 (pre-built dll is still 1.2.5,
- will be upgraded as soon as the official build is available)
-
-2012-05-03 Don Porter <dgp@users.sourceforge.net>
-
- * tests/socket.test: [Bug 3428754]: Test socket-14.2 tolerate
- [socket -async] connection that connects synchronously.
-
- * unix/tclUnixSock.c: [Bug 3428753]: Fix [socket -async] connections
- that manage to connect synchronously.
-
-2012-05-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/configure.in: Better detection and implementation for
- * generic/configure: cpuid instruction on Intel-derived
- * generic/tclUnixCompat.c: processors, both 32-bit and 64-bit.
- * generic/tclTest.c: Move cpuid testcase from win-specific to
- * win/tclWinTest.c: generic tests, as it should work on all
- * tests/platform.test: Intel-related platforms now.
-
-2012-04-30 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/ioCmd.test: [Bug 3522560]: Tame deadlocks in broken refchan
- tests.
-
-2012-04-28 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- IMPLEMENTATION OF TIP#398
-
- * generic/tclIO.c: Quickly Exit with Non-Blocking Blocked Channels
- * tests/io.test : *** POTENTIAL INCOMPATIBILITY ***
- * doc/close.n : (compat flag available)
-
-2012-04-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPort.h: Move CYGWIN-specific stuff from tclPort.h to
- * generic/tclEnv.c: tclUnixPort.h, where it belongs.
- * unix/tclUnixPort.h:
- * unix/tclUnixFile.c:
-
-2012-04-27 Donal K. Fellows <dkf@users.sf.net>
-
- * library/init.tcl (auto_execok): Allow shell builtins to be detected
- even if they are upper-cased.
-
-2012-04-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStubInit.c: Get rid of _ANSI_ARGS_ and CONST
- * generic/tclIO.c:
- * generic/tclIOCmd.c:
- * generic/tclTest.c:
- * unix/tclUnixChan.c:
-
-2012-04-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclUtil.c (TclDStringToObj): Added internal function to make
- the fairly-common operation of converting a DString into an Obj a more
- efficient one; for long strings, it can just transfer the ownership of
- the buffer directly. Replaces this:
- obj=Tcl_NewStringObj(Tcl_DStringValue(&ds),Tcl_DStringLength(&ds));
- Tcl_DStringFree(&ds);
- with this:
- obj=TclDStringToObj(&ds);
-
-2012-04-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin
- tclsh
- * generic/tclIntPlatDecls.h: Implement TclWinGetSockOpt,
- * generic/tclStubInit.c: TclWinGetServByName and TclWinCPUID for
- * generic/tclUnixCompat.c: Cygwin.
- * unix/configure.in:
- * unix/configure:
- * unix/tclUnixCompat.c:
-
-2012-04-18 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Port-au-Prince:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Hebron: tzdata2012c
-
-2012-04-16 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/FileSystem.3 (Tcl_FSOpenFileChannelProc): [Bug 3518244]: Fixed
- documentation of this filesystem callback function; it must not
- register its created channel - that's the responsibility of the caller
- of Tcl_FSOpenFileChannel - as that leads to reference leaks.
-
-2012-04-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclEnsemble.c (NsEnsembleImplementationCmdNR):
- * generic/tclIOUtil.c (Tcl_FSEvalFileEx): Cut out levels of the C
- stack by going direct to the relevant internal evaluation function.
-
- * generic/tclZlib.c (ZlibTransformSetOption): [Bug 3517696]: Make
- flushing work correctly in a pushed compressing channel transform.
-
-2012-04-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: [Bug 3514475]: Remove TclpGetTimeZone and
- * generic/tclIntDecls.h: TclpGetTZName
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * unix/tclUnixTime.c:
- * unix/tclWinTilemc:
-
-2012-04-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinInit.c: [Bug 3448512]: clock scan "1958-01-01" fails
- * win/tcl.m4: only in debug compilation.
- * win/configure:
- * unix/tcl.m4: Use NDEBUG consistantly meaning: no debugging.
- * unix/configure:
- * generic/tclBasic.c:
- * library/dde/pkgIndex.tcl: Use [::tcl::pkgconfig get debug] instead
- * library/reg/pkgIndex.tcl: of [info exists ::tcl_platform(debug)]
-
-2012-04-10 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.h (TCL_DEPRECATED_API): [Bug 2458976]: Added macro that
- can be used to mark parts of Tcl's API as deprecated. Currently only
- used for fields of Tcl_Interp, which TIPs 330 and 336 have deprecated
- with a migration strategy; we want to encourage people to move away
- from those fields.
-
-2012-04-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOODefineCmds.c (ClassVarsSet, ObjVarsSet): [Bug 3396896]:
- Ensure that the lists of variable names used to drive variable
- resolution will never have the same name twice.
-
- * generic/tclVar.c (AppendLocals): [Bug 2712377]: Fix problem with
- reporting of declared variables in methods. It's really a problem with
- how [info vars] interacts with variable resolvers; this is just a bit
- of a hack so it is no longer a big problem.
-
-2012-04-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance):
- [Bug 3514761]: Fixed bogosity with automated argument description
- handling when constructing an instance of a class that is itself a
- member of an ensemble. Thanks to Andreas Kupries for identifying that
- this was a problem case at all!
- (Tcl_CopyObjectInstance): Fix potential bleed-over of ensemble
- information into [oo::copy].
-
-2012-04-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinSock.c: [Bug 510001]: TclSockMinimumBuffers needs
- * generic/tclIOSock.c: platform implementation.
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2012-04-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStubInit.c: Remove the TclpGetTZName implementation for
- * generic/tclIntDecls.h: Cygwin (from 2012-04-02 commit), re-generated
- * generic/tclIntPlatDecls.h:
-
-2012-04-02 Donal K. Fellows <dkf@users.sf.net>
-
- IMPLEMENTATION OF TIP#396.
-
- * generic/tclBasic.c (builtInCmds, TclNRYieldToObjCmd): Convert the
- formerly-unsupported yieldm and yieldTo commands into [yieldto].
-
-2012-04-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin tclsh
- * generic/tclIntPlatDecls.h: Implement TclWinGetTclInstance,
- * generic/tclStubInit.c: TclpGetTZName, and various more
- win32-specific internal functions for Cygwin, so win32 extensions
- using those can be loaded in the cygwin version of tclsh.
-
-2012-03-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: [Bug 3511806]: Compiler checks too early
- * unix/configure.in: This change allows to build the cygwin and
- * unix/tclUnixPort.h: mingw32 ports of Tcl/Tk to build out-of-the-box
- * win/tcl.m4: using a native or cross-compiler.
- * win/configure.in:
- * win/tclWinPort.h:
- * win/README Document how to build win32 or win64 executables
- with Linux, Cygwin or Darwin.
-
-2012-03-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdMZ.c (StringIsCmd): Faster mem-leak free
- implementation of [string is entier].
-
-2012-03-27 Donal K. Fellows <dkf@users.sf.net>
-
- IMPLEMENTATION OF TIP#395.
-
- * generic/tclCmdMZ.c (StringIsCmd): Implementation of the [string is
- entier] check. Code by Jos Decoster.
-
-2012-03-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3508771]: Wrong Tcl_StatBuf used on MinGW.
- * generic/tclFCmd.c: [Bug 2015723]: Duplicate inodes from file stat
- * generic/tclCmdAH.c: on windows (but now for cygwin as well).
- * generic/tclOODefineCmds.c: minor gcc warning
- * win/tclWinPort.h: Use lower numbers, preventing integer overflow.
- Remove the workaround for mingw-w64 [Bug 3407992]. It's long fixed.
-
-2012-03-27 Donal K. Fellows <dkf@users.sf.net>
-
- IMPLEMENTATION OF TIP#397.
-
- * generic/tclOO.c (Tcl_CopyObjectInstance): [Bug 3474460]: Make the
- target object name optional when copying classes. [RFE 3485060]: Add
- callback method ("<cloned>") so that scripted control over copying is
- easier.
- ***POTENTIAL INCOMPATIBILITY***
- If you'd previously been using the "<cloned>" method name, this now
- has a standard semantics and call interface. Only a problem if you are
- also using [oo::copy].
-
-2012-03-26 Donal K. Fellows <dkf@users.sf.net>
-
- IMPLEMENTATION OF TIP#380.
-
- * doc/define.n, doc/object.n, generic/tclOO.c, generic/tclOOBasic.c:
- * generic/tclOOCall.c, generic/tclOODefineCmds.c, generic/tclOOInt.h:
- * tests/oo.test: Switch definitions of lists of things in objects and
- classes to a slot-based approach, which gives a lot more flexibility
- and programmability at the script-level. Introduce new [::oo::Slot]
- class which is the implementation of these things.
-
- ***POTENTIAL INCOMPATIBILITY***
- The unknown method handler now may be asked to deal with the case
- where no method name is provided at all. The default implementation
- generates a compatible error message, and any override that forces the
- presence of a first argument (i.e., a method name) will continue to
- function as at present as well, so this is a pretty small change.
-
- * generic/tclOOBasic.c (TclOO_Object_Destroy): Made it easier to do a
- tailcall inside a normally-invoked destructor; prevented leakage out
- to calling command.
-
-2012-03-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin
- * generic/tclIntPlatDecls.h: tclsh. Implement TclWinConvertError,
- * generic/tclStubInit.c: TclWinConvertWSAError, and various more
- * unix/Makefile.in: win32-specific internal functions for
- * unix/tcl.m4: Cygwin, so win32 extensions using those
- * unix/configure: can be loaded in the cygwin version of
- * win/tclWinError.c: tclsh.
-
-2012-03-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Revert some cygwin-related signature
- * generic/tclIntPlatDecls.h: changes from [835f8e1e9d] (2010-01-22).
- * win/tclWinError.c: They were an attempt to make the cygwin
- port compile again, but since cygwin is
- based on unix this serves no purpose any
- more.
- * win/tclWinSerial.c: Use EAGAIN in stead of EWOULDBLOCK,
- * win/tclWinSock.c: because in VS10+ the value of
- EWOULDBLOCK is no longer the same as
- EAGAIN.
- * unix/Makefile.in: Add tclWinError.c to the CYGWIN build.
- * unix/tcl.m4:
- * unix/configure:
-
-2012-03-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls: [Bug 3508771]: load tclreg.dll in cygwin
- * generic/tclInt.decls: tclsh. Implement TclWinGetPlatformId,
- * generic/tclIntPlatDecls.h: Tcl_WinUtfToTChar, Tcl_WinTCharToUtf (and
- * generic/tclPlatDecls.h: a dummy TclWinCPUID) for Cygwin, so win32
- * generic/tclStubInit.c: extensions using those can be loaded in
- * unix/tclUnixCompat.c: the cygwin version of tclsh.
-
-2012-03-19 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/America/Atikokan: Update to tzdata2012b.
- * library/tzdata/America/Blanc-Sablon:
- * library/tzdata/America/Dawson_Creek:
- * library/tzdata/America/Edmonton:
- * library/tzdata/America/Glace_Bay:
- * library/tzdata/America/Goose_Bay:
- * library/tzdata/America/Halifax:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Moncton:
- * library/tzdata/America/Montreal:
- * library/tzdata/America/Nipigon:
- * library/tzdata/America/Rainy_River:
- * library/tzdata/America/Regina:
- * library/tzdata/America/Santiago:
- * library/tzdata/America/St_Johns:
- * library/tzdata/America/Swift_Current:
- * library/tzdata/America/Toronto:
- * library/tzdata/America/Vancouver:
- * library/tzdata/America/Winnipeg:
- * library/tzdata/Antarctica/Casey:
- * library/tzdata/Antarctica/Davis:
- * library/tzdata/Antarctica/Palmer:
- * library/tzdata/Asia/Yerevan:
- * library/tzdata/Atlantic/Stanley:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Fakaofo:
- * library/tzdata/America/Creston: (new)
-
-2012-03-19 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (Tcl_OpenTcpServer): Use the values returned
- by getaddrinfo() for all three arguments to socket() instead of
- only using ai_family. Try to keep the most meaningful error while
- iterating over the result list, because using the last error can
- be misleading.
-
-2012-03-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3288345]: Wrong Tcl_StatBuf used on Cygwin
- * unix/tclUnixFile.c:
- * unix/tclUnixPort.h:
- * win/cat.c: Remove cygwin stuff no longer needed
- * win/tclWinFile.c:
- * win/tclWinPort.h:
-
-2012-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: [Bug 3388350]: mingw64 compiler warnings
-
-2012-03-11 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/*.n, doc/*.3: A number of small spelling and wording fixes.
-
-2012-03-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/info.n: Various minor fixes (prompted by Andreas Kupries
- * doc/socket.n: detecting a spelling mistake).
-
-2012-03-07 Andreas Kupries <andreask@activestate.com>
-
- * library/http/http.tcl: [Bug 3498327]: Generate upper-case
- * library/http/pkgIndex.tcl: hexadecimal output for compliance
- * tests/http.test: with RFC 3986. Bumped version to 2.8.4.
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2012-03-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Compatibility with older Visual Studio versions.
-
-2012-03-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclLoad.c: Patch from the cygwin folks
- * unix/tcl.m4:
- * unix/configure: (re-generated)
-
-2012-03-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (Tcl_SetByteArrayObj): [Bug 3496014]: Only zero
- out the memory block if it is not being immediately overwritten. (Our
- caller might still overwrite, but we should at least avoid
- known-useless work.)
-
-2012-02-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIOUtil.c: [Bug 3466099]: BOM in Unicode
- * generic/tclEncoding.c:
- * tests/source.test:
-
-2012-02-23 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/reg.test (14.21-23): Add tests relating to Bug 1115587. Actual
- bug is characterised by test marked with 'knownBug'.
-
-2012-02-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIOUtil.c: [Bug 2233954]: AIX: compile error
- * unix/tclUnixPort.h:
-
-2012-02-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (INST_LIST_RANGE_IMM): Enhance implementation
- so that shortening a (not multiply-referenced) list by lopping the end
- off with [lrange] or [lreplace] is efficient.
-
-2012-02-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileLreplaceCmd): Added a compilation
- strategy for [lreplace] that tackles the cases which are equivalent to
- a static [lrange].
- (TclCompileLrangeCmd): Add compiler for [lrange] with constant indices
- so we can take advantage of existing TCL_LIST_RANGE_IMM opcode.
- (TclCompileLindexCmd): Improve coverage of constant-index-style
- compliation using technique developed for [lrange] above.
-
- (TclCompileDictForCmd): [Bug 3487626]: Fix crash in compilation of
- [dict for] when its implementation command is used directly rather
- than through the ensemble.
-
-2012-02-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Converted the memcpy() calls in append
- operations to memmove() calls. This adds safety in the case of
- overlapping copies, and improves performance on some benchmarks.
-
-2012-02-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEnsemble.c: [Bug 3485022]: TclCompileEnsemble() avoid
- * tests/trace.test: compile when exec traces set.
-
-2012-02-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclTrace.c: [Bug 3484621]: Ensure that execution traces on
- * tests/trace.test: bytecoded commands bump the interp's compile
- epoch.
-
-2012-02-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUniData.c: [FRQ 3464401]: Support Unicode 6.1
- * generic/regc_locale.c:
-
-2012-02-02 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c: [Bugs 2974459,2879351,1951574,1852572,
- 1661378,1613456]: Revisions to the NativeAccess() routine that queries
- file permissions on Windows native filesystems. Meant to fix numerous
- bugs where [file writable|readable|executable] "lies" about what
- operations are possible, especially when the file resides on a Samba
- share.
-
-2012-02-01 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/AddErrInfo.3: [Bug 3482614]: Documentation nit.
-
-2012-01-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileCatchCmd): Added a more efficient
- bytecode generator for the case where 'catch' is used without any
- variable arguments; don't capture the result just to discard it.
-
-2012-01-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c: [Bug 3479689]: New internal routine
- * generic/tclFCmd.c: TclJoinPath(). Refactor all the
- * generic/tclFileName.c: *Join*Path* routines to give them more
- * generic/tclInt.h: useful interfaces that are easier to
- * generic/tclPathObj.c: manage getting the refcounts right.
-
-2012-01-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 3475569]: Add checks for unshared values
- before calls demanding them. [Bug 3479689]: Stop memory corruption
- when shimmering 0-refCount value to "path" type.
-
-2012-01-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (Tcl_CopyObjectInstance): [Bug 3474460]: When
- copying an object, make sure that the configuration of the variable
- resolver is also duplicated.
-
-2012-01-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/uniClass.tcl: [FRQ 3473670]: Various Unicode-related
- * tools/uniParse.tcl: speedups/robustness. Enhanced tools to be
- * generic/tclUniData.c: able to handle characters > 0xffff. Done in
- * generic/tclUtf.c: all branches in order to simplify merges for
- * generic/regc_locale.c: new Unicode versions (such as 6.1)
-
-2012-01-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictExistsCmd): [Bug 3475264]: Ensure that
- errors only ever happen when insufficient arguments are supplied, and
- not when a path doesn't exist or a dictionary is poorly formatted (the
- two cases can't be easily distinguished).
-
-2012-01-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3474726]: Eliminate detection of struct
- * generic/tclWinPort.h: _stat32i64, just use _stati64 in combination
- * generic/tclFCmd.c: with _USE_32BIT_TIME_T, which is the same
- * generic/tclTest.c: then. Only keep _stat32i64 usage for cygwin,
- * win/configure.in: so it will not conflict with cygwin's own
- * win/configure: struct stat.
-
-2012-01-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: [Bug 3475667]: Prevent buffer read overflow.
- Thanks to "sebres" for the report and fix.
-
-2012-01-17 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n (dict with): [Bug 3474512]: Explain better what is going
- on when a dictionary key and the dictionary variable collide.
-
-2012-01-13 Donal K. Fellows <dkf@users.sf.net>
-
- * library/http/http.tcl (http::Connect): [Bug 3472316]: Ensure that we
- only try to read the socket error exactly once.
-
-2012-01-12 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/tclvars.n: [Bug 3466506]: Document more environment variables.
-
-2012-01-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUtf.c: [Bug 3464428]: [string is graph \u0120] was
- * generic/regc_locale.c: wrong. Add table for Unicode [:cntrl:] class.
- * tools/uniClass.tcl: Generate Unicode [:cntrl:] class table.
- * tests/utf.test:
-
-2012-01-08 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (ReadZoneinfoFile): [Bug 3470928]: Corrected a bug
- * tests/clock.test (clock-56.4): where loading zoneinfo would
- fail if one timezone abbreviation was a proper tail of another, and
- zic used the same bytes of the file to represent both of them. Added a
- test case for the bug, using the same data that caused the observed
- failure "in the wild."
-
-2011-12-30 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/America/Bahia: Update to Olson's tzdata2011n
- * library/tzdata/America/Havana:
- * library/tzdata/Europe/Kiev:
- * library/tzdata/Europe/Simferopol:
- * library/tzdata/Europe/Uzhgorod:
- * library/tzdata/Europe/Zaporozhye:
- * library/tzdata/Pacific/Fiji:
-
-2011-12-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUtf.c: [Bug 3464428]: [string is graph \u0120] is wrong.
- * generic/tclUniData.c:
- * generic/regc_locale.c:
- * tests/utf.test:
- * tools/uniParse.tcl: Clean up some unused stuff, and be more robust
- against changes in UnicodeData.txt syntax
-
-2011-12-13 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCompile.c (TclInitAuxDataTypeTable): Extended to register
- the DictUpdateInfo structure as an AuxData type. For use by tbcload,
- tclcompiler.
-
-2011-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/regc_locale.c: [Bug 3457031]: Some Unicode 6.0 chars not
- * tests/utf.test: in [:print:] class
-
-2011-12-07 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/uniParse.tcl: [Bug 3444754]: string tolower \u01c5 is wrong
- * generic/tclUniData.c:
- * tests/utf.test:
-
-2011-11-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/tcltest/tcltest.tcl: [Bug 967195]: Make tcltest work
- when tclsh is compiled without using the setargv() function on mingw.
-
-2011-11-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: don't install tommath_(super)?class.h
- * unix/Makefile.in: don't install directories like 8.2 and 8.3
- * generic/tclTomMath.h: [Bug 2991415]: move include tclInt.h from
- * generic/tclTomMathInt.h: tclTomMath.h to tclTomMathInt.h
-
-2011-11-25 Donal K. Fellows <dkf@users.sf.net>
-
- * library/history.tcl (history): Simplify the dance of variable
- management used when chaining to the implementation command.
-
-2011-11-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclCompileObj): Simplify and de-indent the
- logic so that it is easier to comprehend.
-
-2011-11-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: [Bug 3354324]: Windows: [file mtime] sets wrong
- * win/tclWinFile.c: time (VS2005+ only).
- * generic/tclTest.c:
-
-2011-11-20 Joe Mistachkin <joe@mistachkin.com>
-
- * tests/thread.test: Remove unnecessary [after] calls from the thread
- tests. Make error message matching more robust for tests that may
- have built-in race conditions. Test thread-7.26 must first unset all
- thread testing related variables. Revise results of the thread-7.28
- through thread-7.31 tests to account for the fact they are canceled
- via a script sent to the thread asynchronously, which then impacts the
- error message handling. Attempt to manually drain the event queue for
- the main thread after joining the test thread to make sure no stray
- events are processed at the wrong time on the main thread. Revise all
- the synchronization and comparison semantics related to the thread id
- and error message.
-
-2011-11-18 Joe Mistachkin <joe@mistachkin.com>
-
- * tests/thread.test: Remove all use of thread::release from the thread
- 7.x tests, replacing it with a script that can easily cause "stuck"
- threads to self-destruct for those test cases that require it. Also,
- make the error message handling far more robust by keeping track of
- every asynchronous error.
-
-2011-11-17 Joe Mistachkin <joe@mistachkin.com>
-
- * tests/thread.test: Refactor all the remaining thread-7.x tests that
- were using [testthread]. Note that this test file now requires the
- very latest version of the Thread package to pass all tests. In
- addition, the thread-7.18 and thread-7.19 tests have been flagged as
- knownBug because they cannot pass without modifications to the [expr]
- command, persuant to TIP #392.
-
-2011-11-17 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclThreadTest.c: For [testthread cancel], avoid creating a
- new Tcl_Obj when the default script cancellation result is desired.
-
-2011-11-11 Donal K. Fellows <dkf@users.sf.net>
-
- * win/tclWinConsole.c: Refactor common thread handling patterns.
-
-2011-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/zlib.test: [Bug 3428756]: Use nonblocking writes in
- single-threaded IO tests to avoid deadlocks when going beyond OS
- buffers. Tidy up [chan configure] flags across zlib.test.
-
-2011-11-03 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixCompat.c (TclpGetPwNam, TclpGetPwUid, TclpGetGrNam)
- (TclpGetGrGid): Use the elaborate memory management scheme outlined on
- http://www.opengroup.org/austin/docs/austin_328.txt to handle Tcl's
- use of standard reentrant versions of the passwd/group access
- functions so that everything can work on all BSDs. Problem identified
- by Stuart Cassoff.
-
-2011-10-20 Don Porter <dgp@users.sourceforge.net>
-
- * library/http/http.tcl: Bump to version 2.8.3
- * library/http/pkgIndex.tcl:
- * unix/Makefile.in:
- * win/Makefile.in:
-
- * changes: Updates toward 8.6b3 release.
-
-2011-10-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclLiteral.c (TclInvalidateCmdLiteral): [Bug 3418547]:
- Additional code for handling the invalidation of literals.
- * generic/tclBasic.c (Tcl_CreateObjCommand, Tcl_CreateCommand)
- (TclRenameCommand, Tcl_ExposeCommand): The four additional places that
- need extra care when dealing with literals.
- * generic/tclTest.c (TestInterpResolverCmd): Additional test machinery
- for interpreter resolvers.
-
-2011-10-18 Reinhard Max <max@suse.de>
-
- * library/clock.tcl (::tcl::clock::GetSystemTimeZone): Cache the time
- zone only if it was detected by one of the expensive methods.
- Otherwise after unsetting TCL_TZ or TZ the previous value will still
- be used.
-
-2011-10-15 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/America/Sitka: Update to Olson's tzdata2011l
- * library/tzdata/Pacific/Fiji:
- * library/tzdata/Asia/Hebron: (New)
-
-2011-10-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: [Bug 2935503]: Incorrect mode field returned by
- [file stat] command.
-
-2011-10-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictWithCmd): Corrected handling of
- qualified names, and added spacial cases for empty bodies (used when
- [dict with] is just used for extracting variables).
-
-2011-10-07 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Fix gcc warnings (discovered with latest
- * generic/tclIORChan.c: mingw, based on gcc 4.6.1)
- * tests/env.test: Fix env.test, when running under wine 1.3.
-
-2011-10-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (TclDictWithInit, TclDictWithFinish):
- * generic/tclCompCmds.c (TclCompileDictWithCmd): Experimental
- compilation for the [dict with] subcommand, using parts factored out
- from the interpreted version of the command.
-
-2011-10-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinInt.h: Remove tclWinProcs, as it is no longer
- * win/tclWin32Dll.c: being used.
-
-2011-10-03 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/Africa/Dar_es_Salaam: Update to Olson's tzdata2011k
- * library/tzdata/Africa/Kampala:
- * library/tzdata/Africa/Nairobi:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Europe/Kaliningrad:
- * library/tzdata/Europe/Kiev:
- * library/tzdata/Europe/Minsk:
- * library/tzdata/Europe/Simferopol:
- * library/tzdata/Europe/Uzhgorod:
- * library/tzdata/Europe/Zaporozhye:
- * library/tzdata/Pacific/Apia:
-
-2011-09-29 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl, tools/tcltk-man2html-utils.tcl: More
- refactoring so that more of the utility code is decently out of the
- way. Adjusted the header-material generator so that version numbers
- are only included in locations where there is room.
-
-2011-09-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclOO.h: [RFE 3010352]: make all TclOO API functions
- * generic/tclOODecls.h: MODULE_SCOPE
- * generic/tclOOIntDecls.h:
-
-2011-09-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIndexObj.c (Tcl_ParseArgsObjv): [Bug 3413857]: Corrected
- the memory management for the code parsing arguments when returning
- "large" numbers of arguments. Also unbroke the TCL_ARGV_AUTO_REST
- macro in passing.
-
-2011-09-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (TclMakeFileCommandSafe): [Bug 3211758]: Also
- make the main [file] command hidden by default in safe interpreters,
- because that's what existing code expects. This will reduce the amount
- which the code breaks, but not necessarily eliminate it...
-
-2011-09-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORTrans.c: More revisions to get finalization of
- ReflectedTransforms correct, including adopting a "dead" field as was
- done in tclIORChan.c.
-
- * tests/thread.test: Stop using the deprecated thread management
- commands of the tcltest package. The test suite ought to provide
- these tools for itself. They do not belong in a testing harness.
-
-2011-09-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c: Revise [info frame] so that it stops creating
- cycles in the iPtr->cmdFramePtr stack.
-
-2011-09-22 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/re_syntax.n: [Bug 2903743]: Add more magic so that we can do at
- least something sane on Solaris.
- * tools/tcltk-man2html-utils.tcl (process-text): Teach the HTML
- generator how to handle this magic.
-
-2011-09-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclThreadTest.c: Revise the thread exit handling of the
- [testthread] command so that it properly maintains the per-process
- data structures even when the thread exits for reasons other than the
- [testthread exit] command.
-
-2011-09-21 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * unix/tclIO.c: [Bug 3412487]: Now short reads are allowed in
- synchronous fcopy, avoid mistaking them as nonblocking ones.
-
-2011-09-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORTrans.c (ForwardOpToOwnerThread): Fixed the missing
- initialization of the 'dsti' field. Reported by Don Porter, on chat.
-
-2011-09-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORChan.c: Re-using the "interp" field to signal a dead
- channel (via NULL value) interfered with conditional cleanup tasks
- testing for "the right interp". Added a new field "dead" to perform
- the dead channel signalling task so the corrupted logic is avoided.
-
- * generic/tclIORTrans.c: Revised ReflectClose() and
- FreeReflectedTransform() so that we stop leaking ReflectedTransforms,
- yet free all Tcl_Obj values in the same thread that alloced them.
-
-2011-09-19 Don Porter <dgp@users.sourceforge.net>
-
- * tests/ioTrans.test: Conversion from [testthread] to Thread package
- stops most memory leaks.
-
- * tests/thread.test: Plug most memory leaks in thread.test.
- Constrain the rest to be skipped during `make valgrind'. Tests using
- the [testthread cancel] testing command are leaky. Corrections wait
- for either addition of [thread::cancel] to the Thread package, or
- improvements to the [testthread] testing command to make leak-free
- versions of these tests possible.
-
- * generic/tclIORChan.c: Plug all memory leaks in ioCmd.test exposed
- * tests/ioCmd.test: by `make valgrind'.
- * unix/Makefile.in:
-
-2011-09-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- IMPLEMENTATION OF TIP #388
-
- * doc/Tcl.n:
- * doc/re_syntax.n:
- * generic/regc_lex.c:
- * generic/regcomp.c:
- * generic/regcustom.h:
- * generic/tcl.h:
- * generic/tclParse.c:
- * tests/reg.test:
- * tests/utf.test:
-
-2011-09-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]:
- Corrected the handling of procedure error messages (found by TclOO).
-
-2011-09-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Don't change Tcl_UniChar type when
- * generic/regcustom.h: TCL_UTF_MAX == 4 (not supported anyway)
-
-2011-09-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]:
- Ensemble-like rewriting of error messages is complex, and TclOO (in
- combination with iTcl) hits the most tricky cases.
-
- * library/http/http.tcl (http::geturl): [Bug 3391977]: Ensure that the
- -headers option overrides the -type option (important because -type
- has a default that is not always appropriate, and the header must not
- be duplicated).
-
-2011-09-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: [Bug 3408408]: Partial improvement by sharing
- as literals the computed values of constant subexpressions when we can
- do so without incurring the cost of string rep generation.
-
-2011-09-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: [Bug 3390638]: Workaround broken Solaris
- Studio cc optimizer. Thanks to Wolfgang S. Kechel.
-
- * generic/tclDTrace.d: [Bug 3405652]: Portability workaround for
- broken system DTrace support. Thanks to Dagobert Michelson.
-
-2011-09-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: [Bug 3407070]: tclPosixStr.c won't build with
- EOVERFLOW==E2BIG
-
-2011-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * tests/thread.test: Convert [testthread] use to Thread package use
- in thread-6.1. Eliminates a memory leak in `make valgrind`.
-
- * tests/socket.test: [Bug 3390699]: Convert [testthread] use to
- Thread package use in socket_*-13.1. Eliminates a memory leak in
- `make valgrind`.
-
-2011-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * tests/chanio.test: [Bug 3389733]: Convert [testthread] use to
- * tests/io.test: Thread package use in *io-70.1. Eliminates a
- memory leak in `make valgrind`.
-
-2011-09-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: [Bug 3401704]: Allow function names like
- * tests/parseExpr.test: influence(), nanobot(), and 99bottles() that
- have been parsed as missing operator syntax errors before with the
- form NUMBER + FUNCTION.
- ***POTENTIAL INCOMPATIBILITY***
-
-2011-09-06 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/America/Goose_Bay: Update to Olson's tzdata2011i
- * library/tzdata/America/Metlakatla:
- * library/tzdata/America/Resolute:
- * library/tzdata/America/St_Johns:
- * library/tzdata/Europe/Kaliningrad:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Honolulu:
- * library/tzdata/Africa/Juba: (new)
-
-2011-09-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [RFE 1711975]: Tcl_MainEx() (like Tk_MainEx())
- * generic/tclDecls.h:
- * generic/tclMain.c:
-
-2011-09-02 Don Porter <dgp@users.sourceforge.net>
-
- * tests/http.test: Convert [testthread] use to Thread package use.
- Eliminates memory leak seen in `make valgrind`.
-
-2011-09-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * unix/tclUnixSock.c: [Bug 3401422]: Cache script-level changes to the
- nonblocking flag of an async client socket in progress, and commit
- them on completion.
-
-2011-09-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStrToD.c: [Bug 3402540]: Corrections to TclParseNumber()
- * tests/binary.test: to make it reject invalid Nan(Hex) strings.
-
- * tests/scan.test: [scan Inf %g] is portable; remove constraint.
-
-2011-08-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInterp.c (SlaveCommandLimitCmd, SlaveTimeLimitCmd):
- [Bug 3398794]: Ensure that low-level conditions in the limit API are
- enforced at the script level through errors, not a Tcl_Panic. This
- means that interpreters cannot read their own limits (writing already
- did not work).
-
-2011-08-30 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (TcpWatchProc): [Bug 3394732]: Put back the check
- for server sockets.
-
-2011-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORTrans.c: Leak of ReflectedTransformMap.
-
-2011-08-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [RFE 3396731]: Revise the [string reverse]
- * tests/string.test: implementation to operate on the representation
- that comes in, avoid conversion to other reps.
-
-2011-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORChan.c: [Bug 3396948]: Leak of ReflectedChannelMap.
-
-2011-08-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORTrans.c: [Bugs 3393279, 3393280]: ReflectClose(.) is
- missing Tcl_EventuallyFree() calls at some of its exits.
-
- * generic/tclIO.c: [Bugs 3394654, 3393276]: Revise FlushChannel() to
- account for the possibility that the ChanWrite() call might recycle
- the buffer out from under us.
-
- * generic/tclIO.c: Preserve the chanPtr during FlushChannel so that
- channel drivers don't yank it away before we're done with it.
-
-2011-08-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclTest.c: [Bug 2981154]: async-4.3 segfault.
- * tests/async.test: [Bug 1774689]: async-4.3 sometimes fails.
-
-2011-08-18 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: [Bug 3096275]: Sync fcopy buffers input.
-
-2011-08-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUniData.c: [Bug 3393714]: Overflow in toupper delta
- * tools/uniParse.tcl:
- * tests/utf.test:
-
-2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: [Bug 2946474]: Consistently resume backgrounded
- * tests/ioCmd.test: flushes+closes when exiting.
-
-2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/interp.n: Document TIP 378's one-way-ness.
-
-2011-08-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclGet.c: [Bug 3393150]: Overlooked free of intreps.
- (It matters for bignums!)
-
-2011-08-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: [Bug 3392070]: More complete prevention of
- Tcl_Obj reference cycles when producing an intrep of ByteCode.
-
-2011-08-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclListObj.c (TclLindexList, TclLsetFlat): Silence warnings
- about (unreachable) cases of uninitialized variables.
- * generic/tclCmdIL.c (SelectObjFromSublist): Improve the generation of
- * generic/tclIndexObj.c (Tcl_ParseArgsObjv): messages through the use
- * generic/tclVar.c (ArrayStartSearchCmd): of Tcl_ObjPrintf.
-
-2011-08-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: [Bug 3390272]: Leak of [info script] value.
-
-2011-08-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPosixStr.c: [Bug 3388350]: mingw64 compiler warnings
- * win/tclWinPort.h:
- * win/configure.in:
- * win/configure:
-
-2011-08-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/FindExec.3: [Patch 3124554]: Move WishPanic from Tk to Tcl
- * doc/Panic.3 Added Documentation
-
-2011-08-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 3389764]: Eliminate possibility that dup
- of a "path" value can create reference cycle.
-
-2011-08-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibTransformOutput): [Bug 3390073]: Return the
- correct length of written data for a compressing transform.
-
-2011-08-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclTestObj.c: [Bug 3386721]: Allow multiple [load]ing of the
- Tcltest package.
-
-2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclBasic.c: [Bug 2919042]: Restore "valgrindability" of Tcl
- * generic/tclEvent.c: that was lost by the streamlining of [exit], by
- * generic/tclExecute.c: conditionally forcing a full Finalize:
- * generic/tclInt.h: use -DPURIFY or ::env(TCL_FINALIZE_ON_EXIT)
-
-2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclCompCmds.c: [Bug 3386417]: Avoid a reference loop between
- * generic/tclInt.h: the bytecode and its companion errostack
- * generic/tclResult.c: when compiling a syntax error.
-
-2011-08-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinConsole.c: [Bug 3388350]: mingw64 compiler warnings
- * win/tclWinDde.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
-
-2011-08-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Change the signature of TclParseHex(), such that
- * generic/tclParse.c: it can now parse up to 8 hex characters.
-
-2011-08-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibStreamCmd): Make the -buffersize option to
- '$zstream add' function correctly instead of having its value just be
- discarded unceremoniously. Also generate error codes from more of the
- code, not just the low-level code but also the Tcl infrastructure.
-
-2011-08-07 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOInfo.c (InfoClassCallCmd): [Bug 3387082]: Plug memory
- leak in call chain introspection.
-
-2011-08-06 Kevin B, Kenny <kennykb@acm.org>
-
- * generic/tclAssemnbly.c: [Bug 3384840]: Plug another memory leak.
- * generic/tclStrToD.c: [Bug 3386975]: Plug another memory leak.
-
-2011-08-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c: [Bug 3386975]: Plugged a memory leak in
- double->string conversion.
-
-2011-08-05 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6b2 TAGGED FOR RELEASE ***
-
- * changes: Updates for 8.6b2 release.
-
-2011-08-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclAssembly.c (AssembleOneLine): Ensure that memory isn't
- leaked when an unknown instruction is encountered. Also simplify code
- through use of Tcl_ObjPrintf in error message generation.
-
- * generic/tclZlib.c (ZlibTransformClose): [Bug 3386197]: Plug a memory
- leak found by Miguel with valgrind, and ensure that the correct
- direction's buffers are released.
-
-2011-08-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclPtrSetVar): Fix valgrind-detected error when
- newValuePtr is the interp's result obj.
-
-2011-08-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclAssembly.c (FreeAssemblyEnv): [Bug 3384840]: Plug another
- possible memory leak due to over-complex code for freeing the table of
- labels.
-
-2011-08-04 Reinhard Max <max@suse.de>
-
- * generic/tclIOSock.c (TclCreateSocketAddress): Don't bother using
- AI_ADDRCONFIG for now, as it was causing problems in various
- situations.
-
-2011-08-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclAssembly.c (AssembleOneLine, GetBooleanOperand)
- (GetIntegerOperand, GetListIndexOperand, FindLocalVar): [Bug 3384840]:
- A Tcl_Obj is allocated by GetNextOperand, so callers of it must not
- hold a reference to one in the 'out' parameter when calling it. This
- was causing a great many memory leaks.
- * tests/assemble.test (assemble-51.*): Added group of memory leak
- tests.
-
-2011-08-02 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6b2 release.
- * tools/tcltk-man2html.tcl: Variable substitution botch.
-
-2011-08-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclObj.c (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount)
- (Tcl_DbIsShared): [Bug 3384007]: Fix the panic messages so they share
- what should be shared and have the right number of spaces.
-
-2011-08-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclProcCompileProc): [Bug 3383616]: Fix for leak
- of resolveInfo when recompiling procs. Thanks go to Gustaf Neumann for
- detecting the bug and providing the fix.
-
-2011-08-01 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/tclvars.n (EXAMPLES): Added some examples of how some of the
- standard global variables can be used, following prompting by a
- request by Robert Hicks.
-
- * tools/tcltk-man2html.tcl (plus-pkgs): [Bug 3382474]: Added code to
- determine the version number of contributed packages from their
- directory names so that HTML documentation builds are less confusing.
-
-2011-07-29 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (ensemble_commands, remap_link_target):
- Small enhancements to improve cross-linking with contributed packages.
- * tools/tcltk-man2html-utils.tcl (insert-cross-references): Enhance to
- cope with contributed packages' C API.
-
-2011-07-28 Reinhard Max <max@suse.de>
-
- * unix/tcl.m4 (SC_TCL_IPV6): Fix AC_DEFINE invocation for
- NEED_FAKE_RFC2553.
- * unix/configure: autoconf-2.59
-
-2011-07-28 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6b2 release.
-
- * library/tzdata/Asia/Anadyr: Update to Olson's tzdata2011h
- * library/tzdata/Asia/Irkutsk:
- * library/tzdata/Asia/Kamchatka:
- * library/tzdata/Asia/Krasnoyarsk:
- * library/tzdata/Asia/Magadan:
- * library/tzdata/Asia/Novokuznetsk:
- * library/tzdata/Asia/Novosibirsk:
- * library/tzdata/Asia/Omsk:
- * library/tzdata/Asia/Sakhalin:
- * library/tzdata/Asia/Vladivostok:
- * library/tzdata/Asia/Yakutsk:
- * library/tzdata/Asia/Yekaterinburg:
- * library/tzdata/Europe/Kaliningrad:
- * library/tzdata/Europe/Moscow:
- * library/tzdata/Europe/Samara:
- * library/tzdata/Europe/Volgograd:
- * library/tzdata/America/Kralendijk: (new)
- * library/tzdata/America/Lower_Princes: (new)
-
-2011-07-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (initScript): Ensure that TclOO is properly found by
- all the various package mechanisms (by adding a dummy ifneeded script)
- and not just some of them.
-
-2011-07-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: [Bug 3372130]: Fix hypot math function with MSVC10
-
-2011-07-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: [Bug 3371644]: Repair failure to properly handle
- * tests/util.test: (length == -1) scanning in TclConvertElement().
- Thanks to Thomas Sader and Alexandre Ferrieux.
-
-2011-07-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/*.3, doc/*.n: Many small fixes to documentation as part of
- project to improve quality of generated HTML docs.
-
- * tools/tcltk-man2html.tcl (remap_link_target): More complete set of
- definitions of link targets, especially for major C API types.
- * tools/tcltk-man2html-utils.tcl (output-IP-list, cross-reference):
- Update to generation to produce proper HTML bulleted and enumerated
- lists.
-
-2011-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/upvar.n: Undocument long gone limitation of [upvar].
-
-2011-07-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.6b2.
- * library/init.tcl:
- * unix/configure.in:
- * win/configure.in:
- * unix/tcl.spec:
- * tools/tcl.wse.in:
- * README:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2011-07-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Avoid segfaults when RecordByteCodeStats() is
- called in a deleted interp.
-
- * generic/tclCompile.c: [Bug 467523, 3357771]: Prevent circular
- references in values with ByteCode intreps. They can lead to memory
- leaks.
-
-2011-07-14 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOCall.c (TclOORenderCallChain): [Bug 3365156]: Remove
- stray refcount bump that caused a memory leak.
-
-2011-07-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUnixSock.c: [Bug 3364777]: Stop segfault caused by
- reading from struct after it had been freed.
-
-2011-07-11 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclExecute.c: [Bug 3339502]: Correct cast for CURR_DEPTH to
- silence compiler warning.
-
-2011-07-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/http.n: [FRQ 3358415]: State what RFC defines HTTP/1.1.
-
-2011-07-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Add missing INT2PTR
-
-2011-07-03 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/FileSystem.3: Corrected statements about ctime field of 'struct
- stat'; that was always the time of the last metadata change, not the
- time of creation.
-
-2011-07-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c:
- * generic/tclTomMath.decls:
- * generic/tclTomMathDecls.h:
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcodeproj/project.pbxproj:
- * tests/util.test:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/Makefile.vc:
- [Bug 3349507]: Fix a bug where bignum->double conversion is "round up"
- and not "round to nearest" (causing expr double(1[string repeat 0 23])
- not to be 1e+23).
-
-2011-06-28 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (CreateClientSocket): [Bug 3325339]: Fix and
- simplify posting of the writable fileevent at the end of an
- asynchronous connection attempt. Improve comments for some of the
- trickery around [socket -async].
-
- * tests/socket.test: Adjust tests to the async code changes. Add more
- tests for corner cases of async sockets.
-
-2011-06-22 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/pkgIndex.tcl: Updated to platform 1.0.10. Added
- * library/platform/platform.tcl: handling of the DEB_HOST_MULTIARCH
- * unix/Makefile.in: location change for libc.
- * win/Makefile.in:
-
- * generic/tclInt.h: Fixed the inadvertently committed disabling of
- stack checks, see my 2010-11-15 commit.
-
-2011-06-22 Reinhard Max <max@suse.de>
-
- Merge from rmax-ipv6-branch:
- * unix/tclUnixSock.c: Fix [socket -async], so that all addresses
- returned by getaddrinfo() are tried, not just the first one. This
- requires the event loop to be running while the async connection is in
- progress. ***POTENTIAL INCOMPATIBILITY***
- * tests/socket.test: Add a test for the above.
- * doc/socket: Document the fact that -async needs the event loop
- * generic/tclIOSock.c: AI_ADDRCONFIG is broken on HP-UX
-
-2011-06-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclLink.c: [Bug 3317466]: Prevent multiple links to a
- single Tcl variable when calling Tcl_LinkVar().
-
-2011-06-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf
- Neumann.
-
-2011-06-08 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclExecute.c: Reverted the fix for [Bug 3274728] committed
- on 2011-04-06 and replaced with one which is 64bit-safe. The existing
- fix crashed tclsh on Windows 64bit.
-
-2011-06-08 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/fileSystem.test: Reduce the amount of use of duplication of
- complex code to perform common tests, and convert others to do the
- test result check directly using Tcltest's own primitives.
-
-2011-06-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tests/socket.test: Add test constraint, so 6.2 and 6.3 don't fail
- when the machine does not have support for ip6. Follow-up to checkin
- from 2011-05-11 by rmax.
-
-2011-06-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed TclCleanupLiteralTable(), and old
- * generic/tclInt.h: band-aid routine put in place while a fix for
- * generic/tclLiteral.c: [Bug 994838] took shape. No longer needed.
-
-2011-06-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (TclInvalidateNsCmdLookup): [Bug 3185407]: Extend
- the set of epochs that are potentially bumped when a command is
- created, for a slight performance drop (in some circumstances) and
- improved semantics.
-
-2011-06-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Using the two free data elements in NRCommand to
- store objc and objv - useful for debugging.
-
-2011-06-01 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUtil.c: Fix for [Bug 3309871]: Valgrind finds: invalid
- read in TclMaxListLength().
-
-2011-05-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Use a complete growth algorithm for lists so
- * generic/tclListObj.c: that length limits do not overconstrain by a
- * generic/tclStringObj.c: factor of 2. [Bug 3293874]: Fix includes
- * generic/tclUtil.c: rooting all growth routines by default on a
- common tunable parameter TCL_MIN_GROWTH.
-
-2011-05-25 Don Porter <dgp@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl: Bump to msgcat 1.4.4.
- * library/msgcat/pkgIndex.tcl:
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2011-05-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.h (TCLOO_VERSION): Bump version.
-
- IMPLEMENTATION OF TIP#381.
-
- * doc/next.n, doc/ooInfo.n, doc/self.n, generic/tclOO.c,
- * generic/tclOOBasic.c, generic/tclOOCall.c, generic/tclOOInfo.c,
- * generic/tclOOInt.h, tests/oo.test, tests/ooNext2.test: Added
- introspection of call chains ([self call], [info object call], [info
- class call]) and ability to skip ahead in chain ([nextto]).
-
-2011-05-24 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/Africa/Cairo: Update to Olson tzdata2011g
-
-2011-05-24 Donal K. Fellows <dkf@users.sf.net>
-
- * library/msgcat/msgcat.tcl (msgcat::mcset, msgcat::mcmset): Remove
- some useless code; [dict set] builds dictionary levels for us.
-
-2011-05-17 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCompile.c (TclFixupForwardJump): Tracked down and fixed
- * generic/tclBasic.c (TclArgumentBCEnter): the cause of a violation of
- my assertion that 'ePtr->nline == objc' in TclArgumentBCEnter. When a
- bytecode was grown during jump fixup the pc -> command line mapping
- was not updated. When things aligned just wrong the mapping would
- direct command A to the data for command B, with a different number of
- arguments.
-
-2011-05-11 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (TcpWatchProc): No need to check for server
- sockets here, as the generic server code already takes care of that.
- * tests/socket.test (accept): Add tests to make sure that this remains
- so.
-
-2011-05-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: New internal routines TclScanElement() and
- * generic/tclUtil.c: TclConvertElement() are rewritten guts of
- machinery to produce string rep of lists. The new routines avoid and
- correct [Bug 3173086]. See comments for much more detail.
-
- * generic/tclDictObj.c: Update all callers.
- * generic/tclIndexObj.c:
- * generic/tclListObj.c:
- * generic/tclUtil.c:
- * tests/list.test:
-
-2011-05-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (NamespacePathCmd): Convert to use Tcl_Obj API
- * generic/tclPkg.c (Tcl_PackageObjCmd): for result generation in
- * generic/tclTimer.c (Tcl_AfterObjCmd): [after info], [namespace
- path] and [package versions].
-
-2011-05-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c: Revise empty string tests so that we avoid
- potentially expensive string rep generations, especially for dicts.
-
-2011-05-07 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclLoad.c (TclGetLoadedPackages): Convert to use Tcl_Obj API
- for result generation.
-
-2011-05-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: Fix USE_TCLALLOC so that it can be enabled without
- * unix/Makefile.in: editing the Makefile.
-
-2011-05-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c: Stop generating string rep of dict when
- converting to list. Tolerate NULL interps more completely.
-
-2011-05-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: Tighten Tcl_SplitList().
- * generic/tclListObj.c: Tighten SetListFromAny().
- * generic/tclDictObj.c: Tighten SetDictFromAny().
- * tests/join.test:
- * tests/mathop.test:
-
-2011-05-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: Revised TclFindElement() interface. The final
- * generic/tclDictObj.c: argument had been bracePtr, the address of a
- * generic/tclListObj.c: boolean var, where the caller can be told
- * generic/tclParse.c: whether or not the parsed list element was
- * generic/tclUtil.c: enclosed in braces. In practice, no callers
- really care about that. What the callers really want to know is
- whether the list element value exists as a literal substring of the
- string being parsed, or whether a call to TclCopyAndCollpase() is
- needed to produce the list element value. Now the final argument is
- changed to do what callers actually need. This is a better fit for the
- calls in tclParse.c, where now a good deal of post-processing checking
- for "naked backslashes" is no longer necessary.
- ***POTENTIAL INCOMPATIBILITY***
- For any callers calling in via the internal stubs table who really do
- use the final argument explicitly to check for the enclosing brace
- scenario. Simply looking for the braces where they must be is the
- revision available to those callers, and it will backport cleanly.
-
- * tests/parse.test: Tests for expanded literals quoting detection.
-
- * generic/tclCompCmdsSZ.c: New TclFindElement() is also a better
- fit for the [switch] compiler.
-
- * generic/tclInt.h: Replace TclCountSpaceRuns() with
- * generic/tclListObj.c: TclMaxListLength() which is the function we
- * generic/tclUtil.c: actually want.
- * generic/tclCompCmdsSZ.c:
-
- * generic/tclCompCmdsSZ.c: Rewrite of parts of the switch compiler to
- better use the powers of TclFindElement() and do less parsing on its
- own.
-
-2011-04-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: New utility routines:
- * generic/tclParse.c: TclIsSpaceProc() and TclCountSpaceRuns()
- * generic/tclUtil.c:
-
- * generic/tclCmdMZ.c: Use new routines to replace calls to isspace()
- * generic/tclListObj.c: and their /* INTL */ risk.
- * generic/tclStrToD.c:
- * generic/tclUtf.c:
- * unix/tclUnixFile.c:
-
- * generic/tclStringObj.c: Improved reaction to out of memory.
-
-2011-04-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: TclFreeIntRep() correction & cleanup.
- * generic/tclExecute.c:
- * generic/tclIndexObj.c:
- * generic/tclInt.h:
- * generic/tclListObj.c:
- * generic/tclNamesp.c:
- * generic/tclResult.c:
- * generic/tclStringObj.c:
- * generic/tclVar.c:
-
- * generic/tclListObj.c: FreeListInternalRep() cleanup.
-
-2011-04-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Use macro to set List intreps.
- * generic/tclListObj.c:
-
- * generic/tclCmdIL.c: Limits on list length were too strict.
- * generic/tclInt.h: Revised panics to errors where possible.
- * generic/tclListObj.c:
- * tests/lrepeat.test:
-
- * generic/tclCompile.c: Make sure SetFooFromAny routines react
- * generic/tclIO.c: reasonably when passed a NULL interp.
- * generic/tclIndexObj.c:
- * generic/tclListObj.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * macosx/tclMacOSXFCmd.c:
-
-2011-04-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf
- * generic/tclInt.h: used on MinGW. Make sure that all _WIN32
- * win/tclWinFile.c: compilers use exactly the same layout
- * win/configure.in: for Tcl_StatBuf - the one used by MSVC6 -
- * win/configure: in all situations.
-
-2011-04-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclConfig.c: Reduce internals access in the implementation
- of [<foo>::pkgconfig list].
-
-2011-04-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c: Use ListRepPtr(.) and other cleanup.
- * generic/tclConfig.c:
- * generic/tclListObj.c:
-
- * generic/tclInt.h: Define and use macros that test whether a Tcl
- * generic/tclBasic.c: list value is canonical.
- * generic/tclUtil.c:
-
-2011-04-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: [Bug 3288696]: Command summary was confusingly wrong
- when it came to [dict filter] with a 'value' filter.
-
-2011-04-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclFCmd.c (TclFileAttrsCmd): Add comments to make this code
- easier to understand. Added a panic to handle the case where the VFS
- layer does something odd.
-
-2011-04-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: [Bug 3285375]: Rewrite of Tcl_Concat*()
- routines to prevent segfaults on buffer overflow. Build them out of
- existing primitives already coded to handle overflow properly. Uses
- the new TclTrim*() routines.
-
- * generic/tclCmdMZ.c: New internal utility routines TclTrimLeft()
- * generic/tclInt.h: and TclTrimRight(). Refactor the
- * generic/tclUtil.c: [string trim*] implementations to use them.
-
-2011-04-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: [Bug 2662380]: Fix crash caused by appending to a
- variable with a write trace that unsets it.
-
-2011-04-13 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclUtil.c (Tcl_ConcatObj): [Bug 3285375]: Make the crash
- less mysterious through the judicious use of a panic. Not yet properly
- fixed, but at least now clearer what the failure mode is.
-
-2011-04-12 Don Porter <dgp@users.sourceforge.net>
-
- * tests/string.test: Test for [Bug 3285472]. Not buggy in trunk.
-
-2011-04-12 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/Atlantic/Stanley: Update to Olson tzdata2011f
-
-2011-04-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Fix for [Bug 2440625], kbk's patch
-
-2011-04-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * tests/coroutine.test: [Bug 3282869]: Ensure that 'coroutine eval'
- runs the initial command in the proper context.
-
-2011-04-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Fix for [Bug 3281728]: Tcl sources from 2011-04-06
- * unix/tcl.m4: do not build on GCC9 (RH9)
- * unix/configure:
-
-2011-04-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Fix for [Bug 3280043]: win2k: unresolved DLL
- * win/configure.in: imports.
- * win/configure
-
-2011-04-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclCompileObj): Earlier return if Tip280
- gymnastics not needed.
-
- * generic/tclExecute.c: Fix for [Bug 3274728]: making *catchTop an
- unsigned long.
-
-2011-04-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclAppInit.c: Make symbols "main" and "Tcl_AppInit"
- MODULE_SCOPE: there is absolutely no reason for exporting them.
- * unix/tcl.m4: Don't use -fvisibility=hidden with static
- * unix/configure libraries (--disable-shared)
-
-2011-04-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclFCmd.c, macosx/tclMacOSXFCmd.c, unix/tclUnixChan.c,
- * unix/tclUnixFCmd.c, win/tclWinChan.c, win/tclWinDde.c,
- * win/tclWinFCmd.c, win/tclWinLoad.c, win/tclWinPipe.c,
- * win/tclWinReg.c, win/tclWinSerial.c, win/tclWinSock.c: More
- generation of error codes (most platform-specific parts not already
- using Tcl_PosixError).
-
-2011-04-05 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/Africa/Casablanca: Update to Olson's tzdata2011e
- * library/tzdata/America/Santiago:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/America/Metlakatla: (new)
- * library/tzdata/America/North_Dakota/Beulah: (new)
- * library/tzdata/America/Sitka: (new)
-
-2011-04-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c, generic/tclOOBasic.c, generic/tclOODefineCmds.c
- * generic/tclOOInfo.c, generic/tclOOMethod.c: More generation of
- error codes (TclOO miscellany).
-
- * generic/tclCmdAH.c, generic/tclCmdIL.c: More generation of error
- codes (miscellaneous commands mostly already handled).
-
-2011-04-04 Don Porter <dgp@users.sourceforge.net>
-
- * README: [Bug 3202030]: Updated README files, repairing broken
- * macosx/README:URLs and removing other bits that were clearly wrong.
- * unix/README: Still could use more eyeballs on the detailed build
- * win/README: advice on various plaforms.
-
-2011-04-04 Donal K. Fellows <dkf@users.sf.net>
-
- * library/init.tcl (tcl::mathfunc::rmmadwiw): Disable by default to
- make test suite work.
-
- * generic/tclBasic.c, generic/tclStringObj.c, generic/tclTimer.c,
- * generic/tclTrace.c, generic/tclUtil.c: More generation of error
- codes ([format], [after], [trace], RE optimizer).
-
-2011-04-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdAH.c: Better error-message in case of errors
- * generic/tclCmdIL.c: related to setting a variable. This fixes
- * generic/tclDictObj.c: a warning: "Why make your own error
- * generic/tclScan.c: message? Why?"
- * generic/tclTest.c:
- * test/error.test:
- * test/info.test:
- * test/scan.test:
- * unix/tclUnixThrd.h: Remove this unused header file.
-
-2011-04-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c, generic/tclObj.c, generic/tclPathObj.c:
- * generic/tclPipe.c, generic/tclPkg.c, generic/tclProc.c:
- * generic/tclScan.c: More generation of error codes (namespace
- creation, path normalization, pipeline creation, package handling,
- procedures, [scan] formats)
-
-2011-04-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (QuickConversion): Replaced another couple
- of 'double' declarations with 'volatile double' to work around
- misrounding issues in mingw-gcc 3.4.5.
-
-2011-04-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInterp.c, generic/tclListObj.c, generic/tclLoad.c:
- More generation of errorCodes ([interp], [lset], [load], [unload]).
-
- * generic/tclEvent.c, generic/tclFileName.c: More generation of
- errorCode information (default [bgerror] and [glob]).
-
-2011-04-01 Reinhard Max <max@suse.de>
-
- * library/init.tcl: TIP#131 implementation.
-
-2011-03-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclGetDate.y, generic/tclDate.c (TclClockOldscanObjCmd):
- More generation of errorCode information.
-
-2011-03-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c, generic/tclConfig.c, generic/tclUtil.c: More
- generation of errorCode information, notably when lists are mis-parsed
-
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): Use the
- error messages generated by the variable management code rather than
- creating our own.
-
-2011-03-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclNREvalObjEx): fix performance issue, notably
- apparent in tclbench's "LIST lset foreach". Many thanks to Twylite for
- patiently researching the issue and explaining it to me: a missing
- Tcl_ResetObjResult that causes unwanted sharing of the current result
- Tcl_Obj.
-
-2011-03-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_Export, Tcl_Import, DoImport): More
- generation of errorCode information.
-
- * generic/tclCompExpr.c, generic/tclCompile.c, generic/tclExecute.c:
- * generic/tclListObj.c, generic/tclNamesp.c, generic/tclObj.c:
- * generic/tclStringObj.c, generic/tclUtil.c: Reduce the number of
- casts used to manage Tcl_Obj internal representations.
-
-2011-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h (ckfree,etc.): Restored C++ usability to the memory
- allocation and free macros.
-
-2011-03-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to
- temporary index tables is squelched immediately rather than hanging
- around to trip us up in the future.
-
-2011-03-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c: Exploit HAVE_FAST_TSD for the deletion context in
- TclFreeObj()
-
-2011-03-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclThreadAlloc.c: Simpler initialization of Cache under
- HAVE_FAST_TSD, from mig-alloc-reform.
-
-2011-03-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclLoadDl.c: [Bug 3216070]: Loading extension libraries
- * unix/tclLoadDyld.c: from embedded Tcl applications.
- ***POTENTIAL INCOMPATIBILITY***
- For extensions which rely on symbols from other extensions being
- present in the global symbol table. For an example and some discussion
- of workarounds, see http://stackoverflow.com/q/8330614/301832
-
-2011-03-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCkAlloc.c:
- * generic/tclInt.h: Remove one level of allocator indirection in
- non-memdebug builds, imported from mig-alloc-reform.
-
-2011-03-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclThreadAlloc.c: Imported HAVE_FAST_TSD support from
- mig-alloc-reform. The feature has to be enabled by hand: no autoconf
- support has been added. It is not clear how universal a build using
- this will be: it also requires some loader support.
-
-2011-03-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompExpr.c (ParseExpr): Generate errorCode information on
- failure to parse expressions.
-
-2011-03-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclMain.c: [Patch 3124683]: Reorganize the platform-specific
- stuff in (tcl|tk)Main.c.
-
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCkalloc.c: [Bug 3197864]: Pointer truncation on Win64
- TCL_MEM_DEBUG builds.
-
-2011-03-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Some rewrites to eliminate calls to isspace()
- * generic/tclParse.c: and their /* INTL */ risk.
- * generic/tclProc.c:
-
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and
- * unix/configure: set to "" on per-platform necessary basis.
- Backported from TEA, but kept all original platform code which was
- removed from TEA.
-
-2011-03-14 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/tclZIC.tcl (onDayOfMonth): Allow for leading zeroes in month
- and day so that tzdata2011d parses correctly.
- * library/tzdata/America/Havana:
- * library/tzdata/America/Juneau:
- * library/tzdata/America/Santiago:
- * library/tzdata/Europe/Istanbul:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Honolulu: tzdata2011d
-
- * generic/tclAssembly.c (BBEmitInstInt1): Changed parameter data types
- in an effort to silence a MSVC warning reported by Ashok P. Nadkarni.
- Unable to test, since both forms work on my machine in VC2005, 2008,
- 2010, in both release and debug builds.
- * tests/tclTest.c (TestdstringCmd): Restored MSVC buildability broken
- by [5574bdd262], which changed the effective return type of 'ckalloc'
- from 'char*' to 'void*'.
-
-2011-03-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: remove TEBCreturn()
-
-2011-03-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.h (ckalloc,ckfree,ckrealloc): Moved casts into these
- macro so that they work with VOID* (which is a void* on all platforms
- which Tcl actually builds on) and unsigned int for the length
- parameters, removing the need for MANY casts across the rest of Tcl.
- Note that this is a strict source-level-only change, so size_t cannot
- be used (would break binary compatibility on 64-bit platforms).
-
-2011-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: [Bug 3185609]: File normalization corner case
- of ... broken with -DUNICODE
-
-2011-03-11 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/unixInit.test: Make better use of tcltest2.
-
-2011-03-10 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c, generic/tclCompCmds.c, generic/tclEnsemble.c:
- * generic/tclInt.h, generic/tclNamesp.c, library/auto.tcl:
- * tests/interp.test, tests/namespace.test, tests/nre.test:
- Converted the [namespace] command into an ensemble. This has the
- consequence of making it vital for Tcl code that wishes to work with
- namespaces to _not_ delete the ::tcl namespace.
- ***POTENTIAL INCOMPATIBILITY***
-
- * library/tcltest/tcltest.tcl (loadIntoSlaveInterpreter): Added this
- command to handle connecting tcltest to a slave interpreter. This adds
- in the hook (inside the tcltest namespace) that allows the tests run
- in the child interpreter to be reported as part of the main sequence
- of test results. Bumped version of tcltest to 2.3.3.
- * tests/init.test, tests/package.test: Adapted these test files to use
- the new feature.
-
- * generic/tclAlloc.c, generic/tclCmdMZ.c, generic/tclCompExpr.c:
- * generic/tclCompile.c, generic/tclEnv.c, generic/tclEvent.c:
- * generic/tclIO.c, generic/tclIOCmd.c, generic/tclIORChan.c:
- * generic/tclIORTrans.c, generic/tclLiteral.c, generic/tclNotify.c:
- * generic/tclParse.c, generic/tclStringObj.c, generic/tclUtil.c:
- * generic/tclZlib.c, unix/tclUnixFCmd.c, unix/tclUnixNotfy.c:
- * unix/tclUnixPort.h, unix/tclXtNotify.c: Formatting fixes, mainly to
- comments, so code better fits the style in the Engineering Manual.
-
-2011-03-09 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/incr.test: Update more of the test suite to use Tcltest 2.
-
-2011-03-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: [Bug 3202171]: Tighten the detector of nested
- * tests/namespace.test: [namespace code] quoting that the quoted
- scripts function properly even in a namespace that contains a custom
- "namespace" command.
-
- * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
-
-2011-03-09 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/dstring.test, tests/init.test, tests/link.test: Update more of
- the test suite to use Tcltest 2.
-
-2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: Fix gcc warnings: variable set but not used
- * generic/tclProc.c:
- * generic/tclIORChan.c:
- * generic/tclIORTrans.c:
- * generic/tclAssembly.c: Fix gcc warning: comparison between signed
- and unsigned integer expressions
-
-2011-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Remove TclMarkList() routine, an experimental
- * generic/tclUtil.c: dead-end from the 8.5 alpha days.
-
- * generic/tclResult.c (ResetObjResult): [Bug 3202905]: Correct failure
- to clear invalid intrep. Thanks to Colin McDonald.
-
-2011-03-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclAssembly.c, tests/assemble.test: Migrate to use a style
- more consistent with the rest of Tcl.
-
-2011-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
- * generic/tclCompile.c: with TclParseBackslash() where possible.
- * generic/tclCompCmdsSZ.c:
- * generic/tclParse.c:
- * generic/tclUtil.c:
-
- * generic/tclUtil.c (TclFindElement): [Bug 3192636]: Guard escape
- sequence scans to not overrun the string end.
-
-2011-03-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (TclParseBackslash): [Bug 3200987]: Correct
- * tests/parse.test: trunction checks in \x and \u substitutions.
-
-2011-03-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclStackFree): insure that the execStack
- satisfies "at most one free stack after the current one" when
- consecutive reallocs caused the creation of intervening stacks.
-
-2011-03-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclAssembly.c (new file):
- * generic/tclBasic.c (Tcl_CreateInterp):
- * generic/tclInt.h:
- * tests/assemble.test (new file):
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: Merged dogeen-assembler-branch into HEAD. Since
- all functional changes are in the tcl::unsupported namespace, there's
- no reason to sequester this code on a separate branch.
-
-2011-03-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Cleaner mem management for TEBCdata
-
- * generic/tclExecute.c:
- * tests/nre.test: Renamed BottomData to TEBCdata, so that the name
- refers to what it is rather than to its storage location.
-
- * generic/tclBasic.c: Renamed struct TEOV_callback to the more
- * generic/tclCompExpr.c: descriptive NRE_callback.
- * generic/tclCompile.c:
- * generic/tclExecute.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclTest.c:
-
-2011-03-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect)
- (ProcedureMethodCompiledVarDelete): [Bug 3185009]: Keep references to
- resolved object variables so that an unset doesn't leave any dangling
- pointers for code to trip over.
-
-2011-03-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclNREvalObjv): Missing a variable declaration
- in commented out non-optimised code, left for ref in checkin
- [b97b771b6d]
-
-2011-03-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (Tcl_AppendResultVA): Use the directive
- USE_INTERP_RESULT [TIP 330] to force compat with interp->result
- access, instead of the improvised hack USE_DIRECT_INTERP_RESULT_ACCESS
- from releases past.
-
-2011-03-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (TclCompileThrowCmd, TclCompileUnsetCmd):
- fix leaks
-
- * generic/tclBasic.c: This is [Patch 3168398],
- * generic/tclCompCmdsSZ.c: Joe Mistachkin's optimisation
- * generic/tclExecute.c: of Tip #285
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclInterp.c:
- * generic/tclOODecls.h:
- * generic/tclStubInit.c:
- * win/makefile.vc:
-
- * generic/tclExecute.c (ExprObjCallback): Fix object leak
-
- * generic/tclExecute.c (TEBCresume): Store local var array and
- constants in automatic vars to reduce indirection, slight perf
- increase
-
- * generic/tclOOCall.c (TclOODeleteContext): Added missing '*' so that
- trunk compiles.
-
- * generic/tclBasic.c (TclNRRunCallbacks): [Patch 3168229]: Don't do
- the trampoline dance for commands that do not have an nreProc.
-
-2011-03-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance)
- (TclOOObjectCmdCore, FinalizeObjectCall):
- * generic/tclOOBasic.c (TclOO_Object_Destroy, AfterNRDestructor):
- * generic/tclOOCall.c (TclOODeleteContext, TclOOGetCallContext):
- Reorganization of call context reference count management so that code
- is (mostly) simpler.
-
-2011-01-26 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
- of subexpression info in Tcl_RegExpInfo structure.
-
-2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPreserve.c: Don't miss 64-bit address bits in panic
- message.
- * win/tclWinChan.c: Fix various gcc-4.5.2 64-bit warning
- * win/tclWinConsole.c: messages, e.g. by using full 64-bits for
- * win/tclWinDde.c: socket fd's
- * win/tclWinPipe.c:
- * win/tclWinReg.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinThrd.c:
-
-2011-01-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: [FRQ 3159920]: Tcl_ObjPrintf() crashes with
- * generic/tcl.decls bad format specifier.
- * generic/tcl.h:
- * generic/tclDecls.h:
-
-2011-01-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (PushMethodCallFrame): [Bug 3001438]: Make
- sure that the cmdPtr field of the procPtr is correct and relevant at
- all times so that [info frame] can report sensible information about a
- frame after a return to it from a recursive call, instead of probably
- crashing (depending on what else has overwritten the Tcl stack!)
-
-2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: Various mismatches between Tcl_Panic
- * generic/tclCompCmds.c: format string and its arguments,
- * generic/tclCompCmdsSZ.c: discovered thanks to [Bug 3159920]
- * generic/tclCompExpr.c:
- * generic/tclEnsemble.c:
- * generic/tclPreserve.c:
- * generic/tclTest.c:
-
-2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIOCmd.c: [Bug 3148192]: Commands "read/puts" incorrectly
- * tests/chanio.test: interpret parameters. Improved error-message
- * tests/io.test regarding legacy form.
- * tests/ioCmd.test
-
-2011-01-15 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/tclvars.n:
- * generic/tclStrToD.c:
- * generic/tclUtil.c (Tcl_PrintDouble):
- * tests/util.test (util-16.*): [Bug 3157475]: Restored full Tcl 8.4
- compatibility for the formatting of floating point numbers when
- $::tcl_precision is not zero. Added compatibility tests to make sure
- that excess trailing zeroes are suppressed for all eight major code
- paths.
-
-2011-01-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because
- MSVC 6 doesn't have it. Reported by andreask.
- * win/tcl.m4: handle --enable-64bit=ia64 for gcc
- * win/configure.in: more accurate test for correct <intrin.h>
- * win/configure: (autoconf-2.59)
- * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and
- * generic/tclPanic.c: does not need it.
-
-2011-01-07 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/util.test (util-15.*): Added test cases for floating point
- conversion of the largest denormal and the smallest normal number, to
- avoid any possibility of the failure suffered by PHP in the last
- couple of days. (They didn't fail, so no actual functional change.)
-
-2011-01-05 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/package.test, tests/pkg.test: Coalesce these tests into one
- file that is concerned with the package system. Convert to use
- tcltest2 properly.
- * tests/autoMkindex.test, tests/pkgMkIndex.test: Convert to use
- tcltest2 properly.
-
-2011-01-01 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/cmdAH.test, tests/cmdMZ.test, tests/compExpr.test,
- * tests/compile.test, tests/concat.test, tests/eval.test,
- * tests/fileName.test, tests/fileSystem.test, tests/interp.test,
- * tests/lsearch.test, tests/namespace-old.test, tests/namespace.test,
- * tests/oo.test, tests/proc.test, tests/security.test,
- * tests/switch.test, tests/unixInit.test, tests/var.test,
- * tests/winDde.test, tests/winPipe.test: Clean up of tests and
- conversion to tcltest 2. Target has been to get init and cleanup code
- out of the test body and into the -setup/-cleanup stanzas.
-
- * tests/execute.test (execute-11.1): [Bug 3142026]: Added test that
- fails (with a crash) in an unfixed memdebug build on 64-bit systems.
-
-2010-12-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (SortElement): Use unions properly in the
- definition of this structure so that there is no need to use nasty
- int/pointer type punning. Made it clearer what the purposes of the
- various parts of the structure are.
-
-2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/dltest/*.c: [Bug 3148192]: Fix broken [load] tests by ensuring
- that the affected files are never compiled with -DSTATIC_BUILD.
-
-2010-12-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (GrowEvaluationStack): Off-by-one error in
- sizing the new allocation - was ok in comment but wrong in the code.
- Triggered by [Bug 3142026] which happened to require exactly one more
- than what was in existence.
-
-2010-12-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix crash when multiple -index
- options are used. Simplified memory handling logic.
-
-2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
- tdm64-1: completed for all environments.
-
-2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/configure.in: Explicitely test for intrinsics support in
- compiler, before assuming only MSVC has it.
- * win/configure: (autoconf-2.59)
- * generic/tclPanic.c:
-
-2010-12-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
- tdm64-1: Fixed for gcc, not yet for MSVC 64-bit.
-
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
-
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/Makefile.in: Clean up '.PHONY:' targets: Arrange those
- common to Tcl and Tk as in Tk's Makefile.in,
- add any missing ones and remove duplicates.
-
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
-
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/Makefile.in: [Bug 2537626]: Use 'rpmbuild', not 'rpm'.
-
-2010-12-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPanic.c: [Patch 3124554]: Move WishPanic from Tk to Tcl
- * win/tclWinFile.c: Better communication with debugger, if present.
-
-2010-12-15 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tclAssembly.c:
- * assemble.test: Reworked beginCatch/endCatch handling to
- enforce the more severe (but more correct) restrictions on catch
- handling that appeared in the discussion of [Bug 3098302] and in
- tcl-core traffic beginning about 2010-10-29.
-
-2010-12-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPanic.c: Restore abort() as it was before.
- * win/tclWinFile.c: [Patch 3124554]: Use ExitProcess() here, like
- in wish.
-
-2010-12-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build on GCC 3.
-
-2010-12-14 Reinhard Max <max@suse.de>
-
- * win/tclWinSock.c (CreateSocket): Swap the loops over
- * unix/tclUnixSock.c (CreateClientSocket): local and remote addresses,
- so that the system's address preference for the remote side decides
- which family gets tried first. Cleanup and clarify some of the
- comments.
-
-2010-12-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3135271]: Link error due to hidden
- * unix/tcl.m4: symbols (CentOS 4.2)
- * unix/configure: (autoconf-2.59)
- * win/tclWinFile.c: Undocumented feature, only meant to be used by
- Tk_Main. See [Patch 3124554]: Move WishPanic from Tk to Tcl
-
-2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/tcl.m4: Better building on OpenBSD.
- * unix/configure: (autoconf-2.59)
-
-2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3129448]: Possible over-allocation on
- * generic/tclCkalloc.c: 64-bit platforms, part 2
- * generic/tclCompile.c:
- * generic/tclHash.c:
- * generic/tclInt.h:
- * generic/tclIO.h:
- * generic/tclProc.c:
-
-2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: Make sure [fcopy -size ... -command ...] always
- * tests/io.test: calls the callback asynchronously, even for size
- zero.
-
-2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBinary.c: Fix gcc -Wextra warning: missing initializer
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclDictObj.c:
- * generic/tclIndexObj.c:
- * generic/tclIOCmd.c:
- * generic/tclVar.c:
- * win/tcl.m4: Fix manifest-generation for 64-bit gcc
- (mingw-w64)
- * win/configure.in: Check for availability of intptr_t and
- uintptr_t
- * win/configure: (autoconf-2.59)
- * generic/tclInt.decls: Change 1st param of TclSockMinimumBuffers
- * generic/tclIntDecls.h: to ClientData, and TclWin(Get|Set)SockOpt
- * generic/tclIntPlatDecls.h:to SOCKET, because on Win64 those are
- * generic/tclIOSock.c: 64-bit, which does not fit.
- * win/tclWinSock.c:
- * unix/tclUnixSock.c:
-
-2010-12-09 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/fCmd.test: Improve sanity of constraints now that we don't
- support anything before Windows 2000.
-
- * generic/tclCmdAH.c (TclInitFileCmd, TclMakeFileCommandSafe, ...):
- Break up [file] into an ensemble. Note that the ensemble is safe in
- itself, but the majority of its subcommands are not.
- * generic/tclFCmd.c (FileCopyRename,TclFileDeleteCmd,TclFileAttrsCmd)
- (TclFileMakeDirsCmd): Adjust these subcommand implementations to work
- inside an ensemble.
- (TclFileLinkCmd, TclFileReadLinkCmd, TclFileTemporaryCmd): Move these
- subcommand implementations from tclCmdAH.c, where they didn't really
- belong.
- * generic/tclIOCmd.c (TclChannelNamesCmd): Move to more appropriate
- source file.
- * generic/tclEnsemble.c (TclMakeEnsemble): Start of code to make
- partially-safe ensembles. Currently does not function as expected due
- to various shortcomings in how safe interpreters are constructed.
- * tests/cmdAH.test, tests/fCmd.test, tests/interp.test: Test updates
- to take into account systematization of error messages.
-
- * tests/append.test, tests/appendComp.test: Clean up tests so that
- they don't leave things in the global environment (detected when doing
- -singleproc testing).
-
-2010-12-07 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/fCmd.test, tests/safe.test, tests/uplevel.test,
- * tests/upvar.test, tests/var.test: Convert more tests to tcltest2 and
- factor them to be easier to understand.
-
- * generic/tclStrToD.c: Tidy up code so that more #ifdef-fery is
- quarantined at the front of the file and function headers follow the
- modern Tcl style.
-
-2010-12-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBinary.c: [Bug 3129448]: Possible over-allocation on
- * generic/tclCkalloc.c: 64-bit platforms.
- * generic/tclTrace.c:
-
-2010-12-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: [Patch 3116490]: Cross-compile support for unix
- * unix/configure: (autoconf-2.59)
-
-2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (TclReToGlob): Add extra check for multiple inner
- *s that leads to poor recursive glob matching, defer to original RE
- instead. tclbench RE var backtrack.
-
-2010-12-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclUtil.c: Silence gcc warning when using -Wwrite-strings
- * generic/tclStrToD.c: Silence gcc warning for non-IEEE platforms
- * win/Makefile.in: [Patch 3116490]: Cross-compile Tcl mingw32 on unix
- * win/tcl.m4: This makes it possible to cross-compile Tcl/Tk for
- * win/configure.in: Windows (either 32-bit or 64-bit) out-of-the-box
- * win/configure: on UNIX, using mingw-w64 build tools (If Itcl,
- tdbc and Thread take over the latest tcl.m4, they can do that too).
-
-2010-12-01 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (SetPrecisionLimits, TclDoubleDigits):
- [Bug 3124675]: Added meaningless initialization of 'i', 'ilim' and
- 'ilim1' to silence warnings from the C compiler about possible use of
- uninitialized variables, Added a panic to the 'switch' that assigns
- them, to assert that the 'default' case is impossible.
-
-2010-12-01 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: Fix gcc 64-bit warnings: cast from pointer to
- * generic/tclHash.c: integer of different size.
- * generic/tclTest.c:
- * generic/tclThreadTest.c:
- * generic/tclStrToD.c: Fix gcc(-4.5.2) warning: 'static' is not at
- beginning of declaration.
- * generic/tclPanic.c: Allow Tcl_Panic() to enter the debugger on win32
- * generic/tclCkalloc.c: Use Tcl_Panic() in stead of duplicating the
- code.
-
-2010-11-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.decls, generic/tclInt.h, generic/tclIntDecls.h:
- * generic/tclStubInit.c: TclFormatInt restored at slot 24
- * generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from
- 2005-07-05 macro-ization. Benchmarks indicate it is faster, as a key
- int->string routine (e.g. int-indexed arrays).
-
-2010-11-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclBasic.c: Patch by Miguel, providing a
- [::tcl::unsupported::inject coroname command args], which prepends
- ("injects") arbitrary code to a suspended coro's future resumption.
- Neat for debugging complex coros without heavy instrumentation.
-
-2010-11-29 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclStrToD.c:
- * generic/tclTest.c:
- * generic/tclTomMath.decls:
- * generic/tclUtil.c:
- * tests/util.test:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits that
- (a) fixes a severe performance problem with floating point shimmering
- reported by Karl Lehenbauer, (b) allows TclDoubleDigits to generate
- the digit strings for 'e' and 'f' format, so that it can be used for
- tcl_precision != 0 (and possibly later for [format]), (c) fixes [Bug
- 3120139] by making TclPrintDouble inherently locale-independent, (d)
- adds test cases to util.test for correct rounding in difficult cases
- of TclDoubleDigits where fixed- precision results are requested. (e)
- adds test cases to util.test for the controversial aspects of [Bug
- 3105247]. As a side effect, two more modules from libtommath
- (bn_mp_set_int.c and bn_mp_init_set_int.c) are brought into the build,
- since the new code uses them.
-
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTomMathDecls.h: Regenerated.
-
-2010-11-24 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/chanio.test, tests/iogt.test, tests/ioTrans.test: Convert more
- tests to tcltest2 and factor them to be easier to understand.
-
-2010-11-20 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/chanio.test: Converted many tests to tcltest2 by marking the
- setup and cleanup parts as such.
-
-2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWin32Dll.c: Fix gcc warnings: unused variable 'registration'
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
-
-2010-11-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclAppInit.c: [FRQ 491789]: "setargv() doesn't support a unicode
- cmdline" now implemented for cygwin and mingw32 too.
- * tests/main.test: No longer disable tests Tcl_Main-1.4 and 1.6 on
- Windows, because those now work on all supported platforms.
- * win/configure.in: Set NO_VIZ=1 when zlib is compiled in libtcl,
- this resolves compiler warnings in 64-bit and static builds.
- * win/configure (regenerated)
-
-2010-11-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n: [Bug 3111298]: Typofix.
-
- * tests/oo.test: [Bug 3111059]: Added testing that neatly trapped this
- issue.
-
-2010-11-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c: [Bug 3111059]: Fix leak due to bad looping
- construct.
-
-2010-11-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: [FRQ 491789]: "setargv() doesn't support a unicode
- cmdline" now implemented for mingw-w64
- * win/configure (re-generated)
-
-2010-11-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclAppInit.c:Bring compilation under mingw-w64 a bit closer
- * win/cat.c: to reality. See for what's missing:
- * win/tcl.m4: <https://sourceforge.net/apps/trac/mingw-w64/wiki/Unicode%20apps>
- * win/configure: (re-generated)
- * win/tclWinPort.h: [Bug 3110161]: Extensions using TCHAR don't
- compile on VS2005 SP1
-
-2010-11-15 Andreas Kupries <andreask@activestate.com>
-
- * doc/interp.n: [Bug 3081184]: TIP #378.
- * doc/tclvars.n: Performance fix for TIP #280.
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * tests/info.test:
- * tests/interp.test:
-
-2010-11-10 Andreas Kupries <andreask@activestate.com>
-
- * changes: Updates for 8.6b2 release.
-
-2010-11-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (ProcedureMethodVarResolver): [Bug 3105999]:
- * tests/oo.test: Make sure that resolver structures that are
- only temporarily needed get squelched.
-
-2010-11-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclMain.c: Thanks, Kevin, for the fix, but this how it was
- supposed to be (TCL_ASCII_MAIN is only supposed to be defined on
- WIN32).
-
-2010-11-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclMain.c: Added missing conditional on _WIN32 around code
- that messes around with the definition of _UNICODE, to correct a badly
- broken Unix build from Jan's last commit.
-
-2010-11-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: [FRQ 491789]: "setargv() doesn't support a
- * generic/tclMain.c: unicode cmdline" implemented for Tcl on MSVC++
- * doc/Tcl_Main.3:
- * win/tclAppInit.c:
- * win/makefile.vc:
- * win/Makefile.in:
- * win/tclWin32Dll.c: Eliminate minor MSVC warning TCHAR -> char
- conversion
-
-2010-11-04 Reinhard Max <max@suse.de>
-
- * tests/socket.test: Run the socket tests three times with the address
- family set to any, inet, and inet6 respectively. Use constraints to
- skip the tests if a family is found to be unsupported or not
- configured on the local machine. Adjust the tests to dynamically adapt
- to the address family that is being tested.
-
- Rework some of the tests to speed them up by avoiding (supposedly)
- unneeded [after]s.
-
-2010-11-04 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * unix/Makefile.in: [Patch 3101127]: Installer Improvements.
- * unix/install-sh:
-
-2010-11-04 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/error.test (error-19.13): Another variation on testing for
- issues in [try] compilation.
-
- * doc/Tcl.n (Variable substitution): [Bug 3099086]: Increase clarity
- of explanation of what characters are actually permitted in variable
- substitutions. Note that this does not constitute a change of
- behavior; it is just an improvement of explanation.
-
-2010-11-04 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6b2 release. (Thanks Andreas Kupries)
-
-2010-11-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFcmd.c: [FRQ 2965056]: Windows build with -DUNICODE
- * win/tclWinFile.c: (more clean-ups for pre-win2000 stuff)
- * win/tclWinReg.c:
-
-2010-11-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (TryPostBody): Ensure that errors when setting
- * tests/error.test (error-19.1[12]): message/opt capture variables get
- reflected properly to the caller.
-
-2010-11-03 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompCmds.c (TclCompileCatchCmd): [Bug 3098302]:
- * tests/compile.test (compile-3.6): Reworked the compilation of the
- [catch] command so as to avoid placing any code that might throw an
- exception (specifically, any initial substitutions or any stores to
- result or options variables) between the BEGIN_CATCH and END_CATCH but
- outside the exception range. Added a test case that panics on a stack
- smash if the change is not made.
-
-2010-11-01 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * library/safe.tcl: Improved handling of non-standard module path
- * tests/safe.test: lists, empty path lists in particular.
-
-2010-11-01 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Hong_Kong:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
-
-2010-10-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclTimer.c: [Bug 2905784]: Stop small [after]s from
- wasting CPU while keeping accuracy.
-
-2010-10-28 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
- * generic/tclAssembly.c:
- * tests/assembly.test (assemble-31.*): Added jump tables.
-
-2010-10-28 Don Porter <dgp@users.sourceforge.net>
-
- * tests/http.test: [Bug 3097490]: Make http-4.15 pass in
- isolation.
-
- * unix/tclUnixSock.c: [Bug 3093120]: Prevent calls of
- freeaddrinfo(NULL) which can crash some
- systems. Thanks Larry Virden.
-
-2010-10-26 Reinhard Max <max@suse.de>
-
- * Changelog.2008: Split off from Changelog.
- * generic/tclIOSock.c (TclCreateSocketAddress): The interp != NULL
- check is needed for ::tcl::unsupported::socketAF as well.
-
-2010-10-26 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp is
- * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation).
-
-2010-10-26 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (TcpGetOptionProc): Added support for
- ::tcl::unsupported::noReverseDNS, which if set to any value, prevents
- [fconfigure -sockname] and [fconfigure -peername] from doing
- reverse DNS queries.
-
-2010-10-24 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
- * generic/tclAssembly.c:
- * tests/assembly.test (assemble-17.15): Reworked branch handling so
- that forward branches can use jump1 (jumpTrue1, jumpFalse1). Added
- test cases that the forward branches will expand to jump4, jumpTrue4,
- jumpFalse4 when needed.
-
-2010-10-23 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
- * generic/tclAssembly.h (removed):
- Removed file that was included in only one
- source file.
- * generictclAssembly.c: Inlined tclAssembly.h.
-
-2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/info.n: [Patch 2995655]:
- * generic/tclBasic.c: Report inner contexts in [info errorstack]
- * generic/tclCompCmds.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * tests/error.test:
- * tests/result.test:
-
-2010-10-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictForCmd): Update the compilation
- * generic/tclCompile.c (tclInstructionTable): of [dict for] so that
- * generic/tclExecute.c (TEBCresume): it no longer makes any
- use of INST_DICT_DONE now that's not needed, and make it clearer in
- the implementation of the instruction that it's just a deprecated form
- of unset operation. Followup to my commit of 2010-10-16.
-
-2010-10-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (Tcl_ZlibStreamGet): [Bug 3081008]: Ensure that
- when a bytearray gets its internals entangled with zlib for more than
- a passing moment, that bytearray will never be shimmered away. This
- increases the amount of copying but is simple to get right, which is a
- reasonable trade-off.
-
- * generic/tclStringObj.c (Tcl_AppendObjToObj): Added some special
- cases so that most of the time when you build up a bytearray by
- appending, it actually ends up being a bytearray rather than
- shimmering back and forth to string.
-
- * tests/http11.test (check_crc): Use a simpler way to express the
- functionality of this procedure.
-
- * generic/tclZlib.c: Purge code that wrote to the object returned by
- Tcl_GetObjResult, as we don't want to do that anti-pattern no more.
-
-2010-10-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/uniParse.tcl: [Bug 3085863]: tclUniData was 9 years old;
- Ignore non-BMP characters and fix comment about UnicodeData.txt file.
- * generic/regcomp.c: Fix comment
- * tests/utf.test: Add some Unicode 6 testcases
-
-2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/info.n: Document [info errorstack] faithfully.
-
-2010-10-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (ReleaseDictIterator): Factored out the release
- of the bytecode-level dictionary iterator information so that the
- side-conditions on instruction issuing are simpler.
-
-2010-10-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/reg_locale.c: [Bug 3085863]: tclUniData 9 years old: Updated
- * generic/tclUniData.c: Unicode tables to latest UnicodeData.txt,
- * tools/uniParse.tcl: corresponding with Unicode 6.0 (except for
- out-of-range chars > 0xFFFF)
-
-2010-10-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Alternative fix for [Bugs 467523,983660] where
- * generic/tclExecute.c: sharing of empty scripts is allowed again.
-
-2010-10-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinThrd.h: (removed) because it is just empty en used nowhere
- * win/tcl.dsp
-
-2010-10-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/uniClass.tcl: Spacing and comments: let uniClass.tcl
- * generic/regc_locale.c: generation match better the current
- (hand-modified) regc_locale.c
- * tools/uniParse.tcl: Generate proper const qualifiers for
- * generic/tclUniData.c: tclUniData.c
-
-2010-10-12 Reinhard Max <max@suse.de>
-
- * unix/tclUnixSock.c (CreateClientSocket): [Bug 3084338]: Fix a
- memleak and refactor the calls to freeaddrinfo().
-
-2010-10-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: [FRQ 2965056]: Windows build with -DUNICODE
- * win/tclWinReg.c:
- * win/tclWinTest.c: More cleanups
- * win/tclWinFile.c: Add netapi32 to the link line, so we no longer
- * win/tcl.m4: have to use LoadLibrary to access those
- functions.
- * win/makefile.vc:
- * win/configure: (Re-generate with autoconf-2.59)
- * win/rules.vc Update for VS10
-
-2010-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Fix overallocation of exec stack in TEBC (due
- to mixing numwords and numbytes)
-
-2010-10-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIOSock.c: On Windows, use gai_strerrorA
-
-2010-10-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/winPipe.test: Test hygiene with makeFile and removeFile.
-
- * generic/tclCompile.c: [Bug 3081065]: Prevent writing to the intrep
- * tests/subst.test: fields of a freed Tcl_Obj.
-
-2010-10-06 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * generic/tclAssembly.c:
- * generic/tclAssembly.h:
- * tests/assemble.test: Added catches. Still needs a lot of testing.
-
-2010-10-02 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * generic/tclAssembly.c:
- * generic/tclAssembly.h:
- * tests/assemble.test: Added dictAppend, dictIncrImm, dictLappend,
- dictSet, dictUnset, nop, regexp, nsupvar, upvar, and variable.
-
-2010-10-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TEBCresume): [Bug 3079830]: Added invalidation
- of string representations of dictionaries in some cases.
-
-2010-10-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (EvalStatsCmd): change 'evalstats' to return
- data to interp by default, or if given an arg, use that as filename to
- output to (accepts 'stdout' and 'stderr'). Fix output to print used
- inst count data.
- * generic/tclCkalloc.c: Change TclDumpMemoryInfo sig to allow objPtr
- * generic/tclInt.decls: as well as FILE* as output.
- * generic/tclIntDecls.h:
-
-2010-10-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c, generic/tclClock.c, generic/tclEncoding.c,
- * generic/tclEnv.c, generic/tclLoad.c, generic/tclNamesp.c,
- * generic/tclObj.c, generic/tclRegexp.c, generic/tclResolve.c,
- * generic/tclResult.c, generic/tclUtil.c, macosx/tclMacOSXFCmd.c:
- More purging of strcpy() from locations where we already know the
- length of the data being copied.
-
-2010-10-01 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test:
- * generic/tclAssemble.h:
- * generic/tclAssemble.c: Added listIn, listNotIn, and dictGet.
-
-2010-09-30 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test: Added tryCvtToNumeric and several more list
- * generic/tclAssemble.c: operations.
- * generic/tclAssemble.h:
-
-2010-09-29 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test: Completed conversion of tests to a
- * generic/tclAssemble.c: "white box" structure that follows the
- C code. Added missing safety checks on the operands of 'over' and
- 'reverse' so that negative operand counts don't smash the stack.
-
-2010-09-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/configure: Re-generate with autoconf-2.59
- * win/configure:
- * generic/tclMain.c: Make compilable with -DUNICODE as well
-
-2010-09-28 Reinhard Max <max@suse.de>
-
- TIP #162 IMPLEMENTATION
-
- * doc/socket.n: Document the changes to the [socket] and
- [fconfigure] commands.
-
- * generic/tclInt.h: Introduce TclCreateSocketAddress() as a
- * generic/tclIOSock.c: replacement for the platform-dependent
- * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. Extend
- * unix/tclUnixChan.c: the [socket] and [fconfigure] commands to
- * unix/tclUnixPort.h: behave as proposed in TIP #162. This is the
- * win/tclWinSock.c: core of what is required to support the use of
- * win/tclWinPort.h: IPv6 sockets in Tcl.
-
- * compat/fake-rfc2553.c: A compat implementation of the APIs defined
- * compat/fake-rfc2553.h: in RFC-2553 (getaddrinfo() and friends) on
- top of the existing gethostbyname() etc.
- * unix/configure.in: Test whether the fake-implementation is
- * unix/tcl.m4: needed.
- * unix/Makefile.in: Add a compile target for fake-rfc2553.
-
- * win/configure.in: Allow cross-compilation by default.
-
- * tests/socket.test: Improve the test suite to make more use of
- * tests/remote.tcl: randomized ports to reduce interference with
- tests running in parallel or other services on
- the machine.
-
-2010-09-28 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test: Added more "white box" tests.
- * generic/tclAssembly.c: Added the error checking and reporting
- for undefined labels. Revised code so that no pointers into the
- bytecode sequence are held (because the sequence can move!),
- that no Tcl_HashEntry pointers are held (because the hash table
- doesn't guarantee their stability!) and to eliminate the BBHash
- table, which is merely additional information indexed by jump
- labels and can just as easily be held in the 'label' structure.
- Renamed shared structures to CamelCase, and renamed 'label' to
- JumpLabel because other types of labels may eventually be possible.
-
-2010-09-27 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test: Added more "white box" tests.
- * generic/tclAssembly.c: Fixed bugs exposed by the new tests.
- (a) [eval] and [expr] had incorrect stack balance computed if
- the arg was not a simple word. (b) [concat] accepted a negative
- operand count. (c) [invoke] accepted a zero or negative operand
- count. (d) more misspelt error messages.
- Also replaced a funky NRCallTEBC with the new call
- TclNRExecuteByteCode, necessitated by a merge with changes on the
- HEAD.
-
-2010-09-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Patch 3072080] (minus the itcl
- * generic/tclCmdIL.c: update): a saner NRE.
- * generic/tclCompExpr.c:
- * generic/tclCompile.c: This makes TclNRExecuteByteCode (ex TEBC)
- * generic/tclCompile.h: to be a normal NRE citizen: it loses its
- * generic/tclExecute.c: special status.
- * generic/tclInt.decls: The logic flow within the BC engine is
- * generic/tclInt.h: simplified considerably.
- * generic/tclIntDecls.h:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * generic/tclTest.c:
-
- * generic/tclVar.c: Use the macro HasLocalVars everywhere
-
-2010-09-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid code
- duplication, let the runtime var resolver call the compiled var
- resolver.
-
-2010-09-26 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * tests/assemble.test: Added many new tests moving toward a more
- comprehensive test suite for the assembler.
- * generic/tclAssembly.c: Fixed bugs exposed by the new tests:
- (a) [bitnot] and [not] had incorrect operand counts. (b)
- INST_CONCAT cannot concatenate zero objects. (c) misspelt error
- messages. (d) the "assembly code" internal representation lacked
- a duplicator, which caused double-frees of the Bytecode object
- if assembly code ever was duplicated.
-
-2010-09-25 Kevin B. Kenny <kennykb@acm.org>
-
- [dogeen-assembler-branch]
-
- * generic/tclAssembly.c: Massive refactoring of the assembler
- * generic/tclAssembly.h: to use a Tcl-like syntax (and use
- * tests/assemble.test: Tcl_ParseCommand to parse it). The
- * tests/assemble1.bench: refactoring also ensures that
- Tcl_Tokens in the assembler have string ranges inside the source
- code, which allows for [eval] and [expr] assembler directives
- that simply call TclCompileScript and TclCompileExpr recursively.
-
-2010-09-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/stringComp.test: improved string eq/cmp test coverage
- * generic/tclExecute.c (TclExecuteByteCode): merge INST_STR_CMP and
- INST_STR_EQ/INST_STR_NEQ paths. Speeds up eq/ne/[string eq] with
- obj-aware comparisons and eq/==/ne/!= with length equality check.
-
-2010-09-24 Andreas Kupries <andreask@activestate.com>
-
- * tclWinsock.c: [Bug 3056775]: Fixed race condition between thread and
- internal co-thread access of a socket's structure because of the
- thread not using the socketListLock in TcpAccept(). Added
- documentation on how the module works to the top.
-
-2010-09-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: Make Tcl_SetPanicProc and Tcl_GetStringResult
- * unix/tclAppInit.c: callable without stubs, just as Tcl_SetVar.
- * win/tclAppInit.c:
-
-2010-09-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c: Fix cases where value returned by
- * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked.
- * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the
- anti-pattern to seek and destroy.
-
-2010-09-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclAppInit.c: Make compilable with -DUNICODE (not activated
- * win/tclAppInit.c: yet), many clean-ups in comments.
-
-2010-09-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute: [Bug 3072640]: One more DECACHE_STACK_INFO() was
- missing.
-
- * tests/execute.test: Added execute-10.3 for [Bug 3072640]. The test
- causes a mem failure.
-
- * generic/tclExecute: Protect all possible writes to ::errorInfo or
- ::errorCode with DECACHE_STACK_INFO(), as they could run traces. The
- new calls to be protected are Tcl_ResetResult(), Tcl_SetErrorCode(),
- IllegalExprOperandType(), TclExprFloatError(). The error was triggered
- by [Patch 3072080].
-
-2010-09-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: Add kernel32 to LIBS, so the link line for
- * win/configure: mingw is exactly the same as for MSVC++.
-
-2010-09-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect):
- * generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys):
- * generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths):
- * generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt
- * generic/tclResult.c (TclMergeReturnOptions): Use memcmp where
- applicable as possible speedup on some libc variants.
-
-2010-09-21 Kevin B. Kenny <kennykb@acm.org>
-
- [BRANCH: dogeen-assembler-branch]
-
- * generic/tclAssembly.c (new file):
- * generic/tclAssembly.h:
- * generic/tclBasic.c (builtInCmds, Tcl_CreateInterp):
- * generic/tclInt.h:
- * tests/assemble.test (new file):
- * tests/assemble1.bench (new file):
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/Makefile.vc:
- Initial commit of Ozgur Dogan Ugurlu's (SF user: dogeen)
- assembler for the Tcl bytecode language.
-
-2010-09-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFile.c: Fix declaration after statement.
- * win/tcl.m4: Add -Wdeclaration-after-statement, so this
- * win/configure: mistake cannot happen again.
- * win/tclWinFCmd.c: [Bug 3069278]: Breakage on head Windows
- * win/tclWinPipe.c: triggered by install-tzdata, final fix
-
-2010-09-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFCmd.c: Eliminate tclWinProcs->useWide everywhere, since
- * win/tclWinFile.c: the value is always "1" on platforms >win95
- * win/tclWinPipe.c:
-
-2010-09-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n (file readlink): [Bug 3070580]: Typofix.
-
-2010-09-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinFCmd.c [Bug 3069278]: Breakage on head Windows triggered
- by install-tzdata. Temporary don't compile this with -DUNICODE, while
- investigating this bug.
-
-2010-09-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFile.c: Remove define of FINDEX_INFO_LEVELS as all
- supported versions of compilers should now have it.
-
- * unix/Makefile.in: Do not pass current build env vars when using
- NATIVE_TCLSH in targets.
-
-2010-09-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: Make Tcl_FindExecutable() work in UNICODE
- * generic/tclEncoding.c: compiles (windows-only) as well as ASCII.
- * generic/tclStubInit.c: Needed for [FRQ 491789]: setargv() doesn't
- support a unicode cmdline.
-
-2010-09-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Make
- sure we never try to double zero repeatedly to get a buffer size. Also
- added a check for sanity on the size of buffer being appended.
-
-2010-09-15 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Revise `make dist` target to tolerate the
- case of zero bundled packages.
-
-2010-09-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
- * generic/tcl.decls: features to genStubs.tcl. Make the "generic"
- * generic/tclInt.decls: argument in the *.decls files optional
- * generic/tclOO.decls: (no change to any tcl*Decls.h files)
- * generic/tclTomMath.decls:
- This allows genStubs.tcl to generate the ttk stub files as well, while
- keeping full compatibility with existing *.decls files.
-
-2010-09-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Allow all Win2000+ API entries in Tcl
- * win/tclWin32Dll.c: Eliminate dynamical loading of advapi23 and
- kernel32 symbols.
-
-2010-09-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinChan.c: Various clean-ups, converting from
- * win/tclWinConsole.c: tclWinProc->xxxProc directly to Xxx
- * win/tclWinInit.c: (no change in functionality)
- * win/tclWinLoad.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * tools/genStubs.tcl: Add scspec feature from ttkGenStubs.tcl
- (no change in output for *Decls.h files)
-
-2010-09-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWin32Dll.c: Partly revert yesterday's change, to make it work
- on VC++ 6.0 again.
-
-2010-09-10 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/regsub.n: [Bug 3063568]: Fix for gotcha in example due to Tcl's
- special handling of backslash-newline. Makes example slightly less
- pure, but more useful.
-
-2010-09-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/makefile.vc: Mingw should always link with -ladvapi32.
- * win/tcl.m4:
- * win/configure: (regenerated)
- * win/tclWinInt.h: Remove ascii variant of tkWinPocs table, it is
- * win/tclWin32Dll.c: no longer necessary. Fix CreateProcess signature
- * win/tclWinPipe.c: and remove unused GetModuleFileName and lstrcpy.
- * win/tclWinPort.h: Mingw/cygwin fixes: <tchar.h> should always be
- included, and fix conflict in various macro values: Always force the
- same values as in VC++.
-
-2010-09-08 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinChan.c: [Bug 3059922]: #ifdef protections to permit
- * win/tclWinFCmd.c: builds with mingw on amd64 systems. Thanks to
- "mescalinum" for reporting and testing.
-
-2010-09-08 Andreas Kupries <andreask@activestate.com>
-
- * doc/tm.n: Added underscore to the set of characters accepted in
- module names. This is true for quite some time in the code, this
- change catches up the documentation.
-
-2010-09-03 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (plus-pkgs): Improve the package
- documentation search pattern to support the doctoos-generated
- directory structure.
- * tools/tcltk-man2html-utils.tcl (output-name): Made this more
- resilient against misformatted NAME sections, induced by import of
- Thread package documentation into Tcl doc tree.
-
-2010-09-02 Andreas Kupries <andreask@activestate.com>
-
- * doc/glob.n: Fixed documentation ambiguity regarding the handling
- of -join.
-
- * library/safe.tcl (safe::AliasGlob): Fixed another problem, the
- option -join does not stop option processing in the core builtin, so
- the emulation must not do that either.
-
-2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * library/safe.tcl (safe::AliasGlob): Moved the command extending the
- actual glob command with a -directory flag to when we actually have a
- proper untranslated path,
-
-2010-09-01 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclExecute.c: [Bug 3057639]: Applied patch by Jeff to make
- * generic/tclVar.c: the behaviour of lappend in bytecompiled mode
- * tests/append.test: consistent with direct-eval and 'append'
- * tests/appendComp.test: generally. Added tests (append*-9.*)
- showing the difference.
-
-2010-08-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/rules.vc: Typo (thanks to Twylite discovering
- this)
- * generic/tclStubLib.c: Revert to previous version: MSVC++ 6.0
- * generic/tclTomMathStubLib.c:cannot handle the new construct.
- * generic/tcl.decls [Patch 2997642]: Many type casts needed
- * generic/tclDecls.h: when using Tcl_Pkg* API. Remaining part.
- * generic/tclPkg.c:
- * generic/tclBasic.c:
- * generic/tclTomMathInterface.c:
- * doc/PkgRequire.3
-
-2010-08-31 Andreas Kupries <andreask@activestate.com>
-
- * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest
- handling on Win64.
- * win/configure: Regenerated.
-
-2010-08-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bugs 3046594,3047235,3048771]: New
- * generic/tclCmdAH.c: implementation for [tailcall] command: it now
- * generic/tclCmdMZ.c: schedules the command and returns TCL_RETURN.
- * generic/tclExecute.c: This fixes all issues with [catch] and [try].
- * generic/tclInt.h: Thanks dgp for exploring the dark corners.
- * generic/tclNamesp.c: More thorough testing is required.
- * tests/tailcall.test:
-
-2010-08-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: [FRQ 2965056]: Windows build with -DUNICODE
- * win/rules.vc:
- * win/tclWinFCmd.c: Make sure that allocated TCHAR arrays are
- * win/tclWinFile.c: always properly aligned as wchar_t, and
- * win/tclWinPipe.c: not bigger than necessary.
- * win/tclWinSock.c:
- * win/tclWinDde.c: Those 3 files are not converted yet to be
- * win/tclWinReg.c: built with -DUNICODE, so add a TODO.
- * win/tclWinTest.c:
- * generic/tcl.decls: [Patch 2997642]: Many type casts needed when
- * generic/tclDecls.h: using Tcl_Pkg* API. Partly.
- * generic/tclPkg.c:
- * generic/tclStubLib.c: Demonstration how this change can benefit
- code.
- * generic/tclTomMathStubLib.c:
- * doc/PkgRequire.3:
-
-2010-08-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
- manpage to refer to (correct) existing subcommand.
-
-2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*.
- Add /usr/lib64 to set of auto-search dirs. [Bug 1230554]
- (SC_PATH_X): Correct syntax error when xincludes not found.
-
- * win/Makefile.in (VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE):
- * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST
- macro and --enable-embedded-manifest configure arg added to support
- manifest embedding where we know the magic. Help prevents DLL hell
- with MSVC8+.
-
-2010-08-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls: [Bug 3007895]: Tcl_(Find|Create)HashEntry
- * generic/tclHash.c: stub entries can never be called.
- * generic/tclDecls.h:
- * generic/tclStubInit.c: [Patch 2994165]: Change signature of
- Tcl_FSGetNativePath and TclpDeleteFile follow-up: move stub entry back
- to original location.
-
-2010-08-23 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
-
-2010-08-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: [Patch 3009403]: Signature of Tcl_GetHashKey,
- * generic/tclBinary.c: Tcl_(Create|Find)HashEntry follow-up:
- * generic/tclCmdIL.c: Remove many type casts which are no longer
- * generic/tclCompile.c:necessary as a result of this signature change.
- * generic/tclDictObj.c:
- * generic/tclEncoding.c:
- * generic/tclExecute.c:
- * generic/tclInterp.c:
- * generic/tclIOCmd.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclTrace.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2010-08-21 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/linsert.n: [Bug 3045123]: Make description of what is actually
- happening more accurate.
-
-2010-08-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
- features to genStubs.tcl, partly: Use void (*reserved$i)(void) = 0
- instead of void *reserved$i = NULL for unused stub entries, in case
- pointer-to-function and pointer-to-object are different sizes.
- * generic/tcl*Decls.h: (regenerated)
- * generic/tcl*StubInit.c:(regenerated)
-
-2010-08-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/Method.3: Fix definition of Tcl_MethodType.
-
-2010-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd)
- (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of
- strcpy() to avoid buffer overflow; we have the correct length of data
- to copy anyway since we've just allocated the target buffer.
-
-2010-08-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
- features to genStubs.tcl, partly: remove unneeded ifdeffery and put
- C++ guard around stubs pointer definition.
- * generic/*Decls.h: (regenerated)
-
-2010-08-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: New redesign of [tailcall]: find
- * generic/tclExecute.c: errors early on, so that errorInfo
- * generic/tclInt.h: contains the proper info [Bug 3047235]
- * generic/tclNamesp.c:
-
- * generic/tclCmdAH.c (TclNRTryObjCmd): [Bug 3046594]: Block
- tailcalling out of the body of a non-bc'ed [try].
-
- * generic/tclBasic.c: Redesign of [tailcall] to
- * generic/tclCmdAH.c: (a) fix [Bug 3047235]
- * generic/tclCompile.h: (b) enable fix for [Bug 3046594]
- * generic/tclExecute.c: (c) enable recursive tailcalls
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * tests/tailcall.test:
-
-2010-08-18 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (AliasGlob): [Bug 3004191]: Restore safe [glob] to
- working condition.
-
-2010-08-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make the
- handling of passing the wrong number of arguments to [apply] somewhat
- less verbose when a lambda term is present.
-
-2010-08-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/unicows: Remove completely, see [FRQ 2819611].
- * doc/FileSystem.3: [Patch 2994165]: Change signature of
- * generic/tcl.decls Tcl_FSGetNativePath and TclpDeleteFile
- * generic/tclDecls.h:
- * generic/tclIOUtil.c:
- * generic/tclStubInit.c:
- * generic/tclInt.h:
- * unix/tclUnixFCmd.c:
- * win/tclWinFCmd.c:
- * doc/Hash.3: [Patch 3009403]: Signature of Tcl_GetHashKey,
- * generic/tcl.h: Tcl_(Create|Find)HashEntry
-
-2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/ldAix: Remove ancient (pre-4.2) AIX support
- * unix/configure: Regen with ac-2.59
- * unix/configure.in, unix/tclConfig.sh.in, unix/Makefile.in:
- * unix/tcl.m4 (AIX): Remove the need for ldAIX, replace with
- -bexpall/-brtl. Remove TCL_EXP_FILE (export file) and other baggage
- that went with it. Remove pre-4 AIX build support.
-
-2010-08-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclNRYieldToObjCmd):
- * tests/coroutine.test: Fixed bad copypasta snafu. Thanks to Andy Goth
- for finding the bug.
-
-2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
- null-terminated, so account for that.
-
-2010-08-09 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6b2 release.
-
-2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in, win/makefile.bc, win/makefile.vc, win/tcl.dsp:
- * win/tclWinPipe.c (TclpCreateProcess):
- * win/stub16.c (removed): Removed Win9x tclpip8x.dll build and 16-bit
- application loader stub support. Win9x is no longer supported.
-
- * win/tclWin32Dll.c (TclWinInit): Hard-enforce Windows 9x as an
- unsupported platform with a panic. Code to support it still exists in
- other files (to go away in time), but new APIs are being used that
- don't exist on Win9x.
-
- * unix/tclUnixFCmd.c: Adjust license header as per
- ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
-
- * license.terms: Fix DFARs note for number-adjusted rights clause
-
- * win/tclWin32Dll.c (asciiProcs, unicodeProcs):
- * win/tclWinLoad.c (TclpDlopen): 'load' use LoadLibraryEx with
- * win/tclWinInt.h (TclWinProcs): LOAD_WITH_ALTERED_SEARCH_PATH to
- prefer dependent DLLs in same dir as loaded DLL.
-
- * win/Makefile.in (%.${OBJEXT}): better implicit rules support
-
-2010-08-04 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting in
- * generic/tclIORTrans.c: InvokeTclMethod and callers.
- * tests/ioTrans.test:
-
-2010-08-03 Andreas Kupries <andreask@activestate.com>
-
- * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
- the local hashtable deletion crash and fix.
-
- * tests/info.test (info-39.1): Added forward copy of test in 8.5
- branch about [Bug 2933089]. Should not fail, and doesn't, after
- updating the line numbers to the changed position.
-
-2010-08-02 Kevin B. Kenny <kennykb@users.sf.net>
-
- * library/tzdata/America/Bahia_Banderas:
- * library/tzdata/Pacific/Chuuk:
- * library/tzdata/Pacific/Pohnpei:
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Europe/Helsinki:
- * library/tzdata/Pacific/Ponape:
- * library/tzdata/Pacific/Truk:
- * library/tzdata/Pacific/Yap: Olson's tzdata2010k.
-
-2010-08-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: Correcting bad port of [Bug 3037525] fix
-
-2010-07-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: [Bug 3037525]: Lose fickle optimisation in
- TclDeleteVars (used for runtime-created locals) that caused crash.
-
-2010-07-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/zlib/win32/README.txt: Official build of zlib1.dll 1.2.5 is
- * compat/zlib/win32/USAGE.txt: finally available, so put it in.
- * compat/zlib/win32/zlib1.dll:
-
-2010-07-25 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/http.n: Corrected description of location of one of the entries
- in the state array.
-
-2010-07-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDecls.h: [Bug 3029891]: Functions that don't belong in
- * generic/tclTest.c: the stub table.
- * generic/tclBasic.c: From [Bug 3030870] make itcl 3.x built with
- pre-8.6 work in 8.6: Relax the relation between Tcl_CallFrame and
- CallFrame.
-
-2010-07-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c: Added more errorCode setting.
-
-2010-07-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Ensure that [dict get]
- * generic/tclDictObj.c (DictGetCmd): always generates an errorCode on
- a failure to look up an entry.
-
-2010-07-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * unix/configure: (regenerated)
- * unix/configure.in: For the NATIVE_TCLSH variable use the autoconf
- * unix/Makefile.in: SC_PROG_TCLSH to try and find a locally installed
- native binary. This avoids manually fixing up when cross compiling. If
- there is not one, revert to using the build product.
-
-2010-07-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.decs: Reverted to the original TIP 337
- implementation on what to do with the obsolete internal stub for
- TclBackgroundException() (eliminate it!)
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: [Bug 803489]: Tcl_FindNamespace problem in
- * generic/tclIntDecls.h: the Stubs table
- * generic/tclStubInit.c:
-
-2010-07-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Made
- sure that errors caused by an argument to an operator being outside
- the domain of the operator all result in ::errorCode being ARITH
- DOMAIN and not NONE.
-
-2010-07-01 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/rules.vc: [Bug 3020677]: wish can't link reg1.2
- * tools/checkLibraryDoc.tcl: formatting, spacing, cleanup unused
- * tools/eolFix.tcl: variables; no change in generated output
- * tools/fix_tommath_h.tcl:
- * tools/genStubs.tcl:
- * tools/index.tcl:
- * tools/man2help2.tcl:
- * tools/regexpTestLib.tcl:
- * tools/tsdPerf.tcl:
- * tools/uniClass.tcl:
- * tools/uniParse.tcl:
-
-2010-07-01 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
- rendering of the exclusive-or operator.
-
-2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have
- conflicting definitions. Added messages for ENOTRECOVERABLE, EOTHER,
- ECANCELED and EOWNERDEAD, and fixed various typing mistakes in other
- messages.
-
-2010-06-25 Reinhard Max <max@suse.de>
-
- * tests/socket.test: Prevent a race condition during shutdown of the
- remote test server that can cause a hang when the server is being run
- in verbose mode.
-
-2010-06-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: [Bug 3019634]: errno.h and tclWinPort.h have
- conflicting definitions.
-
- ***POTENTIAL INCOMPATIBILITY***
- On win32, the correspondence between errno and the related error
- message, as handled by Tcl_ErrnoMsg() changes. The error message is
- kept the same, but the corresponding errno value might change.
-
-2010-06-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
- args message.
-
-2010-06-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclLoadDl.c: Eliminate various unnecessary type casts, use
- * unix/tclLoadNext.c: function typedefs whenever possible
- * unix/tclUnixChan.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixNotfy.c:
- * unix/tclUnixSock.c:
- * unix/tclUnixTest.c:
- * unix/tclXtTest.c:
- * generic/tclZlib.c: Remove hack needed for zlib 1.2.3 on win32
-
-2010-06-18 Donal K. Fellows <dkf@users.sf.net>
-
- * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
- default list of extensions that we can execute interactively.
-
-2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format
- * library/msgs/he.msg: with locale of he_IL.
-
- * generic/tcl.h: Simplify Tcl_AppInit and *_Init definitions,
- * generic/tclInt.h: spacing. Change TclpThreadCreate and
- * generic/tcl.decls: Tcl_CreateThread signature, making clear that
- * generic/tclDecls.h: "proc" is a function pointer, as in all other
- * generic/tclEvent.c: "proc" function parameters.
- * generic/tclTestProcBodyObj.c:
- * win/tclWinThrd.c:
- * unix/tclUnixThrd.c:
- * doc/Thread.3:
- * doc/Class.3: Fix Tcl_ObjectMetadataType definition.
-
-2010-06-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/Makefile.in: Fix compilation of xttest with 8.6 changes
- * unix/tclXtNotify.c:
- * unix/tclXtTest.c:
- * generic/tclPipe.c: Fix gcc warning (with -fstrict-aliasing=2)
- * library/auto.tcl: Spacing and style fixes.
- * library/history.tcl:
- * library/init.tcl:
- * library/package.tcl:
- * library/safe.tcl:
- * library/tm.tcl:
-
-2010-06-13 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (make-man-pages): [Bug 3015327]: Make the
- title of a manual page be stored relative to its resulting directory
- name as well as its source filename. This was caused by both Tcl and a
- contributed package ([incr Tcl]) defining an Object.3. Also corrected
- the joining of strings in titles to avoid extra braces.
-
-2010-06-09 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Added OSX Intel 64bit
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.9.
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2010-06-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/tsdPerf.c: Fix export of symbol Tsdperf_Init, when using
- -fvisibility=hidden. Make two functions static, eliminate some
- unnecessary type casts.
- * tools/configure.in: Update to Tcl 8.6
- * tools/configure: (regenerated)
- * tools/.cvsignore new file
-
-2010-06-07 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclExecute.c: Ensure proper reset of [info errorstack] even
- * generic/tclNamesp.c: when compiling constant expr's with errors.
-
-2010-06-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bug 3008307]: make callerPtr chains be
- * generic/tclExecute.c: traversable accross coro boundaries. Add the
- special coroutine CallFrame (partially reverting commit of
- 2009-12-10), as it is needed for coroutines that do not push a CF, eg,
- those with [eval] as command. Thanks to Colin McCormack (coldstore)
- and Alexandre Ferrieux for the hard work on this.
-
-2010-06-03 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclNamesp.c: Safer (and faster) computation of [uplevel]
- * tests/error.test: offsets in TIP 348. Toplevel offsets no longer
- * tests/result.test: overestimated.
-
-2010-06-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclOO.h: BUILD_tcloo is never defined (leftover)
- * win/makefile.bc: Don't set BUILD_tcloo (leftover)
- See also entry below: 2008-06-01 Joe Mistachkin
-
-2010-06-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclNamesp.c: Fix computation of [uplevel] offsets in TIP 348
- * tests/error.test: Only depend on callerPtr chaining now.
- * tests/result.test: Needed for upcoming coro patch.
-
-2010-05-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclVar.c: Eliminate some casts to (Tcl_HashTable *)
- * generic/tclExecute.c:
- * tests/fileSystem.test: Fix filesystem-5.1 test failure on CYGWIN
-
-2010-05-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: [Patch 3008541]: Order of TIP #348 fields in
- Interp structure
-
-2010-05-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]:
- Corrected error in handling of catch contexts to prevent crash with
- chained handlers.
-
- * generic/tclExecute.c (TclExecuteByteCode): Restore correct operation
- of instruction-level execution tracing (had been broken by NRE).
-
-2010-05-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/opt/optParse.tcl: Don't generate spaces at the end of a
- * library/opt/pkgIndex.tcl: line, eliminate ';' at line end, bump to
- * tools/uniParse.tcl: v0.4.6
- * generic/tclUniData.c:
- * tests/opt.test:
- * tests/safe.test:
-
-2010-05-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/installData.tcl: Make sure that copyDir only receives
- normalized paths, otherwise it might result in a crash on CYGWIN.
- Restyle according to the Tcl style guide.
- * generic/tclStrToD.c: [Bug 3005233]: Fix for build on OpenBSD vax
-
-2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/dict.test: Add missing tests for [Bug 3004007], fixed under
- the radar on 2010-02-24 (dkf): EIAS violation in list-dict conversions
-
-2010-05-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/regcomp.c: Don't use arrays of length 1, just use a
- * generic/tclFileName.c: single element then, it makes code more
- * generic/tclLoad.c: readable. (Here it even prevents a type cast)
-
-2010-05-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStrToD.c: [Bug 2996549]: Failure in expr.test on Win32
-
-2010-05-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (TclInfoFrame): Change this code to use
- Tcl_GetCommandFullName rather than rolling its own. Discovered during
- the hunting of [Bug 3001438] but unlikely to be a fix.
-
-2010-05-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinConsole.c: [Patch 2997087]: Unnecessary type casts.
- * win/tclWinDde.c:
- * win/tclWinLoad.c:
- * win/tclWinNotify.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinTime.c:
- * win/tclWinPort.h: Don't duplicate CYGWIN timezone #define from
- tclPort.h
-
-2010-05-07 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Fix cpu name for Solaris/Intel 64bit.
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.8.
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2010-05-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPkg.c: Unnecessary type casts, see [Patch 2997087]
-
-2010-05-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinNotify.c: TCHAR-related fixes, making those two files
- * win/tclWinSock.c: compile fine when TCHAR != char. Please see
- comments in [FRQ 2965056] (2965056-1.patch).
-
-2010-05-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIORChan.c: Use "tclIO.h" and "tclTomMathDecls.h"
- * generic/tclIORTrans.c: everywhere
- * generic/tclTomMath.h:
- * tools/fix_tommath_h.tcl:
- * libtommath/tommath.h: Formatting (# should always be first char on
- line)
- * win/tclAppInit.c: For MINGW/CYGWIN, use GetCommandLineA
- explicitly.
- * unix/.cvsignore: Add pkg, *.dll
-
- * libtommath/tommath.h: CONSTify various useful internal
- * libtommath/bn_mp_cmp_d.c: functions (TclBignumToDouble, TclCeil,
- * libtommath/bn_mp_cmp_mag.c: TclFloor), and related tommath functions
- * libtommath/bn_mp_cmp.c:
- * libtommath/bn_mp_copy.c:
- * libtommath/bn_mp_count_bits.c:
- * libtommath/bn_mp_div_2d.c:
- * libtommath/bn_mp_mod_2d.c:
- * libtommath/bn_mp_mul_2d.c:
- * libtommath/bn_mp_neg.c:
- * generic/tclBasic.c: Handle TODO: const correctness ?
- * generic/tclInt.h:
- * generic/tclStrToD.c:
- * generic/tclTomMath.decls:
- * generic/tclTomMath.h:
- * generic/tclTomMathDecls.h:
-
-2010-04-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump patchlevel to 8.6b1.2 to distinguish
- * library/init.tcl: CVS snapshots from earlier snapshots as well
- * unix/configure.in: as the 8.6b1 and 8.6b2 releases.
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * generic/tclBinary.c (TclAppendBytesToByteArray): Add comments
- * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow
- protection responsibility on caller. Convert "len" argument to signed
- int which any value already vetted for overflow issues will fit into.
- * generic/tclStringObj.c: Update caller; standardize panic msg.
-
- * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
- panic when the generated string representation would grow beyond Tcl's
- size limits.
-
-2010-04-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (TclAppendBytesToByteArray): Add extra armour
- against buffer overflows.
-
- * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
- * tests/coroutine.test (coroutine-6.4): arguments to deal with
- trickier cases.
-
-2010-04-30 Miguel Sofer <msofer@users.sf.net>
-
- * tests/coroutine.test: testing coroutine arguments after [yield]:
- check that only 0/1 allowed
-
-2010-04-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
- arguments to deal with trickier cases.
-
- * generic/tclCompCmds.c (TclCompileVariableCmd): Slightly tighter
- issuing of instructions.
-
- * generic/tclExecute.c (TclExecuteByteCode): Add peephole optimization
- of the fact that INST_DICT_FIRST and INST_DICT_NEXT always have a
- conditional jump afterwards.
-
- * generic/tclBasic.c (TclNRYieldObjCmd, TclNRYieldmObjCmd)
- (NRInterpCoroutine): Replace magic values for formal argument counts
- for coroutine command implementations with #defines, for an increase
- in readability.
-
-2010-04-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclMain.c: Unnecessary TCL_STORAGE_CLASS re-definition. It
- was used for an ancient dummy reference to Tcl_LinkVar(), but that's
- already gone since 2002-05-29.
-
-2010-04-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompExpr.c: Slight change in the literal sharing
- * generic/tclCompile.c: mechanism to avoid shimmering of
- * generic/tclCompile.h: command names.
- * generic/tclLiteral.c:
-
-2010-04-29 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Another stab at getting the /lib,
- * library/platform/pkgIndex.tcl: /lib64 difference right for linux.
- * unix/Makefile.in: Package updated to version 1.0.7.
- * win/Makefile.in:
-
-2010-04-29 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Antarctica/Macquarie:
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/Africa/Tunis:
- * library/tzdata/America/Santiago:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/Antarctica/Casey:
- * library/tzdata/Antarctica/Davis:
- * library/tzdata/Asia/Anadyr:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Kamchatka:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Asia/Taipei:
- * library/tzdata/Europe/Samara:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Fiji: Olson's tzdata2010i.
-
-2010-04-29 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Make
- * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte
- array to another into an efficent operation. The problem was the (lack
- of) a proper growth management strategy for the byte array.
-
-2010-04-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/dirent2.h: Include "tcl.h", not <tcl.h>, like everywhere
- * compat/dlfcn.h: else, to ensure that the version in the Tcl
- * compat/stdlib.h: distribution is used, not some version from
- * compat/string.h: somewhere else.
- * compat/unistd.h:
-
-2010-04-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: Remove unused @MAN2TCLFLAGS@
- * win/tclWinPort.h: Move <limits.h> include from tclInt.h to
- * generic/tclInt.h: tclWinPort.h, and eliminate unneeded
- * generic/tclEnv.c: <stdlib.h>, <stdio.h> and <string.h>, which
- are already in tclInt.h
- * generic/regcustom.h: Move "tclInt.h" from regcustom.h up to
- * generic/regex.h: regex.h.
- * generic/tclAlloc.c: Unneeded <stdio.h> include.
- * generic/tclExecute.c: Fix gcc warning: comparison between signed and
- unsigned.
-
-2010-04-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (TclIsVarDirectUnsettable): Corrected flags so that
- deletion of traces is not optimized out...
-
- * generic/tclExecute.c (ExecuteExtendedBinaryMathOp)
- (TclCompareTwoNumbers,ExecuteExtendedUnaryMathOp,TclExecuteByteCode):
- [Patch 2981677]: Move the less common arithmetic operations (i.e.,
- exponentiation and operations on non-longs) out of TEBC for a big drop
- in the overall size of the stack frame for most code. Net effect on
- speed is minimal (slightly faster overall in tclbench). Also extended
- the number of places where TRESULT handling is replaced with a jump to
- dedicated code.
-
-2010-04-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Rearrange location of an
- assignment to shorten the object code.
-
-2010-04-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIOUtil.c (Tcl_FSGetNativePath): [Bug 2992292]:
- tclIOUtil.c assignment type mismatch compiler warning
- * generic/regguts.h: If tclInt.h or tclPort.h is already
- * generic/tclBasic.c: included, don't include <limits.h>
- * generic/tclExecute.c: again. Follow-up to [Bug 2991415]:
- * generic/tclIORChan.c: tclport.h #included before limits.h
- * generic/tclIORTrans.c: See comments in [Bug 2991415]
- * generic/tclObj.c:
- * generic/tclOOInt.h:
- * generic/tclStrToD.c:
- * generic/tclTomMath.h:
- * generic/tclTomMathInterface.c:
- * generic/tclUtil.c:
- * compat/strtod.c:
- * compat/strtol.c:
-
-2010-04-27 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Simplified the logic
- so that the casts added in Donal Fellows's change for the same bug are
- no longer necessary.
-
-2010-04-26 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Added an explicit cast
- because auto-casting between function and non-function types is never
- naturally warning-free.
-
- * generic/tclStubInit.c: Add a small amount of gcc-isms (with #ifdef
- * generic/tclOOStubInit.c: guards) to ensure that warnings are issued
- when these files are older than the various *.decls files.
-
-2010-04-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Add unsupported [yieldm] command. Credit
- * generic/tclInt.h: Lars Hellstrom for the basic idea.
-
-2010-04-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Modify api of TclSpliceTailcall() to fix
- * generic/tclExecute.c: [yieldTo], which had not survived the latest
- * generic/tclInt.h: mods to tailcall. Thanks kbk for detecting
- the problem.
-
-2010-04-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
- limits.h
-
-2010-04-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclPlatDecls.h: Move TCHAR fallback typedef from tcl.h to
- * generic/tcl.h: tclPlatDecls.h (as suggested by dgp)
- * generic/tclInt.h: fix typo
- * generic/tclIOUtil.c: Eliminate various unnecessary
- * unix/tclUnixFile.c: type casts.
- * unix/tclUnixPipe.c:
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinLoad.c:
- * win/tclWinPipe.c:
-
-2010-04-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Use function prototypes from the FS API.
- * compat/zlib/*: Upgrade to zlib 1.2.5
-
-2010-04-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Improve commenting and
- reduce indentation for the Invocation Block.
-
-2010-04-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/unset.n: [Bug 2988940]: Fix typo.
-
-2010-04-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Move inclusion of <tchar.h> from
- * generic/tcl.h: tclPlatDecls.h to tclWinPort.h, where it
- * generic/tclPlatDecls.h: belongs. Add fallback in tcl.h, so TCHAR is
- available in win32 always.
-
-2010-04-15 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/try.n: [Bug 2987551]: Fix typo.
-
-2010-04-14 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Linux platform identification:
- * library/platform/pkgIndex.tcl: Check /lib64 for existence of files
- * unix/Makefile.in: matching libc* before accepting it as base
- * win/Makefile.in: directory. This can happen on weirdly installed
- 32bit systems which have an empty or partially filled /lib64 without
- an actual libc. Bumped to version 1.0.6.
-
-2010-04-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinPort.h: Fix [Patch 2986105]: conditionally defining
- * win/tclWinFile.c: strcasecmp/strncasecmp
- * win/tclWinLoad.c: Fix gcc warning: comparison of unsigned expression
- >= 0 is always true
-
-2010-04-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (TclSubstCompile): If the first token does
- not result in a *guaranteed* push of a Tcl_Obj on the stack, we must
- push an empty object. Otherwise it is possible to get to a 'concat1'
- or 'done' without enough values on the stack, resulting in a crash.
- Thanks to Joe Mistachkin for identifying a script that could trigger
- this case.
-
-2010-04-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/catch.n, doc/info.n, doc/return.n: Formatting.
-
-2010-04-06 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Load.3: Minor corrections of formatting and cross links.
-
-2010-04-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/configure: (regenerate with autoconf-2.59)
- * unix/configure:
- * unix/installManPage: [Bug 2982540]: configure and install* script
- * unix/install-sh: files should always have LF line ending.
- * doc/Load.3: Fix signature of Tcl_LoadFile in documentation.
-
-2010-04-05 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- TIP #348 IMPLEMENTATION
-
- * generic/tclBasic.c: [Patch 2868499]: Substituted error stack
- * generic/tclCmdIL.c:
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclResult.c:
- * doc/catch.n:
- * doc/info.n:
- * doc/return.n:
- * tests/cmdMZ.test:
- * tests/error.test:
- * tests/execute.test:
- * tests/info.test:
- * tests/init.test:
- * tests/result.test:
-
-2010-04-05 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tcl.m4 (SC_ENABLE_THREADS): Flip the default for whether to
- * win/tcl.m4 (SC_ENABLE_THREADS): build in threaded mode. Part of
- * win/rules.vc: TIP #364.
-
- * unix/tclLoadDyld.c (FindSymbol): Better human-readable error message
- generation to match code in tclLoadDl.c.
-
-2010-04-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIOUtil.c, unix/tclLoadDl.c: Minor changes to enforce
- Engineering Manual style rules.
-
- * doc/FileSystem.3, doc/Load.3: Documentation for TIP#357.
-
- * macosx/tclMacOSXBundle.c (OpenResourceMap): [Bug 2981528]: Only
- define this function when HAVE_COREFOUNDATION is defined.
-
-2010-04-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls (Tcl_LoadFile): Add missing "const" in signature,
- * generic/tclIOUtil.c (Tcl_LoadFile): and some formatting fixes
- * generic/tclDecls.h: (regenerated)
-
-2010-04-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIOUtil.c (Tcl_LoadFile): Corrections to previous commit
- * unix/tclLoadDyld.c (TclpDlopen): to make it build on OSX.
-
-2010-04-02 Kevin B. Kenny <kennykb@acm.org>
-
- TIP #357 IMPLEMENTATION
- TIP #362 IMPLEMENTATION
-
- * generic/tclStrToD.c: [Bug 2952904]: Defer creation of the smallest
- floating point number until it is actually used. (This change avoids a
- bogus syslog message regarding a 'floating point software assist
- fault' on SGI systems.)
-
- * library/reg/pkgIndex.tcl: [TIP #362]: Fixed first round of bugs
- * tests/registry.test: resulting from the recent commits of
- * win/tclWinReg.c: changes in support of the referenced
- TIP.
-
- * generic/tcl.decls: [TIP #357]: First round of changes
- * generic/tclDecls.h: to export Tcl_LoadFile,
- * generic/tclIOUtil.c: Tcl_FindSymbol, and Tcl_FSUnloadFile
- * generic/tclInt.h: to the public API.
- * generic/tclLoad.c:
- * generic/tclLoadNone.c:
- * generic/tclStubInit.c:
- * tests/fileSystem.test:
- * tests/load.test:
- * tests/unload.test:
- * unix/tclLoadDl.c:
- * unix/tclLoadDyld.c:
- * unix/tclLoadNext.c:
- * unix/tclLoadOSF.c:
- * unix/tclLoadShl.c:
- * unix/tclUnixPipe.c:
- * win/Makefile.in:
- * win/tclWinLoad.c:
-
-2010-03-31 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/registry.n: Added missing documentation of TIP#362 flags.
-
- * doc/package.n: [Bug 2980210]: Document the arguments taken by
- the [package present] command correctly.
-
- * doc/Thread.3: Added some better documentation of how to create and
- use a thread using the C-level thread API, based on realization that
- no such tutorial appeared to exist.
-
-2010-03-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * test/cmdMZ.test: [FRQ 2974744]: share exception codes (ObjType?):
- * test/error.test: Revised test cases, making sure that abbreviated
- * test/proc-old.test: codes are checked resulting in an error, and
- checking for the exact error message.
-
-2010-03-30 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput,
- (ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption,
- (ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve
- ReflectedChannel* structures across handler invokations, to avoid
- crashes when the handler implementation induces nested callbacks and
- destruction of the channel deep inside such a nesting.
-
-2010-03-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorder
- the validity tests on internal rep of a "cmdName" value to avoid
- invalid reads reported by valgrind.
-
-2010-03-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIndexObj: [FRQ 2974744]: share exception codes
- * generic/tclResult.c: further optimization, making use of indexType.
- * generic/tclZlib.c: [Bug 2979399]: uninitialized value troubles
-
-2010-03-30 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #362 IMPLEMENTATION
-
- * win/tclWinReg.c: [Patch 2960976]: Apply patch from Damon Courtney to
- * tests/registry.test: allow the registry command to be told to work
- * win/Makefile.in: with both 32-bit and 64-bit registries. Bump
- * win/configure.in: version of registry package to 1.3.
- * win/makefile.bc:
- * win/makefile.vc:
- * win/configure: autoconf-2.59
-
-2010-03-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Only test for -visibility=hidden with gcc
- (Second remark in [Bug 2976508])
- * unix/configure: regen
-
-2010-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Fix array overrun in test format-1.12
- caught by valgrind testing.
-
-2010-03-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: [FRQ 2974744]: share exception codes
- * generic/tclResult.c: (ObjType?)
- * generic/tclCmdMZ.c:
- * generic/tclCompCmdsSZ.c:
-
-2010-03-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclExecute.c: [Bug 2976508]: Tcl HEAD fails on HP-UX
-
-2010-03-25 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
- number of arguments to fstatfs() call.
-
- * macosx/tclMacOSXBundle.c, macosx/tclMacOSXFCmd.c:
- * macosx/tclMacOSXNotify.c: Reduce the level of ifdeffery in the
- functions of these files to improve readability. They need to be
- audited for whether complexity can be removed based on the minimum
- supported version of OSX, but that requires a real expert.
-
-2010-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so
- * tests/result.test: that it rejects illegal non-list values.
-
-2010-03-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOInfo.c (InfoObjectMethodTypeCmd)
- (InfoClassMethodTypeCmd): Added introspection of method types so that
- it is possible to find this info out without using errors.
- * generic/tclOOMethod.c (procMethodType): Now that introspection can
- reveal the name of method types, regularize the name of normal methods
- to be the name of the definition type used to create them.
-
- * tests/async.test (async-4.*): Reduce obscurity of these tests by
- putting the bulk of the code for them inside the test body with the
- help of [apply].
-
- * generic/tclCmdMZ.c (TryPostBody, TryPostHandler): Make sure that the
- [try] command does not trap unwinding due to limits.
-
-2010-03-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: [Bug 2973361]: Revised fix for computing
- indices of script arguments to [try].
-
-2010-03-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdMZ.c: Make error message in "try" implementation
- * generic/tclCompCmdsSZ.c: exactly the same as the one in "return"
- * tests/error.test:
- * libtommath/mtests/mpi.c: Single "const" addition
-
-2010-03-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: [Bug 2973361]: Compute the correct integer
- values to identify the argument indices of the various script
- arguments to [try]. Passing in -1 led to invalid memory reads.
-
-2010-03-20 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/exec.n: Make it a bit clearer that there is an option to run a
- pipeline in the background.
-
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Lift the restriction
- * generic/tclIO.c (TclCopyChannel, CopyData): on the [fcopy] command
- * generic/tclIO.h (CopyState): that forced it to only
- copy up to 2GB per script-level callback. Now it is anything that can
- fit in a (signed) 64-bit integer. Problem identified by Frederic
- Bonnet on comp.lang.tcl. Note that individual low-level reads and
- writes are still smaller as the optimal buffer size is smaller.
-
-2010-03-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/stub16.c: Don't hide that we use the ASCII API here.
- (does someone still use that?)
- * win/tclWinPipe.c: 2 unnecessary type casts.
-
-2010-03-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (TclCompileThrowCmd): Added compilation for
- the [throw] command.
-
-2010-03-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c: [Bug 2971669]: Prevent in overflow trouble in
- * generic/tclTestObj.c: ListObjReplace operations. Thanks to kbk for
- * tests/listObj.test: fix and test.
-
-2010-03-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions):
- [Bug 2971921]: Corrected jump so that it doesn't skip into the middle
- of an instruction! Tightened the instruction issuing. Moved endCatch
- calls closer to their point that they guard, ensuring correct ordering
- of result values.
-
-2010-03-17 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORTrans.c (ReflectInput, ReflectOutput)
- (ReflectSeekWide): [Bug 2921116]: Added missing TclEventuallyFree
- calls for preserved ReflectedTransform* structures. Reworked
- ReflectInput to preserve the structure for its whole life, not only in
- InvokeTclMethod.
-
- * generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate topChan,
- may have been changed by a self-modifying transformation.
-
- * tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11)
- (iortrans-7.4, iortrans-8.3): New test cases.
-
-2010-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * compat/zlib/*: Upgrade zlib to version 1.2.4.
- * win/makefile.vc:
- * unix/Makefile.in:
- * win/tclWinChan.c: Don't cast away "const" without reason.
-
-2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/makefile.vc: [Bug 2967340]: Static build was failing.
- * win/.cvsignore:
-
-2010-03-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Remove unnecessary '&' decoration for
- * generic/tclIOUtil.c: function pointers
- * win/tclWin32Dll.c: Double declaration of TclNativeDupInternalRep
- * unix/tclIOUtil.c:
- * unix/dltest/.cvsignore: Ignore *.so here
-
-2010-03-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux
- * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging and
- * tests/ioCmd.test: fixing the problem. It is the write-side
- equivalent to the bug fixed 2009-08-06.
-
-2010-03-09 Don Porter <dgp@users.sourceforge.net>
-
- * library/tzdata/America/Matamoros: New locale
- * library/tzdata/America/Ojinaga: New locale
- * library/tzdata/America/Santa_Isabel: New locale
- * library/tzdata/America/Asuncion:
- * library/tzdata/America/Tijuana:
- * library/tzdata/Antarctica/Casey:
- * library/tzdata/Antarctica/Davis:
- * library/tzdata/Antarctica/Mawson:
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Pacific/Fiji:
- Olson tzdata2010c.
-
-2010-03-07 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Test that tclOO stubs are present in stub
- library
- * generic/tclOOMethod.c: Applied missing part of [Patch 2961556]
- * win/tclWinInt.h: Change all tclWinProcs signatures to use
- * win/tclWin32Dll.c: TCHAR* in stead of WCHAR*. This is meant
- * win/tclWinDde.c: as preparation to make [Enh 2965056]
- * win/tclWinFCmd.c: possible at all.
- * win/tclWinFile.c:
- * win/tclWinPipe.c:
- * win/tclWinSock.c:
-
-2010-03-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStubLib.c: Remove presence of tclTomMathStubsPtr here.
- * generic/tclTest.c: Test that tommath stubs are present in stub
- library.
-
-2010-03-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIORTrans.c (ForwardProc): [Bug 2964425]: When cleaning
- the stables, it is sometimes necessary to do more than the minimum. In
- this case, rationalizing the variables for a forwarded limit? method
- required removing an extra Tcl_DecrRefCount too.
-
- * generic/tclOO.h, generic/tclOOInt.h: [Patch 2961556]: Change TclOO
- to use the same style of function typedefs as Tcl, as this is about
- the last chance to get this right.
-
- ***POTENTIAL INCOMPATIBILITY***
- Source code that uses function typedefs from TclOO will need to update
- variables and argument definitions so that pointers to the function
- values are used instead. Binary compatibility is not affected.
-
- * generic/*.c, generic/tclInt.h, unix/*.c, macosx/*.c: Applied results
- of doing a Code Audit. Principal changes:
- * Use do { ... } while (0) in macros
- * Avoid shadowing one local variable with another
- * Use clearer 'foo.bar++;' instead of '++foo.bar;' where result not
- required (i.e., semantically equivalent); clarity is increased
- because it is bar that is incremented, not foo.
- * Follow Engineering Manual rules on spacing and declarations
-
-2010-03-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (ObjectRenamedTrace): [Bug 2962664]: Add special
- handling so that when the class of classes is deleted, so is the class
- of objects. Immediately.
-
- * generic/tclOOInt.h (ROOT_CLASS): Add new flag for specially marking
- the root class. Simpler and more robust than the previous technique.
-
-2010-03-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclGetDate.y: 3 unnecessary MODULE_SCOPE
- * generic/tclDate.c: symbols
- * generic/tclStubLib.c: Split tommath stub lib
- * generic/tclTomMathStubLib.c: in separate file.
- * win/makefile.bc:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/tcl.dsp:
- * unix/Makefile.in:
- * unix/tcl.m4: Cygwin only gives warning
- * unix/configure: using -fvisibility=hidden
- * compat/strncasecmp.c: A few more const's
- * compat/strtod.c:
- * compat/strtoul.c:
-
-2010-03-03 Andreas Kupries <andreask@activestate.com>
-
- * doc/refchan.n: Followup to ChangeLog entry 2009-10-07
- (generic/tclIORChan.c). Fixed the documentation to explain that errno
- numbers are operating system dependent, and reworked the associated
- example.
-
-2010-03-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: [FRQ 2959069]: Support for -fvisibility=hidden
- * unix/configure (regenerated with autoconf-2.59)
-
-2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * unix/tclUnixSock.c: Refrain from a possibly lengthy reverse-DNS
- lookup on 0.0.0.0 when calling [fconfigure -sockname] on an
- universally-bound (default) server socket.
-
- * generic/tclIndexObj.c: fix [AT 86258]: special-casing of empty
- tables when generating error messages for [::tcl::prefix match].
-
-2010-02-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c: More additions of {TCL LOOKUP} error-code
- generation to various subcommands of [info] as part of long-term
- project to classify all Tcl's generated errors.
-
-2010-02-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclStubInit.c: [Bug 2959713]: Link error with gcc 4.1
-
-2010-02-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (StringFirstCmd, StringLastCmd): [Bug 2960021]:
- Only search for the needle in the haystack when the needle isn't
- larger than the haystack. Prevents an odd crash from sometimes
- happening when things get mixed up (a common programming error).
-
- * generic/tclMain.c (Tcl_Main): [Bug 801429]: Factor out the holding
- of the client-installed main loop function into thread-specific data.
-
- ***POTENTIAL INCOMPATIBILITY***
- Code that previously tried to set the main loop from another thread
- will now fail. On the other hand, there is a fairly high probability
- that such programs would have been failing before due to the lack of
- any kind of inter-thread memory barriers guarding accesses to this
- part of Tcl's state.
-
-2010-02-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c: Split this file into two pieces to make it
- * generic/tclCompCmdsSZ.c: easier to work with. It's still two very
- long files even after the split.
-
-2010-02-26 Reinhard Max <max@suse.de>
-
- * doc/safe.n: Name the installed file after the command it documents.
- Use "Safe Tcl" instead of the "Safe Base", "Safe Tcl" mixture.
-
-2010-02-26 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/Makefile.in (NATIVE_TCLSH): Added this variable to allow for
- better control of what tclsh to use for various scripts when doing
- cross compiling. An imperfect solution, but works.
-
- * unix/installManPage: Remap non-alphanumeric sequences in filenames
- to single underscores (especially colons).
-
-2010-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/zlib.test: Add tests for [Bug 2818131] which was crashing with
- mismatched zlib algorithms used in combination with gets. This issue
- has been fixed by Andreas's last commit.
-
-2010-02-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclHash.c: [FRQ 2958832]: Further speed-up of the
- * generic/tclLiteral.c: ouster-hash function.
- * generic/tclObj.c:
- * generic/tclCkalloc.c: Eliminate various unnecessary (ClientData)
- * generic/tclTest.c: type casts.
- * generic/tclTestObj.c:
- * generic/tclTestProcBodyObj.c:
- * unix/tclUnixTest.c:
- * unix/tclUnixTime.c:
- * unix/tclXtTest.c:
-
-2010-02-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (SetDictFromAny): Prevent the list<->dict
- * generic/tclListObj.c (SetListFromAny): conversion code from taking
- too many liberties. Stops loss of duplicate keys in some scenarios.
- Many thanks to Jean-Claude Wippler for finding this.
-
- * generic/tclExecute.c (TclExecuteByteCode): Reduce ifdef-fery and
- size of activation record. More variables shared across instructions
- than before.
-
- * doc/socket.n: [Bug 2957688]: Clarified that [socket -server] works
- with a command prefix. Extended example to show this in action.
-
-2010-02-22 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclZlib.c (ZlibTransformInput): [Bug 2762041]: Added a hack
- to work around the general problem, early EOF recognition based on the
- base-channel, instead of the data we have ready for reading in the
- transform. Long-term we need a proper general fix (likely tracking EOF
- on each level of the channel stack), with attendant complexity.
- Furthermore, Z_BUF_ERROR can be ignored, and must be when feeding the
- zlib code with single characters.
-
-2010-02-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixPort.h: Remove unnecessary EXTERN's, which already are
- in the global stub table.
- * unix/configure.in: Use @EXEEXT@ in stead of @EXT_SUFFIX@
- * unix/tcl.m4:
- * unix/Makefile.in: Use -DBUILD_tcl for CYGWIN
- * unix/configure: (regenerated)
- * unix/dltest/pkg*.c: Use EXTERN to control CYGWIN exported symbols
- * generic/tclCmdMZ.c: Remove some unnecessary type casts.
- * generic/tclCompCmds.c:
- * generic/tclTest.c:
- * generic/tclUtil.c:
-
-2010-02-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/regexp.test: Add test cases back ported from Jacl regexp work.
-
-2010-02-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclDate.c: Some more const tables.
- * generic/tclGetDate.y:
- * generic/regc_lex.c:
- * generic/regerror.c:
- * generic/tclStubLib.c:
- * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0
- * tests/expr.test:
-
-2010-02-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileStringLenCmd): Make [string length]
- of a constant string be handled better (i.e., handle backslashes too).
-
-2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net>
-
- * tcl.m4: Correct compiler/linker flags for threaded builds on
- OpenBSD.
- * configure: (regenerated).
-
-2010-02-19 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/installManPage: [Bug 2954638]: Correct behaviour of manual page
- installer. Also added armouring to check that assumptions about the
- initial state are actually valid (e.g., look for existing input file).
-
-2010-02-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclHash.c (HashStringKey): Restore these hash functions
- * generic/tclLiteral.c (HashString): to use the classic algorithm.
- * generic/tclObj.c (TclHashObjKey): Community felt normal case
- speed to be more important than resistance to malicious cases. For
- now, hashes that need to deal with the malicious case can use a custom
- hash table and install their own hash function, though that is not
- functionality exposed to the script level.
-
- * generic/tclCompCmds.c (TclCompileDictUpdateCmd): Stack depth must be
- correctly described when compiling a body to prevent crashes in some
- debugging modes.
-
-2010-02-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Change order of various struct members,
- fixing potential binary incompatibility with Tcl 8.5
-
-2010-02-16 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/configure.in, generic/tclIOUtil.c (Tcl_Stat): Updated so that
- we do not assume that all unix systems have the POSIX blkcnt_t type,
- since OpenBSD apparently does not.
-
- * generic/tclLiteral.c (HashString): Missed updating to FNV in one
- place; the literal table (a copy of the hash table code...)
-
-2010-02-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Reverted earlier rename from tcl*Stubs to
- * generic/tclBasic.c: tcl*ConstStubs, it's not necessary at all.
- * generic/tclOO.c:
- * generic/tclTomMathInterface.c:
- * generic/tclStubInit.c: (regenerated)
- * generic/tclOOStubInit.c: (regenerated)
- * generic/tclEnsemble.c:Fix signed-unsigned mismatch
- * win/tclWinInt.h: make tclWinProcs "const"
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c: Eliminate all internal Tcl_WinUtfToTChar
- * win/tclWinFile.c: and Tcl_WinTCharToUtf calls, needed
- * win/tclWinInit.c: for mslu support.
- * win/tclWinLoad.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/.cvsignore:
- * compat/unicows/readme.txt: [FRQ 2819611]: Add first part of MSLU
- * compat/unicows/license.txt: support.
- * compat/unicows/unicows.lib:
-
-2010-02-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (AllocObject, SquelchedNsFirst, ObjectRenamedTrace):
- * generic/tclNamesp.c (Tcl_DeleteNamespace): [Bug 2950259]: Revised
- the namespace deletion code to provide an additional internal callback
- that gets triggered early enough in namespace deletion to allow TclOO
- destructors to run sanely. Adjusted TclOO to take advantage of this,
- so making tearing down an object by killing its namespace appear to
- work seamlessly, which is needed for Itcl. (Note that this is not a
- feature that will ever be backported to 8.5, and it remains not a
- recommended way of deleting an object.)
-
-2010-02-13 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Divided the [switch]
- compiler into three pieces (after the model of [try]): a parser, an
- instruction-issuer for chained tests, and an instruction-issuer for
- jump tables.
-
- * generic/tclEnsemble.c: Split the ensemble engine out into its own
- file rather than keeping it mashed together with the namespace code.
-
-2010-02-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: Use -pipe for gcc on win32
- * win/configure: (mingw/cygwin) (regenerated)
- * win/.cvsignore: Add .lib, .exp and .res here
-
-2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/list.test: Add tests for explicit \0 in a string argument to
- the list command.
-
-2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
- we do not try to put a NULL pipeline channel into binary mode.
-
-2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- [Bug 2826551, Patch 2948425]: Assorted regexp bugs related to -all,
- -line and -start options and newlines.
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): If -offset is given, treat it
- as the start of the line if the previous character was a newline. Fix
- nasty edge case where a zero length match would not advance the index.
- * tests/regexp.test: Add regression tests back ported from Jacl.
- Checks for a number of issues related to -line and newline handling. A
- few of tests were broken before the patch and continue to be broken,
- marked as knownBug.
-
-2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (ObjectRenamedTrace): [Bug 2949397]: Prevent
- destructors from running on the two core class objects when the whole
- interpreter is being destroyed.
-
-2010-02-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileTryCmd, IssueTryInstructions)
- (IssueTryFinallyInstructions): Added compiler for the [try] command.
- It is split into three pieces that handle the parsing of the tokens,
- the issuing of instructions for finally-free [try], and the issuing of
- instructions for [try] with finally; there are enough differences
- between the all cases that it was easier to split the code rather than
- have a single function do the whole thing.
-
-2010-02-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tools/genStubs.tcl: Remove dependency on 8.5+ idiom "in" in
- expressions.
-
-2010-02-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (Tcl_ZlibDeflate, Tcl_ZlibInflate): [Bug 2947783]:
- Make sure that the result is an unshared object before appending to it
- so that nothing crashes if it is shared (use in Tcl code was not
- affected by this, but use from C was an issue).
-
-2010-02-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclHash.c (HashStringKey): Replace Tcl's crusty old hash
- * generic/tclObj.c (TclHashObjKey): function with the algorithm
- due to Fowler, Noll and Vo. This is slightly faster (assuming the
- presence of hardware multiply) and has somewhat better distribution
- properties of the resulting hash values. Note that we only ever used
- the 32-bit version of the FNV algorithm; Tcl's core hash engine
- assumes that hash values are simple unsigned ints.
-
- ***POTENTIAL INCOMPATIBILITY***
- Code that depends on hash iteration order (especially tests) may well
- be disrupted by this. Where a definite order is required, the fix is
- usually to just sort the results after extracting them from the hash.
- Where this is insufficient, the code that has ceased working was
- always wrong and was only working by chance.
-
-2010-02-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileErrorCmd): Added compilation of the
- [error] command. No new bytecodes.
-
-2010-02-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Follow-up to earlier commit today:
- Eliminate the need for an extra Stubs Pointer for adressing
- a static stub table: Just change the exported table from
- static to MODULE_SCOPE.
- * generic/tclBasic.c
- * generic/tclOO.c
- * generic/tclTomMathInterface.c
- * generic/tcl*Decls.h (regenerated)
- * generic/tclStubInit.c (regenerated)
- * generic/tclOOStubInit.c (regenerated)
- * generic/tclTest.c (minor formatting)
-
-2010-02-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c: More consistency in errorcode generation.
-
- * generic/tclOOBasic.c (TclOO_Object_Destroy): Rewrote to be NRE-aware
- when calling destructors. Note that there is no guarantee that
- destructors will always be called in an NRE context; that's a feature
- of the 'destroy' method only.
-
- * generic/tclEncoding.c: Add 'const' to many function-internal vars
- that are never pointing to things that are written to.
-
-2010-02-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Follow-up to [2010-01-29] commit:
- prevent space within stub table function parameters if the
- parameter type is a pointer.
- * win/tclWinInt.h: Minor Formatting
- * generic/tcl.h: VOID -> void and other formatting
- * generic/tclInt.h: Minor formatting
- * generic/tclInt.decls: Change signature of TclNRInterpProcCore,
- * generic/tclOO.decls: and TclOONewProc(Instance|)MethodEx,
- * generic/tclProc.c: indicating that errorProc is a function,
- * generic/tclOOMethod.c:pointer, and other formatting
- * generic/tcl*Decls.h: (regenerated)
- * generic/tclVar.c: gcc warning(line 3703): 'pattern' may be used
- uninitialized in this function
- gcc warning(line 3788): 'matched' may be used
- uninitialized in this function
-
-2010-02-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c: Added more use of error-codes and reduced the
- stack overhead of older interfaces.
- (ArrayGetCmd): Stop silly crash when using a trivial pattern due to
- error in conversion to ensemble.
- (ArrayNamesCmd): Use the object RE interface for faster matching.
-
-2010-02-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c (ArrayUnsetCmd): More corrections.
-
-2010-02-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c: Turned the [array] command into a true ensemble.
-
- * generic/tclOO.c (AllocObject, MyDeleted): A slightly faster way to
- handle the deletion of [my] is with a standard delete callback. This
- is because it doesn't require an additional memory allocation during
- object creation. Also reduced the amount of string manipulation
- performed during object creation to further streamline memory
- handling; this is not backported to the 8.5 package as it breaks a
- number of abstractions.
-
- * generic/tclOOBasic.c (TclOO_Object_Destroy): [Bug 2944404]: Do not
- crash when a destructor deletes the object that is executing that
- destructor.
-
-2010-02-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): [Bug 2939073]: Stop the [array
- unset] command from having dangling pointer problems when an unset
- trace deletes the element that is going to be processed next. Many
- thanks to Alexandre Ferrieux for the bulk of this fix.
-
- * generic/regexec.c (ccondissect, crevdissect): [Bug 2942697]: Rework
- these functions so that certain pathological patterns are matched much
- more rapidly. Many thanks to Tom Lane for dianosing this issue and
- providing an initial patch.
-
-2010-01-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompile.c (tclInstructionTable): Bytecode instructions
- * generic/tclCompCmds.c (TclCompileUnsetCmd): to allow the [unset]
- * generic/tclExecute.c (TclExecuteByteCode): command to be compiled
- with the compiler being a complete compilation for all compile-time
- decidable uses.
-
- * generic/tclVar.c (TclPtrUnsetVar): Var reference version of the code
- to unset a variable. Required for INST_UNSET bytecodes.
-
-2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 2942081]: Reverted Tcl_ThreadDataKey type change
- Changed some Tcl_CallFrame fields from "char *"
- to "void *". This saves unnecessary space on
- Cray's (and it's simply more correct).
-
- * tools/genStubs.tcl: No longer generate a space after "*" and
- immediately after a function name, so the
- format of function definitions in tcl*Decls.h
- match all other tcl*.h header files.
- * doc/ParseArgs.3: Change Tcl_ArgvFuncProc, Tcl_ArgvGenFuncProc
- * generic/tcl.h: and GetFrameInfoValueProc to be function
- * generic/tclInt.h: definitions, not pointers, for consistency
- * generic/tclOOInt.h: with all other Tcl function definitions.
- * generic/tclIndexObj.c:
- * generic/regguts.h: CONST -> const
- * generic/tcl.decls: Formatting
- * generic/tclTomMath.decls: Formatting
- * generic/tclDecls.h: (regenerated)
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclOODecls.h:
- * generic/tclOOIntDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclTomMathDecls.h:
-
-2010-01-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOO_Object_Destroy): Move the execution of
- destructors to a point where they can produce an error. This will not
- work for all destructors, but it does mean that more failing calls of
- them will be caught.
- * generic/tclOO.c (AllocObject, MyDeletedTrace, ObjectRenamedTrace):
- (ObjectNamespaceDeleted): Stop various ways of getting at commands
- with dangling pointers to the object. Also increases the reliability
- of calling of destructors (though most destructors won't benefit; when
- an object is deleted namespace-first, its destructors are not run in a
- nice state as the namespace is partially gone).
-
-2010-01-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclOOStubInit.c: Remove double includes (which causes a
- * generic/tclOOStubLib.c: warning in CYGWIN compiles)
- * unix/.cvsignore: add confdefs.h
-
-2010-01-22 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/proc.n: [Bug 1970629]: Define a bit better what the current
- namespace of a procedure is.
-
-2010-01-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Don't use DWORD and HANDLE here.
- * generic/tclIntPlatDecls.h:
- * generic/tcl.h: Revert [2009-12-21] change, instead
- * generic/tclPort.h: resolve the CYGWIN inclusion problems by
- * win/tclWinPort.h: re-arranging the inclusions at other
- places.
- * win/tclWinError.c
- * win/tclWinPipe.c
- * win/tcl.m4: Make cygwin configuration error into
- * win/configure.in: a warning: CYGWIN compilation works
- * win/configure: although there still are test failures.
-
-2010-01-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Improve error code
- generation from some of the tailcall-related bits of TEBC.
-
-2010-01-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.h: [Bug 2910748]: NRE-enable direct eval on BC
- * generic/tclExecute.c: spoilage.
- * tests/nre.test:
-
-2010-01-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
- update] are doing with variables.
-
-2010-01-18 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize
- the EventScriptRecord (esPtr) fully before handing it to
- Tcl_CreateChannelHandler for registration. Otherwise a reflected
- channel calling 'chan postevent' (== Tcl_NotifyChannel) in its
- 'watchProc' will cause the function 'TclChannelEventScriptInvoker'
- to be run on an uninitialized structure.
-
-2010-01-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): [Bug 2932421]: Stop
- the [format] command from causing argument objects to change their
- internal representation when not needed. Thanks to Alexandre Ferrieux
- for this fix.
-
-2010-01-13 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl: More factoring out of special cases
- * tools/tcltk-man2html-utils.tcl: so that they are described outside
- the engine file. Now there is only one real set of special cases in
- there, to handle the .SO/.OP/.SE directives.
-
-2010-01-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Fix TCL_LL_MODIFIER for Cygwin
- * generic/tclEnv.c: Fix CYGWIN compilation problems,
- * generic/tclInt.h: and remove some unnecessary
- * generic/tclPort.h: double includes.
- * generic/tclPlatDecls.h:
- * win/cat.c:
- * win/tclWinConsole.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinThrd.c:
- * win/tclWinPort.h: Put win32 includes first
- * unix/tclUnixChan.c: Forgot one CONST change
-
-2010-01-12 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl: Make the generation of the list of things
- to process the docs from simpler and more flexible. Also factored out
- the lists of special cases.
-
-2010-01-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: VC++ 6.0 doesn't have
- * win/tclWinReg.c: PDWORD_PTR
- * win/tclWinThrd.c: Fix various minor gcc warnings.
- * win/tclWinTime.c:
- * win/tclWinConsole.c: Put channel type definitions
- * win/tclWinChan.c: in static const memory
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * generic/tclIOGT.c:
- * generic/tclIORChan.c:
- * generic/tclIORTrans.c:
- * unix/tclUnixChan.c:
- * unix/tclUnixPipe.c:
- * unix/tclUnixSock.c:
- * unix/configure: (regenerated with autoconf 2.59)
- * tests/info.test: Make test independant from
- tcltest implementation.
-
-2010-01-10 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/namespace.test (namespace-51.17): [Bug 2898722]: Demonstrate
- that there are still bugs in the handling of resolution epochs. This
- bug is not yet fixed.
-
- * tools/tcltk-man2html.tcl: Split the man->html converter into
- * tools/tcltk-man2html-utils.tcl: two pieces for easier maintenance.
- Also made it much less verbose in its printed messages by default.
-
-2010-01-09 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl: Added basic support for building the docs
- for contributed packages into the HTML versions. Prompted by question
- on Tcler's Chat by Tom Krehbiel. Note that there remain problems in
- the documentation generated due to errors in the contributed docs.
-
-2010-01-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c (TclPathPart): [Bug 2918610]: Correct
- * tests/fileName.test (filename-14.31): inconsistency between the
- string rep and the intrep of a path value created by [file rootname].
- Thanks to Vitaly Magerya for reporting.
-
-2010-01-03 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
- for modern FreeBSD suggested by the FreeBSD porter.
-
-2010-01-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bug 2724403]: Fix leak of coroutines on
- * generic/tclCompile.h: namespace deletion. Added a test for this
- * generic/tclNamesp.c: leak, and also a test for leaks on namespace
- * tests/coroutine.test: deletion.
- * tests/namespace.test:
-
-2009-12-30 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer
- * tests/safe.test (safe-8.9): [source] handle a [return] at the
- end of the file correctly.
-
-2009-12-30 Miguel Sofer <msofer@users.sf.net>
-
- * library/init.tcl (unknown): [Bug 2824981]: Fix infinite recursion of
- ::unknown when [set] is undefined.
-
-2009-12-29 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclHistory.c (Tcl_RecordAndEvalObj): Reduce the amount of
- allocation and deallocation of memory by caching objects in the
- interpreter assocData table.
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): Rewrite the logic so that
- it does not require making assignments part way through an 'if'
- condition, which was deeply unclear.
-
- * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
- the min() and max() functions are supported in safe interpreters.
-
-2009-12-29 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclBinary.c: [Bug 2922555]: Handle completely invalid input
- * tests/binary.test: to the decode methods.
-
-2009-12-28 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/Makefile.in (trace-shell, trace-test): [FRQ 1083288]: Added
- targets to allow easier tracing of shell and test invokations.
-
- * unix/configure.in: [Bug 942170]: Detect the st_blocks field of
- * generic/tclCmdAH.c (StoreStatData): 'struct stat' correctly.
- * generic/tclFileName.c (Tcl_GetBlocksFromStat):
- * generic/tclIOUtil.c (Tcl_Stat):
-
- * generic/tclInterp.c (TimeLimitCallback): [Bug 2891362]: Ensure that
- * tests/interp.test (interp-34.13): the granularity ticker is
- reset when we check limits because of the time limit event firing.
-
-2009-12-27 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
- not be quite so ancient.
-
-2009-12-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdMZ.c: CONST -> const
- * generic/tclParse.c
-
-2009-12-23 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
- information about paths from leaking through [info script] and [info
- nameofexecutable].
-
-2009-12-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: Install libtcl8.6.dll in bin directory
- * unix/Makefile.in:
- * unix/configure: (regenerated)
-
-2009-12-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): [Bug 2918962]: Stop crash when
- -index and -stride are used together.
-
-2009-12-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclThreadStorage.c: Fix gcc warning, using gcc-4.3.4 on
- cygwin: missing initializer
- * generic/tclOOInt.h: Prevent conflict with DUPLICATE
- definition in WINAPI's nb30.h
- * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use
- "small".
- * generic/tcl.h: Include <winsock2.h> before <stdio.h> on
- CYGWIN
- * generic/tclPathObj.c
- * generic/tclPort.h
- * tests/env.test: Don't unset WINDIR and TERM, it has a
- special meaning on CYGWIN (both in UNIX
- and WIN32 mode!)
- * generic/tclPlatDecls.h: Include <tchar.h> through tclPlatDecls.h
- * win/tclWinPort.h: stricmp -> strcasecmp
- * win/tclWinDde.c: _wcsicmp -> wcscasecmp
- * win/tclWinFile.c
- * win/tclWinPipe.c
- * win/tclWinSock.c
- * unix/tcl.m4: Add dynamic loading support to CYGWIN
- * unix/configure (regenerated)
- * unix/Makefile.in
-
-2009-12-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bug 2917627]: Fix for bad cmd resolution by
- * tests/coroutine.test: coroutines. Thanks to schelte for finding it.
-
-2009-12-16 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a
- larger fraction of [glob] functionality, while being stricter about
- directory management.
-
-2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Fix gcc warning: ignoring return value of
- * unix/tclUnixNotify.c: "write", declared with attribute
- * unix/tclUnixPipe.c: warn_unused_result.
- * generic/tclInt.decls: CONSTify functions TclpGetUserHome and
- * generic/tclIntDecls.h:TclSetPreInitScript (TIP #27)
- * generic/tclInterp.c:
- * win/tclWinFile.c:
- * unix/tclUnixFile.c:
-
-2009-12-16 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
- to the list manpage when generating HTML.
-
- * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform
- tests that are not needed and which don't work in safe interpreters.
-
-2009-12-14 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n (file tempfile): [Bug 2388866]: Note that this only ever
- creates files on the native filesystem. This is a design feature.
-
-2009-12-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Release TclPopCallFrame() from its
- * generic/tclExecute.c: tailcall-management duties
- * generic/tclNamesp.c:
-
- * generic/tclBasic.c: Moving TclBCArgumentRelease call from
- * generic/tclExecute.c: TclNRTailcallObjCmd to TEBC, so that the
- pairing of the Enter and Release calls is clearer.
-
-2009-12-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclTest.c (TestconcatobjCmd): [Bug 2895367]: Stop memory
- leak when testing. We don't need extra noise of this sort when
- tracking down real problems!
-
-2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBinary.c: Fix gcc warning, using gcc-4.3.4 on cygwin
- * generic/tclCompExpr.c:warning: array subscript has type 'char'
- * generic/tclPkg.c:
- * libtommath/bn_mp_read_radix.c:
- * win/makefile.vc: [Bug 2912773]: Revert to version 1.203
- * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type
- in conditional expression.
-
-2009-12-11 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (long-toc, cross-reference): [FRQ 2897296]:
- Added cross links to sections within manual pages.
-
-2009-12-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bug 2806407]: Full nre-enabling of coroutines
- * generic/tclExecute.c:
-
- * generic/tclBasic.c: Small cleanup
-
- * generic/tclExecute.c: Fix panic in http11.test caused by buggy
- earlier commits in coroutine management.
-
-2009-12-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updated
- comments to describe when the function can be entered for the same
- Tcl_Obj* multiple times. This is a continuation of the 2009-11-10
- entry where a memory leak was plugged, but where not sure if that was
- just a band-aid to paper over some other error. It isn't, this is a
- legal situation.
-
-2009-12-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Reducing the # of moving parts for coroutines
- * generic/tclExecute.c: by delegating more to tebc; eliminate the
- special coroutine CallFrame.
-
-2009-12-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c: [Bug 2901998]: Applied Alexandre Ferrieux's patch
- fixing the inconsistent buffered I/O. Tcl's I/O now flushes buffered
- output before reading, discards buffered input before writing, etc.
-
-2009-12-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Ensure right lifetime of varFrame's (objc,objv)
- for coroutines.
-
- * generic/tclExecute.c: Code regrouping
-
-2009-12-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c: Added some of the missing setting of errorcode
- values.
-
-2009-12-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclStackFree): Improved panic msg.
-
-2009-12-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Partial nre-enabling of coroutines. The
- * generic/tclExecute.c: initial call still requires its own
- * generic/tclInt.h: instance of tebc, but on resume coros can
- execute in the caller's tebc.
-
- * generic/tclExecute.c (TEBC): Silence warning about pcAdjustment.
-
-2009-12-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Make the dict opcodes
- more sparing in their use of C variables, to reduce size of TEBC
- activiation record a little bit.
-
-2009-12-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC): Grouping "slow" variables into structs,
- to reduce register pressure and help the compiler with variable
- allocation.
-
-2009-12-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Start cleaning the TEBC stables
- * generic/tclInt.h:
-
- * generic/tclCmdIL.c: [Bug 2910094]: Fix by aku
- * tests/coroutine.test:
-
- * generic/tclBasic.c: Arrange for [tailcall] to be created with the
- other builtins: was being created in a separate call, leftover from
- pre-tip days.
-
-2009-12-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStrToD.c: [Bug 2902010]: Correct conditional compile
- directives to better detect the toolchain that needs extra work for
- proper underflow treatment instead of merely detecting the MIPS
- platform.
-
-2009-12-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Patch 2910056]: Add ::tcl::unsupported::yieldTo
- * generic/tclInt.h:
-
-2009-12-07 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (TryPostBody): [Bug 2910044]: Close off memory
- leak in [try] when a variable-free handler clause is present.
-
-2009-12-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Small changes for clarity in tailcall
- * generic/tclExecute.c: and coroutine code.
- * tests/coroutine.test:
-
- * tests/tailcall.test: Remove some old unused crud; improved the
- stack depth tests.
-
- * generic/tclBasic.c: Fixed things so that you can tailcall
- * generic/tclNamesp.c: properly out of a coroutine.
- * tests/tailcall.test:
-
- * generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no
- test)
-
-2009-12-03 Donal K. Fellows <dkf@users.sf.net>
-
- * library/safe.tcl (::safe::AliasEncoding): Make the safe encoding
- command behave more closely like the unsafe one (for safe ops).
- (::safe::AliasGlob): [Bug 2906841]: Clamp down on evil use of [glob]
- in safe interpreters.
- * tests/safe.test: Rewrite to use tcltest2 better.
-
-2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Add support for win32 CALLBACK functions and
- remove obsolete "emitStubs" and "genStubs" functions.
- * win/Makefile.in: Use tcltest86.dll for all tests, and add
- .PHONY rules to preemptively stop trouble that plagued Tk from hitting
- Tcl too.
-
-2009-11-30 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: Don't use EXPORT for Tcl_InitStubs
- * win/Makefile.in: Better dependancies in case of static build.
-
-2009-11-30 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
- mention that it is using list syntax.
-
-2009-11-27 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclAppInit.c (Tcl_AppInit): [Bug 2902965]: Reverted Jan's change
- that added a call to Tcl_InitStubs. The 'tclsh' and 'tcltest' programs
- are providers, not consumers of the Stubs table, and should not link
- with the Stubs library, but only with the main Tcl library. (In any
- case, the presence of Tcl_InitStubs broke the build.)
-
-2009-11-27 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/BoolObj.3, doc/Class.3, doc/CrtChannel.3, doc/DictObj.3:
- * doc/DoubleObj.3, doc/Ensemble.3, doc/Environment.3:
- * doc/FileSystem.3, doc/Hash.3, doc/IntObj.3, doc/Limit.3:
- * doc/Method.3, doc/NRE.3, doc/ObjectType.3, doc/PkgRequire.3:
- * doc/SetChanErr.3, doc/SetResult.3: [Patch 2903921]: Many small
- spelling fixes from Larry Virden.
-
- BUMP VERSION OF TCLOO TO 0.6.2. Too many people need accumulated small
- versions and bugfixes, so the version-bump removes confusion.
-
- * generic/tclOOBasic.c (TclOO_Object_LinkVar): [Bug 2903811]: Remove
- unneeded restrictions on who can usefully call this method.
-
-2009-11-26 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/Makefile.in: Add .PHONY rules and documentation to preemptively
- stop trouble that plagued Tk from hitting Tcl too, and to make the
- overall makefile easier to understand. Some reorganization too to move
- related rules closer together.
-
-2009-11-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: [Bug 2902965]: Fix stub related changes that
- * win/makefile.vc: caused tclkit build to break.
- * win/tclAppInit.c
- * unix/tcl.m4
- * unix/Makefile.in
- * unix/tclAppInit.c
- * unix/configure: (regenerated)
-
-2009-11-25 Kevin B. Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Added a 'test-tcl' rule that is identical to
- 'test' except that it does not go spelunking in 'pkgs/'. (This rule
- has existed in unix/Makefile.in for some time.)
-
-2009-11-25 Stuart Cassoff <stwo@users.sf.net>
-
- * unix/configure.in: [Patch 2892871]: Remove unneeded
- * unix/tcl.m4: AC_STRUCT_TIMEZONE and use
- * unix/tclConfig.h.in: AC_CHECK_MEMBERS([struct stat.st_blksize])
- * unix/tclUnixFCmd.c: instead of AC_STRUCT_ST_BLKSIZE.
- * unix/configure: Regenerated with autoconf-2.59.
-
-2009-11-24 Andreas Kupries <andreask@activestate.com>
-
- * library/tclIndex: Manually redone the part of tclIndex dealing with
- safe.tcl and tm.tcl. This part passes the testsuite. Note that
- automatic regeneration of this part is not possible because it wrongly
- puts 'safe::Setup' on the list, and wrongly leaves out 'safe::Log'
- which is more dynamically created than the generator expects.
-
- Further note that the file "clock.tcl" is explicitly loaded by
- "init.tcl", the first time the clock command is invoked. The relevant
- code can be found at line 172ff, roughly, the definition of the
- procedure 'clock'. This means none of the procedures of this file
- belong in the tclIndex. Another indicator that automatic regeneration
- of tclIndex is ill-advised.
-
-2009-11-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (FinalizeAlloc, Tcl_NewObjectInstance):
- [Bug 2903011]: Make it an error to destroy an object in a constructor,
- and also make sure that an object is not deleted twice in the error
- case.
-
-2009-11-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/fCmd.test: [Bug 2893771]: Teach [file stat] to handle locked
- * win/tclWinFile.c: files so that [file exists] no longer lies.
-
-2009-11-23 Kevin Kenny <kennykb@acm.org>
-
- * tests/fCmd.test (fCmd-30.1): Changed registry location of the 'My
- Documents' folder to the one that's correct for Windows 2000, XP,
- Server 2003, Vista, Server 2008, and Windows 7. (See
- http://support.microsoft.com/kb/310746)
-
-2009-11-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: #undef STATIC_BUILD, in order to make sure
- * win/tclWinReg.c: that Xxxxx_Init is always exported even when
- * generic/tclTest.c: Tcl is built static (otherwise we cannot
- create a DLL).
- * generic/tclThreadTest.c: Make all functions static, except
- TclThread_Init.
- * tests/fCmd.test: Enable fCmd-30.1 when registry is available.
- * win/tcl.m4: Fix ${SHLIB_LD_LIBS} definition, fix conflicts
- * win/Makefile.in: Simplifications related to tcl.m4 changes.
- * win/configure.in: Between static libraries and import library on
- windows.
- * win/configure: (regenerated)
- * win/makefile.vc: Add stub library to necessary link lines.
-
-2009-11-23 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Further
- machinations to get NewTestThread actually to launch the thread, not
- just compile.
-
-2009-11-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Fix small
- error in function naming which blocked a threaded test build.
-
-2009-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: Create tcltest86.dll as dynamic Tcltest
- package.
- * generic/tclTest.c: Remove extraneous prototypes, follow-up to
- * generic/tclTestObj.c: [Bug 2883850]
- * tests/chanio.test: Test-cases for fixed [Bug 2849797]
- * tests/io.test:
- * tests/safe.test: Fix safe-10.1 and safe-10.4 test cases, making
- the wrong assumption that Tcltest is a static
- package.
- * generic/tclEncoding.c:[Bug 2857044]: Updated freeIntRepProc routines
- * generic/tclVar.c: so that they set the typePtr field to NULL so
- that the Tcl_Obj is not left in an
- inconsistent state.
- * unix/tcl.m4: [Patch 2883533]: tcl.m4 support for Haiku OS
- * unix/configure: autoconf-2.59
-
-2009-11-19 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclAppInit.c: [Bug 2883850, 2900542]: Repair broken build of
- * win/tclAppInit.c: the tcltest executable.
-
-2009-11-19 Donal K. Fellows <dkf@users.sf.net>
-
- * library/auto.tcl (tcl_findLibrary):
- * library/clock.tcl (MakeUniquePrefixRegexp, MakeParseCodeFromFields)
- (SetupTimeZone, ProcessPosixTimeZone): Restored the use of a literal
- * library/history.tcl (HistAdd): 'then' when following a multi-
- * library/safe.tcl (interpConfigure): line test expresssion. It's an
- * library/tm.tcl (UnknownHandler): aid to readability then.
-
-2009-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Make all internal initialization
- * generic/tclTest.c: routines MODULE_SCOPE
- * generic/tclTestObj.c:
- * generic/tclTestProcBodyObj.c:
- * generic/tclThreadTest.c:
- * unix/Makefile.in: Fix [Bug 2883850]: pkgIndex.tcl doesn't
- * unix/tclAppInit.c: get created with static Tcl build
- * unix/tclXtTest.c:
- * unix/tclXtNotify.c:
- * unix/tclUnixTest.c:
- * win/Makefile.in:
- * win/tcl.m4:
- * win/configure: (regenerated)
- * win/tclAppInit.c:
- * win/tclWinDde.c: Always compile with Stubs.
- * win/tclWinReg.c:
- * win/tclWinTest.c:
-
-2009-11-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/CrtChannel.3: [Bug 2849797]: Fix channel name inconsistences
- * generic/tclIORChan.c: as suggested by DKF.
- * generic/tclIO.c: Minor *** POTENTIAL INCOMPATIBILITY ***
- because Tcl_CreateChannel() and derivatives
- now sometimes ignore their "chanName"
- argument.
-
- * generic/tclAsync.c: Eliminate various gcc warnings (with -Wextra)
- * generic/tclBasic.c
- * generic/tclBinary.c
- * generic/tclCmdAH.c
- * generic/tclCmdIL.c
- * generic/tclCmdMZ.c
- * generic/tclCompile.c
- * generic/tclDate.c
- * generic/tclExecute.c
- * generic/tclDictObj.c
- * generic/tclIndexObj.c
- * generic/tclIOCmd.c
- * generic/tclIOUtil.c
- * generic/tclIORTrans.c
- * generic/tclOO.c
- * generic/tclZlib.c
- * generic/tclGetDate.y
- * win/tclWinInit.c
- * win/tclWinChan.c
- * win/tclWinConsole.c
- * win/tclWinNotify.c
- * win/tclWinReg.c
- * library/auto.tcl: Eliminate "then" keyword
- * library/clock.tcl
- * library/history.tcl
- * library/safe.tcl
- * library/tm.tcl
- * library/http/http.tcl: Eliminate unnecessary spaces
- * library/http1.0/http.tcl
- * library/msgcat/msgcat.tcl
- * library/opt/optparse.tcl
- * library/platform/platform.tcl
- * tools/tcltk-man2html.tcl
- * tools/tclZIC.tcl
- * tools/tsdPerf.c
-
-2009-11-17 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixChan.c (TtyParseMode): Partial undo of Donal's tidy-up
- from a few days ago (2009-11-9, not in ChangeLog). It seems that
- strchr is apparently a macro on AIX and reacts badly to pre-processor
- directives in its arguments.
-
-2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclEncoding.c: [Bug 2891556]: Fix and improve test to
- * generic/tclTest.c: detect similar manifestations in the future.
- * tests/encoding.test: Add tcltest support for finalization.
-
-2009-11-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinDde.c: Avoid gcc compiler warning by explicitly casting
- DdeCreateStringHandle argument.
-
-2009-11-12 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CopyData): [Bug 2895565]: Dropped bogosity which
- * tests/io.test: used the number of _written_ bytes or character to
- update the counters for the read bytes/characters. New test io-53.11.
- This is a forward port from the 8.5 branch.
-
-2009-11-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclClock.c (TclClockInit): Do not create [clock] support
- commands in safe interps.
-
-2009-11-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/http/http.tcl (http::geturl): [Bug 2891171]: URL checking
- too strict when using multiple question marks.
- * tests/http.test
- * library/http/pkgIndex.tcl: Bump to http 2.8.2
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclIO.c: Fix [Bug 2888099] (close discards ENOSPC error) by
- saving the errno from the first of two FlushChannel()s. Uneasy to
- test; might need specific channel drivers. Four-hands with aku.
-
-2009-11-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/winFCmd.test: Cleanup directories that have been set chmod
- 000. On Windows7 and Vista we really have no access and these were
- getting left behind.
- A few tests were changed to reflect the intent of the test where
- setting a directory chmod 000 should prevent any modification. This
- restriction was ignored on XP but is honoured on Vista
-
-2009-11-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT evaluation.
- Forward port from Tcl 8.5 branch, change by Don Porter.
-
- * generic/tclObj.c: [Bug 2895323]: Plug memory leak in
- TclContinuationsEnter(). Forward port from Tcl 8.5 branch, change by
- Don Porter.
-
-2009-11-09 Stuart Cassoff <stwo@users.sf.net>
-
- * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
-
-2009-11-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c (TclEvalObjEx): Moved the #280 decrement of
- refCount for the file path out of the branch after the whole
- conditional, closing a memory leak. Added clause on structure type to
- prevent seg.faulting. Forward port from valgrinding the Tcl 8.5
- branch.
-
- * tests/info.test: Resolve ambiguous resolution of variable "res".
- Forward port from 8.5
-
-2009-11-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/string.n (bytelength): Noted that this command is not a good
- thing to use, and suggested a better alternatve. Also factored out the
- description of the indices into its own section.
-
-2009-11-07 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/fCmd.test: [Bug 2891026]: Exclude tests using chmod 555
- directories on vista and win7. The current user has access denied and
- so cannot rename the directory without admin privileges.
-
-2009-11-06 Andreas Kupries <andreask@activestate.com>
-
- * library/safe.tcl (::safe::Setup): Added documentation of the
- contents of the state array. Also killed the 'InterpState' procedure
- with its upleveled variable/upvar combination, and replaced all uses
- with 'namespace upvar'.
-
-2009-11-05 Andreas Kupries <andreask@activestate.com>
-
- * library/safe.tcl: A series of patches which bring the SafeBase up to
- date with code guidelines, Tcl's features, also eliminating a number
- of inefficiencies along the way.
- (1) Changed all procedure names to be fully qualified.
- (2) Moved the procedures out of the namespace eval. Kept their
- locations. IOW, broke the namespace eval apart into small sections not
- covering the procedure definitions.
- (3) Reindented the code. Just lots of whitespace changes.
- Functionality unchanged.
- (4) Moved the multiple namespace eval's around. Command export at the
- top, everything else (var decls, argument parsing setup) at the
- bottom.
- (5) Moved the argument parsing setup into a procedure called when the
- code is loaded. Easier management of temporary data.
- (6) Replaced several uses of 'Set' with calls to the new procedure
- 'InterpState' and direct access to the per-slave state array.
- (7) Replaced the remaining uses of 'Set' and others outside of the
- path/token handling, and deleted a number of procedures related to
- state array access which are not used any longer.
- (8) Converted the path token system to cache normalized paths and path
- <-> token conversions. Removed more procedures not used any longer.
- Removed the test cases 4.3 and 4.4 from safe.test. They were testing
- the now deleted command "InterpStateName".
- (9) Changed the log command setup so that logging is compiled out
- completely when disabled (default).
- (10) Misc. cleanup. Inlined IsInterp into CheckInterp, its only user.
- Consistent 'return -code error' for error reporting. Updated to use
- modern features (lassign, in/ni, dicts). The latter are used to keep a
- reverse path -> token map and quicker check of existence.
- (11) Fixed [Bug 2854929]: Recurse into all subdirs under all TM root
- dirs and put them on the access path.
-
-2009-11-02 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Novokuznetsk: New tzdata locale for Kemerovo
- oblast', which now keeps Novosibirsk time and not Kranoyarsk time.
- * library/tzdata/Asia/Damascus: Syrian DST changes.
- * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections.
- Olson tzdata2009q.
-
-2009-11-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/object.n (DESCRIPTION): Substantive revision to make it clearer
- what the fundamental semantics of an object actually are.
-
-2009-11-01 Joe Mistachkin <joe@mistachkin.com>
-
- * doc/Cancel.3: Minor cosmetic fixes.
- * win/makefile.vc: Make htmlhelp target work again. An extra set of
- double quotes around the definition of the HTML help compiler tool
- appears to be required. Previously, there was one set of double
- quotes around the definition of the tool and one around the actual
- invocation. This led to confusion because it was the only such tool
- path to include double quotes around its invocation. Also, it was
- somewhat inflexible in the event that somebody needed to override the
- tool command to include arguments. Therefore, even though it may look
- "wrong", there are now two double quotes on either side of the tool
- path definition. This fixes the problem that currently prevents the
- htmlhelp target from building and maintains flexibility in case
- somebody needs to override it via the command line or an environment
- variable.
-
-2009-11-01 Joe English <jenglish@users.sourceforge.net>
-
- * doc/Eval.3, doc/Cancel.3: Move TIP#285 routines out of Eval.3 into
- their own manpage.
-
-2009-10-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
- the expected number of arguments when generating an error for round().
-
-2009-10-30 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/tcltest.test: When creating the notwritabledir we deny the
- current user access to delete the file. We must grant this right when
- we cleanup. Required on Windows 7 when the user does not automatically
- have administrator rights.
-
-2009-10-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Changed the typedef for the mp_digit type
- from:
- typedef unsigned long mp_digit;
- to:
- typedef unsigned int mp_digit;
- For 32-bit builds where "long" and "int" are two names for the same
- thing, this is no change at all. For 64-bit builds, though, this
- causes the dp[] array of an mp_int to be made up of 32-bit elements
- instead of 64-bit elements. This is a huge improvement because
- details elsewhere in the mp_int implementation cause only 28 bits of
- each element to be actually used storing number data. Without this
- change bignums are over 50% wasted space on 64-bit systems. [Bug
- 2800740].
-
- ***POTENTIAL INCOMPATIBILITY***
- For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *)
- arguments *will*, and callers of routines with (mp_int *) arguments
- *may* suffer both binary and stubs incompatibilities with Tcl releases
- 8.5.0 - 8.5.7. Such possibilities should be checked, and if such
- incompatibilities are present, suitable [package require] requirements
- on the Tcl release should be put in place to keep such built code
- [load]-ing only in Tcl interps that are compatible.
-
-2009-10-29 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/dict.test: Make variable-clean and simplify tests by utilizing
- the fact that dictionaries have defined orders.
-
- * generic/tclZlib.c (TclZlibCmd): Remove accidental C99-ism which
- reportedly makes the AIX native compiler choke.
-
-2009-10-29 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (LocalizeFormat):
- * tests/clock.test (clock-67.1):
- [Bug 2819334]: Corrected a problem where '%%' followed by a letter in
- a format group could expand recursively: %%R would turn into %%H:%M:%S
-
-2009-10-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclLiteral.c: [Bug 2888044]: Fixed 2 bugs.
- * tests/info.test: First, as noted in the comments of the
- TclCleanupLiteralTable routine, since the teardown of the intrep of
- one Tcl_Obj can cause the teardown of others in the same table, the
- full table cleanup must be done with care, but the code did not
- contain the same care demanded in the comment. Second, recent
- additions to the info.test file had poor hygiene, leaving an array
- variable ::a lying around, which breaks later interp.test tests during
- a -singleproc 1 run of the test suite.
-
-2009-10-28 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/fileName.test (fileName-20.[78]): Corrected poor test
- hygiene (failure to save and restore the working directory) that
- caused these two tests to fail on Windows (and [Bug 2806250] to be
- reopened).
-
-2009-10-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
- normalized path caused crashes.
-
-2009-10-27 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (ParseClockScanFormat): [Bug 2886852]: Corrected a
- problem where [clock scan] didn't load the timezone soon enough when
- processing a time format that lacked a complete date.
- * tests/clock.test (clock-66.1):
- Added a test case for the above bug.
- * library/tzdata/America/Argentina/Buenos_Aires:
- * library/tzdata/America/Argentina/Cordoba:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/America/Argentina/Tucuman:
- New DST rules for Argentina. (Olson's tzdata2009p.)
-
-2009-10-26 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Remove $(PACKAGE).* and prototype from the
- `make distclean` target. Completes 2009-10-20 commit.
-
-2009-10-24 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (ProcessPosixTimeZone):
- Corrected a regression in the fix to [Bug 2207436] that caused
- [clock] to apply EU daylight saving time rules in the US.
- Thanks to Karl Lehenbauer for reporting this regression.
- * tests/clock.test (clock-52.4):
- Added a regression test for the above bug.
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Asia/Karachi:
- New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.)
-
-2009-10-23 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (FlushChannel): Skip OutputProc for low-level
- 0-length writes. When closing pipes which have already been closed
- not skipping leads to spurious SIG_PIPE signals. Reported by
- Mikhail Teterin <mi+thun@aldan.algebra.com>.
-
-2009-10-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 2883857]: Allow
- the passing of array element names through this method.
-
-2009-10-21 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
- where SIGSEGV and SIGBUS are the same value.
-
- * generic/tclTrace.c (StringTraceProc): [Bug 2881259]: Added back cast
- to work around silly bug in MSVC's handling of auto-casting.
-
-2009-10-20 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Removed the long outdated and broken targets
- package-* that were for building Solaris packages. Appears that the
- pieces needed for these targets to function have never been present in
- the current era of Tcl development and belong completely to Tcl
- pre-history.
-
-2009-10-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: [Patch 2107634]: Revised ReadChars and
- FilterInputBytes routines to permit reads to continue up to the string
- limits of Tcl values. Before revisions, large read attempts could
- panic when as little as half the limiting value length was reached.
- Thanks to Sean Morrison and Bob Parker for their roles in the fix.
-
-2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclObj.c (TclDbDumpActiveObjects, TclDbInitNewObj)
- (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount, Tcl_DbIsShared):
- [Bug 2871908]: Enforce separation of concerns between the lineCLPtr
- and objThreadMap thread specific data members.
-
-2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-
- * tests/thread.test (thread-4.[345]): [Bug 1565466]: Correct tests to
- save their error state before the final call to threadReap just in
- case it triggers an "invalid thread id" error. This error can occur
- if one or more of the target threads has exited prior to the attempt
- to send it an asynchronous exit command.
-
-2009-10-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c (UnsetVarStruct, TclDeleteNamespaceVars)
- (TclDeleteCompiledLocalVars, DeleteArray):
- * generic/tclTrace.c (Tcl_UntraceVar2): [Bug 2629338]: Stop traces
- that are deleted part way through (a feature used by tdom) from
- causing freed memory to be accessed.
-
-2009-10-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictIncrCmd): [Bug 2874678]: Don't leak any
- bignums when doing [dict incr] with a value.
- * tests/dict.test (dict-19.3): Memory leak detection code.
-
-2009-10-07 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of objThreadMap
- and lineCLPtr hashtables. Also make the names of the continuation
- line information initialization and finalization functions more
- consistent. Patch supplied by Joe Mistachkin <joe@mistachkin.com>.
-
- * generic/tclIORChan.c (ErrnoReturn): Replace hardwired constant 11
- with proper errno #define, EAGAIN. What was I thinking? The BSD's have
- a different errno assignment and break with the hardwired number.
- Reported by emiliano on the chat.
-
-2009-10-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c (SlaveEval): Agressive stomping of internal reps
- was added as part of the NRE patch of 2008-07-13. This doesn't appear
- to actually be needed, and it hurts quite a bit when large lists lose
- their intreps and require reparsing. Thanks to Ashok Nadkarni for
- reporting the problem.
-
- * generic/tclTomMathInt.h (new): Public header tclTomMath.h had
- * generic/tclTomMath.h: dependence on private headers, breaking use
- * generic/tommath.h: by extensions [Bug 1941434].
-
-2009-10-05 Andreas Kupries <andreask@activestate.com>
-
- * library/safe.tcl (AliasGlob): Fixed conversion of catch to
- try/finally, it had an 'on ok msg' branch missing, causing a silent
- error immediately, and bogus glob results, breaking search for Tcl
- modules.
-
-2009-10-04 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXBundle.c: [Bug 2569449]: Workaround CF memory
- * unix/tclUnixInit.c: managment bug in Mac OS X 10.4 &
- earlier.
-
-2009-10-02 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
-
-2009-09-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclDictObj.c: [Bug 2857044]: Updated freeIntRepProc
- * generic/tclExecute.c: routines so that they set the typePtr
- * generic/tclIO.c: field to NULL so that the Tcl_Obj is
- * generic/tclIndexObj.c: not left in an inconsistent state.
- * generic/tclInt.h:
- * generic/tclListObj.c:
- * generic/tclNamesp.c:
- * generic/tclOOCall.c:
- * generic/tclObj.c:
- * generic/tclPathObj.c:
- * generic/tclProc.c:
- * generic/tclRegexp.c:
- * generic/tclStringObj.c:
-
- * generic/tclAlloc.c: Cleaned up various routines in the
- * generic/tclCkalloc.c: call stacks for memory allocation to
- * generic/tclInt.h: guarantee that any size values computed
- * generic/tclThreadAlloc.c: are within the domains of the routines
- they get passed to. [Bugs 2557696 and 2557796].
-
-2009-09-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: Replaced TclProcessReturn() calls with
- * tests/error.test: Tcl_SetReturnOptions() calls as a simple fix
- for [Bug 2855247]. Thanks to Anton Kovalenko for the report and fix.
- Additional fixes for other failures demonstrated by new tests.
-
-2009-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * tests/error.test (error-15.8.*): Coverage tests illustrating
- flaws in the propagation of return options by [try].
-
-2009-09-26 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclooConfig.sh, win/tclooConfig.sh: [Bug 2026844]: Added dummy
- versions of tclooConfig.sh that make it easier to build extensions
- against both Tcl8.5+TclOO-standalone and Tcl8.6.
-
-2009-09-24 Don Porter <dgp@users.sourceforge.net>
-
- TIP #356 IMPLEMENTATION
-
- * generic/tcl.decls: Promote internal routine TclNRSubstObj()
- * generic/tclCmdMZ.c: to public Tcl_NRSubstObj(). Still needs docs.
- * generic/tclCompile.c:
- * generic/tclInt.h:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2009-09-23 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n: the description of [namespace unknown] failed
- to mention [namespace path]: fixed. Thx emiliano.
-
-2009-09-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/regexp.test: Added check for error message from
- unbalanced [] in regexp. Added additional simple test cases
- of basic regsub command.
-
-2009-09-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Correct botch in the conversion of
- Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report.
-
-2009-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Re-implement Tcl_SubstObj() as a simple
- * generic/tclParse.c: wrapper around TclNRSubstObj(). This has
- * tests/basic.test: the effect of caching compiled bytecode in
- * tests/parse.test: the value to be substituted. Note that
- Tcl_SubstObj() now exists only for extensions. Tcl itself no longer
- makes any use of it. Note also that TclSubstTokens() is now reachable
- only by Tcl_EvalEx() and Tcl_ParseVar() so tests aiming to test its
- functioning needed adjustment to still have the intended effect.
-
-2009-09-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclObj.c: Extended ::tcl::unsupported::representation.
-
-2009-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Completed the NR-enabling of [subst].
- * generic/tclCmdMZ.c: [Bug 2314561].
- * generic/tclCompCmds.c:
- * generic/tclCompile.c:
- * generic/tclInt.h:
- * tests/coroutine.test:
- * tests/parse.test:
-
-2009-09-11 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/http.test: Added in cleaning up of http tokens for each test
- to reduce amount of global-variable pollution.
-
-2009-09-10 Donal K. Fellows <dkf@users.sf.net>
-
- * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
- names in double quotes; some servers like generating them like that.
-
-2009-09-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c: [Bug 2850901]: Corrected line counting error
- * tests/into.test: in multi-command script substitutions.
-
-2009-09-07 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclExecute.c: Fix potential uninitialized variable use and
- * generic/tclFCmd.c: null dereference flagged by clang static
- * generic/tclProc.c: analyzer.
- * generic/tclTimer.c:
- * generic/tclUtf.c:
-
- * generic/tclExecute.c: Silence false positives from clang static
- * generic/tclIO.c: analyzer about potential null dereference.
- * generic/tclScan.c:
- * generic/tclCompExpr.c:
-
-2009-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileSubstCmd): [Bug 2314561]:
- * generic/tclBasic.c: Added a bytecode compiler routine for the
- * generic/tclCmdMZ.c: [subst] command. This is a partial solution to
- * generic/tclCompile.c: the need to NR-enable [subst] since bytecode
- * generic/tclCompile.h: execution is already NR-enabled. Two new
- * generic/tclExecute.c: bytecode instructions, INST_NOP and
- * generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support
- * generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is
- * tests/basic.test: likely to be useful in any future effort to
- * tests/info.test: add a bytecode compiler routine for [try].
- * tests/parse.test:
-
-2009-09-03 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/LinkVar.3: [Bug 2844962]: Added documentation of issues relating
- to use of this API in a multi-threaded environment.
-
-2009-09-01 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORTrans.c (ReflectInput): Remove error response to
- 0-result from method 'limit?' of transformations. Return the number of
- copied bytes instead, which is possibly nothing. The latter then
- triggers EOF handling in the higher layers, making the 0-result of
- limit? the way to inject artificial EOF's into the data stream.
-
-2009-09-01 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Bump to tcltest 2.3.2 after revision
- * library/tcltest/pkgIndex.tcl: to verbose error message.
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2009-08-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [Bug 2845535]: A few more string
- overflow cases in [format].
-
-2009-08-25 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard)
- (Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
- * generic/tclCompCmds.c (*):
- * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv)
- (TclFreeCompileEnv, TclCompileScript, TclCompileTokens):
- * generic/tclCompile.h (CompileEnv):
- * generic/tclInt.h (ContLineLoc, Interp):
- * generic/tclObj.c (ThreadSpecificData, ContLineLocFree)
- (TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter,
- (TclContinuationsEnterDerived, TclContinuationsCopy, TclFreeObj)
- (TclContinuationsGet):
- * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
- * generic/tclProc.c (TclCreateProc):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/info.test (info-30.0-24):
-
- Extended the parser, compiler, and execution engine with code and
- attendant data structures tracking the position of continuation lines
- which are not visible in the resulting script Tcl_Obj*'s, to properly
- account for them while counting lines for #280.
-
-2009-08-24 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: Annotate Tcl_Panic as noreturn for clang static
- analyzer in PURIFY builds, replacing preprocessor/assert technique.
-
- * macosx/tclMacOSXNotify.c: Fix multiple issues with nested event loops
- when CoreFoundation notifier is running in embedded mode. (Fixes
- problems in TkAqua Cocoa reported by Youness Alaoui on tcl-mac)
-
-2009-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
- * tests/fileName.test:
-
-2009-08-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c: [Bug 2837800]: Correct the result produced by
- [glob */test] when * matches something like ~foo.
-
- * generic/tclPathObj.c: [Bug 2806250]: Prevent the storage of strings
- starting with ~ in the "tail" part (normPathPtr field) of the path
- intrep when PATHFLAGS != 0. This establishes the assumptions relied
- on elsewhere that the name stored there is a relative path. Also
- refactored to make an AppendPath() routine instead of the cut/paste
- stanzas that were littered throughout.
-
-2009-08-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (TclNRIfObjCmd): [Bug 2823276]: Make [if]
- NRE-safe on all arguments when interpreted.
- (Tcl_LsortObjCmd): Close off memory leak.
-
-2009-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (TclNRForObjCmd, etc.): [Bug 2823276]: Make [for]
- and [while] into NRE-safe commands, even when interpreted.
-
-2009-08-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent
- * tests/fileName.test: crashes during [glob].
-
-2009-08-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/dltest/pkge.c: const addition
- * unix/tclUnixThrd.c: Use <pthread.h> in stead of "pthread.h"
- * win/tclWinDde.c: Eliminate some more gcc warnings
- * win/tclWinReg.c:
- * generic/tclInt.h: Change ForIterData, make it const-safe.
- * generic/tclCmdAH.c:
-
-2009-08-12 Don Porter <dgp@users.sourceforge.net>
-
- TIP #353 IMPLEMENTATION
-
- * doc/NRE.3: New public routine Tcl_NRExprObj() permits
- * generic/tcl.decls: extension commands to evaluate Tcl expressions
- * generic/tclBasic.c: in NR-enabled command procedures.
- * generic/tclCmdAH.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclObj.c:
- * tests/expr.test:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2009-08-06 Andreas Kupries <andreask@activestate.com>
-
- * doc/refchan.n [Bug 2827000]: Extended the implementation of
- * generic/tclIORChan.c: reflective channels (TIP 219, method
- * tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to
- indicate 'no data, but not at EOF either', and other system
- errors. Updated documentation, extended testsuite (New test cases
- iocmd*-23.{9,10}).
-
-2009-08-02 Miguel Sofer <msofer@users.sf.net>
-
- * tests/coroutine.test: fix testfile cleanup
-
-2009-08-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclObj.c (Tcl_RepresentationCmd): Added an unsupported
- command for reporting the representation of an object. Result string
- is deliberately a bit obstructive so that people are not encouraged to
- make code that depends on it; it's a debugging tool only!
-
- * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
- (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
- * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
- they've been unnecessary for ages.
-
-2009-08-02 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWin32Dll.c: Eliminate TclWinResetInterfaceEncodings, since it
- * win/tclWinInit.c: does exactly the same as TclWinEncodingsCleanup,
- * win/tclWinInt.h: make sure that tclWinProcs and
- tclWinTCharEncoding are always set and reset
- concurrently.
- * win/tclWinFCmd.c: Correct check for win95
-
-2009-07-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [Bug 2830354]: Corrected failure to
- * tests/format.test: grow buffer when format spec request
- large width floating point values. Thanks to Clemens Misch.
-
-2009-07-26 Donal K. Fellows <dkf@users.sf.net>
-
- * library/auto.tcl (tcl_findLibrary, auto_mkindex):
- * library/package.tcl (pkg_mkIndex, tclPkgUnknown, MacOSXPkgUnknown):
- * library/safe.tcl (interpAddToAccessPath, interpDelete, AliasGlob):
- (AliasSource, AliasLoad, AliasEncoding):
- * library/tm.tcl (UnknownHandler): Simplify by swapping some [catch]
- gymnastics for use of [try].
-
-2009-07-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tools/genStubs.tcl: Forced LF translation when generating .h's to
- avoid spurious diffs when regenerating on a Windows box.
-
-2009-07-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: [Bug 2827066]: msys build --enable-symbols broken
- * win/tcl.m4: And modified the same for unicows.dll, as a
- * win/configure: preparation for [Enh 2819611].
-
-2009-07-25 Donal K. Fellows <dkf@users.sf.net>
-
- * library/history.tcl (history): Reworked the history mechanism in
- terms of ensembles, rather than the ad hoc ensemble-lite mechanism
- used previously.
-
-2009-07-24 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/self.n (self class): [Bug 2704302]: Add some text to make it
- clearer how to get the name of the current object's class.
-
-2009-07-23 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash
- * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this
- is allowed. Provide a nice error message in the bypass area. Updated
- caller to check the bypass for a mesage. Bug reported by Andy
- Sonnenburg <andy22286@users.sourceforge.net>
-
-2009-07-23 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
- freed once processed.
-
-2009-07-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * macosx/tclMacOSXFCmd.c: CONST -> const
- * generic/tclGetDate.y:
- * generic/tclDate.c:
- * generic/tclLiteral.c: (char *) cast in ckfree call
- * generic/tclPanic.c: [Feature Request 2814786]: remove TclpPanic
- * generic/tclInt.h
- * unix/tclUnixPort.h
- * win/tclWinPort.h
-
-2009-07-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclEvent.c: [Bug 2001201 again]: Refined the 20090617 patch
- on [exit] streamlining, so that it now correctly calls thread exit
- handlers for the calling thread, including <Destroy> bindings in Tk.
-
-2009-07-21 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
-
-2009-07-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is
- more efficient when parsing things that are correct, at a cost of
- making the empty string test slightly more costly. With this, the cost
- of doing [string is integer -strict $x] matches [catch {expr {$x+0}}]
- in the successful case, and greatly outstrips it in the failing case.
-
-2009-07-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.decls, generic/tclOO.c (Tcl_GetObjectName): Expose a
- function for efficiently returning the current name of an object.
-
-2009-07-18 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: Define NDEBUG in optimized (non-symbols) build to
- disable NRE assert()s and threaded allocator range checks.
-
-2009-07-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBinary.c: Removed unused variables.
- * generic/tclCmdIL.c:
- * generic/tclCompile.c:
- * generic/tclExecute.c:
- * generic/tclHash.c:
- * generic/tclIOUtil.c:
- * generic/tclVar.c:
-
- * generic/tclBasic.c: Silence compiler warnings about ClientData.
- * generic/tclProc.c:
-
- * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
-
- * generic/tclStrToD.c: [Bug 2819200]: Set floating point control
- register on MIPS systems so that the gradual underflow expected by Tcl
- is in effect.
-
-2009-07-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (Namespace): Added machinery to allow
- * generic/tclNamesp.c (many functions): reduction of memory used
- * generic/tclResolve.c (BumpCmdRefEpochs): by namespaces. Currently
- #ifdef'ed out because of compatibility concerns.
-
- * generic/tclInt.decls: Added four functions for better integration
- with itcl-ng.
-
-2009-07-14 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclInt.h (TclNRSwitchObjCmd):
- * generic/tclBasic.c (builtInCmds):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd):
- * tests/switch.test (switch-15.1):
- [Bug 2821401]: Make non-bytecoded [switch] command aware of NRE.
-
-2009-07-13 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex)
- (TclCleanupByteCode, TclCompileScript):
- * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode):
- * tclCompile.h (ExtCmdLoc):
- * tclInt.h (ExtIndex, CFWordBC, CmdFrame):
- * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter)
- (TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT)
- (RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd):
- * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback,
- (ForNextCallback):
- * generic/tclCmdMZ.c (TclNRWhileObjCmd):
-
- Extended the bytecode compiler initialization to recognize the
- compilation of whole files (NRE enabled 'source' command) and switch
- to the counting of absolute lines in that case.
-
- Further extended the bytecode compiler to track the start line in the
- generated information, and modified the bytecode execution to
- recompile an object if the location as per the calling context doesn't
- match the location saved in the bytecode. This part could be optimized
- more by using more memory to keep all possibilities which occur
- around, or by just adjusting the location information instead of a
- total recompile.
-
- Reworked the handling of literal command arguments in bytecode to be
- saved (compiler) and used (execution) per command (See the
- TCL_INVOKE_STK* instructions), and not per the whole bytecode. This,
- and the previous change remove the problems with location data caused
- by literal sharing (across whole files, but also proc bodies).
- Simplified the associated datastructures (ExtIndex is gone, as is the
- function EnterCmdWordIndex).
-
- The last change causes the hashtable 'lineLABCPtr' to be state which
- has to be kept per coroutine, like the CmdFrame stack. Reworked the
- coroutine support code to create, delete and switch the information as
- needed. Further reworked the tailcall command as well, it has to pop
- its own arguments when run in a bytecode context to keep a proper
- stack in 'lineLABCPtr'.
-
- Fixed the mishandling of line information in the NRE-enabled 'for' and
- 'while' commands introduced when both were made to share their
- iteration callbacks without taking into account that the loop body is
- found in different words of the command. Introduced a separate data
- structure to hold all the callback information, as we went over the
- limit of 4 direct client-data values for NRE callbacks.
-
- The above fixes [Bug 1605269].
-
-2009-07-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (StringIndexCmd, StringEqualCmd, StringCmpCmd):
- * generic/tclExecute.c (TclExecuteByteCode): [Bug 2637173]: Factor out
- * generic/tclInt.h (TclIsPureByteArray): the code to determine if
- * generic/tclUtil.c (TclStringMatchObj): it is safe to work with
- byte arrays directly, so that we get the check correct _once_.
-
- * generic/tclOOCall.c (TclOOGetCallContext): [Bug 1895546]: Changed
- * generic/tclOO.c (TclOOObjectCmdCore): the way that the cache is
- managed so that when itcl does cunning things, those cunning things
- can be cached properly.
-
-2009-07-11 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/vwait.n: Substantially increased the discussion of issues and
- work-arounds relating to nested vwaits, following discussion on the
- tcl-core mailing list on the topic.
-
-2009-07-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/zlib.test: ZlibTransformClose may be called with a NULL
- * generic/tclZlib.c: interpreter during finalization and
- Tcl_SetChannelError requires a list. Added some tests to ensure error
- propagation from the zlib library to the interp.
-
-2009-07-09 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/zlib.test: [Bug 2818131]: Added tests and fixed a typo that
- broke [zlib push] for deflate format.
-
-2009-07-09 Donal K. Fellows <dkf@users.sf.net>
-
- * compat/mkstemp.c (mkstemp): [Bug 2819227]: Use rand() for random
- numbers as it is more portable.
-
-2009-07-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibTransformWatch): Correct the handling of
- events so that channel transforms work with things like an asynch
- [chan copy]. Problem reported by Pat Thoyts.
-
-2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call
- * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This
- * win/tclWinInit.c: fixes a problem obtaining the username when the
- USERNAME environment variable is unset.
-
-2009-06-30 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: Add assert macros for clang static
- * generic/tclPanic.c: analyzer and redefine Tcl_Panic to
- * generic/tclStubInit.c: assert after panic in clang PURIFY
- builds.
-
- * generic/tclCmdIL.c: Add clang assert for false positive
- from static analyzer.
-
-2009-06-26 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl-Common.xcconfig: Update projects for Xcode 3.1 and
- * macosx/Tcl.xcode/*: 3.2, standardize on gcc 4.2, remove
- * macosx/Tcl.xcodeproj/*: obsolete configurations and pre-Xcode
- * macosx/Tcl.pbproj/* (removed): project.
-
- * macosx/README: Update project docs, cleanup.
-
- * unix/Makefile.in: Update dist target for project
- changes.
-
-2009-06-24 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/oo.test (oo-19.1): [Bug 2811598]: Make more resilient.
-
-2009-06-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/http11.test: [Bug 2811492]: Clean up procs after testing.
-
-2009-06-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCkalloc.c (MemoryCmd): [Bug 988703]:
- * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): Add mechanism
- for discovering what Tcl_Objs are allocated when built for memory
- debugging. Developed by Joe Mistachkin.
-
-2009-06-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclEvent.c: Applied a patch by George Peter Staplin
- drastically reducing the ambition of [exit] wrt finalization, and
- thus solving many multi-thread teardown issues. [Bugs 2001201,
- 486399, and possibly 597575, 990457, 1437595, 2750491]
-
-2009-06-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
-
-2009-06-15 Reinhard Max <max@suse.de>
-
- * unix/tclUnixPort.h: Move all socket-related code from tclUnixChan.c
- * unix/tclUnixChan.c: to tclUnixSock.c.
- * unix/tclUnixSock.c:
-
-2009-06-15 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (make-man-pages): [Patch 557486]: Apply
- last remaining meaningful part of this patch, a clean up of some
- closing tags.
-
-2009-06-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: [Bug 2802881]: The value stashed in
- * generic/tclProc.c: iPtr->compiledProcPtr when compiling a proc
- * tests/execute.test: survives too long. We only need it there long
- enough for the right TclInitCompileEnv() call to re-stash it into
- envPtr->procPtr. Once that is done, the CompileEnv controls. If we
- let the value of iPtr->compiledProcPtr linger, though, then any other
- bytecode compile operation that takes place will also have its
- CompileEnv initialized with it, and that's not correct. The value is
- meant to control the compile of the proc body only, not other compile
- tasks that happen along. Thanks to Carlos Tasada for discovering and
- reporting the problem.
-
-2009-06-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [Bug 2801413]: Revised [format] to not
- overflow the integer calculations computing the length of the %ll
- formats of really big integers. Also added protections so that
- [format]s that would produce results overflowing the maximum string
- length of Tcl values throw a normal Tcl error instead of a panic.
-
- * generic/tclStringObj.c: [Bug 2803109]: Corrected failures to
- deal with the "pure unicode" representation of an empty string.
- Thanks to Julian Noble for reporting the problem.
-
-2006-06-09 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclGetDate.y: Fixed a thread safety bug in the generated
- * library/clock.tcl: Bison parser (needed a %pure-parser
- * tests/clock.test: declaration to avoid static variables).
- Discovered that the %pure-parser declaration
- allowed for returning the Bison error message
- to the Tcl caller in the event of a syntax
- error, so did so.
- * generic/tclDate.c: bison 2.3
-
-2006-06-08 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh. (Olson's
- tzdata2009i.)
-
-2009-06-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/copy.n: Fix error in example spotted by Venkat Iyer.
-
-2009-06-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Replace dynamically-initialized table with a
- table of static constants in the lookup table for exponent operator
- computations that fit in a 64 bit integer result.
-
- * generic/tclExecute.c: [Bug 2798543]: Corrected implementations and
- selection logic of the INST_EXPON instruction.
-
-2009-06-01 Don Porter <dgp@users.sourceforge.net>
-
- * tests/expr.test: [Bug 2798543]: Added many tests demonstrating
- the broken cases.
-
-009-05-30 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Amman: Olson's tzdata2009h.
-
-2009-05-29 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Fixed handling of cpu ia64,
- * library/platform/pkgIndex.tcl: taking ia64_32 into account
- * unix/Makefile.in: now. Bumped version to 1.0.5. Updated the
- * win/Makefile.in: installation commands.
-
-2009-05-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/expr.n: Fixed documentation of the right-associativity of
- the ** operator. (spotted by kbk)
-
-2009-05-14 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOInfo.c (InfoObjectNsCmd): Added introspection mechanism
- for finding out what an object's namespace is. Experience suggests
- that it is just too useful to be able to do without it.
-
-2009-05-12 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/vwait.n: Added more words to make it clear just how bad it is to
- nest [vwait]s.
-
- * compat/mkstemp.c: Add more headers to make this file build on IRIX
- 6.5. Thanks to Larry McVoy for this.
-
-2009-05-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (TclNRNewObjectInstance): [Bug 2414858]: Add a
- * generic/tclBasic.c (TclPushTailcallPoint): marker to the stack of
- NRE callbacks at the right point so that tailcall works correctly in a
- constructor.
-
- * tests/exec.test (cat): [Bug 2788468]: Adjust the scripted version of
- cat so that it does not perform transformations on the data it is
- working with, making it more like the standard Unix 'cat' program.
-
-2009-05-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2785893]: Ensure that
- a command in a deleted namespace can't be found through a cached name.
-
- * generic/tclBasic.c: Let coroutines start with a much smaller
- * generic/tclCompile.h: stack: 200 words (previously was 2000, the
- * generic/tclExecute.c: same as interps).
-
-2009-05-07 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/env.test (printenvScript, env-4.3, env-4.5): [Bug 1513659]:
- * tests/exec.test (exec-2.6): These tests had subtle dependencies on
- being on platforms that were either ISO 8859-1 or UTF-8. Stabilized
- the results by forcing the encoding.
-
-2009-05-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: [Bug 2582327]: Improve overflow error message
- from [string repeat].
-
- * tests/interp.test: interp-20.50 test for Bug 2486550.
-
-2009-05-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (InitFoundation, AllocObject, AllocClass):
- * generic/tclOODefineCmds.c (InitDefineContext): Make sure that when
- support namespaces are deleted, nothing bad can subsequently happen.
- Issue spotted by Don Porter.
-
-2009-05-03 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Tcl.n: [Bug 2538432]: Clarified exact treatment of ${arr(idx)}
- form of variable substitution. This is not a change of behavior, just
- an improved description of the current situation.
-
-2009-04-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclObjInvoke): [Bug 2486550]: Make sure that a
- null objProc is not used, use Tcl_NRCallObjProc instead.
-
-2009-05-01 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/configure.in Fix 64-bit detection for zlib on Win64
- * win/configure (regenerated)
-
-2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check to
- add _r to CC on AIX with threads.
-
-2009-04-27 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/concat.n (EXAMPLES): [Bug 2780680]: Rewrote so that the spacing
- of result messages is correct. (The exact way they were wrong was
- different when rendered through groff or as HTML, but it was still
- wrong both ways.)
-
-2009-04-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIndexObj.c: Reset internal INTERP_ALTERNATE_WRONG_ARGS
- * generic/tclIOCmd.c: flag inside the Tcl_WrongNumArgs function,
- so the caller no longer has to do the reset.
-
-2009-04-24 Stuart Cassoff <stwo@users.sf.net>
-
- * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
-
-2009-04-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: [Bug 2715421]: Removed spurious newline added
- * tests/http11.test: after POST and added tests to detect excess
- * tests/httpd11.tcl: bytes being POSTed.
- * library/http/pkgIndex.tcl:
- * makefiles: package version now 2.8.1
-
-2009-04-15 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n, doc/close.n: Tidy up documentation of TIP #332.
-
-2009-04-14 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
- Time (Olson's tzdata2009f)
-
-2009-04-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (InvokeForwardMethod): Clarify the resolution
- behaviour of the name of the command that is forwarded to: it's now
- resolved using the object's namespace as context, which is much more
- useful than the previous (somewhat random) behaviour of using the
- caller's current namespace.
-
-2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: Improved HTTP/1.1 support and added
- * library/http/pkgIndex.tcl: specific HTTP/1.1 testing to ensure
- * tests/http11.test: we handle chunked+gzip for the various
- * tests/httpd11.test: modes (normal, -channel and -handler)
- * makefiles: package version set to 2.8.0
-
-2009-04-10 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
- * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
- [FRQ 1960647] [Bug 3486554]
-
- * unix/tclLoadDyld.c: Use RTLD_GLOBAL instead of RTLD_LOCAL.
- [Bug 1961211]
-
- * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow
- embedding into applications that
- already have a CFRunLoop running and
- want to run the tcl event loop via
- Tcl_ServiceModeHook(TCL_SERVICE_ALL).
-
- * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and
- * unix/tclUnixChan.c: TclUnixWaitForFile() implementations
- * unix/tclUnixEvent.c: and disable select() based ones in
- CoreFoundation builds.
-
- * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
-
- * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
- * generic/tclIntPlatDecls.h: internal API, regen.
- * generic/tclStubInit.c:
-
- * unix/configure.in (Darwin): use Darwin SUSv3 extensions if
- available; remove /Network locations
- from default tcl package search path
- (NFS mounted locations and thus slow).
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
- deprecated NSModule API by dlfcn API.
-
-2009-04-10 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/StringObj.3: [Bug 2089279]: Corrected example so that it works
- on 64-bit machines as well.
-
-2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/http.test: [Bug 26245326]: Added specific check for problem
- * tests/httpd: (return incomplete HTTP response header).
-
-2009-04-08 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/tclZIC.tcl: Always emit files with Unix line termination.
- * library/tzdata: Olson's tzdata2009e
-
-2009-04-09 Don Porter <dgp@users.sourceforge.net>
-
- * library/http/http.tcl: [Bug 26245326]: Handle incomplete
- lines in the "connecting" state. Thanks to Sergei Golovan.
-
-2009-04-08 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Extended the darwin sections to add
- * library/platform/pkgIndex.tcl: a kernel version number to the
- * unix/Makefile.in: identifier for anything from Leopard (10.5) on up.
- * win/Makefile.in: Extended patterns for same. Extended cpu
- * doc/platform.n: recognition for 64bit Tcl running on a 32bit kernel
- on a 64bit processor (By Daniel Steffen). Bumped version to 1.0.4.
- Updated Makefiles.
-
-2009-04-08 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: [Bug 2570363]: Converted [eval]s (some
- * library/tcltest/pkgIndex.tcl: unsafe!) to {*} in tcltest package.
- * unix/Makefile.in: => tcltest 2.3.1
- * win/Makefile.in:
-
-2009-04-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Correction so that value of
- TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment
- claims.
-
-2009-04-04 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/vwait.n: [Bug 1910136]: Extend description and examples to make
- it clearer just how this command interprets variable names.
-
-2009-03-30 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Alloc.3: [Bug 2556263]: Size argument is "unsigned int".
-
-2009-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c (TclPathPart): [Bug 2710920]: TclPathPart()
- * tests/fileName.test: was computing the wrong results for both [file
- dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0
- intrep and with an empty string for the "joined-on" part.
-
-2009-03-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/tclsh.1: Bring doc and tools in line with
- * tools/installData.tcl: http://wiki.tcl.tk/812
- * tools/str2c
- * tools/tcltk-man2html.tcl
-
-2009-03-25 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/coroutine.n: [Bug 2152285]: Added basic documentation for the
- coroutine and yield commands.
-
-2009-03-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOOSelfObjCmd): [Bug 2704302]: Make 'self
- class' better defined in the context of objects that change class.
-
- * generic/tclVar.c (Tcl_UpvarObjCmd): [Bug 2673163] (ferrieux)
- * generic/tclProc.c (TclObjGetFrame): Make the upvar command more able
- to handle its officially documented syntax.
-
-2009-03-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: [Bug 2502037]: NR-enable the handling of unknown
- commands.
-
-2009-03-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Fixed "leaks" in aliases, imports and
- * generic/tclInt.h: ensembles. Only remaining known leak is in
- * generic/tclInterp.c: ensemble unknown dispatch (as it not
- * generic/tclNamesp.c: NR-enabled)
- * tests/tailcall.test:
-
- * tclInt.h: comments
-
- * tests/tailcall.test: Added tests to show that [tailcall] does not
- currently always execute in constant space: interp-alias, ns-imports
- and ensembles "leak" as of this commit.
-
- * tests/nre.test: [foreach] has been NR-enabled for a while, the test
- was marked 'knownBug': unmark it.
-
- * generic/tclBasic.c: Fix for (among others) [Bug 2699087]
- * generic/tclCmdAH.c: Tailcalls now perform properly even from
- * generic/tclExecute.c: within [eval]ed scripts.
- * generic/tclInt.h: More tests missing, as well as proper
- exploration and testing of the interaction with "redirectors" like
- interp-alias (suspect that it does not happen in constant space)
- and pure-eval commands.
-
- * generic/tclExecute.c: Proper fix for [Bug 2415422]. Reenabled
- * tests/nre.test: the failing assertion that was disabled on
- 2008-12-18: the assertion is correct, the fault was in the
- management of expansions.
-
- * generic/tclExecute.c: Fix both test and code for tailcall
- * tests/tailcall.test: from within a compiled [eval] body.
-
- * tests/tailcall.test: Slightly improved tests
-
-2009-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * tests/stringObj.test: [Bug 2597185]: Test stringObj-6.9
- checks that Tcl_AppendStringsToObj() no longer crashes when operating
- on a pure unicode value.
-
- * generic/tclExecute.c (INST_CONCAT1): [Bug 2669109]: Panic when
- appends overflow the max length of a Tcl value.
-
-2009-03-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.h:
- * generic/tclInt.h:
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall
- implementation, ::unsupported::atProcExit is (temporarily?) gone. The
- new approach is much simpler, and also closer to being correct. This
- commit fixes [Bug 2649975] and [Bug 2695587].
-
- * tests/coroutine.test: Moved the tests to their own files,
- * tests/tailcall.test: removed the unsupported.test. Added
- * tests/unsupported.test: tests for the fixed bugs.
-
-2009-03-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/tailcall.n: Added documentation for tailcall command.
-
-2009-03-18 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c (TclpObjNormalizePath): [Bug 2688184]:
- Corrected Tcl_Obj leak. Thanks to Joe Mistachkin for detection and
- patch.
-
- * generic/tclVar.c (TclLookupSimpleVar): [Bug 2689307]: Shift
- all calls to Tcl_SetErrorCode() out of TclLookupSimpleVar and onto its
- callers, where control with TCL_LEAVE_ERR_MSG flag is more easily
- handled.
-
-2009-03-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (TryPostBody): [Bug 2688063]: Extract information
- from list before getting rid of last reference to it.
-
-2009-03-15 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclThread.c: [Bug 2687952]: Modify fix for TSD leak to match
- * generic/tclThreadStorage.c: Tcl 8.5 (and prior) allocation semantics
-
-2009-03-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclThreadStorage.c (TSDTableDelete): [Bug 2687952]: Ensure
- * generic/tclThread.c (Tcl_GetThreadData): that structures in
- Tcl's TSD system are all freed. Use the correct matching allocator.
-
- * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
- Added support for SIGINFO, which is present on BSD platforms.
-
-2009-03-14 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tcl.pc.in (new file): [Patch 2243948] (hat0)
- * unix/configure.in, unix/Makefile.in: Added support for reporting
- Tcl's public build configuration via the pkg-config system. TEA is
- still the official mechanism though, in part because pkg-config is not
- universally supported across all Tcl's supported platforms.
-
-2009-03-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclNRCoroutineObjCmd): fix Tcl_Obj leak.
- Diagnosis and fix thanks to GPS.
-
-2009-03-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_TryObjCmd, TclNRTryObjCmd): Moved the
- implementation of [try] from Tcl code into C. Still lacks a bytecode
- version, but should be better than what was before.
-
-2009-03-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (TclZlibCmd): Checksums are defined to be unsigned
- 32-bit integers, use Tcl_WideInt to pass to scripts. [Bug 2662434]
- (ZlibStreamCmd, ChanGetOption): A few other related corrections.
-
-2009-02-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls: [Bug 218977]: Tcl_DbCkfree needs return value
- * generic/tclCkalloc.c
- * generic/tclDecls.h: (regenerated)
- * generic/tclInt.decls: don't use CONST84/CONST86 here
- * generic/tclCompile.h: don't use CONST86 here, comment fixing.
- * generic/tclIO.h: don't use CONST86 here, comment fixing.
- * generic/tclIntDecls.h (regenerated)
-
-2009-02-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c (TclStringMatchObj): [Bug 2637173]: Revised
- the branching on the strObj->typePtr so that untyped values get
- converted to the "string" type and pass through the Unicode matcher.
- [Bug 2613766]: Also added checks to only perform "bytearray"
- optimization on pure bytearray values.
-
- * generic/tclCmdMZ.c: Since Tcl_GetCharLength() has its own
- * generic/tclExecute.c: optimizations for the tclByteArrayType, stop
- having the callers do them.
-
-2009-02-24 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/clock.n, doc/fblocked.n, doc/format.n, doc/lsort.n,
- * doc/pkgMkIndex.n, doc/regsub.n, doc/scan.n, doc/tclvars.n:
- General minor documentation improvements.
-
- * library/http/http.tcl (geturl, Eof): Added support for 8.6's built
- in zlib routines.
-
-2009-02-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/lrange.test: Revert commits of 2008-07-23. Those were speed
- * tests/binary.test: tests, that are inherently brittle.
-
-2009-02-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Several revisions to the shimmering
- patterns between Unicode and UTF string reps. Most notably the
- call: objPtr = Tcl_NewUnicodeObj(...,0); followed by a loop of calls:
- Tcl_AppendUnicodeToObj(objPtr, u, n); will now grow and append to
- the Unicode representation. Before this commit, the sequence would
- convert each append to UTF and perform the append to the UTF rep.
- This is puzzling and likely a bug. The performance of [string map]
- is significantly improved by this change (according to the MAP
- collection of benchmarks in tclbench). Just in case there was some
- wisdom in the old ways that I missed, I left in the ability to restore
- the old patterns with a #define COMPAT 1 at the top of the file.
-
-2009-02-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: [Bug 2571597]: Fixed mistaken logic in
- * tests/fileName.test: TclFSGetPathType() that assumed (not
- "absolute") => "relative". This is a false assumption on Windows,
- where "volumerelative" is another possibility.
-
-2009-02-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Simplify the logic of the
- Tcl_*SetObjLength() routines.
-
- * generic/tclStringObj.c: Rewrite GrowStringBuffer() so that it
- has parallel structure with GrowUnicodeBuffer(). The revision permits
- allocation attempts to continue all the way up to failure, with no
- gap. It also directly manipulates the String and Tcl_Obj internals
- instead of inefficiently operating via Tcl_*SetObjLength() with all of
- its extra protections and underdocumented special cases.
-
- * generic/tclStringObj.c: Another round of simplification on
- the allocation macros.
-
-2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tcl.m4, win/configure: Check if cl groks _WIN64 already to
- avoid CC manipulation that can screw up later configure checks.
- Use 'd'ebug runtime in 64-bit builds.
-
-2009-02-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Pare back the length of the unicode
- array in a non-extended String struct to one Tcl_UniChar, meant to
- hold the terminating NUL character. Non-empty unicode strings are
- then stored by extending the String struct by stringPtr->maxChars
- additional slots in that array with sizeof(Tcl_UniChar) bytes per
- slot. This revision makes the allocation macros much simpler.
-
- * generic/tclStringObj.c: Factor out common GrowUnicodeBuffer()
- and solve overflow and growth algorithm fallbacks in it.
-
- * generic/tclStringObj.c: Factor out common GrowStringBuffer().
-
- * generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into
- * tests/stringObj.test: a radically simpler implementation
- where we just loop over calls to Tcl_AppendToObj. This fixes [Bug
- 2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in
- that T_ASTO can now allocate more space than is strictly required,
- like all the other Tcl_Append* routines. The incompatibility was
- detected by test stringObj-6.5, which I've updated to reflect the
- new behavior.
-
- * generic/tclStringObj.c: Revise buffer growth implementation
- in ExtendStringRepWithUnicode. Use cheap checks to determine that
- no reallocation is necessary without cost of computing the precise
- number of bytes needed. Also make use of the string growth algortihm
- in the case of repeated appends.
-
-2009-02-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclZlib.c: Hack needed for official zlib1.dll build.
- * win/configure.in: fix [Feature Request 2605263] use official
- * win/Makefile.in: zlib build.
- * win/configure: (regenerated)
- * compat/zlib/zdll.lib: new files
- * compat/zlib/zlib1.dll:
-
- * win/Makefile.in: [Bug 2605232]: tdbc doesn't build when Tcl is
- compiled with --disable-shared.
-
-2009-02-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [Bug 2603158]: Added protections from
- * generic/tclTestObj.c: invalid memory accesses when we append
- * tests/stringObj.test: (some part of) a Tcl_Obj to itself.
- Added the appendself and appendself2 subcommands to the
- [teststringobj] testing command and added tests to the test suite.
-
- * generic/tclStringObj.c: Factor out duplicate code from
- Tcl_AppendObjToObj.
-
- * generic/tclStringObj.c: Replace the 'size_t uallocated' field
- of the String struct, storing the number of bytes allocated to store
- the Tcl_UniChar array, with an 'int maxChars' field, storing the
- number of Tcl_UniChars that may be stored in the allocated space.
- This reduces memory requirement a small bit, and makes some range
- checks simpler to code.
- * generic/tclTestObj.c: Replace the [teststringobj ualloc] testing
- * tests/stringObj.test: command with [teststringobj maxchars] and
- update the tests.
-
- * generic/tclStringObj.c: Removed limitation in
- Tcl_AppendObjToObj where the char length of the result was only
- computed if the appended string was all single byte characters.
- This limitation was in place to dodge a bug in Tcl_GetUniChar.
- With that bug gone, we can take advantage of always recording the
- length of append results when we know it.
-
-2009-02-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Revisions so that we avoid creating
- the strange representation of an empty string with
- objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in
- the situations where that was being created, create a traditional
- two-legged stork representation (objPtr->bytes = tclEmptyStringRep
- and stringPtr->hasUnicode = 1). In the situations where the strange
- rep was treated differently, continue to do so by testing
- stringPtr->numChars == 0 to detect it. These changes make the code
- more conventional so easier for new maintainers to pick up. Also
- sets up further simplifications.
-
- * generic/tclTestObj.c: Revise updates to [teststringobj] so we don't
- get blocked by MODULE_SCOPE limits.
-
-2009-02-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Rewrites of the routines
- Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj,
- Tcl_GetRange, and TclStringObjReverse to use the new macro, and
- to more simply and clearly split the cases depending on whether
- a valid unicode rep is present or needs to be created.
- New utility routine UnicodeLength(), to compute the length of unicode
- buffer arguments when no length is passed in, with built-in
- overflow protection included. Update three callers to use it.
-
- * generic/tclInt.h: New macro TclNumUtfChars meant to be a faster
- replacement for a full Tcl_NumUtfChars() call when the string has all
- single-byte characters.
-
- * generic/tclStringObj.c: Simplified Tcl_GetCharLength by
- * generic/tclTestObj.c: removing code that did nothing.
- Added early returns from Tcl_*SetObjLength when the desired length
- is already present; adapted test command to the change.
-
- * generic/tclStringObj.c: Re-implemented AppendUtfToUnicodeRep
- so that we no longer pass through Tcl_DStrings which have their own
- sets of problems when lengths overflow the int range. Now AUTUR and
- FillUnicodeRep share a common core routine.
-
-2009-02-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOODefineCmds.c (TclOOGetDefineCmdContext): Use the
- correct field in the Interp structure for retrieving the frame to get
- the context object so that people can extend [oo::define] without deep
- shenanigans. Bug found by Federico Ferri.
-
-2009-02-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Re-implemented AppendUnicodeToUtfRep
- so that we no longer pass through Tcl_DStrings which have their own
- sets of problems when lengths overflow the int range. Now AUTUR and
- UpdateStringOfString share a common core routine.
-
- * generic/tclStringObj.c: Changed type of the 'allocated' field
- * generic/tclTestObj.c: of the String struct (and the
- TestString counterpart) from size_t to int since only int values are
- ever stored in it.
-
-2009-02-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclEncoding.c: Eliminate some unnessary type casts
- * generic/tclEvent.c: some internal const decorations
- * generic/tclExecute.c: spacing
- * generic/tclIndexObj.c:
- * generic/tclInterp.c:
- * generic/tclIO.c:
- * generic/tclIOCmd.c:
- * generic/tclIORChan.c:
- * generic/tclIOUtil.c:
- * generic/tclListObj.c:
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclOOBasic.c:
- * generic/tclPathObj.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
- * generic/tclRegexp.c:
- * generic/tclScan.c:
- * generic/tclStringObj.c:
- * generic/tclTest.c:
- * generic/tclTestProcBodyObj.c:
- * generic/tclThread.c:
- * generic/tclThreadTest.c:
- * generic/tclTimer.c:
- * generic/tclTrace.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
- * generic/tclStubInit.c: (regenerated)
-
-2009-02-10 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when
- using the native CC.
- * unix/configure: (autoconf-2.59)
-
-2009-02-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclObj.c (Tcl_GetString): Added comments and validity
- checks following the call to an UpdateStringProc.
-
- * generic/tclStringObj.c: Reduce code duplication in Tcl_GetUnicode*.
- Restrict AppendUtfToUtfRep to non-negative length appends.
- Convert all Tcl_InvalidateStringRep() calls into macros.
- Simplify Tcl_AttemptSetObjLength by removing unreachable code.
- Simplify SetStringFromAny() by removing unreachable and duplicate code.
- Simplify Tcl_SetObjLength by removing unreachable code.
- Removed handling of (objPtr->bytes != NULL) from UpdateStringOfString,
- which is only called when objPtr->bytes is NULL.
-
-2009-02-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCompile.c: [Bug 2555129]: const compiler warning (as
- error) in tclCompile.c
-
-2009-02-07 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (TclZlibCmd): [Bug 2573172]: Ensure that when
- invalid subcommand name is given, the list of valid subcommands is
- produced. This gives a better experience when using the command
- interactively.
-
-2009-02-05 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclInterp.c: [Bug 2544618]: Fix argument checking for
- [interp cancel].
- * unix/Makefile.in: Fix build issue with zlib on FreeBSD (and possibly
- other platforms).
-
-2009-02-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (StringIndexCmd, StringRangeCmd, StringLenCmd):
- Simplify the implementation of some commands now that the underlying
- string API knows more about bytearrays.
-
- * generic/tclExecute.c (TclExecuteByteCode): [Bug 2568434]: Make sure
- that INST_CONCAT1 will not lose string reps wrongly.
-
- * generic/tclStringObj.c (Tcl_AppendObjToObj): Special-case the
- appending of one bytearray to another, which can be extremely rapid.
- Part of scheme to address [Bug 1665628] by making the basic string
- operations more efficient on byte arrays.
- (Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetRange): More special casing
- work for bytearrays.
-
-2009-02-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: [Bug 2561794]: Added overflow protections to
- the AppendUtfToUtfRep routine to either avoid invalid arguments and
- crashes, or to replace them with controlled panics.
-
- * generic/tclCmdMZ.c: [Bug 2561746]: Prevent crashes due to int
- overflow of the length of the result of [string repeat].
-
-2009-02-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * macosx/tclMacOSXFCmd.c: Eliminate some unnessary type casts
- * unix/tclLoadDyld.c: some internal const decorations
- * unix/tclUnixCompat.c: spacing
- * unix/tclUnixFCmd.c
- * unix/tclUnixFile.c
- * win/tclWinDde.c
- * win/tclWinFCmd.c
- * win/tclWinInit.c
- * win/tclWinLoad.c
- * win/tclWinPipe.c
- * win/tclWinReg.c
- * win/tclWinTest.c
- * generic/tclBasic.c
- * generic/tclBinary.c
- * generic/tclCmdAH.c
- * generic/tclCmdIL.c
- * generic/tclCmdMZ.c
- * generic/tclCompCmds.c
- * generic/tclDictObj.c
-
-2009-02-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclObj.c (tclCmdNameType): [Bug 2558422]: Corrected the type
- of this structure so that extensions that write it (yuk!) will still
- be able to function correctly.
-
-2009-02-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c (SetUnicodeObj): [Bug 2561488]:
- Corrected failure of Tcl_SetUnicodeObj() to panic on a shared object.
- Also factored out common code to reduce duplication.
-
- * generic/tclObj.c (Tcl_GetStringFromObj): Reduce code duplication.
-
-2009-02-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c: Reverted the conversion of [interp] into an
- * tests/interp.test: ensemble. Such conversion is not necessary
- * tests/nre.test: (or even all that helpful) in the NRE-enabling
- of [interp invokehidden], and it has other implications -- including
- significant forkage of the 8.5 and 8.6 implementations -- that are
- better off avoided if there's no gain.
-
- * generic/tclStringObj.c (STRING_NOMEM): [Bug 2494093]: Add missing
- cast of NULL to (char *) that upsets some compilers.
-
- * generic/tclStringObj.c (Tcl_(Attempt)SetObjLength): [Bug 2553906]:
- Added protections against callers asking for negative lengths. It is
- likely when this happens that an integer overflow is to blame.
-
-2009-02-01 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Allow nmake flags such as -a (rebuild all) to pass
- down to the pkgs targets, too.
-
-2009-01-30 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n: [Bug 1216074]: Added another extended example.
-
- * doc/refchan.n: Added an example of how to build a scripted channel.
-
-2009-01-29 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/stringObj.test: [Bug 2006888]: Remove non-ASCII chars from
- non-comment locations in the file, making it work more reliably in
- locales with a non-Latin-1 default encoding.
-
- * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
- the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
-
- * generic/tclOODecls.h (Tcl_OOInitStubs): [Bug 2537839]: Make the
- declaration of this macro work correctly in the non-stub case.
-
-2009-01-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c: Convert the [interp] command into a
- * tests/interp.test: [namespace ensemble]. Work in progress
- * tests/nre.test: to NRE-enable the [interp invokehidden]
- subcommand.
-
-2009-01-29 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529117]: Make this
- function behave more sensibly when presented with a fully-qualified
- name, rather than doing strange stuff.
-
-2009-01-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (TclInvokeObjectCommand): Made this understand
- what to do if it ends up being used on a command with no objProc; that
- shouldn't happen, but...
-
- * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529157]: Made this
- understand NRE command implementations better.
- * generic/tclDictObj.c (DictForCmd): Eliminate unnecessary command
- implementation.
-
-2009-01-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOODefineCmds.c (Tcl_ClassSetConstructor):
- [Bug 2531577]: Ensure that caches of constructor chains are cleared
- when the constructor is changed.
-
-2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclInt.h: [Bug 1028264]: WSACleanup() too early.
- * generic/tclEvent.c: The fix introduces "late exit handlers" for
- * win/tclWinSock.c: similar late process-wide cleanups.
-
-2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * win/tclWinSock.c: [Bug 2446662]: Resync Win behavior on RST with
- that of unix (EOF).
-
-2009-01-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ChanClose): [Bug 2536400]: Only generate error
- messages in the interpreter when the thread is not being closed down.
-
-2009-01-23 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/zlib.n: Added a note that 'zlib push' is reversed by 'chan pop'.
-
-2009-01-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCompile.h: CONSTify TclPrintInstruction (TIP #27)
- * generic/tclCompile.c
- * generic/tclInt.h: CONSTify TclpNativeJoinPath (TIP #27)
- * generic/tclFileName.c
- * generic/tcl.decls: {unix win} is equivalent to {generic}
- * generic/tclInt.decls
- * generic/tclDecls.h: (regenerated)
- * generic/tclIntDecls.h
- * generic/tclGetDate.y: Single internal const decoration.
- * generic/tclDate.c:
-
-2009-01-22 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
- ${SHLIB_VERSION}).
- * unix/configure: Autoconf 2.59
-
-2009-01-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (ReflectClose): [Bug 2458202]:
- * generic/tclIORTrans.c (ReflectClose): Closing a channel may supply
- NULL for the 'interp'. Test for finalization needs to be different,
- and one place has to pull the interp out of the channel instead.
-
-2009-01-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: New fix for [Bug 2494093] replaces the
- flawed attempt committed 2009-01-09.
-
-2009-01-19 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/Makefile.in: [Patch 907924]:Added a CONFIG_INSTALL_DIR
- * unix/tcl.m4: parameter so that distributors can control where
- tclConfig.sh goes. Made the installation of 'ldAix' conditional upon
- actually being on an AIX system. Allowed for downstream packagers to
- customize SHLIB_VERSION on BSD-derived systems. Thanks to Stuart
- Cassoff for his help.
- * unix/configure: Autoconf 2.59
-
-2009-01-19 David Gravereaux <davygrvy@pobox.com>
-
- * win/build.vc.bat: Improved tools detection and error message
- * win/makefile.vc: Reorganized the $(TCLOBJ) file list into seperate
- parts for easier maintenance. Matched all sources built using -GL to
- both $(lib) and $(link) to use -LTCG and avoid a warning message.
- Addressed the over-building nature of the htmlhelp target by moving
- from a pseudo target to a real target dependent on the entire docs/
- directory contents.
- * win/nmakehlp.c: Removed -g option and GrepForDefine() func as it
- isn't being used anymore. The -V option method is much better.
-
-2009-01-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump patchlevel to 8.6b1.1 to distinguish
- * library/init.tcl: CVS snapshots from the 8.6b1 and 8.6b2 releases
- * unix/configure.in: and to deal with the fact that the 8.6b1
- * win/configure.in: version of init.tcl will not [source] in the
- HEAD version of Tcl.
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2009-01-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Reverted most
- of the substance of my 2009-01-12 commit. NULLing the objProc field of
- a Command when deleting it is important so that tests for certain
- classes of commands don't return false positives when applied to
- deleted command tokens. Overall change is now just replacement of a
- false comment with a true one.
-
-2009-01-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when
- using the native CC.
- * unix/configure (autoconf-2.59)
-
-2009-01-13 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_ThrowObjCmd): Move implementation of [throw]
- * library/init.tcl (throw): to C from Tcl.
-
-2009-01-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken): One consequence of
- the NRE rewrite is that there are now situations where a NULL objProc
- field in a Command struct is perfectly normal. Removed an outdated
- comment in Tcl_DeleteCommandFromToken that claimed we use
- cmdPtr->objPtr==NULL as a test of command validity. In fact we use
- cmdPtr->flags&CMD_IS_DELETED to perform that test. Also removed the
- setting to NULL, since any extension following the advice of the old
- comment is going to be broken by NRE anyway, and needs to shift to
- flag-based testing (or stop intruding into such internal matters).
- Part of [Bug 2486550].
-
-2009-01-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c (STRING_SIZE): [Bug 2494093]: Corrected
- failure to limit memory allocation requests to the sizes that can be
- supported by Tcl's memory allocation routines.
-
-2009-01-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (NamespaceEnsembleCmd): [Bug 1558654]: Error out
- when someone gives wrong # of args to [namespace ensemble create].
-
-2009-01-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c (STRING_UALLOC): [Bug 2494093]: Added missing
- parens required to get correct results out of things like
- STRING_UALLOC(num + append).
-
-2009-01-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c, generic/tclIndexObj.c, generic/tclListObj.c,
- * generic/tclObj.c, generic/tclStrToD.c, generic/tclUtil.c,
- * generic/tclVar.c: Generate errorcodes for the error cases which
- approximate to "I can't interpret that string as one of those" and
- "You gave me the wrong number of arguments".
-
-2009-01-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: [Tk Bug 2491235]: Added more examples.
-
- * tests/oo.test (oo-22.1): Adjusted test to be less dependent on the
- specifics of how [info frame] reports general frame information, and
- instead to focus on what methods add to it; that's really what the
- test is about anyway.
-
-2009-01-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/stringObj.test: Revise tests that demand a NULL Tcl_ObjType
- in certain values to construct those values with [testdstring] so
- there's no lack of robustness depending on the shimmer history of
- shared literals.
-
-2009-01-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
- of dictionaries so that literals can't get destroyed.
-
- * tests/expr.test: [Bug 2006879]: Eliminate non-ASCII char.
-
- * generic/tclOOInfo.c (InfoObjectMethodsCmd,InfoClassMethodsCmd):
- [Bug 2489836]: Only delete pointers that were actually allocated!
-
- * generic/tclOO.c (TclNRNewObjectInstance, Tcl_NewObjectInstance):
- [Bug 2481109]: Perform search for existing commands in right context.
-
-2009-01-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (TclNRSourceObjCmd): [Bug 2412068]: Make
- * generic/tclIOUtil.c (TclNREvalFile): implementation of the
- [source] command be NRE enabled so that [yield] inside a script
- sourced in a coroutine can work.
-
-2009-01-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c: Tidy up spacing and code style.
-
-2009-01-03 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (tcl::clock::add): Fixed error message formatting
- in the case where [clock add] is presented with a bad switch.
- * tests/clock.test (clock-65.1) Added a test case for the above
- problem [Bug 2481670].
-
-2009-01-02 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 878333]: Force the use of the
- compatibility version of mkstemp() on IRIX.
- * unix/configure.in, unix/Makefile.in (mkstemp.o):
- * compat/mkstemp.c (new file): [Bug 741967]: Added a compatibility
- implementation of the mkstemp() function, which is apparently needed
- on some platforms.
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2008 IN "ChangeLog.2008" ***
- *** CHANGELOG ENTRIES FOR 2006-2007 IN "ChangeLog.2007" ***
- *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" ***
- *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.1999 b/tcl8.6/ChangeLog.1999
deleted file mode 100644
index 3bf4e9a..0000000
--- a/tcl8.6/ChangeLog.1999
+++ /dev/null
@@ -1,2634 +0,0 @@
-1999-12-22 Jeff Hobbs <hobbs@scriptics.com>
-
- * changes: updated changes file
- * tools/tclSplash.bmp: updated to show 8.3
-
-1999-12-21 Jeff Hobbs <hobbs@scriptics.com>
-
- * README:
- * generic/tcl.h:
- * mac/README:
- * unix/configure.in:
- * tools/tcl.wse.in:
- * win/README.binary:
- * win/configure.in: updated to patch level 8.3b1
-
- * unix/Makefile.in: added -srcdir=... for 'make html'
-
- * doc/Hash.3: fixed reference to ckfree [Bug 3912]
- * doc/RegExp.3: fixed calling params for Tcl_RegExecFromObj
- * doc/open.n: fixed minor formatting errors
- * doc/string.n: fixed minor formatting errors
-
- * doc/lsort.n: added -unique docs
- * tests/cmdIL.test:
- * generic/tclCmdIL.c: added -unique option to lsort
-
- * generic/tclThreadTest.c: changed thread ids to longs [Bug 3902]
-
- * mac/tclMacOSA.c: fixed applescript for I18N [Bug 3644]
-
- * win/mkd.bat:
- * win/rmd.bat: removed necessity of tag.txt [Bug 3874]
-
- * win/tclWinThrd.c: changed CreateThread to _beginthreadex and
- ExitThread to _endthreadex
-
-1999-12-12 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/glob.n:
- * tests/fileName.test:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclEncoding.c:
- * generic/tclFileName.c:
- * mac/tclMacFile.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: enhanced the glob command with the new options
- -types -path -directory and -join. Deprecated TclpMatchFiles with
- TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added
- GlobTypeData structure. [Bug 2363]
-
-1999-12-10 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/var.test:
- * generic/tclCompile.c: fixed problem where setting to {} array would
- intermittently not work. [Bug 3339] (Fontaine)
-
- * generic/tclCmdMZ.c:
- * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to recognize
- boolean objects. [Bug 2815] (Spjuth)
-
- * tests/info.test:
- * tests/parseOld.test:
- * generic/tclCmdAH.c:
- * generic/tclProc.c: changed Tcl_UplevelObjCmd (uplevel) and
- Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg case as
- well, to take advantage of potential pure list input optimization.
- This means that it won't get byte compiled though, which should be
- acceptable.
- * generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in the
- TCL_EVAL_DIRECT case for efficiency.
- * generic/tclUtil.c: made Tcl_ConcatObj pure list object aware, and
- return a list object in that case [Bug 2098 2257]
-
- * generic/tclMain.c: changed Tcl_Main to not constantly reuse the
- commandPtr object (interactive case) as it could be shared. (Fellows)
-
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/tclUnixPipe.c: removed checking for compatible vfork function
- and use of the vfork function. Modern VM systems rarely suffer any
- performance degradation when fork is used, and it solves multiple
- problems with vfork. Users that still want vfork can add -Dfork=vfork
- to the compile flags. [Bug 942 2228 1312]
-
-1999-12-09 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/aclocal.m4: made it just include tcl.m4
-
- * doc/exec.n:
- * doc/open.n:
- * win/tclWin32Dll.c:
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/tclWinInit.c:
- * win/tclWinPipe.c:
- * win/tclWinSock.c: removed all code that supported Win32s. It was no
- longer officially supported, and likely didn't work anyway.
- * win/makefile.vc: removed 16 bit stuff, cleaned up.
-
- * win/tcl16.rc:
- * win/tclWin16.c:
- * win/winDumpExts.c: these files have been removed from the source
- tree (no longer necessary to build)
-
-1999-12-07 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/io.test: removed 'knownBug' tests that were for unsupported0,
- which is now fcopy (that already has tests)
-
- * mac/tclMacPort.h: added utime.h include
-
- * generic/tclDate.c:
- * unix/Makefile.in: fixed make gendate to swap const with CONST so it
- uses the Tcl defined CONST type [Bug 3521]
-
- * generic/tclIO.c: removed panic that could occur in FlushChannel when
- a "blocking" channel would receive EAGAIN, instead treating it the
- same as non-blocking. [Bug 3773]
-
- * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step beyond
- the end of the counted string. [Bug 3336]
-
-1999-12-03 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/load.n: added note about NT's buggy handling of './' with
- LoadLibrary
-
- * library/http2.1/http.tcl: fixed error handling in http::Event. [Bug
- 3752]
-
- * tests/env.test: removed knownBug limitation from working test
- * tests/all.tcl: ensured that ::tcltest::testsDirectory would be set
- to an absolute path
-
- * tests/expr-old.test:
- * tests/parseExpr.test:
- * tests/string.test:
- * generic/tclGet.c:
- * generic/tclInt.h:
- * generic/tclObj.c:
- * generic/tclParseExpr.c:
- * generic/tclUtil.c:
- * generic/tclExecute.c: added TclCheckBadOctal routine to enhance
- error message checking for when users use invalid octal numbers (like
- 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType
- to simplify type handling. [Bug 2467]
-
- * tests/expr.test:
- * generic/tclCompile.c: fixed 'bad code length' error for 'expr +
- {[incr]}' case, with new test case [Bug 3736] and seg fault on 'expr
- + {[error]}' (different cause) that was caused by a correct
- optimization that didn't correctly track how it was modifying the
- source string in the opt. The optimization was removed, which means
- that:
- expr 1 + {[string length abc]}
- will be not be compiled inline as before, but this should be written:
- expr {1 + [string length abc]}
- which will be compiled inline for speed. This prevents:
- expr 1 + {[mindless error]}
- from seg faulting, and only affects optimizations for degenerate cases
- [Bug 3737]
-
-1999-12-01 Scott Redman <redman@scriptics.com>
-
- * generic/tcl.decls:
- * generic/tclMain.c:
- * unix/tclAppInit.c:
- * win/tclAppInit.c: Added two new internal functions,
- TclSetStartupScriptFileName() and TclGetStartupScriptFileName() and
- added hooks into the main() code for supporting TclPro and other "big"
- shells more easily without requiring a copy of the main() code.
-
- * generic/tclEncoding.c:
- * generic/tclEvent.c: Moved encoding-related startup code from
- tclEvent.c into the more appropriate tclEncoding.c.
-
-1999-11-30 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIO.c: fix from Kupries for Tcl_UnstackChannel that
- correctly handles resetting translation and encoding.
-
- * generic/tclLoad.c: #def'd out the unloading of DLLs at finalize time
- for Unix in TclFinalizeLoad. [Bug 2560 3373] Should be parametrized
- to allow for user to specify unload or not.
-
- * win/tclWinTime.c: fixed handling of %Z on NT for time zones that
- don't have DST.
-
-1999-11-29 Jeff Hobbs <hobbs@scriptics.com>
-
- * library/dde1.1/pkgIndex.tcl:
- * library/reg1.0/pkgIndex.tcl: added supported for debugged versions
- of the libraries
-
- * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly set
- isNonBlocking flag on pipe. [Bug 1356 710]
- removed spurious fcntl call from PipeBlockModeProc
-
- * tests/scan.test:
- * generic/tclScan.c: fixed scan where %[..] didn't match anything and
- added test case. [Bug 3700]
-
-1999-11-24 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/open.n:
- * win/tclWinSerial.c: adopted patch from Schroedter to handle
- fconfigure $sock -lasterror on Windows. [RFE 3368]
-
- * generic/tclCmdIL.c: made SORTMODE_INTEGER work with Longs [Bug 3652]
-
-1999-11-23 Scott Stanton <stanton@scriptics.com>
-
- * library/tcltest1.0/tcltest.tcl: Fixed bug where tcltest output went
- to stdout instead of the specified output file in some cases.
-
-1999-11-19 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclProc.c: backed out change from 1999-11-18 as it could
- affect return string from upvar as well.
-
- * tools/tcl.wse.in: added tcltest1.0 library to distribution list
-
- * doc/http.n:
- * library/http2.1/http.tcl:
- * library/http2.1/pkgIndex.tcl: updated http package to 2.2
-
-1999-11-18 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/tcl.m4: added defined for _THREAD_SAFE in --enable-threads
- case; added check for pthread_mutex_init in libc; in AIX case, with
- --enable-threads ${CC}_r is used; fixed flags when using gcc on SCO
-
- * generic/tclProc.c: corrected error reporting for default case at the
- global level for uplevel command.
-
- * generic/tclIOSock.c: changed int to size_t type for len in
- TclSockMinimumBuffers.
-
- * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL
- input. [Bug 3400]
-
- * generic/tclStringObj.c: fixed support for passing in negative length
- to Tcl_SetUnicodeObj, et al handling routines. [Bug 3380]
-
- * doc/scan.n:
- * tests/scan.test:
- * generic/tclScan.c: finished support for inline scan by supporting
- XPG identifiers.
-
- * doc/http.n:
- * library/http2.1/http.tcl: added register and unregister commands to
- http:: package (better support for tls/SSL), as well as -type argument
- to http::geturl. [RFE 2617]
-
- * generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx
- that could cause seg fault. (mjansen@wendt.de)
-
- * generic/tclEvent.c: fixed possible lack of MutexUnlock in
- Tcl_DeleteExitHandler. [Bug 3545]
-
- * unix/tcl.m4: Added better pthreads library check and inclusion of
- _THREAD_SAFE in --enable-threads case
- Added support for gcc config on SCO
-
- * doc/glob.n: added note about ..../ glob behavior on Win9*
- * doc/tcltest.n: fixed minor example errors. [Bug 3551]
-
-1999-11-17 Brent Welch <welch@scriptics.com>
-
- * library/http2.1/http.tcl: Correctly fixed the -timeout problem
- mentioned in the 10-29 change. Also added error handling for failed
- writes on the socket during the protocol.
-
-1999-11-09 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/open.n: corrected docs for 'a' open mode.
-
- * generic/tclIOUtil.c: changed Tcl_Alloc to ckalloc
-
- * generic/tclInt.h:
- * generic/tclObj.c: rolled back changes from 1999-10-29
- Purify noted new leaks with that code
-
- * generic/tclParse.c: added code in Tcl_ParseBraces to test for
- possible unbalanced open brace in a comment
-
- * library/init.tcl: removed the installed binary directory from the
- auto_path variable
-
- * tools/tcl.wse.in: updated to 8.3a1, fixed install of twind.tcl and
- koi8-r.enc files
-
- * unix/tcl.m4: added recognition of pthreads library for AIX
-
-1999-10-29 Brent Welch <welch@scriptics.com>
-
- * generic/tclInt.h: Modified the TclNewObj and TclDecrRefCount in two
- ways. First, in the case of TCL_THREADS, we do not use the special
- Tcl_Obj allocator because that is a source of lock contention. Second,
- general code cleanup to eliminate duplicated code. In particular,
- TclDecrRefCount now uses TclFreeObj instead of duplicating that code,
- so it is now identical to Tcl_DecrRefCount.
-
- * generic/tclObj.c: Changed Tcl_NewObj so it uses the TclNewObj macro
- instead of duplicating the code. Adjusted TclFreeObj so it understands
- the TCL_THREADS case described above.
-
- * library/http2.1/http.tcl: Fixed a bug in the handling of the
- state(status) variable when the -timeout flag is specified. Previously
- it was possible to leave the status undefined instead of empty, which
- caused errors in http::status
-
-1999-10-28 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/aclocal.m4: made it just include tcl.m4
-
- * library/tcltest1.0/tcltest.tcl: updated makeFile to return full
- pathname of file created
-
- * generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA so it only
- iterates once over the va_list (avoiding a memcpy of it, which is not
- portable).
-
- * generic/tclEnv.c: fixed possible ABR error in environ array
-
- * tests/scan.test:
- * generic/tclScan.c: added support for use of inline scan, XPG3
- currently not included
-
- * tests/incr.test:
- * tests/set.test:
- * generic/tclCompCmds.c: fixed improper bytecode handling of 'eval
- {set array($unknownvar) 5}' (also for incr). [Bug 3184]
-
- * win/tclWinTest.c: added testvolumetype command, as atime is
- completely ignored for Windows FAT file systems
- * win/tclWinPort.h: added sys/utime.h to includes
- * unix/tclUnixPort.h: added utime.h to includes
- * doc/file.n:
- * tests/cmdAH.test:
- * generic/tclCmdAH.c: added time arguments to atime and mtime file
- command methods (support 'touch' functionality)
-
-1999-10-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/tclUnixNotfy.c: fixed event/io threading problems by making
- triggerPipe non-blocking. [Bug 2792]
-
- * library/tcltest1.0/tcltest.tcl:
- * generic/tclThreadTest.c: fixed mem leaks in threads
-
- * generic/tclResult.c: fixed Tcl_AppendResultVA so it only iterates
- once over the va_list (avoiding a memcpy of it, which is not
- portable).
-
- * generic/regc_color.c: fixed mem leak and assertion, from HS
-
- * generic/tclCompile.c: removed savedChar trick that appeared to be
- causing a segv when the literal table was released
-
- * tests/string.test:
- * generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj when
- indexing into one (test case string-5.16). [Bug 2871]
-
- * library/http2.1/http.tcl: protected gets with catch. [Bug 2665]
-
-1999-10-19 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test:
- * doc/tcltest.n:
- * library/tcltest1.0/tcltest.tcl: Removed the extra return at the end
- of the tcltest.tcl file, added version information about tcl.
-
- Applied patches sent in by Andreas Kupries to add helper procs for
- debug output, add 3 new flags (-testsdir, -load, -loadfile), and
- internally refactors common code for dealing with paths into separate
- procedures. [Bug 2838, 2842]
-
- Merged code from core-8-2-1 branch that changes the checks for the
- value of tcl_interactive to also incorporate a check for the existence
- of the variable.
-
- * tests/autoMkindex.test:
- * tests/pkgMkIndex.test: Explicitly cd to ::tcltest::testsDirectory at
- the beginning of the test run
-
- * tests/basic.test: Use version information defined in tcltest instead
- of hardcoded version number
-
- * tests/socket.test: package require tcltest before attempting to use
- variable defined in tcltest namespace
-
- * tests/unixInit.test:
- * tests/unixNotfy.test: Added explicit exits needed to avoid problems
- when the tests area run in wish.
-
-1999-10-12 Jim Ingham <jingham@scriptics.com>
-
- * mac/tclMacLoad.c: Stupid bug - we converted the filename to
- external, but used the unconverted version.
- * mac/tclMacFCmd.c: Fix a merge error in the bug fix for [Bug 2869]
-
-1999-10-12 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/regc_color.c:
- * generic/regc_cvec.c:
- * generic/regc_lex.c:
- * generic/regc_locale.c:
- * generic/regcomp.c:
- * generic/regcustom.h:
- * generic/regerrs.h:
- * generic/regex.h:
- * generic/regexec.c:
- * generic/regguts.h:
- * generic/tclRegexp.c:
- * generic/tclTest.c:
- * tests/reg.test: updated to Henry Spencer's new regexp engine
- (mid-Sept 99). Should greatly reduce stack space reqs.
-
- * library/tcltest1.0/pkgIndex.tcl: fixed procs in pkgIndex.tcl file
-
- * generic/tclEnv.c: fixed mem leak with putenv and DStrings
- * doc/Encoding.3: corrected docs
- * tests/basic.test: updated test cases for 8.3
- * tests/encoding.test: fixed test case that change system encoding to
- a double-byte one (this causes a bogus mem read error for purify)
- * unix/Makefile.in: purify has to use -best-effort to instrument
- * unix/tclAppInit.c: identified potential mem leak when compiling
- tcltest (not critical)
- * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when doing
- alloc between vfork and execvp.
- * unix/tclUnixTest.c: fixed mem leak in findexecutable test command
-
-1999-10-05 Jeff Hobbs <hobbs@scriptics.com>
-
- * {win,mac,unix,tools,}/README:
- * win/README.binary:
- * win/makefile.vc:
- * {win,unix}/configure.in:
- * generic/tcl.h:
- * library/init.tcl: updated to 8.3a1 from 8.2.0.
-
- * library/http2.1/http.tcl: fixed possible use of global c var.
-
- * win/tclWinReg.c: fixed registry command to properly 'get'
- HKEY_PERFORMANCE_DATA root key data. Needs more work.
-
- * generic/tclNamesp.c:
- * generic/tclVar.c:
- * generic/tclCmdIL.c: fixed comment typos
-
- * mac/tclMacFCmd.c: fixed filename stuff to support UTF-8. [Bug 2869]
-
- * win/tclWinSerial.c: changed SerialSetOptionProc to return TCL_OK by
- default. (patch from Rolf Schroedter)
-
-1999-09-21 Jennifer Hom <jenn@scriptics.com>
-
- * library/tcltest1.0/tcltest.tcl: Applied patches sent in by Andreas
- Kupries to fix typos in comments and ::tcltest::grep, fix hook
- redefinition problems, and change "string compare" to "string equal".
- [Bug 2836, 2837, 2839, 2840]
-
-1999-09-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/env.test:
- * unix/Makefile.in: added support for AIX LIBPATH env var. [Bug 2793]
- removed second definition of INCLUDE_INSTALL_DIR (the one that
- referenced @includedir@) [Bug 2805]
- * unix/dltest/Makefile.in: added -lc to LIBS. [Bug 2794]
-
-1999-09-16 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/timer.test: changed after delay in timer test 6.29 from 1 to
- 10. [Bug 2796]
-
- * tests/pkg.test:
- * generic/tclPkg.c: fixed package version check to disallow 1.2..3
- [Bug 2539]
-
- * unix/Makefile.in: fixed gendate target - this never worked since RCS
- was intro'd.
- * generic/tclGetDate.y: updated to reflect previous changes to
- tclDate.c (leap year calc) and added CEST and UCT time zone
- recognition. Fixed 4 missing UCHAR() casts. [Bug 2717, 954, 1245,
- 1249]
-
- * generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really dump to
- stderr and close it [Bug 725] and changed Tcl_Ckrealloc and
- Tcl_Ckfree to not bomb when NULL was passed in [Bug 1719] and changed
- Tcl_Alloc, et al to not panic when a alloc request for zero came
- through and NULL was returned (valid on AIX, Tru64) [Bug 2795, etc]
-
- * tests/clock.test:
- * doc/clock.n:
- * generic/tclClock.c: added -milliseconds switch to clock clicks to
- guarantee that the return value of clicks is in the millisecs
- granularity. [Bug 2682, 1332]
-
-1999-09-15 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIOCmd.c: fixed potential core dump in conjunction with
- stacked channels with result obj manipulation in Tcl_ReadChars. [Bug
- 2623]
-
- * tests/format.test:
- * generic/tclCmdAH.c: fixed translation of %0#s in format. [Bug 2605]
-
- * doc/msgcat.n: fixed \\ bug in example. [Bug 2548]
-
- * unix/tcl.m4:
- * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug 2070]
- and fix for IRIX SHLIB_LB_LIBS. [Bug 2610]
-
- * doc/array.n:
- * tests/var.test:
- * tests/set.test:
- * generic/tclVar.c: added an array unset operation, with docs and
- tests. Variation of [Bug 1775]. Added fix in TclArraySet to check
- when trying to set in a non-existent namespace. [Bug 2613]
-
-1999-09-14 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/linsert.test:
- * doc/linsert.n:
- * generic/tclCmdIL.c: fixed end-int interpretation of linsert to
- correctly calculate value for end, added test and docs. [Bug 2693]
-
- * doc/regexp.n:
- * doc/regsub.n:
- * tests/regexp.test:
- * generic/tclCmdMZ.c: add -start switch to regexp and regsub with docs
- and tests
-
- * doc/switch.n: added proper use of comments to example.
- * generic/tclCmdMZ.c: changed switch to complain when an error occurs
- that seems to be due to a misplaced comment.
-
- * generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions in
- regsub. [Bug 2723]
-
- * generic/tclCmdMZ.c: changed [string equal] to return an Int type
- object (was a Boolean)
-
-1999-09-01 Jennifer Hom <jenn@scriptics.com>
-
- * library/tcltest1.0/tcltest.tcl: Process command-line arguments only
- ::tcltest doesn't have a child namespace (requires that command-line
- args are processed in that namespace)
-
-1999-09-01 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy.
- [Bug 2625]
- * generic/tclProc.c: moved static buf to better location and changed
- static msg that would overflow in ProcessProcResultCode [Bug 2483]
- and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of
- static buffers.
- * tests/stringObj.test: added test 9.11
- * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly
- handle the 1-byte dest and mixed src case where both had had Unicode
- string len checks made on them. [Bug 2678]
- * unix/aclocal.m4:
- * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the AIX-*
- case and readjusted the range
-
-1999-08-31 Jennifer Hom <jenn@scriptics.com>
-
- * library/tcltest1.0/tcltest.tcl:
- * doc/tcltest.n:
- * tests/README: Modified testConstraints variable so that it isn't
- unset every time ::tcltest::initConstraints is called and cleaned up
- documentation in the README file and the man page.
-
-1999-08-27 Jennifer Hom <jenn@scriptics.com>
-
- * tests/env.test:
- * tests/exec.test:
- * tests/io.test:
- * tests/event.test:
- * tests/tcltest.test: Added 'exit' calls to scripts that the tests
- themselves write, and removed accidental checkin of knownBugThreaded
- constraints for Solaris and Linux.
-
- * library/tcltest1.0/tcltest.tcl: Modified tcltest so that variables
- are only initialized to their default values if they did not
- previously exist.
-
-1999-08-26 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl: Added a -args flag that sets a
- variable named ::tcltest::parameters based on whatever's being sent in
- as the argument to the -args flag.
-
-1999-08-23 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test: Added additional tests for -tmpdir, marked all
- tests that use exec as unixOrPc.
-
- * tests/encoding.test:
- * tests/interp.test:
- * tests/macFCmd.test:
- * tests/parseOld.test:
- * tests/regexp.test: Applied patches from Jim Ingham to add encoding
- to a Mac only interp test, change an error message in macFCmd.tet, put
- a comment in parseOld.test, fix tests using the testencoding path
- command, and put unixOrPc constraints on tests that use exec.
-
-1999-08-21 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9] [Bug 1909]
-
-1999-08-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclPosixStr.c: fixed typo. [Bug 2592]
-
- * doc/*: fixed various nroff bugs in man pages. [Bug 2503 2588]
-
-1999-08-19 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/README.binary: fixed version info and some typos. [Bug 2561]
-
- * doc/interp.n: updated list of commands available in a safe
- interpreter. [Bug 2526]
-
- * generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide
- headers (pleases HP cc)
-
-1999-08-18 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/Eval.3: fixed doc on input args. [Bug 2114]
-
- * doc/OpenFileChnl.3:
- * doc/file.n:
- * tests/cmdAH.test:
- * tclIO.c:
- * tclCmdAH.c: added "file channels ?pattern?" tcl command, with
- associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public C APIs
- (added to tcl.decls as well), with docs and tests.
-
- * tests/expr.test:
- * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types that
- cause differed compilation for exprs, to correct the expr
- double-evaluation problem for vars. Added test cases. Related to [Bug
- 732]
-
- * unix/Makefile.in: changed the dependency structure so that install-*
- is dependent on * (ie - install-binaries is dependent on binaries).
-
- * library/auto.tcl:
- * library/init.tcl:
- * library/ldAout.tcl:
- * library/package.tcl:
- * library/safe.tcl:
- * library/word.tcl:
- * library/http2.1/http.tcl:
- * library/msgcat1.0/msgcat.tcl: updated libraries to better Tcl style
- guide (no more string comparisons with == or !=, spacing changes).
-
-1999-08-05 Jim Ingham <jingham@cygnus.com>
-
- * mac/tclMacProjects.sea.hqx: Rearrange the projects so that the build
- directory is separate from the sources. Much more convenient!
-
-1999-08-13 Scott Redman <redman@scriptics.com>
-
- * /: 8.2.0 tagged for final release
-
-1999-08-12 Scott Stanton <stanton@scriptics.com>
-
- * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make it easier
- to turn on compiler tracing.
-
- * tests/parse.test:
- * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset was
- not being updated in cases where the evaluation returned a non TCL_OK
- error code. [Bug 2535]
-
-1999-08-12 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSerial.c: Applied patch from Petteri Kettunen to remove
- compiler warning.
-
-1999-08-10 Scott Redman <redman@scriptics.com>
-
- * generic/tclAlloc.c:
- * generic/tclCmdIL.c:
- * generic/tclIO.c:
- * generic/tclThread.c:
- * win/tclWinThrd.c:
- * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on
- Windows (and he fixed the bug in the Unix thread implementation).
-
-1999-08-09 Brent Welch <welch@scriptics.com>
-
- * generic/tcl.decls:
- * generic/tclAlloc.c:
- * generic/tclCkalloc.c:
- * generic/tclCmdIL.c:
- * generic/tclDecls.h:
- * generic/tclIO.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclVar.c:
- * mac/tclMacThrd.c:
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c: Added use of Tcl_GetAllocMutex to tclAlloc.c and
- tclCkalloc.c so they can be linked against alternate thread packages.
- Added Tcl_GetChannelNames to tclIO.c. Added TclVarTraceExists hook so
- "info exists" triggers read traces exactly like it did in Tcl 7.6.
- Stubs table changes to reflect new internal and external APIs.
-
-1999-08-09 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/string.test: added largest_int proc to adapt for >32 bit
- machines and int overflow testing.
- * tests/tcltest.test: fixed minor error in 8.2 result (from dgp)
-
- * doc/Object.3: clarified Tcl_DecrRefCount docs. [Bug 1952]
- * doc/array.n: clarified array pattern docs. [Bug 1330]
- * doc/clock.n: fixed clock docs. [Bug 693]
- * doc/lindex.n: clarified to account for new end-int behavior.
- * doc/string.n: fixed formatting errors. [Bug 2188 2189]
- * doc/tclvars.n: fixed doc error. [Bug 2042]
- * library/init.tcl: fixed path handling in auto_execok (it could miss
- including the normal path on some Windows machines). [Bug 1276]
-
-1999-08-05 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/tclvars.n: Made it clear that tcl_pkgPath was not set for
- Windows (already mentioned in init.tcl). [Bug 2455]
- * generic/tclLiteral.c: fixed reference to bytes that might not be
- null terminated (using objPtr->bytes, which is). [Bug 2496]
- * library/http2.1/http.tcl: Made use of "i" in init section use local
- var and start at 0 (was 1). [Bug 2502]
-
-1999-08-04 Scott Stanton <stanton@scriptics.com>
-
- * tests/reg.test: Added test for REG_EXPECT bug fixed by Henry's
- patch.
-
- * generic/regc_nfa.c:
- * generic/regcomp.c:
- * generic/rege_dfa.c:
- * generic/regexec.c:
- * generic/regguts.h: Applied patches supplied by Henry Spencer to
- greatly enhance the performance of certain classes of regular
- expressions. [Bug 2440, 2447]
-
-1999-08-03 Scott Redman <redman@scriptics.com>
-
- * win/tclWinInt.h: Remove function declarations in header that was
- moved to tclInt.decls file in previous changes.
-
-1999-08-02 Scott Redman <redman@scriptics.com>
-
- * unix/configure.in:
- * win/configure.in: Change beta level to b2.
-
- * generic/tcl.h:
- * generic/tcl.decls:
- * generic/tclDecls.h:
- * generic/tclInt.h:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclRegexp.h:
- * generic/tclStubInit.c: Move some exported public and internal
- functions to the stub tables. Removed functions that are in the stub
- tables (from this and previous changes) from the original header
- files.
-
-1999-08-01 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSock.c: Added comment block to SocketThread() function.
- Added code to avoid calling TerminateThread(), but instead to send a
- message to the socket event window to tell it to terminate its thread.
-
-1999-07-30 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl: Exit with non-zero status if there
- were problems with the way the test suite was started (e.g. wrong #
- arguments).
-
-1999-07-30 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclInt.decls: added declaractions necessary for the Tcl test
- code to work wth stubs. [Bug 2445]
-
-1999-07-30 Scott Redman <redman@scriptics.com>
-
- * win/tclWinPipe.c:
- * win/Makefile.in: Fixing launching of 16-bit apps on Win9x from wish.
- The command line was primed with tclpip82.dll, but it was ignored.
- Fixed that, then fixed the gmake makefile to build tclpip82.dll as an
- executable.
-
- * win/tclWinSock.c: Applied small patch to get thread-specific data
- after initializing the socket driver.
-
- * unix/tclUnixThrd.c: Applied patch to fix threads on Irix 6.5. Patch
- from James Dennett. [Bug 2450]
-
- * tests/info.test: Enable test for tclParse.c change (info complete).
-
-1999-07-30 Jeff Hobbs <hobbs@scriptics.com>
-
- * tclIO.c: added fix for Kupries' trf patch. [Bug 2386]
-
- * tclParse.c: fixed bug in info complete regarding nested square
- brackets. [Bug 2382, 2466]
-
-1999-07-29 Scott Redman <redman@scriptics.com>
-
- * win/tclWinChan.c: Allow tcl to open CON and NUL, even for std
- channels. Checking for bad/unusable std channels was moved to Tk since
- its only purpose was to check whether to use the Tk Console Window for
- the std channels. [Bug 2393 2392 2209 2458]
-
- * unix/mkLinks.tcl: Applied patch to avoid linking pack.n to
- pack-old.n. Patch from Don Porter. [Bug 2469]
-
- * doc/Encoding.n: Applied patch to fix typo in .SH NAME line. Patch
- from Don Porter. [Bug 2451]
-
- * win/tclWinSock.c: Free Win32 Event handles when destroying the
- socket helper thread.
-
-1999-07-28 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl: Fixed the condition under which
- ::tcltest::PrintError had an infinite loop problem and added a test
- case for it. Added an optional argument to ::tcltest::getMatchingFiles
- telling it where to search for test files.
-
-1999-07-27 Scott Redman <redman@scriptics.com>
-
- * tools/tclSplash.bmp: Updated Windows installer bitmap to ready
- Tcl/Tk Version 8.2.
-
-1999-07-26 Scott Redman <redman@scriptics.com>
-
- * tests/tcltest.test: Need to close the new core file, there seems to
- be a hang in threaded WinNT if the file isn't closed. Open issue, need
- to fix that hang.
-
- * tests/httpold.test: Add time delay in response from Http server so
- that test cases can properly detect timeout conditions with threads
- enabled on multi-CPU WinNT.
-
- * tests/winFCmd.test: Test case winFcmd-1.33 was looking for
- c:\windows, which may not exist. Instead, create a new directory on
- c:\ and use it for the test.
-
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSock.c: Fix terminating helper threads by holding any
- mutexes from the primary thread while waiting for the helper thread to
- terminate. Without these changes, the test suite hangs on WinNT with 2
- CPUs and threads enabled. Open issue, seems to be a sporadic hang on
- dual CPU systems still (very rare).
-
-1999-07-26 Jennifer Hom <jenn@scriptics.com>
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl:
- * doc/tcltest.n: Cleaned up code in ::tcltest::PrintError, revised
- documentation, and added tests for the tcltest package.
-
-1999-07-23 Scott Redman <redman@scriptics.com>
-
- * tests/info.test:
- * generic/tclParse.c: Removed patch for info command, breaks test
- cases on Unix. Patch was bad and needs to be redone properly. [Bug
- 2382]
-
-1999-07-22 Scott Redman <redman@scriptics.com>
-
- * Changed version to 8.2b2.
-
- * win/tclWinSock.c: Fixed hang with threads enabled, fixed semaphores
- with threads disabled.
-
- * win/safe.test: Fixed safe-6.3 with threads enabled.
-
- * win/Makefile.in: Fixed calling of tcltest to fix safe.test failures
- due to path TCL_LIBRARY path.
-
- * win/tclWinPort.h: Block out include of sys/*.h in order to build
- extensions with MetroWerks compiler for Win32. [Bug 2385]
-
- * generic/tclCmdMZ.c:
- * generic/tclIO.c: Fix ANSI-style prototypes based on patch from
- Ulrich Ring. [Bug 2391]
-
- * unix/Makefile.in: Need to make install-sh executable before calling
- (with chmod +x). [Bug 2413]
-
- * tests/var.test:
- * generic/tclVar.c: Fixed bug that caused a seg. fault when using
- "array set a(b) {}", which is a bad array name anyway. Now the "array
- set" command will return an error in this case. Added test case and
- fixed existing test. [Bug 2427]
-
-1999-07-21 Scott Redman <redman@scriptics.com>
-
- * tests/info.test:
- * generic/tclParse.c: Applied patch to fix "info complete" for the
- string {[a [b]}. Patch from Peter Spjuth. [Bug 2382]
-
- * doc/Utf.3:
- * generic/tcl.decls:
- * generic/tclDecls.h:
- * generic/tclUtf.c: Changed function declarations in
- non-platform-specific public APIs to use "unsigned long" instead of
- "size_t", which may not be defined on certain compilers (rather than
- include sys/types.h, which may not exist).
-
- * unix/Makefile.in: Added the Windows configure script to the
- distribution file list, already shipping configure.in and the .m4
- files, but needed the configure script itself.
-
- * win/makefile.vc: Changed version number of DDE package in VC++
- makefile to use 1.1 instead of 1.0.
-
- * doc/open.n: Added documentation of \\.\comX notation for opening
- serial ports on Windows (alternative to comX:).
-
- * tests/ioCmd.test:
- * doc/open.n:
- * win/tclWinSerial.c: Applied patch from Rolf Schroedter to add
- -pollinterval option to fconfigure to modify the maxblocktime used in
- the fileevent polling. Added documentation and fixed the test case as
- well.
-
- * win/tclWinSock.c: Modified 8.1.0 version of the Win32 socket driver
- to move the handling of the socket event window in a separate thread.
- It also turned out that Win95 & Win98 were, in some cases, getting
- multiple FD_ACCEPTs but only handling one. Added a count for the
- FD_ACCEPT to take care of this. Tested on NT4 SP3, NT4 SP4, Win95, and
- Win98. [Bug 2178 2256 2259 2329 2323 2355]
-
-1999-07-21 Jerry Peek <jpeek@scriptics.com>
-
- * README: Small tweaks to clean up typos and wording.
-
-1999-07-20 Melissa Hirschl <hershey@matisse.scriptics.com>
-
- * generic/tclInitScript.h:
- * unix/tclUnixInit.c: merged code with 8.0.5. We now use an
- intermediate global tcl var "tclDefaultLibrary" to keep the
- "tcl_library" var from being set by the default value in the Makefile.
- Also fixed a bug in which caused the value of TCL_LIBRARY env var to
- be ignored.
- * unix/tclWinInit.c: just updated some comments.
-
-1999-07-19 Melissa Hirschl <hershey@matisse.scriptics.com>
-
- * library/http2.1/http.tcl: updated -useragent text to say version
- 2.1.
-
-1999-07-16 Scott Redman <redman@scriptics.com>
-
- * generic/tcl.decls:
- * generic/tclDecls.h:
- * generic/tclStubInit.c: Add Tcl_SetNotifier to stub table. [Bug 2364]
-
- * unix/aclocal.m4:
- * unix/tcl.m4: Add check for Alpha/Linux to correct the IEEE floating
- flag to the compiler, should be -mieee. Patch from Don Porter.
-
- * tools/tcl.hpj.in: Change version number of .cnt file referenced in
- .HPJ file.
-
-1999-07-15 Scott Redman <redman@scriptics.com>
-
- * tools/tcl.wse.in: Fixed naming of target files for Windows.
-
-1999-07-14 Jerry Peek <jpeek@scriptics.com>
-
- * doc/re_syntax.n: Deleted sentence as suggested by Scott S.
-
-1999-07-12 Jerry Peek <jpeek@scriptics.com>
-
- * doc/re_syntax.n: Removed two notes to myself (oops), cleaned up
- wording, fixed changebars, made two examples easier to read.
-
-1999-07-11 Scott Redman <redman@scriptics.com>
-
- * win/makefile.vc: Since the makefile.vc should continue to work while
- we're working out bugs/issues in the new TEA-style
- autoconf/configure/gmake build mechanism for Windows, the version
- numbers of the Tcl libraries need to remain in sync. Modified the
- version numbers in the makefile to reflect the change to 8.2b1.
-
-1999-07-09 Scott Redman <redman@scriptics.com>
-
- * win/configure.in: Eval DLLSUFFIX, LIBSUFFIX, and EXESUFFIX in the
- configure script so that substitutions get expanded before being
- placed in the Makefile. The "d" portion for debug libraries and DLLs
- was not being set properly.
-
-1999-07-08 Scott Stanton <stanton@scriptics.com>
-
- * tests/string.test:
- * generic/tclCmdMZ.c: Fixed bug in string range bounds checking code.
-
-1999-07-08 Jennifer Hom <jenn@scriptics.com>
-
- * doc/tcltest.n:
- * library/tcltest1.0/tcltest.tcl: Removed -asidefromdir and
- -relateddir flags, removed unused ::tcltest::dotests proc, cleaned up
- implementation of core file checking, and fixed the code that checks
- for 1-letter flag abbreviations.
-
-1999-07-08 Scott Stanton <stanton@scriptics.com>
-
- * win/Makefile.in: Added tcltest target so runtest works properly.
- Added missing names to the clean/distclean targets.
-
- * tests/reg.test:
- * generic/rege_dfa.c: Applied fix supplied by Henry Spencer for bug in
- DFA state caching under lookahead conditions. [Bug 2318]
-
-1999-07-07 Scott Stanton <stanton@scriptics.com>
-
- * doc/fconfigure.n: Clarified default buffering behavior for the
- standard channels. [Bug 2335]
-
-1999-07-06 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSerial.c: New implementation of serial port driver from
- Rolf Shroedter (Rolf.Schroedter@dlr.de) that allows more than one byte
- to be read from the port. Implemented using polling instead of
- threads, there is a max. 10ms latency between checking the port for
- file events. [Bug 1980 2217]
-
-1999-07-06 Brent Welch <welch@scriptics.com>
-
- * library/http2.0/http.tcl: Fixed the -timeout option so it handles
- timeouts that occur during connection attempts to hosts that are down
- (the only case that really matters!)
-
-1999-07-03 Brent Welch <welch@scriptics.com>
-
- * doc/ChnlStack.3:
- * generic/tcl.decls:
- * generic/tclIO.c: Added a new variant of the "Trf patch" from Andreas
- Kupres that adds new C APIs Tcl_StackChannel, Tcl_UnstackChannel, and
- Tcl_GetStackedChannel.
-
-1999-07-03 Brent Welch <welch@scriptics.com>
-
- * generic/tclNotify.c:
- * unix/tclUnixNotfy.c:
- * unix/tclXtTest.c:
- * unix/tclXtNotify.c:
- * win/tclWinNotify.c:
- * mac/tclMacNotify.c: Added Tcl_SetNotifier and the associated hook
- points in the notifiers to be able to replace the notifier calls at
- runtime. The Xt notifier and test program use this hook.
-
-1999-07-03 Brent Welch <welch@scriptics.com>
-
- * generic/tclParse.c: Changed parsing of variable names to allow empty
- array names. Now "$(foo)" is a variable reference! Previous you had to
- use something like $::(foo), which is slower. This change is requested
- by Jean-Luc Fontaine for his STOOOP package.
-
-1999-07-01 Scott Redman <redman@scriptics.com>
-
- * generic/tclCmdAH.c:
- * generic/tclFCmd.c: Call TclStat instead of TclpStat in order to
- allow Tcl_Stat hooks to work properly.
-
-1999-06-29 Jennifer Hom <jenn@scriptics.com>
-
- * library/tcltest1.0/pkgIndex.tcl:
- * library/tcltest1.0/tcltest.tcl:
- * doc/tcltest.n:
- * tests/all.tcl: Added -preservecore, -limitconstraints, -help, -file,
- -notfile, -relateddir and -asidefromdir flags to the tcltest package
- along with exported proc ::tcltest::getMatchingFiles. The
- documentation was modified to match and all.tcl was modified to use
- the new functionality instead of implementing -file itself.
-
-1999-06-28 Scott Redman <redman@scriptics.com>
-
- * generic/tclIndexObj.c:
- * doc/GetIndex.3:
- * tests/binary.test:
- * tests/winDde.test: Applied patch from Peter Hardie (with changes) to
- fix problem with Tcl_GetIndexFromObj() when the key being passed is
- the empty string. It used to match "" and return TCL_OK, but it should
- have returned TCL_ERROR instead. Added test case to "binary" and "dde"
- commands to check the behavior. Added documentation note as well.
-
-1999-06-26 Scott Redman <redman@scriptics.com>
-
- * win/tclWinDde.c: Applied patch from Peter Hardie to add poke command
- to dde. Also rev'd version of dde package to 1.1. [Bug 1738]
-
-1999-06-25 Jennifer Hom <jenn@scriptics.com>
-
- * unix/Makefile.in:
- * win/Makefile.in:
- * library/tcltest1.0/pkgIndex.tcl:
- * library/tcltest1.0/tcltest.tcl:
- * library/tcltest1.0: Added initial implementation of the Tcl test
- harness package. This package was based on the defs.tcl file that was
- part of the tests directory. Reversed the way that tests were
- evaluated to fix a problem with false passes.
-
- * doc/tcltest.n: Added documentation for the tcltest package.
-
- * tests/README:
- * tests/defs.tcl:
- * tests/all.tcl: Modified all test files (tests/*.test) and all.tcl to
- use the new tcltest package and removed references to the defs.tcl
- file. Modified the README file to point to the man page for tcltest.
-
-1999-06-25 Scott Stanton <stanton@scriptics.com>
-
- * tests/reg.test:
- * generic/regexec.c: Fixed bugs in non-greedy quantifiers.
-
-1999-06-23 Jerry Peek <jpeek@scriptics.com>
-
- * doc/re_syntax.n:
- * doc/switch.n:
- * doc/lsearch.n:
- * doc/RegExp.3:
- * doc/regexp.n:
- * doc/regsub.n: Moved information about syntax of 8.1 regular
- expressions from regexp(n) manpage into new re_syntax(n) page. Added
- pointers from other manpages to new re_syntax(n) page.
-
-1999-06-23 Scott Stanton <stanton@scriptics.com>
-
- * unix/Makefile.in: Changed install-doc to install-man.
-
- * tools/uniParse.tcl:
- * tools/uniClass.tcl:
- * tools/README:
- * tests/string.test:
- * generic/regc_locale.c:
- * generic/tclUniData.c:
- * generic/tclUtf.c:
- * doc/string.n: Updated Unicode character tables to reflect latest
- Unicode 2.1 data. Also rationalized "regexp" and "string is"
- definitions of character classes.
-
-1999-06-21 Scott Stanton <stanton@scriptics.com>
-
- * unix/tclUnixThrd.c (TclpThreadCreate): Fixed memory leak where
- thread attributes were not being released. [Bug 2254]
-
-1999-06-17 Scott Stanton <stanton@scriptics.com>
-
- * tests/regexp.test:
- * generic/tclCmdMZ.c:
- * generic/tclCmdIL.c: Changed to use new regexp interfaces. Added
- -expanded, -line, -linestop, and -lineanchor switches to regsub.
-
- * doc/RegExp.3: Documented the new regexp interfaces and the
- compile/execute flags.
-
- * generic/tclTest.c:
- * generic/tclRegexp.h:
- * generic/tclRegexp.c:
- * generic/tcl.h:
- * generic/tcl.decls: Renamed Tcl_RegExpMatchObj to Tcl_RegExpExecObj
- and added a new Tcl_RegExpMatchObj that is equivalent to
- Tcl_RegExpMatch. Added public macros for the regexp compile/execute
- flags. Changed to store either an object pointer or a string pointer
- in the TclRegexp structure. Changed to avoid adding a reference to the
- object or copying the string.
-
- * generic/regcomp.c: lint
-
- * tests/reg.test:
- * generic/regex.h:
- * generic/regc_lex.c: Added REG_BOSONLY flag to allow Expect to
- iterate through a string an only find matches that start at the
- current position within the string.
-
-1999-06-16 Michael Thomas <wart@scriptics.com>
-
- * unix/configure.in:
- * unix/Makefile.in:
- * unix/tcl.m4:
- * unix/aclocal.m4: Numerous build changes to make Tcl conform to the
- proposed TEA spec
-
-1999-06-16 Melissa Hirschl <hershey@matisse.scriptics.com>
-
- * generic/tclVar.c (Tcl_VariableObjCmd): fixed premature increment in
- loop that was causing out-of-bounds reads on array "varName".
-
-1999-06-16 Scott Stanton <stanton@scriptics.com>
-
- * tests/execute.test:
- * generic/tclExecute.c (TclExecuteByteCode): Fixed crash caused by a
- bug in INST_LOAD_SCALAR1 where the scalar index was read as a signed 1
- byte value instead of unsigned. [Bug 2243]
-
-1999-06-14 Melissa Hirschl <hershey@matisse.scriptics.com>
-
- * doc/StringObj.3
- * test/stringObj.test
- * unix/Makefile.in
- * win/Makefile.in
- * win/makefile.vc
- * generic/tclStringObj.c:
- Merged String and Unicode object types. Added new functions to the
- puplic API: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, Tcl_GetUnicode,
- Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
- Tcl_AppendUnicodeToObj.
-
-1999-06-09 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclUnicodeObj.c: Lots of cleanup and simplification. Fixed
- several memory bugs. Added TclAppendUnicodeToObj.
-
- * generic/tclInt.h: Added declarations for various Unicode string
- functions.
-
- * generic/tclRegexp.c:
- * generic/tclCmdMZ.c: Changed to use new Unicode string interfaces for
- better performance.
-
- * generic/tclRegexp.h:
- * generic/tclRegexp.c:
- * generic/tcl.h:
- * generic/tcl.decls: Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
- calls to access lower level regexp API. These features are needed by
- Expect. This is a preliminary implementation pending final review and
- cleanup.
-
- * generic/tclCmdMZ.c:
- * tests/string.test: Fixed bug where string map failed on null strings
-
- * generic/regexec.c:
- * unix/tclUnixNotfy.c: lint
-
- * tools/genStubs.tcl: Changed to always write output in LF mode.
-
-1999-06-08 Scott Stanton <stanton@scriptics.com>
-
- * win/tclWinSock.c: Rolled back to the 8.1.0 implementation because of
- serious problems with the new driver. Basically no incoming socket
- connections would be reported to a server port. The 8.1.1 code needs
- to be redesigned and fixed correctly.
-
-1999-06-07 Melissa Hirschl <hershey@matisse.scriptics.com>
-
- * tests/string.test:
- * generic/tclVar.c (Tcl_SetVar2Ex):
- * generic/tclStringObj.c (Tcl_AppendObjToObj):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string index,
- string length, string range, and append command in cases where the
- object's internal rep is a bytearray. Objects with other internal reps
- are converted to have the new unicode internal rep.
-
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/Makefile.vc:
- * tests/unicode.test:
- * generic/tclInt.h:
- * generic/tclObj.c:
- * generic/tclUnicodeObj.c: added a new object type to store the
- unicode representation of a string.
-
- * generic/tclTestObj.c: added the objtype option to the testobj
- command. This option returns the name of the type of internal rep an
- object has.
-
-1999-06-04 Scott Stanton <stanton@scriptics.com>
-
- * win/configure.in:
- * win/Makefile.in: Windows build now handles static/dynamic
- debug/nodebug builds and supports the standard targets using Cygwin
- user tools plus GNU make and autoconf.
-
-1999-06-03 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * tests/string.test: Fixed bug where string equal/compare -nocase
- reported wrong result on null strings. [Bug 2138]
-
-1999-06-02 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation of
- relative ordering. [Bug 2135]
-
-1999-06-01 Scott Stanton <stanton@scriptics.com>
-
- * unix/configure.in: Fixed various small configure.in patches
- submitted by Jan Nijtmans. [Bug 2121]
-
- * tests/reg.test:
- * generic/regc_color.c:
- * generic/regc_cvec.c:
- * generic/regc_lex.c:
- * generic/regc_locale.c:
- * generic/regc_nfa.c:
- * generic/regcomp.c:
- * generic/regcustom.h:
- * generic/rege_dfa.c:
- * generic/regerror.c:
- * generic/regerrs.h:
- * generic/regex.h:
- * generic/regexec.c:
- * generic/regfree.c:
- * generic/regfronts.c:
- * generic/regguts.h:
- * generic/tclCmdMZ.c:
- * generic/tclRegexp.c:
- * generic/tclRegexp.h:
- * generic/tclTest.c: Applied Henry Spencer's latest regexp patches
- that fix an infinite loop bug and add support for testing whether a
- string could match with additional input. [Bug 2117]
-
-1999-05-28 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclObj.c: Changed to eliminate use of isupper/tolower in
- favor of the Unicode versions.
-
- * win/Makefile.in:
- * win/configure.in: Added preliminary TEA implementation.
-
- * win/tclWinDde.c: Fixed bug where dde calls were being passed an
- invalid dde handle because Initialize had not been called. [Bug 2124]
-
-1999-05-26 Scott Redman <redman@scriptic.com>
-
- * generic/tclThreadTest.c: Fixed race condition in testthread code
- that showed up in the WinNT test suite intermittently.
-
- * win/tclWinSock.c: Fixed a hang in the WinNT socket driver, wake up
- the socket thread every 100ms to check for events on the sockets that
- did not wake up the thread (race condition).
-
-1999-05-24 Scott Stanton <stanton@scriptics.com>
-
- * tools/genStubs.tcl: Changed to allow a list of platforms instead of
- just one at a time.
-
- * generic/tcl.decls:
- * generic/tclCmdMZ.c:
- * generic/tclDecls.h:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclPort.h:
- * generic/tclStubInit.c:
- * generic/tclStubLib.c: Various header file related changes and other
- lint to try to get the Mac builds working.
-
-1999-05-21 Scott Redman <redman@scriptics.com>
-
- * win/tclWinPipe.c: Fix bug when launching command.com on Win95/98.
- Need to wait for the procInfo.hProcess of the process that was
- created, not the hProcess of the current process. [Bug 2105]
-
-1999-05-20 Scott Redman <redman@scriptics.com>
-
- * library/init.tcl: Add the directory where the executable is, and the
- ../lib directory relative to that, to the auto_path variable.
-
-1999-05-19 Scott Stanton <stanton@scriptics.com>
-
- Merged in various changes submitted by Jeff Hobbs:
-
- * generic/tcl.decls:
- * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control, graph,
- print, and punct classes.
-
- * generic/tclUtil.c:
- * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to
- support case-insensitive globbing.
-
- * doc/string.n:
- * unix/mkLinks:
- * tests/string.test:
- * generic/tclCmdMZ.c: Added additional character class tests, added
- -nocase switch to "string match", changed string first/last to use
- offsets.
-
-1999-05-19 Scott Redman <redman@scriptics.com>
-
- * generic/tcl.h: Add extern "C" block around entire header file for
- C++ compilers to fix linkage issues. Submitted by Don Porter and Paul
- Duffin.
-
- * generic/tclRegexp.c: Fix bug when the regexp cache is empty and an
- empty pattern is used in regexp ( such as {} or "" ).
-
-1999-05-18 Scott Stanton <stanton@scriptics.com>
-
- * win/tclWinChan.c: Modified initialization code to avoid inherenting
- closed or invalid channels. If the standard input is anything other
- than a console, file, serial port, or pipe, then we fall back to the
- standard Tk window console.
-
-1999-05-14 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by failure to
- reset the result before evaluating the test expression.
-
-1999-05-14 Bryan Surles <surles@scriptics.com>
-
- * generic/tclBasic.c (Tcl_CreateInterp): Added introspection variable
- for threaded interps. If the interp was compiled with threads enabled,
- the tcl_platform(threaded) variable will exist.
-
-1999-05-14 Scott Redman <redman@scriptics.com>
-
- * generic/tclDate.c: Applied patch to fix 100-year and 400-year
- boundaries in leap year code, from Isaac Hollander. [Bug 2066]
-
-1999-05-13 Scott Stanton <stanton@scriptics.com>
-
- * unix/Makefile.in:
- * unix/tclAppInit.c: Minor cleanup related to Xt notifier.
-
- * unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for an
- encoding subfield in the LANG/LC_ALL variables in cases where the
- locale is not found in the locale table. Ensure that setlocale() is
- called at least once so X11 will initialize properly. Also, forces the
- LC_NUMERIC locale to be "C" so numeric processing in scripts is not
- affected by the current locale setting. [Bug 1989]
-
- * generic/tclRegexp.c: Increased per-thread regexp cache to 30 slots.
- This seems to be about the right number for larger applications like
- exmh. [Bug 1063]
-
-1999-05-12 Scott Stanton <stanton@scriptics.com>
-
- * doc/tclsh.1: Updated references to rc script names to accurately
- reflect the platform differences on Windows.
-
- * tests/regexp.test:
- * generic/tclInt.h:
- * generic/tclBasic.c:
- * generic/tclRegexp.h:
- * generic/tclRegexp.c: Replaced the per-interpreter regexp cache with
- a per-thread cache. Changed the Regexp object to take advantage of
- this extra cache. Added a reference count to the TclRegexp type so
- regexps can be shared by multiple objects. Removed the per-interp
- regexp cache from the interpreter. Now regexps can be used with no
- need for an interpreter. [Bug 1063]
-
- * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserName if
- the value can be determined from the USERNAME environment variable.
- GetUserName is very slow.
-
-1999-05-07 Scott Stanton <stanton@scriptics.com>
-
- * win/winDumpExts.c:
- * win/makefile.vc: Removed incorrect patch. [Bug 1998]
-
- * generic/tcl.decls: Replaced const with CONST.
-
- * generic/tclResult.c (Tcl_AppendResultVA):
- * generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy
- arglist using memcpy instead of assignment so it works properly on
- OS/390. [Bug 1997]
-
- * generic/tclLoadNone.c: Updated to use current interfaces, added
- TclpUnloadFile. [Bug 2003]
-
- * win/winDumpExts.c:
- * win/makefile.vc: Changed to emit library name in defs file. [Bug
- 1998]
-
- * unix/configure.in: Added fix for OS/390. [Bug 1976]
-
-1999-05-06 Scott Stanton <stanton@scriptics.com>
-
- * tests/string.test:
- * generic/tclCmdMZ.c:
- * doc/string.n: Fixed bug in string equal/compare code when using
- -length option. Cleaned up docs a bit more.
-
- * tests/http.test: Unset "data" array before running tests to avoid
- failures due to previous tests.
-
- * doc/string.n:
- * tests/cmdIL.test:
- * tests/cmdMZ.test:
- * tests/error.test:
- * tests/ioCmd.test:
- * tests/lindex.test:
- * tests/linsert.test:
- * tests/lrange.test:
- * tests/lreplace.test:
- * tests/string.test:
- * tests/cmdIL.test:
- * generic/tclUtil.c:
- * generic/tclCmdMZ.c: Replaced "string icompare/iequal" with -nocase
- and -length switches to "string compare/equal". Added a -nocase option
- to "string map". Changed index syntax to allow integer or
- end?-integer? instead of a full expression. This is much simpler with
- safeTcl scripts since it avoids double substitution issues.
-
- * doc/Utf.3:
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tclUtf.c:
- * generic/tcl.decls: Added Tcl_UtfNcmp and Tcl_UtfNcasecmp.
-
-1999-05-05 Scott Stanton <stanton@scriptics.com>
-
- * win/makefile.vc: Added encoding directory to install-libraries
- target.
-
-1999-05-03 Scott Stanton <stanton@scriptics.com>
-
- * doc/string.n:
- * tests/cmdMZ.test:
- * tests/string.test:
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed "string length" to
- avoid regenerating the string rep of a ByteArray object.
-
- * tests/cmdIL.test:
- * tests/cmdMZ.test:
- * tests/error.test:
- * tests/lindex.test:
- * tests/linsert.test:
- * tests/lrange.test:
- * tests/lreplace.test:
- * tests/string.test:
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * generic/tclUtil.c (TclGetIntForIndex): Applied Jeff Hobbs's string
- patch which includes the following changes [Bug 1845]:
- - string compare now takes optional length arg (for strncmp behavior)
- - added string equal (just a few lines of code blended in with string
- compare)
- - added string icompare/iequal for case-insensitive comparisons
- - string index's index can now be ?end[+-]?expression
- I made this change in the private TclGetIntForIndex, which means
- that the list commands also benefit, as well as string range, et al.
- - added [string repeat string count]
- Repeats given string number of times
- - added string replace, string equiv to lreplace
- (quasi opposite of string range):
- string replace first last ?string?
- Example of use, replacing end of string with ... should the string
- be more than 16 chars long:
- string replace $string 16 end "..."
- This just returns the string len < 16, so it will only affect the
- long strings.
- - added optional first and last args to string to*
- This allows you to just affect certain regions of a string with the
- command (like just capping the first letter). I found the original
- totitle to be too draconian to be useful.
- - added [string map charMap string]
- where charMap is a {from to from to} list that equates to what one
- might get from [array get]. Each and can be multiple chars (or none
- at all). For Tcl/CGI users, this is a MAJOR speed booster.
-
- * generic/tclParse.c (Tcl_ParseCommand): Changed to avoid modifying
- eval'ed strings that are already null terminated. [Bug 1793]
-
- * tests/binary.test:
- * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where type
- was not being set in duplicated object. [Bug 1975, 2047]
-
-1999-04-30 Scott Stanton <stanton@scriptics.com>
-
- * Changed version to 8.1.1.
-
-1999-04-30 Scott Stanton <stanton@scriptics.com>
-
- * Merged changes from 8.1.0 branch:
-
- * generic/tclParse.c: Fixed memory leak in CommandComplete.
-
- * generic/tclPlatDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclIntDecls.h:
- * generic/tclDecls.h:
- * tools/genStubs.tcl: Added 'extern "C" {}' block around the stub
- table pointer declaration so the stub library can be used from C++.
- [Bug 1934]
-
- * Lots of documentation and other release engineering fixes.
-
-1999-04-28 Scott Stanton <stanton@scriptics.com>
-
- * mac/tclMacResource.c:
- * generic/tclListObj.c:
- * generic/tclObj.c:
- * generic/tclStringObj.c: Changed to avoid freeing the string
- representation before freeing the internal rep. This helps with
- debugging since the string rep will still be valid when the free proc
- is invoked.
-
-1999-04-27 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals get
- duplicated to avoid accidental sharing in the global object table.
-
-1999-04-23 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclStubInit.c:
- * tools/genStubs.tcl: Changed to avoid the need for forward
- declarations in stub initializers.
-
-1999-04-23 Scott Stanton <stanton@scriptics.com>
-
- * library/encoding/koi8-r.enc:
- * tools/encoding/koi8-r.txt: Added support for the koi8-r Cyrillic
- encoding. [Bug 1771]
-
-1999-04-22 Scott Stanton <stanton@scriptics.com>
-
- * win/tclWinFCmd.c:
- * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that is
- the actual keyword. This eliminates the need for some -D flags from
- the makefile.
-
- * generic/tclPort.h: Added include of tcl.h since it defines various
- Windows macros that are needed before deciding which platform porting
- file to use.
-
- * generic/tclEvent.c: lint
-
- * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInit when
- building a static library since DllMain will not be invoked. This
- could break old code that explicitly called TclWinInit, but should be
- simpler in the long run.
-
-1999-04-22 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclInt.h:
- * generic/tclInt.decls:
- * generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a hook
- procedure to invoke after compilation but before the byte codes are
- emitted. This makes it possible to do postprocessing on the compiled
- byte codes before the ByteCode is generated.
-
- * generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj to
- make it possible to create local unshared literal objects.
-
- * win/tclWinInit.c:
- * unix/tclUnixInit.c: Changed initial search path to match that
- found used by tcl_findLibrary.
-
-1999-04-22 Scott Redman <redman@scriptics.com>
-
- * win/tclWinPort.h:
- * win/tclWinSock.c: Added code to use WinSock 2.0 API on NT to avoid
- creating a window to handle sockets. API not available on Win95 and
- needs to be fixed on Win98, until then continue to use the older
- (window-based) scheme on those two OSes.
-
-1999-04-15 Scott Stanton <stanton@scriptics.com>
-
- * Merged 8.1 back into the main trunk
-
-1999-04-13 Scott Stanton <stanton@scriptics.com>
-
- * library/encoding/gb2312.enc:
- * library/encoding/euc-cn.enc:
- * tools/encoding/gb2312.txt:
- * tools/encoding/cp950.txt:
- * tools/encoding/Makefile: Restored the double byte definition of
- GB2312 and added the EUC-CN encoding. EUC-CN is a variant of GB2312
- that shifts the characters into bytes with the high bit set and
- includes ASCII as a subset. [Bug 632]
-
-1999-04-13 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSock.c: Apply patch to allow write access to a socket if
- FD_WRITE is sent but FD_CONNECT is not. Some strange problem with
- either Win32 or a socket driver. [Bug 1664 1776]
-
-1999-04-09 Scott Redman <redman@scriptics.com>
-
- * unix/tclUnixNotfy.c: Fixed notifier deadlock situation when the pipe
- used to talk back notifier thread is filled with data. When calling
- the write() function to feed data down that pipe, unlock the
- notifierMutex to allow the notifier to wake up again. Found as a
- result of the focus.test for Tk hanging. [Bug 1700]
-
-1999-04-06 Scott Stanton <stanton@scriptics.com>
-
- * tests/unixNotfy.test: Fixed hang in tests when built with thread
- support.
-
- * tests/httpold.test: Fixed broken test that didn't wait long enough
- for events to arrive.
-
- * tests/unixInit.test: Fixed race condition in test.
-
- * tests/unixInit.test:
- * tests/fileName.test: Minor test nits.
-
- * unix/tclUnixInit.c (TclpSetInitialEncodings): Fixed bad initial
- encoding string.
-
-1999-04-06 Bryan Surles <surles@scriptics.com>
-
- * generic/tclVar.c:
- * generic/tclEnv.c: Moved the "array set" C level code into a common
- routine (TclArraySet). The TclSetupEnv routine now uses this API to
- create an env array w/ no elements.
-
- * generic/tclEnv.c:
- * generic/tclWinInit.h:
- * generic/tclUnixInit.h:
- * generic/tclInt.h: Made the Env module I18N compliant. Changed the
- FindVariable routine to TclpFindVariable, that now does a case
- insensitive string comparison on Windows, and not on UNIX. [Bug 1299,
- 1500]
-
-1999-04-05 Scott Stanton <stanton@scriptics.com>
-
- * tests/io.test: Minor test cleanup.
-
- * generic/tclEncoding.c (Tcl_CreateEncoding): Minor lint to make it
- easier to compile on Digital-unix. [Bug 1659]
-
- * unix/configure.in:
- * unix/tclUnixPort.h: Applied patch for OS/390 to handle lack of
- sys/param.h. [Bug 1725]
-
- * unix/configure.in: Fixed BSD/OS 4.* configuration to support shared
- libraries properly. [Bug 1730]
-
-1999-04-05 Scott Redman <redman@scriptics.com>
-
- * win/tclWinDde.c: decrease timeout value for DDE calls to 30k. [Bug
- 1639]
-
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclDecls.h:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclUtil.c: Added more functions to the Tcl stubs table,
- including all Tcl_ functions not already in it (except Cmd functions)
- and Tcl_GetCwd() and Tcl_Chdir() (new functions).
-
- * tests/safe.test:
- * doc/safe.n:
- * generic/tclBasic.c:
- * library/safe.tcl: The encoding command is not safe as-is, so create
- a safe alias to mask out the "encoding system <name>" but allow all
- other uses including "encoding system". Added test cases and updated
- the man page for Safe Tcl.
-
-1999-04-05 Scott Stanton <stanton@scriptics.com>
-
- * tests/winTime.test:
- * win/tclWinTime.c: Fixed crash in clock command that occurred when
- manipulating negative time values in timezones east of GMT. [Bug
- 1142, 1458]
-
- * tests/platform.test:
- * tests/fileName.test: Fixed broken tests.
-
- * generic/tclFileName.c: Moved global regexps into thread local
- storage.
-
- * tests/socket.test: Changed so tests don't reuse sockets, since
- Windows is slow to release sockets.
-
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c: Fixed race condition where background threads
- were terminated while they still held a lock in the notifier.
-
-1999-04-02 Scott Stanton <stanton@scriptics.com>
-
- * tests/http.test: Fixed bad test initialization code.
-
- * generic/tclThreadTest.c (ThreadExitProc): Fixed bug where static
- memory was being returned instead of a dynamically allocated result in
- error cases.
-
-1999-04-02 Scott Redman <redman@scriptics.com>
-
- * doc/dde.n:
- * tools/tcl.wse.in:
- * win/makefile.vc:
- * win/pkgIndex.tcl:
- * win/tclWinDde.c: Add new DDE package, code removed from Tk now
- separated into its own package. Changed DDE-based send code into "dde
- eval" command. Can be loaded into tclsh (not just wish). Windows only.
-
-1999-04-02 Scott Stanton <stanton@scriptics.com>
-
- * tests/expr.test:
- * tests/for-old.test:
- * tests/for.test:
- * tests/foreach.test:
- * tests/format.test:
- * tests/httpold.test:
- * tests/if.test:
- * tests/init.test:
- * tests/interp.test:
- * tests/while.test: Added some tests for known bugs (marked with
- knownBug constraint), and cleaned up a few bad tests.
-
- * generic/regc_locale.c:
- * generic/regcustom.h:
- * generic/tcl.decls:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclInt.h:
- * generic/tclRegexp.c:
- * generic/tclScan.c:
- * generic/tclTest.c:
- * generic/tclUtf.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c: Made various Unicode utility functions public. The
- following functions were made public and added to the stubs table:
- Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString,
- Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum,
- Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower,
- Tcl_UniCharIsSpace, Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar
-
-1999-04-01 Scott Stanton <stanton@scriptics.com>
-
- * tests/registry.test:
- * win/tclWinReg.c: Internationalized the registry code. It now uses
- Unicode interfaces on NT. [Bug 1197]
-
- * tests/parse.test:
- * generic/tclParse.c: Fixed crash due to multiple frees in parser
- during error cleanup when parsing commands with more tokens than will
- fit in the static area of the parse structure. [Bug 1681]
-
- * generic/tclInt.h: Removed duplicate declarations.
-
- * generic/tclInt.decls:
- * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf to
- the tclPlat table.
-
-1999-04-01 Scott Redman <redman@scriptics.com>
-
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclDecls.h:
- * generic/StubInit.c:
- * tools/genStubs.tcl:
- * unix/Makefile.in:
- * win/makefile.vc: Applied patch from Jan Nijtmans to fix Ultrix
- multiple symbol definition problem. Now, even Tcl includes a copy of
- the Tcl stub library. Also fixed TCL_MEM_DEBUG mode (for Tk).
-
-1999-03-31 Scott Redman <redman@scriptics.com>
-
- * win/tclWinConsole.c: WinNT has a bug when reading a single character
- from the console. Rewrote the code for the console to read an entire
- line at a time using the reader thread.
-
-1999-03-30 Scott Stanton <stanton@scriptics.com>
-
- * unix/Makefile.in: Removed trailing backslash that broke the "depend"
- target.
-
- * unix/tclUnixInit.c (TclpSetInitialEncodings): Changed to avoid
- calling setlocale(). We now look directly at env(LANG) and
- env(LC_CTYPE) instead. [Bug 1636]
-
- * generic/tclFileName.c:
- * generic/tclDecls.h:
- * generic/tcl.decls: Removed CONST from Tcl_JoinPath and
- Tcl_TranslateFileName because it changes the signature of Tcl_JoinPath
- in an incompatible manner.
-
- * generic/tclInt.h:
- * generic/tclLoad.c (TclFinalizeLoad):
- * generic/tclEvent.c (Tcl_Finalize): Defer unloading of loadable
- modules until all exit handlers have been invoked. [Bug 998, 1273,
- 1573, 1593]
-
-1999-03-29 Scott Stanton <stanton@scriptics.com>
-
- * generic/tclFileName.c:
- * generic/tclDecls.h:
- * generic/tcl.decls: Added CONST to Tcl_JoinPath and
- Tcl_TranslateFileName.
-
-1999-03-29 Scott Redman <redman@scriptics.com>
-
- * tools/genStubs.tcl:
- * unix/configure.in:
- * unix/Makefile.in:
- * win/makefile.vc:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclDecls.h:
- * generic/tclIntDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclIntPlatDecls.h: Removed the stub functions and changed
- the stub macros to just use the name without params. Pass &tclStubs
- into the interp (don't use tclStubsPtr because of collisions with the
- stubs on Solaris).
-
-1999-03-27 Scott Redman <redman@scriptics.com>
-
- * win/makefile.bc: Removed makefile for Borland compiler, no longer
- supported.
-
-1999-03-26 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSerial.c:
- * win/tclWinConsole.c:
- * win/tclWinPipe.c: Don't close the Win32 handle for a channel if it's
- a stdio handle (GetStdHandle()) during shutdown of a thread to prevent
- it from destroying the stdio of other threads.
-
-1999-03-26 Suresh Ankolekar <suresh@scriptics.com>
-
- * unix/configure.in: --nameble-shared is now the default and build Tcl
- as a shared library; specify --disable-shared to build a static Tcl
- library and shell.
-
-1999-03-25 Scott Stanton <stanton@scriptics.com>
-
- * tests/interp.test:
- * generic/tclInterp.c (AliasObjCmd): Changed so aliases are invoked at
- current scope in the target interpreter instead of at the global
- scope. This was an incompatibility introduced in 8.1 that is being
- removed. [Bug 1153, 1556]
-
- * library/encoding/big5.enc:
- * library/encoding/gb2312.enc:
- * tools/encoding/big5.enc:
- * tools/encoding/gb2312.enc: Added ASCII to big5 and gb2312 encodings.
- [Bug 632]
-
- * generic/tclPkg.c (Tcl_PkgRequireEx): Fixed broken clientData
- initialization in package code.
-
- * unix/Makefile.in (dist): Added tcl.decls and tclInt.decls to source
- distribution. [Bug 1571]
-
- * doc/Thread.3: Updated documentation of Tcl_MutexLock to indicate
- that the recursive locking behavior is undefined. On Windows, it does
- not block, on Unix it deadlocks. [Bug 1275]
-
-1999-03-24 Scott Stanton <stanton@scriptics.com>
-
- * tests/execute.test:
- * generic/tclExecute.c (TclExecuteByteCode): Fixed expression code
- that incorrectly returned floating point values for integers if the
- internal rep happened to be a double. Now we check to see if the
- object has a string rep that looks like an integer before using the
- double internal rep. [Bug 1516]
-
-1999-03-24 Scott Redman <redman@scriptics.com>
-
- * generic/tclAlloc.c:
- * generic/tclEncoding.c:
- * generic/tclProc.c:
- * unix/tclUnixTime.c:
- * win/tclWinSerial.c: Fixed compilation warnings/errors for VC++ 5.0
- and 6.0 and HP-UX native compiler without -Aa or -Ae. [Bug 1323 1518
- 1324 1583 1585 1586]
-
- * win/tclWinSock.c: Make sockets thread-safe on Windows. The current
- implementation uses windows to handle events on the socket, one for
- each thread (thread local storage). Previously, there was only one
- window shared between threads, which didn't work. [Bug 1326]
-
-1999-03-23 Scott Stanton <stanton@scriptics.com>
-
- * tools/tcl.wse: Fixed file association to look in the right place for
- the wish icon. [Bug 1544]
-
- * tests/winNotify.test:
- * tests/ioCmd.test:
- * tests/event.test: Changed to use new style conditionals.
-
- * tests/encoding.test: Fixed nonportable test.
-
- * unix/dltest/configure.in:
- * unix/dltest/Makefile.in: Added missing DBGX macros. [Bug 1564]
-
- * tests/winNotify.test:
- * mac/tclMacNotify.c:
- * win/tclWinNotify.c:
- * unix/tclUnixNotfy.c:
- * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface that
- is invoked whenever the service mode changes. This is needed to allow
- the Windows notifier to create a communication window the first time
- Tcl is about to enter an external modal event loop instead of at
- startup time. This will avoid the various problems that people have
- been seeing where the system hangs when tclsh is running outside of
- the event loop. [Bug 783]
-
- * generic/tclInt.h:
- * generic/tcl.decls: Renamed TclpAlertNotifier back to
- Tcl_AlertNotifier since it is part of the public notifier driver API.
-
-1999-03-23 Scott Redman <redman@scriptics.com>
-
- * win/tclWinSerial.c: Fixed problem with fileevent on the serial port
- and nonblocking mode. Gets no longer hangs, fileevents fire whenever
- there is any character data on the port.
-
- * tests/winConsole.test:
- * win/tclWinConsole.c: Fixed problem with fileevents and gets from a
- console stdin. Previously, fileevents were firing before an entire
- line was available for reading, which meant that when you did a gets
- or read, it blocked (even in nonblocking mode). Now, it should work
- the same as Unix: fileevents fire when an entire line is ready, and
- gets and read do not block in non-blocking mode. Added an interactive
- test case to check for this.
-
-1999-03-22 Scott Stanton <stanton@scriptics.com>
-
- * tests/reg.test:
- * generic/regc_color.c: Applied regexp bug fix from Henry Spencer.
-
-1999-03-19 Scott Redman <redman@scriptics.com>
-
- * generic/tclCmdIL.c: Fixed the initialization of an array so that the
- Sun 5.0 C compiler wouldn't complain.
-
- * unix/configure.in: Added support for --enable-64bit. For now, this
- is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun
- compiler (not gcc).
-
-1999-03-18 Scott Stanton <stanton@scriptics.com>
-
- * win/tclWinChan.c (TclpOpenFileChannel, Tcl_MakeFileChannel): Changed
- to only test for console or comm handles when the type is
- FILE_TYPE_CHAR to avoid useless tests on simple files. Also reordered
- tests so consoles are tested first as this is more common.
-
- * win/makefile.vc: Regularized usage of mkd and rmd and rm.
-
- * library/encoding/shiftjis.enc:
- * tools/encoding/shiftjis.txt: Missing/incorrect characters in
- shift-jis table. [Bug 1008, 1526]
-
- * generic/tclInt.decls:
- * generic/tcl.decls: Eliminated use of "string" and "list" from
- argument lists to avoid conflicts with C++ STL. [Bug 1181]
-
- * win/tclWinFile.c (TclpMatchFiles): Changed to ignore the
- FS_CASE_IS_PRESERVED bit and always return exactly what we get from
- the system.
-
-1999-03-17 Scott Stanton <stanton@GASPODE>
-
- * win/README.binary:
- * win/README:
- * unix/configure.in:
- * generic/tcl.h:
- * README: Updated version to 8.1b3.
-
-1999-03-14 Scott Stanton <stanton@GASPODE>
-
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c: Changed so channel drivers wait for the
- reader/writer threads to exit before returning during a close
- operation. This ensures that the main thread is the last thread to
- exit, so the process return value is set properly.
-
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclIntPlatStubs.c:
- * generic/tclIntStubs.c:
- * generic/tclPlatDecls.h:
- * generic/tclPlatStubs.c:
- * generic/tclStubInit.c:
- * generic/tclStubs.c: Fixed bad eol characters.
-
- * generic/tclInt.decls: Changed "const" to "CONST" in declarations for
- better portability.
-
- * generic/tcl.decls: Renamed panic and panicVA to Tcl_Panic and
- Tcl_PanicVA in the stub files.
-
- * generic/tclInterp.c (Tcl_MakeSafe): Remove tcl_platform(user) from
- safe interps.
-
-1999-03-11 Scott Stanton <stanton@GASPODE>
-
- * unix/Makefile.in:
- * unix/configure.in: Include compat files in the stub library in
- addition to the main library. Compat files are now built for dynamic
- use in all cases.
-
- * generic/tcl.h: Changed magic number so it doesn't match the plus
- patch, at Jan's request.
-
- * unix/tclConfig.sh.in:
- * unix/dltest/Makefile.in:
- * unix/dltest/configure.in:
- * unix/dltest/pkga.c:
- * unix/dltest/pkgb.c:
- * unix/dltest/pkgc.c:
- * unix/dltest/pkgd.c:
- * unix/dltest/pkge.c:
- * unix/dltest/pkgf.c: Changed package tests to build against the stubs
- library.
-
-1999-03-10 Scott Stanton <stanton@GASPODE>
-
- * generic/tcl.h:
- * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to macros so
- it can be used in .rc files. Added Tcl_GetString.
-
- * mac/tclMacNotify.c:
- * generic/tclNotify.c:
- * generic/tclInt.h:
- * win/tclWinNotify.c:
- * generic/tcl.h: Renamed Tcl_AlertNotifier to TclpAlertNotifier.
-
- * generic/tclInt.decls: Added TclWinAddProcess to make it possible for
- expect to use Tcl_WaitForPid(). This patch is from Gordon Chaffee.
-
- * mac/tclMacPort.h:
- * win/tclWinInit.c:
- * unix/tclUnixPort.h:
- * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async handling
- on Windows where async events don't wake up the event loop. This patch
- comes from Gordon Chaffee.
-
- * generic/tcl.decls: Fixed declarations of reserved slots.
-
-1999-03-10 Scott Redman <redman@scriptic.com>
-
- * generic/tclCompile.h: Ensure that the ByteCode struct is binary
- compatible with the version in 8.0.6.
-
- * generic/tcl.h:
- * generic/tclBasic.c: Add Tcl_GetVersion() function to the public C
- API to allow programs to check the version number of the Tcl library
- at runtime. Also added an enum to clarify the release level (alpha,
- beta, final).
-
-1999-03-09 Scott Stanton <stanton@GASPODE>
-
- * Integrated changes from Tcl 8.0 including:
- stubs mechanism
- configure patches from Jan Nijtmans
- rename of panic to Tcl_Panic
-
-1999-03-08 Lee Bernhard <lfb@scriptics.com>
-
- * win/tclWin32Dll.c: Removed Dll instance from thread-local storage.
-
-1999-03-08 Scott Stanton <stanton@GASPODE>
-
- * generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion of
- tclDecls.h to avoid macro conflicts.
-
- * generic/tclInt.h:
- * generic/regc_color.c:
- * generic/regcomp.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdAH.c:
- * generic/tclIOCmd.c:
- * generic/tclParse.c:
- * generic/tclStringObj.c:
- * unix/tclUnixNotfy.c: Cleaned up various compiler warnings,
- eliminated UCHAR bugs.
-
- * unix/tclUnixNotfy.c:
- * unix/tclUnixThrd.c:
- * generic/tclThreadTest.c:
- * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*().
-
- * INTEGRATED PATCHES FROM 8.0.6:
-
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclDecls.h:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclIntPlatStubs.c:
- * generic/tclIntStubs.c:
- * generic/tclPlatDecls.h:
- * generic/tclPlatStubs.c:
- * generic/tclStubInit.c:
- * generic/tclStubLib.c:
- * generic/tclStubs.c:
- * tools/genStubs.tcl:
- * unix/configure.in:
- * unix/Makefile.in:
- * unix/tclConfig.sh.in:
- * win/makefile.vc:
- * win/tclWinPort.h: Added Tcl stubs implementation. There are now two
- new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that enable use of
- stubs and disable stub macros respectively. All of the public and
- private function declarations from tcl.h and tclInt.h have moved into
- the *.decls files and the *Stubs.c and *Decls.h files are generated
- using the genStubs.tcl script.
-
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/ldAix: Enhanced AIX shared library support.
-
- * win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR
- attributes from internal functions.
-
- * win/tclWinReg.c: Changed registry package to use stubs mechanism so
- it no longer depends on the specific version of Tcl.
-
- * doc/AddErrInfo.3:
- * doc/Eval.3:
- * doc/PkgRequire.3:
- * doc/SetResult.3:
- * doc/StringObj.3:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclPanic.c:
- * generic/tclStringObj.c:
- * generic/tclUtil.c:
- * unix/mkLinks: Added va_list versions of all VARARGS functions so
- they can be invoked from the stub functions.
-
- * doc/package.n:
- * doc/PkgRequire.3:
- * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx,
- Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" command.
-
- * generic/tclFileName.c:
- * mac/tclMacFile.c:
- * mac/tclMacShLib.exp:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: Changed so TclGetUserHome is defined on all
- platforms, even though it is currently a noop on mac and windows, and
- renamed it to TclpGetUserHome.
-
- * generic/tclPanic.c:
- * generic/panic.c: Renamed panic to Tcl_Panic.
-
-1999-02-25 Scott Redman <redman@scriptics.com>
-
- * win/makefile.vc: Added tclWinConsole.c and tclWinSerial.c
-
- * win/tclWinConsole.c: New code to properly deal with fileevents and
- nonblocking mode on consoles.
-
- * win/tclWinSerial.c: New code to properly deal with fileevents and
- nonblocking mode on serial ports.
-
- * win/tclWinPipe.c:
- * win/tclWinPort.h: Exported functions to allow creation of pipe
- channels from tclWinChan.c
-
- * win/tclWinChan.c: Check the type of a channel, including for the
- standard (stdin/stdout/stderr), and use the correct channel type to
- create the channel (file, serial, console, or pipe).
-
-1999-02-11 Scott Stanton <stanton@GASPODE>
-
- * README:
- * generic/tcl.h:
- * win/README.binary:
- * win/README:
- * unix/configure.in:
- * mac/README: Updated version numbers to 8.1b2.
-
-1999-02-10 Scott Stanton <stanton@GASPODE>
-
- * library/auto.tcl: Fixed auto_mkindex so it handles .tbc files. Did
- some general cleanup to handle bad eval statements that didn't use
- "list".
-
- * unix/mkLinks:
- * doc/SetVar.3:
- * generic/tcl.h:
- * generic/tclVar.c: Restored Tcl_ObjGetVar2 and Tcl_ObjSetVar2 from
- 8.0. Renamed Tcl_Get/SetObjVar2 to Tcl_GetVar2Ex and Tcl_SetVar2Ex.
-
-1999-02-10 Scott Stanton <stanton@GASPODE>
-
- INTEGRATED PATCHES FROM 8.0.5b2:
-
- * test/winPipe.test: Changed to remove echoArgs.tcl temporary file
- when done.
-
- * tests/cmdAH.test:
- * generic/tclFileName.c (TclGetExtension): Changed behavior so the
- split happens at the last period in the name instead of the first
- period of the last run of periods. So, "foo..o" is split into "foo."
- and ".o" now. [Bug 1126]
-
- * win/makefile.vc: Added better support for paths with spaces in the
- name. Added .lib and support .dlls to the install-binaries target.
- Added generate of a pkgIndex.tcl script to the install-libraries
- target.
-
- * win/tclAppInit.c:
- * unix/tclAppInit.c:
- * mac/tclMacAppInit.c:
- * generic/tclTest.c: Changed some EXTERN declarations to extern since
- they are not defining exported interfaces. This avoids generating
- useless declspec() attributes and makes the windows makefile simpler.
-
- * generic/tcl.h: Moved Tcl_AppInit declaration to end and cleared out
- TCL_STORAGE_CLASS so it is not declared with a declspec().
-
- * tests/interp.test:
- * generic/tclInterp.c (DeleteAlias): Changed to use
- Tcl_DeleteCommandFromToken so we handle renames properly. This avoids
- senseless panic. [Bug 736]
-
- * unix/tclUnixChan.c:
- * win/tclWinSock.c:
- * doc/socket.n: Applied Gordon Chaffee's patch to handle failures
- during asynchronous socket connection operations. This adds a new
- "-error" fconfgure option to socket channels. [Bug 893]
-
- * generic/tclProc.c:
- * generic/tclNamesp.c:
- * generic/tclInt.h:
- * generic/tclCmdIL.c:
- * generic/tclBasic.c:
- * generic/tclVar.c: Applied patch from Viktor Dukhovni to rationalize
- TCL_LEAVE_ERR_MSG behavior when creating variables.
-
- * generic/tclVar.c: Fixed bug in namespace tail computation. Fixed bug
- where upvar could resurrect a namespace variable whose namespace had
- been deleted.
-
- * generic/tclCompile.c (TclCompileExprCmd): Eliminated yet another
- bogus optimization in expression compilation.
-
- * unix/configure.in: Added branch for BSD/OS-4* to shared library case
- statement. [Bug 975]
- Fixed to correctly handle IRIX 6.5 n32 library support. [Bug 1117]
-
- * win/winDumpExts.c: Patched to be pickier about stripping @'s. [Bug
- 920]
-
- * library/http2.0/http.tcl: Added catch around eof test in CopyDone
- since the user may have already called http::reset. [Bug 1108]
-
- * unix/configure.in: Changed Linux and IRIX to set SHLIB_LIBS to LIBS
- so shared libraries are linked with the system libraries. [Bug 1018]
-
- * generic/tclCompile.c (CompileExprWord): Fixed exception stack
- overflow bug caused by missing statement. [Bug 928]
-
- * generic/tclIOCmd.c:
- * generic/tclBasic.c: Objectified the "open" command. [Bug 1113]
-
- * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): When using egcs,
- ENOTSUP and EOPNOTSUPP are the same, so now we handle that case. [Bug
- 1137]
-
- * library/init.tcl: Various small changes requested by Jan Nijtmans.
- - If the variable $tcl_library contains the empty string, this empty
- string will be put in $auto_path. This is not useful at all, it only
- slows down later package processing.
- - If the variable tcl_pkgPath is not set, the "unset __dir" fails.
- Thich makes init.tcl totally unusable. Better put a "catch" around
- it.
- - In the function tcl_findLibraries, the "string match" function only
- works correctly if $tcl_patchLevel is in one of the forms "?.?a?",
- "?.?b?" or "?.?.?". Could a "regexp" be used instead, then it allows
- anything to be appended to the patchLevel string. And it is more
- efficient.
- - The tclPkgSetup function assumes that if $type != "load" then the
- type must be "source". This needn't be true. Some users want to add
- their own setup types.
- [RFE 1138] [Bug 978]
-
- * win/tclWinReg.c:
- * doc/registry.n: Added support for HKEY_PERFORMANCE_DATA and
- HKEY_DYN_DATA keys. [Bug 1109]
-
- * win/tclWinInit.c (TclPlatformInit): Added code to ensure tcl_pkgPath
- is set to "" when no registry entry is found. [Bug 978]
-
-1999-02-01 Scott Stanton <stanton@GASPODE>
-
- * generic/tclBasic.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclExecute.c:
- * generic/tclHistory.c:
- * generic/tclIO.c:
- * generic/tclIOUtil.c:
- * generic/tclInterp.c:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclParse.c:
- * generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclTimer.c:
- * generic/tcl.h: Made eval interfaces compatible with 8.0 by renaming
- Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to Tcl_EvalEx and
- restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces so they match
- Tcl 8.0.
-
-1999-01-28 Scott Stanton <stanton@GASPODE>
-
- * Merged Tcl 8.0.5b1 changes.
-
- * generic/tclUtil.c (Tcl_DStringSetLength): Changed so the buffer
- overallocates in a manner similar to Tcl_DStringAppend. This should
- improve performance for TclUniCharToUtfDString.
-
-1998-12-11 === Tcl 8.1b1 Release ===
-
-1998-12-10 Scott Stanton <stanton@GASPODE>
-
- * Fixed lots of files that used TCL_THREAD instead of TCL_THREADS.
-
- * generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code
- into a static FreeEncoding routine that does not grab the
- encodingMutex to avoid deadlocks/races when called from other routines
- that already have the mutex.
-
-1998-12-09 Scott Stanton <stanton@GASPODE>
-
- * library/msgcat1.0/msgcat.tcl: Fixed bad export list, fixed so all
- locale strings are converted to lower case, including file names.
-
- * generic/regcomp.c (makescan): Fixed bug in longest match case that
- caused anchored patterns to fail. [Bug 897]
-
-1998-12-08 Scott Stanton <stanton@GASPODE>
-
- * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in the
- calling context, changed locale lookups to be case insensitive
-
-1998-12-07 Scott Stanton <stanton@GASPODE>
-
- * generic/tclAlloc.c (TclpRealloc): Fixed a memory allocation bug
- where big blocks that were reallocated into a different heap location
- were not being placed into the bigBlocks list. [Bug 933]
-
- * tests/msgcat.test: Added message catalog test suite.
-
- * library/msgcat1.0/msgcat.tcl: minor bug fixes, integrated latest
- changes from Mark Harrison.
-
-1998-12-04 Scott Stanton <stanton@GASPODE>
-
- * library/msgcat1.0/msgcat.tcl: Changed code to conform to Tcl coding
- standards. Changed to use file join for portability.
-
- * library/msgcat1.0: Added initial implementaion of Tcl message
- catalog package contributed by Mark Harrison.
-
-1998-12-03 Scott Stanton <stanton@GASPODE>
-
- * win/tclWinPipe.c (BuildCommandLine): Fixed bug that kept arguments
- containing spaces from being properly quoted.
-
- * tests/defs: Changed so auto_path is set to only contain the Tcl
- library directory. This keeps the tests from accidentally picking up
- stuff in installed packages.
-
- * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0 behavior
- in corner case where there is no closing bracket.
-
-1998-12-02 Scott Stanton <stanton@GASPODE>
-
- * win/tclWinPipe.c (TclpCreateCommandChannel): Changed reader/writer
- threads to have THREAD_PRIORITY_HIGHEST so they will have a chance to
- run whenever there is something to do.
-
- * generic/tclIO.c (WriteBytes, WriteChars): Fixed so extraneous
- flushes do not happen in line mode.
- (TranslateOutputEOL): Made translation more efficient in line mode and
- fixed a buffer overflow bug in CRLF translation. [Bug 887]
-
-1998-12-02 Brent Welch <welch@SAGE>
-
- * Updated patchlevel to 8.1b1
-
-1998-12-02 Scott Stanton <stanton@GASPODE>
-
- * generic/regc_color.c (subcolor): Added check for error case to avoid
- an out of bounds array reference.
-
- * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Changed to avoid using
- Tcl_DStringResult because it is not binary clean.
-
- * generic/tclParse.c (Tcl_ParseCommand): Fixed bug in comment parsing
- where a trailing comment looked like an incomplete command.
-
-1998-12-02 Brent Welch <welch@SAGE>
-
- * Merged changes from 8.0.4, especially the new pkg_mkIndex
-
-1998-12-01 Scott Stanton <stanton@GASPODE>
-
- * generic/tclIO.c (Tcl_ReadChars): Added a call to UpdateInterest so
- we don't block when there is data sitting in the buffers.
-
- * generic/tclTest.c (TestevalobjvObjCmd): Updated for EvalObjv change.
-
- * tests/parse.test: Updated tests for EvalObjv change.
-
- * generic/tclParse.c (EvalObjv, Tcl_EvalObjv): Changed Tcl_EvalObjv
- interface to remove string and length arguments, preserved original
- interface as EvalObjv for internal use.
-
- * generic/tcl.h: Changed Tcl_EvalObjv interface to remove string and
- length arguments.
-
- * doc/Eval.3: Updated documentation for Tcl_EvalObjv to remove string
- and length arguments.
-
- * generic/tclCompCmds.c (TclCompileForeachCmd): Fixed code that
- corrupted the exceptDepth value in the compile environment when
- foreach failed to compile inline. [Bug 884]
-
- * library/encoding/euc-kr.enc:
- * library/encoding/ksc5601.enc:
- * tools/encoding/ksc5601.txt:
- * unix/tclUnixInit.c: Added support for Korean EUC.
-
- * win/tclWinChan.c (TclpGetDefaultStdChannel): added check for a
- failure during Tcl_MakeFileChannel.
-
-1998-11-30 Scott Stanton <stanton@GASPODE>
-
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs when
- trying to close a pipe that is currently being waited on by the
- notifier thread. [Bug 607]
-
- * unix/tclUnixFCmd.c (GetPermissionsAttribute): Increase size of
- returnString buffer to avoid overflow. [Bug 584]
-
- * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due to
- use of TCL_VOLATILE instead of TCL_DYNAMIC.
-
- * generic/tclThread.c (TclRememberSyncObject): Fixed memory leak
- caused by failure to reuse condition variables.
-
- * unix/tclUnixNotfy.c (Tcl_AlertNotifier, Tcl_WaitForEvent,
- (NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused by
- incorrect use of condition variables when sending messages between
- threads. [Bug 607]
-
- * generic/tclTestObj.c (TeststringobjCmd): MAX_STRINGS was off by one
- so the strings array was too small.
-
- * generic/tclCkalloc.c (Tcl_DbCkfree): Moved mutex lock so
- ValidateMemory is done inside the mutex to avoid a race condition when
- validate_memory is enabled. [Bug 880]
-
-1998-11-23 Scott Stanton <stanton@GASPODE>
-
- * regexec.c: more performance tuning from Henry Spencer.
-
-1998-11-17 Scott Stanton <stanton@GASPODE>
-
- * tclScan.c: moved "scan" implementation out of tclCmdMZ.c and added
- Unicode support. This required a complete reimplementation of the
- command to avoid using scanf(), which isn't Unicode aware. Two new
- features were added in the process: %n to return the current number of
- characters consumed, and XPG3-style %n$ argument order specifiers
- similar to those provided by the "format" command. [Bug 833]
-
- * tclAlloc.c: changed so allocated memory is always 8-byte aligned to
- improve memory performance and to ensure that it will work on systems
- that don't like accessing 4-byte aligned values (e.g. Solaris and
- HP-UX). [Bug 834]
-
-1998-11-06 Scott Stanton <stanton@GASPODE>
-
- * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was getting
- lost before being passed to CallTraces.
-
-1998-10-21 Scott Stanton <stanton@GASPODE>
-
- * added "encoding" command
-
- * Moved internal regexp declarations from tclInt.h to tclRegexp.h
-
- * integrated regexp updates from Henry Spencer
-
-1998-10-15 Scott Stanton <stanton@GASPODE>
-
- * tclUtf.c: added Unicode character table support
-
- * tclInt.h: added TclUniCharIsWordChar
-
- * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, changed
- "wordend" and "wordstart" to properly handle Unicode word characters
- and connector punctuation
-
-1998-10-05 Scott Stanton <stanton@GASPODE>
-
- * auto.tcl, package.tcl: fixed SCCS strings
-
- * tclIndex: updated index to reflect 8.1 files
-
- * tclCompile.c (TclCompileScript): changed to avoid modifying the
- input string in place because name lookup operations could have
- arbitrary side effects
-
- * tclInterp.c: added guard against deleting current interpreter
-
- * tclMacFile.c, tclUnixFile.c, tclWinFile.c, tclFileName.c: added
- warnings around code that modifies strings in place
-
- * tclExecute.c: fixed off-by-one copying error, fixed merge bugs
-
- * tclEvent.c: changed so USE_TCLALLOC is tested for value instead of
- definition
-
- * tclCompCmds.c: replaced SCCS strings, added warnings around code
- that modifies strings in place
-
- * interp.test: added test for interp deleting itself
-
-1998-09-30 Scott Stanton <stanton@GASPODE>
-
- * makefile.vc: fixed so TCL_LIBRARY is set before running tcltest
-
- * tclWin32Dll.c: removed TclpFinalize, cleanup of merges
diff --git a/tcl8.6/ChangeLog.2000 b/tcl8.6/ChangeLog.2000
deleted file mode 100644
index 0d20eaf..0000000
--- a/tcl8.6/ChangeLog.2000
+++ /dev/null
@@ -1,2539 +0,0 @@
-2000-12-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c:
- * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and [expr
- srand($seed)] implementations, fixing a range error on some 64-bit
- platforms. Added tests that detect the bug. The rewrite changes the
- seed -> sequence map on 64-bit platforms, only for seed >= 2^31, a
- slight incompatibility. [Bug 121072, Patch 102781]
-
-2000-12-10 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl:
- * library/opt/optparse.tcl:
- * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc to
- evaluate a Tcl built-in command in the caller's context, the built-in
- commands are now fully namespace-qualified. This prevents problems
- when the caller context is in a namespace where the built-in command
- name has been used by a command in the namespace. (For example,
- [::ns::set] might be called instead of the intended [::set]). [Bug
- 119422, Patch 102545]
-
-2000-12-09 Jeff Hobbs <jhobbs@interwoven.com>
-
- * win/tclWinTime.c (CalibrationThread): added lint return value to
- prevent compiler warning. [Bug 125005]
-
- * docs/scan.n:
- * tests/scan.test:
- * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use strtoul
- instead of strtol to correctly preserve scan<>format conversion of
- large integers. [Patch 102663, Bug 124600]
-
- * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing
- handling of {!<boolean>} in expressions. [Patch 102702]
-
-2000-12-08 Jeff Hobbs <jhobbs@interwoven.com>
-
- * library/init.tcl: Added support for PATHEXT variable in auto_execok,
- recognizing the proper set of executable extensions on Windows. [Patch
- 102719]
-
-2000-12-08 Andreas Kupries <a.kupries@westend.com>
-
- * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous code to
- something less critical. This fixes [Bug 119417], part A without
- affecting the speed when loading encodings.
-
-2000-12-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/open.n: Added xref to fconfigure and advice on the opening of
- binary files. Should help prevent a recurrence of bugs like [Bug
- 124558]
-
-2000-12-07 Jeff Hobbs <jhobbs@interwoven.com>
-
- * generic/tcl.h: added note about need to updated
- library/dde/pkgIndex.tcl with minor version increment.
-
- * library/dde/pkgIndex.tcl: updated to use 84 version to reflect the
- makefile. Should probably be updated to use its real version at some
- point. [Patch 102560, Bug 119421]
-
-2000-12-06 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tcl.h (attemptckalloc): Fixed typo for #define of
- attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have been
- Tcl_AttemptDbCkalloc). [Bug 124384]
-
- * generic/tclCkalloc.c: Added TCL_MEM_DEBUG versions of
- Tcl_AttemptDbCkrealloc and Tcl_AttemptDbCkalloc. [Bug 124384].
-
-2000-11-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!" can
- now handle string booleans, provided those values are placed in
- variables.
-
- * tests/expr.test (expr-13.17): Check that [expr {!$var}] can negate
- the string-versions of booleans "yes", "false", etc.
-
- * library/tcltest/tcltest.tcl (getMatchingFiles,
- (getMatchingDirectories):
- * tools/man2html.tcl (doDir):
- * tools/man2help.tcl (doDir):
- * library/package.tcl (tclPkgUnknown,tclMacPkgSearch):
- * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of
- unsafe [file join]. [Bug 123313]
-
- * generic/tclIndexObj.c:
- * generic/tclTestObj.c (TestindexobjCmd): Changed internal
- representation of index objects to fix [Bug 119082]; fix shouldn't be
- visible to outside world...
-
- * generic/tclTest.c (TestGetIndexFromObjStructObjCmd):
- * tests/indexObj.test: (indexObj-6.*) Added to test for presence of
- [Bug 119082].
-
-2000-11-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from [Bug
- 119398]
-
- * library/init.tcl (unknown): Added specific level parameters to
- all uplevel invokations to boost performance; didn't dare touch
- the "namespace inscope" stuff though, since it looks sensitive
- to me! Should fix [Bug 123217], though testing is tricky...
-
-2000-11-21 Andreas Kupries <a.kupries@westend.com>
-
- All of the changes below are described in TIP #7 ~ Specification and
- result from the application of the patch contained therein. Creator of
- the patch is Kevin Kenny <kennykb@crd.ge.com>. The patch used here is
- actually a bit different. Two MS specific constant values (format
- FOOui64) were replaced with a more portable formatting of the values
- and an additional cast to LONGLONG. My cross-compiling gcc was unable
- to process the original form. [Patch 102459]
-
- * tclWinTime.c: Add to the static data a set of variables that manage
- the phase-locked techniques, including a ''CRITICAL_SECTION'' to guard
- them so that multi-threaded code is stable.
-
- * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' and
- return the 'seconds' portion of the result. This change is necessary
- to make sure that the two times are consistent near the rollover from
- one second to another.
-
- * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to
- determine the click count as a number of microseconds.
-
- * tclWinTime.c: Modify ''TclpGetTime'' to return the time as M*Q+B,
- where Q is the result of ''QueryPerformanceCounter'', and M and B are
- variables maintained by the phase-locked loop to keep the result as
- close as possible to the system clock. The ''TclpGetTime'' call will
- also launch the phase-lock management in a separate thread the first
- time that it is invoked. If the performance counter is unavailable, or
- if its frequency is not one of the two common 8254-compatible rates,
- then ''TclpGetTime'' will return the result of ''ftime'' as it does in
- Tcl 8.3.2.
-
- * tclWinTime.c: Add the clock calibration procedure. The calibration
- is somewhat complex; to save space, the reader is referred to the
- reference implementation for the details of how the time base and
- frequency are maintained.
-
- * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process has,
- in fact, slept for the requisite time by calling ''TclpGetTime'' and
- comparing with the desired time. Otherwise, roundoff errors may cause
- the process to awaken early.
-
- * tclWinTest.c: Add a ''testwinclock'' command. This command returns a
- four element list comprising the seconds and microseconds portions of
- the system clock and the seconds and microseconds portions of the Tcl
- clock.
-
- * winTime.test: Add to the test suite a test that makes sure that the
- Tcl clock stays within 1.1 ms of the system clock over the duration of
- the test.
-
-2000-11-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/global.n:
- * doc/upvar.n:
- * doc/variable.n: Improved documentation to mention that variables so
- created are listed in [info locals] and added a few more cross-links
- between these commands. [Bug 119387]
-
-2000-11-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/safe.test: (safe-4.3):
- * generic/tclVar.c (TclLookupVar): Changed again. Now passes all the
- tests, though one needed modifying since it required the wrong answer.
- (Why on earth do we have inline modification of argument strings? This
- sort of thing is horrendous to debug and doesn't work well in a
- multithreaded environment!) [Bug 119192]
-
- * tests/var.test: (var-1.19) If my attempts to fix the problem aren't
- right yet, my attempts to describe it look pretty good to me...
-
-2000-11-16 Andreas Kupries <a.kupries@westend.com>
-
- * win/tclWinPort.h (line 69): Changed reference to winsock2.h into
- winsock.h. This was a leftover from a foray into using winsock version
- 2 (History lesson from Scott Redman and Jeff Hobbs). This code was no
- problem when compiling Tcl itself, but could trip extensions. [Bug
- 122568]
-
-2000-11-15 Jeff Hobbs <jeff.hobbs@acm.org>
-
- * unix/Makefile.in: removed bp.c references (hasn't existed in a long
- time). Corrected 'make dist' to make dist with unversioned library
- directories (same as out of cvs), so make install works correctly with
- either source tree.
-
-2000-11-15 Jeff Hobbs <jeff.hobbs@acm.org>
-
- * generic/tclVar.c (TclLookupVar): reverted fix below as it broke all
- other array unset error reporting. Bug 119192 is still open.
-
-2000-11-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclVar.c (TclLookupVar): Changed references to part2 to use
- elName instead in various error message generating spots. [Bug 119192]
-
-2000-11-03 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/.cvsignore: Removed 'configure' from the glob list now that it's
- included.
-
-2000-11-03 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- 8.4a2 RELEASE
-
- * unix/Makefile.in (install-libraries, dist):
- * win/makefile.vc (install-libraries):
- * win/Makefile.in (install-libraries): updated to install unversioned
- library directories into versioned directories.
-
- * tools/tcl.wse.in: updated for unversioning of library dirs
-
- * unix/mkLinks: updated mkLinks with latest doc updates
-
- * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop
-
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people to
- set a main loop that will run for tclsh.
- * generic/tcl.h: added Tcl_MainLoopProc typedef
- * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new
- StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. The
- first two handle a fileevent based prompt (taken from tkMain.c).
- Tcl_SetMainLoop enables the interactive setting of a main loop
- procedure. This enables Tk to be a loadable package.
-
-2000-11-02 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way to
- share its data among threads. This caused Tcl_Init() to always fail in
- threads. Added a way to pass the data around with a global char*.
- [BUG: 5301]
-
-2000-11-02 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * unix/configure:
- * unix/dltest/configure:
- * win/configure:
- * tools/configure: checked in configure scripts so people doing CVS
- checkouts aren't required to have autoconf. Changes to configure.in in
- the future will require the corresponding configure script to also be
- re-autoconf'ed and checked in.
-
- * win/makefile.vc:
- * win/tcl.m4: makefile fixes for Win64 support
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast
- changes.
-
-2000-11-01 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5.
-
- * tests/subst.test: added tests for non-zero return code handling by
- subst.
- * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero,
- non-error return code cases for subst. [Bug 119829]
-
- * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem use
- when info exists was called on a non-existent array element. [Bug
- 119213, 119336]
-
-2000-10-30 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/configure.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/tcl.rc:
- * win/tclsh.rc: Added logic to derive filenames better in the resource
- scripts based on compile options.
-
-2000-10-30 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * unix/tclUnixInit.c: added default encoding map from "ja_JP.eucJP" to
- "euc-jp". (takahashi)
-
- * tests/clock.test: corrected clock-2.* test numbering
-
- * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was
- commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS
- already).
-
- * unix/tcl.m4: consolidated gettimeofday check for AIX.
-
-2000-10-27 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * unix/configure.in:
- * unix/tcl.m4: added support for AIX-5.
-
- * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code for
- old channel structures, placed preserve/release around statePtr
- * generic/tclIO.c (CloseChannel): the statePtr for a channel was not
- being freed when the last channel in a stack was freed, causing a mem
- leak.
-
- * unix/tclUnixChan.c: updated channel types to strict
- TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work
- either way, but this avoids compiler warnings (that worries people).
-
-2000-10-27 Jennifer Hom <jenn@ajubasolutions.com>
-
- * library/tcltest1.0/tcltest.tcl: Removed a cd into the test directory
- in runAllTests that screwed up the temporary directory setting,
- effectively preventing users from running tests on multiple platforms
- at the same time.
-
-2000-10-26 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to "attr"
- which was a DWORD. Changed NULL to zero because a 'void *' can't be
- set to a DWORD to avoid the compiler warning.
-
-2000-10-24 Jennifer Hom <jenn@ajubasolutions.com>
-
- * tests/all.tcl: Removed support for tcltest 1.0.
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl:
- * library/tcltest1.0/pkgIndex.tcl:
- * docs/tcltest.n: Moved tcltest2 code so that it's the standard
- version of tcltest. Removed all tcltest2 files (tests/tcltest2.test,
- library/tcltest1.0/tcltest2.tcl, docs/tcltest2.n).
-
-2000-10-20 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only
- occur when necessary (for 'glob' command). Significantly speeds up
- glob command from 8.3. [BUG: 6216]
-
-2000-10-19 Jennifer Hom <jenn@ajubasolutions.com>
-
- * library/tcltest1.0/tcltest2.tcl:
- * tests/tcltest2
- * doc/tcltest2.n: Code and documentation cleanup. Modified -verbose to
- take list of keywords as well as string of letters. Removed Tcl
- version information from tcltest. Removed tcltest::grep from tcltest
- package. Added optional 3rd directory argument to
- makeFile/makeDirectory and removeFile/removeDirectory.
-
- * tests/basic.test: Changed references to tcltest::tclVersion to
- hardcoded numbers.
- * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl in
- comments to tests/basic.test.
-
-2000-10-06 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() from
- TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable a more
- general method in detecting invalid OS handles rather than just a
- specific known case. [BUG: 5971]
-
-2000-10-06 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * tests/cmdAH.test: extra tests for 'file channels' that include
- multiple interpreter tests and channel sharing
- * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and
- consequently 'file channels') to return channels that are actually
- registered for this specific interp, rather than this thread.
-
- * doc/CrtChannel.3: fixed spelling mistakes
-
-2000-09-29 Jennifer Hom <jenn@ajubasolutions.com>
-
- * library/tcltest1.0/tcltest2.tcl:
- * tests/tcltest2.test:
- * doc/tcltest2.n: Modified the new form of the test command to accept
- both attribute-value pairs and command line options. Updated the tests
- and the documentation for this new format. Also changed the option
- names for the test command.
-
-2000-09-29 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of
- space parity on Windows (Eason) [Bug 6057].
-
- * win/Makefile.in: commented use of TESTFLAGS
- * unix/Makefile.in: added TESTFLAGS to test target to conform with
- Windows makefile and TEA style.
-
- * tests/stack.test: prevented possible crash on systems with low
- default stacksize (Tru64, AIX) in infinite recursion test. A solution
- to check remaining stack space in the core is best, but hard to do in
- a cross-platform manner.
-
- * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to FLUSH_DELAY
- to avoid defn conflict using Tru64's cc.
-
-2000-09-28 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the
- Windows .exe install.
-
- * tests/fCmd.test (fCmd-6.20): corrected test to remove c:/tcl8975@
- after creating it.
-
- * tests/fileName.test: cleaned up the testing of glob patterns for
- c:/globTest (Windows) to directly create/remove directory.
-
-2000-09-27 Jeff Hobbs <hobbs@ajubasolutions.com>
-
- * generic/tcl.decls:
- * generic/tclIO.c: updated Tcl_IsChannelShared,
- Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel,
- Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to the
- new stacked channel implementation. Their stub slots were also moved
- to give preference to the new 8.3.2 stub functions. This will cause an
- incompatability with 8.4a1 only.
- (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
- didn't set nonBlocking correctly when resetting the flags for the
- write side. [Bug: 6261]
-
- * doc/ChnlStack.3:
- * doc/CrtChannel.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclDecls.h:
- * generic/tclIO.c:
- * generic/tclIO.h:
- * generic/tclIOGT.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * tests/iogt.test:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/tclConfig.sh.in:
- * win/tclWinChan.c:
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code
- base. Most of these changes relate to the rewrite of the stacked
- channel implementation, with a few config related fixes.
-
- Following is an asynchronous include of the applicable ChangeLog
- entries from 8.3.2.
-
- ********************************************************
- ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
- ********************************************************
-
-2000-08-07 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/ChnlStack.3:
- * doc/CrtChannel.3: updated the docs to be aware of the
- TCL_CHANNEL_VERSION_2 style of Tcl channels.
-
- * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify that
- the new channel versioning will be binary compatible with older
- channel drivers.
-
-2000-08-05 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIOGT.c (TclChannelTransform): fixed segfault that would
- occur when transforming a channel with a proc that did not yet exist.
- (Kupries)
-
- * generic/tclTest.c (TestChannelCmd): added some lint init'ing of
- statePtr and chan vars.
-
-2000-07-26 Jeff Hobbs <hobbs@scriptics.com>
-
- Merged core-8-3-1-io-rewrite back into core-8-3-1-branch. The
- core-8-3-1-io-rewrite branch should now be considered defunct.
-
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to tclIO.c
- and made them proper stubbed functions. These are: Tcl_ChannelName,
- Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc,
- Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc,
- Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc,
- Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc,
- Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, and
- Tcl_ChannelHandlerProc. These should be used to access the
- Tcl_ChannelType structure instead of direct pointer dereferencing.
-
- * tests/iogt.test: added RCS string, marked tests 2.* to be unixOnly
- due to underlying system differences.
-
-2000-07-25 Andreas Kupries <a.kupries@westend.com>
-
- * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting
- buffering trouble when stacking and unstacking transformations.
- iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now,
- due to the perceived complexity of solutions.
-
- * generic/tclIO.h: (line 139f) struct Channel, added a buffer queue,
- to hold data pushed back when stacking a transformation.
-
- * generic/tclIO.c:
- (line 91f, line 7434f) New internal function 'CopyBuffer'. Derived
- from 'CopyAndTranslateBuffer', with translation removed.
- (line 1025f, line 1212f): Initialization of new queue.
- (line 1164f, Tcl_StackChannel): Pushback of input queue.
- (line 1293f, Tcl_UnstackChannel): Discard input and pushback.
- (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area
- before going to the driver. Uses 'CopyBuffer', s.a.
- (line 4702f, GetInput): Modified to use data in the push back area
- before going to the driver.
- (line 4867f, Tcl_Seek): Modified to take pushback of the topmost
- channel in a stack into account.
- (line 5620f, Tcl_InputBuffered): See above. Added
- 'Tcl_ChannelBuffered'. Analog to 'Tcl_InputBuffered' but for the
- buffer area in the channel.
-
- * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
-
-2000-07-17 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: added tclIOGT.c to objects list to compile.
-
- * generic/tclStubInit.c:
- * generic/tclIntDecls.h:
- * generic/tclInt.decls: commented out internal decls for
- TclTestChannelCmd and TclTestChannelEventCmd as they were moved to
- tclTest.c. Added new decls for TclChannelEventScriptInvoker and
- TclChannelTransform.
-
- * generic/tclIO.c (CloseChannel): stopped masking out of the
- TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel,
- instead adding extra intelligence to CheckChannelErrors with a new
- CHANNEL_RAW_MODE bit for special behavior when called from Raw channel
- APIs.
-
-2000-07-13 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr outside of
- blockModeProc check to avoid infinite loop when blockModeProc was
- NULL. Updated TransformSeekProc to not call Tcl_Seek directly
- (Kupries).
-
- * win/tclWinChan.c: updated fileChannelType to v2 channel struct
- * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct
- * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct
- * win/tclWinSerial.c: updated serialChannelType to v2 channel struct
- * win/tclWinSock.c: updated tcpChannelType to v2 channel struct
-
-2000-07-11 Brent Welch <welch@ajubasolutions.com>
-
- * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific autoconf
- variables.
-
-2000-07-11 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/iogt.test: made tests [345].0 not run by default as they were
- failing in the new design, but I'm not convinced that the returned
- result isn't correct.
-
- * generic/tclDecls.h:
- * generic/tclStubInit.c:
- * generic/tcl.decls: added Tcl_GetTopChannel C API that returns the
- current top channel of a channel stack. Tcl_GetChannel was changed
- earlier to return the bottommost channel of a stack because that is
- the one that is guaranteed to stay around the longest, and this was
- needed to compensate for certain operations that want to look at the
- state of the main channel. Most channel APIs already compensate for
- grabbing the top, so it shouldn't be needed often.
-
- * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added
- flushing of buffers (Kupries), removed use of DownChannel macro, added
- Tcl_GetTopChannel public API to get to the top channel of the channel
- stack (necessary for TLS). Rewrote Tcl_NotifyChannel for new channel
- design (Kupries). Did some code cleanup in the transform code.
- tclIO.c must still be broken into bits (separate out test code and
- giot code, create tclIO.h).
-
-2000-07-10 Andreas Kupries <a.kupries@westend.com>
-
- * tests/iogt.test: Reverted some earlier changes as a fix by Jeff
- revived the original and correct behaviour. IOW, the tests showed a
- genuine error and I didn't see it :(.
-
- * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use the
- drivers and not DoRead|DoWrite. The latter use the buffering system,
- encoding and eol-translation and this wreaks havoc with the data going
- through the transformations. Both procedures use CheckForchannelErrors
- and let it believe that there is no background copy in progress or
- else stacked channels could not be used for that.
-
- * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the
- topmost channel from the first to the second procedure to make the
- decision about that at the last possible time (Callbacks can change
- the stacking).
-
- test suite: failures of iogt-[345].0
-
-2000-07-06 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/iogt.test: new tests for stacked channel stuff based off new
- 'testchannel transform|unstack' code (Kupries IOGT extension).
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclDecls.h:
- * generic/tclStubsInit.c:
- * generic/tclIO.c: complete rewrite of Tcl Channel code for stacked
- channels. Channels are now designed to work in a more stacked fashion
- with a shared ChannelState data structure.
-
-2000-06-02 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIO.c (CloseChannel): removed the &ing out of
- (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does this
- on the next pass through for the top channel, and it appeared to be
- causing hangs by not allowing the final flush.
-
-2000-06-01 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to unstack
- a channel during the close process. Fixed a refcount bug in
- Tcl_UnstackChannel. [Bug: 5623]
- (CloseChannel): further extended CloseChannel in the stacked case to
- effect certain operations on the next channel that would have been
- done in Tcl_Close. Also added CHANNEL_CLOSED and removed
- (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed final
- reset of the WatchProc to check the chanDownPtr's (next) interestMask.
-
- ******************************************************
- ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
- ******************************************************
-
-2000-09-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/socket.test: removed doTestsWithRemoteServer constraint from
- socket-12.*. It requires 'exec', not a remote server. Cleaned up some
- coding errors.
-
-2000-09-20 Jennifer Hom <jenn@ajubasolutions.com>
-
- * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.
- * library/tcltest1.0/tcltest2.tcl: New version of tcltest.
- Cleanup of command line parsing: allows users to specify command line
- arguments through an environment variable named TCLTEST_OPTIONS [RFE:
- 3748], does not respond to incorrect arguments, and forces usage of
- entire flag name when using command line arguments. Defines accessor
- procs for all tcltest variables. Allows users to use 'return' in test
- scripts. Allow users to specify whether test files should be sourced
- or run in a separate process. 'all.tcl' code moved to tcltest package.
- 'test' proc modified to use attribute-value pairs. Allow users to
- specify what return codes, output, and errors can be compared and
- whether these values should be compared using regexp, glob, or exact
- matching. makeDirectory & removeDirectory now operate with respect to
- temporaryDirectory [Bug: 6001]. Test results from tests run in slave
- interpreters are now included in test totals [Bug: 1493]. Test files
- that return error values are now reported.
- * tests/all.tcl: Added code to check for the tcltest version loaded;
- modified to figure out which tests to run based on the tcltest version
- loaded.
- * tests/tcltest.test: Modified to explicitly load version 1.0 of
- tcltest.
- * tests/tcltest2.test: New test suite for tcltest; includes all of the
- old tests plus new ones reflecting changes made for version 2.0.
- * tests/cmdAH.test: Added singleTestInterp constraint to cmdAH-31.2;
- this test does not run if tests aren't sourced into a single
- interpreter.
- * tests/socket.test: Fixed two tests that were referencing variables
- outside of scope.
-
- * tools/tcl.wse.in: Added code to install tcltest2.tcl.
-
- * doc/tcltest2.n: New documentation for tcltest version 2.0. Removes
- documentation for tcltest namespace variables. Adds documentation for
- new tcltest procs.
-
- * unix/mkLinks: Added code to link to tcltest2.n.
-
- * generic/tcl.h: Added comment to modify tcltest2.tcl as well as
- tcltest.tcl for version changes.
-
-2000-09-19 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all attempts
- after the first to match the regexp against the string should include
- the TCL_REG_NOTBOL flag, to avoid erroneously matching ^ in the middle
- of the string. Added code to set this flag after the first pass
- through the matching loop. [Bug: 6284].
-
-2000-09-19 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * doc/Eval.3: Added a note about the script argument to Tcl_Eval()
- should be in UTF-8 or risk implied conversion errors when possible
- combinations of upper ascii can be valid UTF-8 special codes.
-
-2000-09-17 Eric Melski <ericm@ajubasolutions.com>
-
- * tests/cmdIL.test: Added a test for fix for [Bug: 6212].
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug:
- 6212], which corrected an error in the handling of the -index option.
-
-2000-09-14 Eric Melski <ericm@ajubasolutions.com>
-
- * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.
-
- * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.
-
- * generic/tclDecls.h:
- * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.
-
- * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory
- allocators and for Tcl_AttemptSetObjLength.
-
- * generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc,
- which map to the Tcl_Attempt* memory allocators.
-
- * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc,
- Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc,
- Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and
- the string obj append functions.
-
- * generic/tclStringObj.c: Modified string growth algorithm to use
- doubling algorithm as long as possible, and only fall back when that
- fails. Added Tcl_AttemptSetObjLength, and modified
- AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and
- Tcl_AppendStringsToObjVA to support this.
-
-2000-09-07 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/.cvsignore: changed the glob patterns a bit to exclude VC++
- project conversion backups.
-
- * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory".
- Added more logic around the close-down of the pipe reader thread so as
- to avoid, at all cost, a TerminateThread. Most cases with exec are
- fixed, but I don't consider 2460 done yet. Closing down the read side
- of a pipe before the child process, doesn't really fit the windows
- model. [BUG: 2460]
-
-2000-09-07 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/trace.n: minor doc cleanup
-
-2000-09-06 André Pönitz <poenitz@htwm.de>
-
- * doc/*.n: added or changed "SEE ALSO:" section
-
-2000-09-06 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/tclWinLoad.c (TclpLoadFile): added special message for
- ERROR_PROC_NOT_FOUND exception in loading a dll.
- * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from ESRCH
- (POSIX: no such process) to EINVAL because there is no good mapping
- for "procedure not found".
-
- * README:
- * generic/tcl.h:
- * library/tcltest1.0/tcltest.tcl:
- * tools/tcl.wse.in:
- * tools/tcltk-man2html.tcl:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in: updated patchlevel to 8.4a2
-
- * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from
- Tcl_WaitPid call in error case of process creation on Unix, as it
- would lead to defunct processes. [Bug: 6148]
-
- * tests/string.test: extended string repeat tests
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to
- preallocate the full space of the final string, avoided repeated
- appends.
-
- * doc/source.n:
- * doc/Eval.3: added extra note about how to safe use ^Z in code, as it
- is now a cross-platform (was just Windows) EOF char.
-
-2000-09-05 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclHash.c: fixed pedantic warning of incorrectly placed
- #endif
-
- * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed
- pedantic cast warning.
- Corrected support for building with -DTCL_COMPILE_STATS.
- Added efficiency check of object equality.
-
-2000-08-29 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer to
- provide a more conservative string growth algorithm for strings larger
- than one megabyte; this allows more efficient use of memory for very
- large strings.
-
-2000-08-25 Eric Melski <ericm@ajubasolutions.com>
-
- * tests/trace.test: Extended array tracing tests.
-
- * doc/trace.n: Clarified information about when array traces will be
- fired.
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces
- (for TCL_TRACE_ARRAY) to only be called when the variable is either an
- array or is undefined, to ensure that array traces do not fire for
- scalar variables.
-
-2000-08-24 Eric Melski <ericm@ajubasolutions.com>
-
- * doc/man.macros: Tweaked tab settings for .SO (Standard Options)
- sections, based on suggestion from Peter Spjuth.
-
-2000-08-24 Mo DeJong <mdejong@redhat.com>
-
- * unix/README: Update to account for removal of --enable-gcc.
- * unix/configure.in:
- * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
- * win/README: Add note about building with Cygwin.
- * win/configure.in:
- * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. Remove quick
- hack that provided cross compile support for windows builds.
-
-2000-08-24 Eric Melski <ericm@ajubasolutions.com>
-
- Overall change: Added support for command rename/delete traces and new
- trace syntax, from patch from Vince Darley. Added support for array
- traces for variables. [RFE: 5048, 5967].
-
- * doc/trace.n: Updated documentation for new syntax; flagged old
- syntax as deprecated; added documentation for command rename/delete
- traces and variable array traces.
-
- * tests/trace.test: Updated tests for new trace syntax; new tests for
- command rename/delete traces; new tests for array traces.
-
- * generic/tclVar.c: Support for new trace syntax; support for
- TCL_TRACE_ARRAY.
-
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tcl.decls: Stub functions for command rename/delete traces.
-
- * generic/tcl.h:
- * generic/tclInt.h:
- * generic/tclBasic.c: Support for command traces.
-
- * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support new
- [trace] syntax:
- trace {add|remove|list} {variable|command} name ops command
- Added support for command traces (rename, delete operations).
- Added support for TCL_TRACE_ARRAY at Tcl level (array operation for
- variable traces).
-
-2000-08-20 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclVar.c: Added check for non-arrays for [array statistics]
- command (patch from Mark Patton).
-
-2000-08-19 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * generic/tclPlatDecls.h: without a previous '#include <windows.h>',
- tclPlatDecls.h can't be parsed due to a missing definition of TCHAR.
- Added a check to include it when not defined.
-
- ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags for
- the core happen to be different than a project who uses these publics
- regarding -D_MBCS and -D_UNICODE. This added check might have to be
- revisited later with a better understanding of the reprocusions. I
- think TCHAR should be replaced with it's expansion.
-
-2000-08-18 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/.cvsignore (added): provides a cleaner build environment with
- graphical CVS clients.
-
-2000-08-15 Eric Melski <ericm@ajubasolutions.com>
-
- * library/tcltest1.0/tcltest.tcl: Set debug level in
- tcltest::restoreState to 2, for consistancy with the debug level in
- tcltest::saveState [Bug: 4505].
-
-2000-08-14 Eric Melski <ericm@ajubasolutions.com>
-
- * win/makefile.vc:
- * win/Makefile.in:
- * unix/Makefile.in: Added tclPlatDecls.h to the list of installed
- headers, for more complete stubs support. [Bug: 5241].
-
- * generic/tcl.h: Added #include "tclPlatDecls.h" to get
- platform-specific stubs declarations (Tcl_WinTCharToUtf, etc)
- [Bug: 5241].
-
- * README: Updated link for instructions on compiling Tcl from sources
- to point to correct location (http://dev.scriptics.com/doc/... instead
- of http://dev.scriptics.com/support/...).
-
-2000-08-11 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length
- variable from "unsigned int" to "int", to match usage when passed to
- TclpFindVariable [Bug: 6126].
-
-2000-08-10 Eric Melski <ericm@ajubasolutions.com>
-
- * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 [Bug:
- 6100].
-
- * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] in
- msgcat namespace initializer. Bumped version number to 1.2 [Bug: 6100]
-
-2000-08-10 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * generic/tclObj.c: r1.15 accidentally changed a global mutex name
- tclObjMutex to ObjMutex. Put the correct name back.
-
-2000-08-07 Eric Melski <ericm@ajubasolutions.com>
-
- * tests/indexObj.test: Added tests using the [testwrongnumargs]
- command to test Tcl_WrongNumArgs.
-
- * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function for
- the Tcl_WrongNumArgs function.
-
- * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to not
- insert a space before the message component when objc == 0 [Bug: 6078]
-
-2000-07-27 Mo DeJong <mdejong@redhat.com>
-
- * win/configure.in: TCL_STUB_LIB_FLAG should not include ${TCL_DBGX}
- in win/tclConfig.sh, fix that.
-
-2000-07-25 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * doc/Async.3:
- * generic/tclAsync.c:
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * mac/tclMacPort.h:
- * unix/tclUnixPort.h:
- * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added notifier
- alerting on all platforms as it was only working on Win before.
- Removed older Win hacks that would end-up waking the wrong notifier in
- the presence of a threaded build. All tests pass as before. New test
- cases will be added soon for the new behavior. [BUG: 5791]
-
-2000-07-25 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE on
- the array containing the variable before executing traces on that
- array, to conform with normal variable traces and the documentation,
- which states that while executing a trace, other traces on that
- variable are disabled. [Bug: 6049].
-
- * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call to
- prevent potential memory leaks [Bug: 6041].
-
-2000-07-24 Eric Melski <ericm@ajubasolutions.com>
-
- * doc/msgcat.n: Added documentation about the selection of the default
- locale on Windows.
-
-2000-07-23 Joe English <jenglish@flightlab.com>
-
- * doc/AddErrInfo.3:
- * doc/ChnlStack.3:
- * doc/Exit.3:
- * doc/GetIndex.3:
- * doc/Notifier.3:
- * doc/Object.3:
- * doc/RegExp.3:
- * doc/SetResult.3:
- * doc/SplitList.3:
- * doc/Thread.3: Added missing entries to NAME section.
-
- * doc/AddErrInfo.3:
- * doc/CrtObjCmd.3:
- * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx
-
-2000-07-21 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclStubInit.c:
- * generic/tclObj.c:
- * generic/tclInt.h:
- * generic/tclHash.c:
- * generic/tclDecls.h:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables
- to allow custom key types, such as Tcl_Obj *'s, and others.
-
- * doc/binary.n: Noted that the example in the introduction assumes a
- 32-bit system [Bug: 6035].
-
-2000-07-21 Mo DeJong <mdejong@redhat.com>
-
- * win/configure.in: Define ${prefix} and ${exec_prefix} like
- unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE,
- TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC,
- TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH.
-
-2000-07-20 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclStubInit.c:
- * generic/tclObj.c:
- * generic/tclInt.h:
- * generic/tclHash.c:
- * generic/tclDecls.h:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables to
- allow custom key types, such as Tcl_Obj *'s, and others; it seems to
- break Tk.
-
-2000-07-19 Eric Melski <ericm@ajubasolutions.com>
-
- * generic/tclStubInit.c:
- * generic/tclObj.c:
- * generic/tclInt.h:
- * generic/tclHash.c:
- * generic/tclDecls.h:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables to
- allow custom key types, such as Tcl_Obj *'s, and others.
-
- * tests/pkgMkIndex.test: Added tests for pkg_compareExtension.
-
- * library/package.tcl: Enhanced pkg_compareExtension to handle Unixes
- which tack the version number on to the end of library names (eg,
- foo.so.1.2); such filenames will be correctly matched. (Patch from
- Vince Darley).
-
- * win/makefile.vc: Applied patch from Don Porter to provide better
- nmake support for NT/Alpha [RFE: 5938].
-
-2000-07-18 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure.in:
- * unix/tcl.m4:
- * win/tcl.m4: Properly quote arguments to m4 macros. This allows Tcl
- to work with the new version of autoconf.
-
-2000-07-18 Eric Melski <ericm@ajubasolutions.com>
-
- * tests/opt.test: Removed references to Lfirst, Lrest functions.
-
- * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, which
- replaces the [Lfirst] function with an inline [lindex ... 0] and
- [Lrest] with [lrange ... 1 end], for better performance. [RFE: 6019]
-
-2000-07-18 Eric Melski <ericm@scriptics.com>
-
- * compat/string.h: Fixed function prototypes for strpbrk and strtok
- [Bug: 6020].
-
-2000-07-17 David Gravereaux <davygrvy@ajubasolutions.com>
-
- * win/tclWinChan.c: Win2K OS bug with GetStdHandle(STD_OUTPUT_HANDLE)
- giving the wrong answer. This made TclpGetDefaultStdChannel grab what
- it thought was a valid native stdout handle. Added a new WriteFile()
- test to make sure it's really valid. This OS bug doesn't affect the
- shells. Only -subsystem:windows (aka WinMain) application that
- dynamically load tclXX.dll [BUG: 5971]
-
-2000-07-17 Eric Melski <ericm@scriptics.com>
-
- * library/msgcat1.0/msgcat.tcl:
- * doc/msgcat.n:
- * tests/msgcat.test: Applied patches from Chris Nelson, to provide the
- mcmset function, which allows the translator to set multiple string
- translations in a single function call, rather than requiring many
- calls to mcset. [RFE: 6000, 5993]. In addition, these patches correct
- mcload to use utf-8 encoding on when reading message catalog files,
- and provides for better default behavior for determining the locale on
- a Windows system.
-
-2000-07-17 Mo DeJong <mdejong@redhat.com>
-
- * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc before running
- AC_PROG_CC if CC is already set.
-
-2000-07-13 André Pönitz <poenitz@mathematik.tu-chemnitz.de>
-
- * doc/lappend.n:
- * doc/lindex.n:
- * doc/linsert.n:
- * doc/list.n:
- * doc/llength.n:
- * doc/lrange.n:
- * doc/lreplace.n:
- * doc/lsearch.n:
- * doc/lsort.n: Added SEE ALSO sections.
-
-2000-07-07 Mo DeJong <mdejong@redhat.com>
-
- * win/configure.in: Fix definition of TCL_SRC_DIR so that it matches
- the Unix version.
- * win/tclConfig.sh.in: Removed duplicate variables.
-
-2000-07-06 Eric Melski <ericm@scriptics.com>
-
- * tests/msgcat.test:
- * library/msgcat1.0/msgcat.tcl: Applied patch from Christian Krone, to
- provide extended args support for msgcat::unknown, which is used for
- strings without a known translation in the current locale [Bug: 5984].
-
-2000-06-29 Eric Melski <ericm@scriptics.com>
-
- * doc/msgcat.n: Doc's for mcmax function.
-
- * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent Duperval,
- to add mcmax function, which computes the length of the longest of
- several translated strings. Bumped version number to 1.1.
-
-2000-06-27 Eric Melski <ericm@scriptics.com>
-
- * tests/stringObj.test: Tweaked tests to avoid hardcoded high-ASCII
- characters (which will fail in multibyte locales); instead used \uXXXX
- syntax. [Bug: 3842].
-
-2000-06-26 Eric Melski <ericm@scriptics.com>
-
- * doc/package.n: Corrected information about [package forget]
- arguments [Bug: 5418].
-
-2000-06-23 Eric Melski <ericm@scriptics.com>
-
- * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in Tcl
- hash tables [RFE: 5934].
-
- * generic/tcl.h:
- * generic/tclHash.c: Applied patch from [RFE: 5934], which extends Tcl
- hash tables to allow Tcl_Obj *'s as the key.
-
-2000-06-20 Eric Melski <ericm@ajubasolutions.com>
-
- * tests/opt.test:
- * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which
- corrected an incorrect use of [string match].
-
- * unix/tclConfig.sh.in:
- * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a
- typo in the comments in these files.
-
-2000-06-19 Eric Melski <ericm@scriptics.com>
-
- * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with
- "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901].
-
-2000-06-13 Eric Melski <ericm@scriptics.com>
-
- * win/tcl.m4:
- * win/configure.in:
- * win/Makefile.in: Applied patch from [RFE: 5844], to extend support
- for mingw compile environment on Windows.
-
- * win/tclWinDde.c:
- * win/tclWinInit.c:
- * win/tclWinNotify.c:
- * win/tclWinPipe.c:
- * win/tclWinReg.c:
- * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix compiler
- warnings when using mingw on Windows.
-
-2000-05-31 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/set-old.test:
- * doc/unset.n:
- * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- options
- to unset, to allow for a silent unset operation.
-
-2000-05-31 Eric Melski <ericm@scriptics.com>
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and
- exact matching for [array names] command. [RFE: 3684].
-
- * doc/array.n: Added documentation for [array names
- -exact/-regexp/-glob] [RFE: 3684].
-
- * tests/set-old.test: Added tests for [array names
- -exact/-regexp/-glob] [RFE: 3684].
-
-2000-06-06 Jeff Hobbs <hobbs@scriptics.com>
-
- 8.4a1 RELEASE
-
- * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added test
- of iResult return from memcmp, as memcmp isn't required to return only
- -1,0,1.
-
-2000-06-03 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected caching
- of the index ptr to account for offsets != sizeof(char *). [Bug: 5153]
-
-2000-05-29 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * tests/http.test
- * doc/http.n
- * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful geturl
- calls sometimes leaked memory and resources (sockets). Also, switched
- around some of the logic so that http::wait never throws an exception.
- This is because in an asynchronous geturl, the command callback will
- probably end up doing all the error handling anyway, and in an
- asynchronous situation, the user expects to check the state when the
- transaction completes, as opposed to being thrown an exception. For
- the http package, this menas the user can check http::status for
- "error" and http::error for the error message after doing the
- http::wait.
-
-2000-05-27 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/info.test:
- * doc/info.n:
- * generic/tclIOUtil.c (Tcl_EvalFile):
- * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the info
- script return value [info script ?newFileName?]. This will be
- beneficial for virtual file system programs. [Bug: 4225]
-
-2000-05-26 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in
- Unicode, tweaked for performance.
- (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to
- something more understandable, reworked STR_FIRST, STR_LAST, STR_MAP,
- STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. Removed
- inneffectual STR_RANGE "special" ByteArray support. Optimized STR_MAP
- algorithm, especially optimized for one-pair case. Fixed possible mem
- overrun in STR_INDEX bytearray case.
-
- * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ,
- INST_STRNEQ -> INST_STR_NEQ
- * generic/tclCompile.c: added streq, strneq, strcmp, strlen &
- strmatch to the compiled stats instructionTable
- * generic/tclCompile.h: added instructions INST_STR_CMP,
- INST_STR_INDEX, INST_STR_MATCH
- * generic/tclCompCmds.c: added byte compiler support for [string
- compare|match|index].
- * generic/tclExecute.c: Changed INST_STR_(N)EQ to return an Int object
- and not bother trying to reuse the top stack object. Added
- INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. Extended
- evalstats output info with Tcl_IsShared stat info.
-
- * generic/tclInt.h:
- * generic/tclObj.c (Tcl_DbIsShared): added support for checking result
- of Tcl_IsShared in evalstats (TCL_COMPILE_STATS).
-
- * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code.
- (AppendUnicodeToUnicodeRep) removed overallocation by extra
- sizeof(Tcl_UniChar) multiplier.
-
- * tests/string.test: added string map tests for the one-pair case,
- corrected tests to reflect improved error messages in first/last.
- Added tests against mem overrun in string index bytearray case.
-
-2000-05-23 Eric Melski <ericm@scriptics.com>
-
- * generic/tclInt.h: Added function prototypes for TclCompileStringCmd
- and TclCompileReturnCmd.
-
- * generic/tclCompile.h: Added definition of INST_STRLEN opcode and
- updated LAST_INST_OPCODE value.
-
- * generic/tclBasic.c: Added information about TclCompileStringCmd and
- TclCompileReturnCmd to BuiltInCmds table.
-
- * generic/tclExecute.c (TclExecuteByteCode): Added support for the
- INST_STRLEN opcode.
-
- * generic/tclCompCmds.c (TclCompileStringCmd): Basic implementation of
- byte-compiled [string] command. Not all subcommands are implemented;
- those that are not an out-line compiled.
-
- (TclCompileReturnCmd): Byte-compiled implementation of [return]
- command. Only "simple" returns are byte-compiled; in particular, if
- the -code, -errorinfo or -errorcode flags are used, the command is not
- byte-compiled.
-
-2000-05-22 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/scan.n:
- * doc/array.n: minor doc fixes [Bug: 5396]
-
- * generic/tclEnv.c: cast cleanup [Bug: 5624]
- * win/tclWinConsole.c: cast and header cleanup [Bug: 5625]
- * win/tclWinSerial.c: cast cleanup [Bug: 5626]
- * win/tclWinFCmd.c: cast cleanup [Bug: 5627]
-
-2000-05-19 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclTest.c:
- * generic/tclIO.c: moved channel test commands from tclIO.c to
- tclTest.c.
- * generic/tclIO.h: new file, split out from tclIO.c to allow test
- commands to be moved to tclTest.c.
-
- * generic/tclStubInit.c:
- * generic/tclIntDecls.h:
- * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs
- table and added TclChannelEventScriptInvoker to the internal stubs
- table so it can be used from the test code.
-
-2000-05-18 Eric Melski <ericm@scriptics.com>
-
- * tests/clock.test: Added test for "2 days 2 hours ago" style
- specifications.
-
- * generic/tclDate.c: Regenerated from tclGetDate.y.
-
- * generic/tclGetDate.y: Tweaked grammar to properly handle the "ago"
- keyword when it follows multiple relative unit specifiers, as in "2
- days 2 hours ago". [Bug: 5497]
-
-2000-05-18 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw
- compile env and cross-compiling. [Bug: 5499]
-
- * generic/tclClock.c (FormatClock): correct code to handle locale
- specific return values from strftime, if any. [Bug: 3345]
-
- * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to correct
- setlocale calls for XIM support and locale issues. [BUG: 5422 3345
- 4236 2522 2521]
-
-2000-05-17 Jeff Hobbs <hobbs@scriptics.com>
-
- * library/init.tcl (auto_import): added check to see if a valid
- pattern was coming in, to avoid simple error cases [Bug: 3326]
-
- * doc/regsub.n: correct regsub docs [Bug: 5346]
-
-2000-05-15 Eric Melski <ericm@scriptics.com>
-
- * library/history.tcl: Corrected an off-by-one error in HistIndex,
- which was causing [history redo] to start its search at the wrong
- event index. [Bug: 1269].
-
-2000-05-10 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for Linux
- on Sparc to compile correctly. [Bug: 5364]
-
- * doc/namespace.n:
- * tests/namespace.test:
- * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace exists'
- command. [Bug: 4665]
-
- * doc/source.n:
- * doc/Eval.3:
- * tests/source.test:
- * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) eofchar
- (affects Tcl_EvalFile in C, "source" in Tcl). This was implicit on
- Windows already, and is now cross-platform to allow for scripted
- documents.
-
-2000-05-09 Andreas Kupries <a.kupries@westend.com>
- operating as proxy for David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing
- initialization of joinLock.
-
-2000-05-09 Eric Melski <ericm@scriptics.com>
-
- * tests/lsearch.test:
- * doc/lsearch.n:
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to
- support sorted list searching and typed list searching. [RFE: 4098].
-
-2000-05-08 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/expr.n:
- * tests/expr.test:
- * tests/expr-old.test: added tests for 'eq' and 'ne'
- * generic/tclExecute.c:
- * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes that
- do strict string comparisons.
- * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison
- operators.
- * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr parse
- terms (string (in)equality check).
-
- * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of
- Tcl_DuplicateObj where code was otherwise duplicated. Made special
- case of inserting one element at the end work again (where index ==
- len).
- (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and cleaned
- up use of other arguments.
-
- * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call
- TclInitStringRep, which the code was just duplicating in part.
-
- * doc/Utf.3:
- * generic/tclStubInit.c:
- * generic/tcl.decls:
- * generic/tclDecls.h:
- * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and
- Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch)
- * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for
- optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch
- * tests/string.test: extended string match tests
-
-2000-05-08 Eric Melski <ericm@scriptics.com>
-
- * tests/set-old.test:
- * doc/array.n:
- * generic/tclVar.c: Added [array statistics] command [RFE: 4557]
-
-2000-05-06 Andreas Kupries <a.kupries@westend.com>
- operating as proxy for David Gravereaux <davygrvy@pobox.com>
-
- * tclThreadJoin.c: Fixed several places with missing a & in arguments
- to calls of Tcl_Mutex(Un)lock and Tcl_ConditionNotify functions.
-
-2000-05-02 Jeff Hobbs <hobbs@scriptics.com>
-
- * README:
- * generic/tcl.h:
- * library/init.tcl:
- * library/reg1.0/pkgIndex.tcl:
- * library/tcltest1.0/tcltest.tcl:
- * mac/README:
- * tools/tcl.hpj.in:
- * tools/tcl.wse.in:
- * unix/README:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README:
- * win/README.binary:
- * win/configure.in:
- * win/makefile.vc:
- * win/tcl.m4: updated patchlevel to 8.4a1
-
- * tests/compile.test:
- * tests/init.test:
- * tests/proc.test:
- * tests/proc-old.test:
- * tests/rename.test:
- * generic/tclProc.c: reworked error return for procedures with
- incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong #
- args: ..." message is printed out with the args list.
-
- * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target
-
-2000-05-02 Andreas Kupries <a.kupries@westend.com>
-
- Overall changes:
- (1) Implementation of joinable threads for all platforms.
- (2) Additional API's for channels. Required to allow the thread
- extension to move channels between threads.
-
- * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread,
- Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel,
- Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers
- (slots 394 to 400).
-
- * generic/tclIO.c: Implemented Tcl_IsChannelRegistered,
- Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
- Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel
- uses code from CloseChannel. Replaced this code by a call to
- Tcl_CutChannel. Replaced several code fragments adding channels to
- the channel list with calls to Tcl_SpliceChannel. Removed now unused
- variables from CloseChannel and Tcl_UnstackChannel.
- Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code
- by a call to Tcl_ClearChannelHandlers. Removed now unused variables
- from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and
- 'isshared' to the test code (TclTestChannelCmd).
-
- * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the
- pthread-functionality.
-
- * win/tclWinThrd.c: Fixed several small typos in comments.
- Implemented Tcl_JoinThread using a platform independent emulation
- layer (see generic/tclThreadJoin.c below). Added 'joinLock' to
- serialize Tcl_CreateThread and TclpExitThread to prevent a race for
- joinable threads.
-
- * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform
- independent emulation layer (see generic/tclThreadJoin.c below). Due
- to the cooperative nature of threading on this platform the race
- mentioned above is not present.
-
- * generic/tclThreadJoin.c: New file. Contains a platform independent
- emulation layer helping in the implementation of joinable threads for
- the win and mac platforms.
-
- * generic/tclInt.h: Added declarations for TclJoinThread,
- TclRememberJoinableThread and TclSignalExitThread. These procedures
- define the API of the emulation layer for joinable threads (see
- generic/tclThreadJoin.c above).
-
- * win/Makefile.in:
- * win/makefile.vc: Added generic/tclTheadJoin.o to the rules.
-
- * mac/: I don't know to which file generic/tclTheadJoin.o has to be
- added to so that it compiles. Sorry.
-
- * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels
- as it prevents us from transfering channels. To restore this we may
- need an extended interface to drivers in the future. Target:
- 9.0. Found while testing the new transfer of channels. The information
- in this list for a channel was left behind and then crashed the system
- during finalization.
-
- * generic/tclThreadTest.c: Added -joinable flag to 'testthread
- create'. Added subcommand 'testthread join'.
-
- * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered,
- Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
- Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
-
- * doc/Thread.3: Added documentation for Tcl_JoinThread.
-
- * tests/thread.test: Added tests for joining of threads.
-
-2000-04-27 Eric Melski <ericm@scriptics.com>
-
- * doc/library.n: Added entries for auto_qualify and auto_import
- [Bug: 1271].
-
- * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820].
-
- * doc/expr.n: Added documentation for each of the math library
- functions that expr supports [Bug: 1054].
-
-2000-04-26 Eric Melski <ericm@scriptics.com>
-
- * doc/memory.n: Man page for Tcl "memory" command, which is created
- when TCL_MEM_DEBUG is defined at compile time.
-
- * doc/TCL_MEM_DEBUG.3: Man page with overall information about
- TCL_MEM_DEBUG usage.
-
- * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory,
- Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835].
-
- * generic/tclCkalloc.c: Fixed some function headers.
-
- * unix/mkLinks: Regen'd with new mkLinks.tcl.
-
- * unix/mkLinks.tcl: Fixed indentation, made link setup more
- intelligent (only do one existance test per man page, instead of one
- per function).
-
- * doc/library.n: Fixed .SH NAME macro to include each function
- documented on the page, so that mkLinks will know about the functions
- listed there, and so that the Windows help file index will get set up
- correctly [Bug: 1898, 5273].
-
-2000-04-26 Jeff Hobbs <hobbs@scriptics.com>
-
- 8.3.1 RELEASE
-
- * README:
- * mac/README:
- * tools/tcl.wse.in:
- * unix/README:
- * unix/tcl.spec:
- * win/README:
- * win/README.binary: Updating URLs to reference dev.scriptics.com
-
-2000-04-25 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: updated for http change and some cleanup
- * library/http2.[13]: moved dir http2.1 to http2.3 to match version
-
- * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex
-
- * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER
- [Bug: 5254]
-
- * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result
-
-2000-04-25 Eric Melski <ericm@scriptics.com>
-
- * unix/mkLinks:
- * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo
- [Bug: 1818].
-
-2000-04-24 Eric Melski <ericm@scriptics.com>
-
- * unix/mkLinks:
- * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834].
-
- * unix/mkLinks:
- * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833].
-
- * unix/mkLinks:
- * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828].
-
-2000-04-24 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc):
- added write of 'q' into triggerPipe for notifier in threaded case, so
- that Tcl doesn't hang when children are still running [Bug: 4139]
-
- * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes.
-
-2000-04-23 Jim Ingham <jingham@cygnus.com>
-
- These changes make some error handling marginally better for Mac
- sockets. It is still somewhat flakey, however.
-
- * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these don't
- seem to be honored, however. Use a separate PB for the release, since
- an async connect socket will still be using the original buffer. Make
- sure TCPRelease returns noErr before freeing the recvBuff. If the call
- returns an error, then the buffer is not right.
- * mac/tclMacSock.c (CreateSocket): Add timeouts to the async create.
- These don't seem to trigger, however. Sigh...
- * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT
- socket errors out, then return EWOULDBLOCK & error out.
- * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for
- experimenting with MacTCP.
-
-2000-04-22 Jim Ingham <jingham@cygnus.com>
-
- * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package
- search part of tclPkgUnknown.
-
-2000-04-21 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: Fixed a newly introduced bug where if
- there's a -command callback and something goes wrong, geturl threw an
- exception, called the callback, and unset the token. I changed it so
- that it will not call the callback when throwing an exception (so the
- caller only finds out about a given error from one place). Also,
- fixed http::ncode so that it actually gives you back the http return
- code (i.e. 200, 404, etc.) instead of the first digit of the version
- of HTTP being used (i.e. 1).
-
-2000-04-21 Brent Welch <welch@scriptics.com>
-
- * library/http2.1/http.tcl: More thrashing with the "server closes
- without reading post data" scenario. Reverted to the previous filevent
- configuratiuon, which seems to work better with small amounts of post
- data.
-
-2000-04-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix
- * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of
- USE_TCLALLOC on Unix. [Bug: 4731]
-
-2000-04-19 Jeff Hobbs <hobbs@scriptics.com>
-
- * library/dde1.1/pkgIndex.tcl:
- * library/reg1.0/pkgIndex.tcl:
- * win/tclWinChan.c:
- * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were
- not converted, as it confuses hcw locally. [Bug: 5096]
-
- * win/Makefile.in: expanded cleanup target for help files
-
- * doc/Thread.3: minor macro cleanup
-
- * generic/tclFileName.c (SplitUnixPath): added support for QNX node
- ids.
-
-2000-04-18 Jeff Hobbs <hobbs@scriptics.com>
-
- * README:
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * win/README.binary: bumped version to 8.3.1
-
- * win/tcl.hpj.in: updated copyright date
-
- * generic/tclEnv.c: environment support for Mac OS/X
- * unix/tclUnixPort.h: environment support for Mac OS/X
- * unix/tclLoadDyld.c: new file for Mac OS/X dl functions
- * unix/Makefile.in: added install-strip target; bindir, libdir,
- mandir, includedir vars; tclLoadDyld.c target [Bug: 2527]
-
- * unix/tclUnixChan.c (CreateSocket): force a socket back into blocking
- mode (default state) after a -async connect succeeds. [Bug: 4388]
-
- * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to
- thread-local storage to prevent thread-related race condition.
- [Bug: 5033]
- * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the
- library path as it was unnecessary and conflicts with move of
- tclLibraryPath to thread-local storage.
-
-2000-04-18 Scott Redman <redman@scriptics.com>
-
- * win/Makefile.in:
- * win/tcl.rc:
- * win/tclsh.rc:
- * win/tclsh.ico: Modified copyright dates in Windows resource files.
- Added an icon for tclsh.exe.
-
-2000-04-17 Brent Welch <welch@scriptics.com>
-
- * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c,
- * win/tclWinThread.c, mac/tclMacThread.c: Added Tcl_CreateThreadType
- and TCL_RETURN_THREAD_TYPE macros for declaring the NewThread callback
- proc.
-
-2000-04-14 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space
- parity on platforms that support it [Bug: 5089]
-
- * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor to
- not conflict with global decl on some systems [Bug: 2882]
-
- * doc/AppInit.3:
- * doc/Async.3:
- * doc/BackgdErr.3:
- * doc/CrtChannel.3:
- * doc/CrtInterp.3:
- * doc/CrtMathFnc.3:
- * doc/DString.3:
- * doc/Eval.3:
- * doc/ExprLong.3:
- * doc/GetInt.3:
- * doc/GetOpnFl.3:
- * doc/Interp.3:
- * doc/LinkVar.3:
- * doc/OpenFileChnl.3:
- * doc/OpenTcp.3:
- * doc/PkgRequire.3:
- * doc/RecordEval.3:
- * doc/SetResult.3:
- * doc/SplitList.3:
- * doc/StaticPkg.3:
- * doc/TraceVar.3:
- * doc/Translate.3:
- * doc/UpVar.3:
- * doc/load.n: removed or updated references to interp->result use.
-
-2000-04-13 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/regexp.n: doc clarification [Bug: 5037]
- * doc/update.n: typo fix [Bug: 4996]
-
- * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of
- pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added
- --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995]
-
-2000-04-12 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/dde.n: corrected dde poke docs. [Bug: 4991]
-
-2000-04-11 Eric Melski <ericm@scriptics.com>
-
- * win/tclWinPipe.c: Added "CONST" keyword to declaration of char
- *native in TclpCreateTempFile, to supress compiler warnings.
-
-2000-04-10 Brent Welch <welch@scriptics.com>
-
- * generic/tcl.h: Fixed Tcl_CreateThread declaration.
- * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread"
- initialization to work with either testthread or the thread extension
- * unix/tclUnixThrd.c: Fixed compiler warning when compiling with
- -DTCL_THREADS
-
-2000-04-10 Eric Melski <ericm@scriptics.com>
-
- * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of contents
- string from UTF to native encoding [Bug: 4030].
-
- * tests/regexp.test: Added tests for infinite looping in [regexp
- -all].
-
- * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all]
- [Bug: 4981].
-
- * tests/*.test: Changed all occurances of "namespace import
- ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
-
-2000-04-09 Brent Welch <welch@scriptics.com>
-
- * lib/httpd2.1/http.tcl: Worked on the "server closes before reading
- post data" case, which unfortunately causes different error cases on
- Solaris, which can read the reply, and Linux and Windows, which cannot
- read anything. This is all in the loop-back case - client and server
- on the same host. Also unified the error handling so the "ioerror"
- status goes away and errors are reflected in a more uniform way.
- Updated the man page to document the behavior.
-
-2000-04-09 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/reg.test (matchexpected): corrected tests to use tcltest
- constraint types to skip certain tests.
-
- * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix
-
- * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef
- inside of func as it is declared for non-threads builds as well. In
- the non-threads case, it always returns TCL_ERROR (couldn't create
- thread).
-
-2000-04-08 Andreas Kupries <a.kupries@westend.com>
-
- * Overall change: Definition of a public API for the creation of
- new threads.
-
- * generic/tclInt.h (line 1802f): Removed the definition of
- 'TclpThreadCreate'. (line 793f) Removed the definition of
- 'Tcl_ThreadCreateProc'.
-
- * generic/tcl.h (line 388f): Readded the definition of
- 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux
- <davygrvy@bigfoot.com> to that too (__stdcall, ...). Added macros for
- the default stacksize and allowed flags.
-
- * generic/tcl.decls (line 1356f): Added definition of
- 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in
- the public API, for stacksize and flags.
-
- * win/tclWinThrd.c:
- * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread,
- added handling of the stacksize. Flags are currently ignored.
-
- * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores
- the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is
- not defined.
-
- * generic/tclThreadTest.c (line 363): See below.
-
- * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses
- default stacksize and no flags now.
-
- * unic/tcl.m4 (line 382f): Added a check for
- 'pthread_attr_setstacksize' to detect platforms not implementing this
- feature of pthreads. If it is implemented, configure will define the
- macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too).
-
- * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list
- of described functions. Removed stuff about not providing a public
- C-API for thread-creation.
-
-2000-04-07 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/binary.n: clarified docs on sign extension in binary scan [Bug:
- 3466]
-
- * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s
- references (no longer supported)
-
- * tests/fCmd.test: marked test 8.1 knownBug because it is dangerous on
- poorly configured systems [Bug: 3881] and added 8.2 to keep essence of
- 8.1 tested.
-
-2000-04-05 Andreas Kupries <a.kupries@westend.com>
-
- * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest
- mask to the correct value after an unstack and re-initialization of
- the notifier via the watchProc. Without this the first fileevent after
- an unstack will come through and be processed, but no more. [Bug: ??].
-
-2000-03-04 Brent Welch <welch@scriptics.com>
-
- * {win,unix}/Makefile.in: added dependency of tclStubInit.c on
- tcl.decls and tclInt.decls
- * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS
- * generic/{tcl.decls,tclStubInit.c}: Just touched the tcl.decls and
- regenerated the tclStubInit.c file
-
-2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: For the -querychannel option, fconfigure
- the socket to be binary so that we don't translate anything while
- reading the data. This is because we determine the content length of
- the data on the channel by using seek (to the end of the file) and
- tell on the file handle, and we need the content-length to match the
- amount of data actually sent, and translation can affect the number of
- bytes posted.
-
-2000-04-03 Andreas Kupries <a.kupries@westend.com>
-
- * Overall change: Definition of public API's for the finalization of
- conditions and mutexes. [Bug: 4199].
-
- * generic/tclInt.h: Removed definitions of TclFinalizeMutex and
- TclFinalizeCondition.
-
- * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and
- Tcl_ConditionFinalize.
-
- * generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize.
- Renamed TclFinalizeCondition to Tcl_ConditionFinalize.
-
- * generic/tclNotify.c: Changed usage of TclFinalizeMutex to
- Tcl_MutexFinalize.
-
- * unix/tclUnixNotfy.c:
- * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to
- Tcl_ConditionFinalize.
-
- * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and
- Tcl_ConditionFinalize, to be used when the core is compiled without
- threads.
-
- * doc/Thread.3: Added description the new API's.
-
-2000-04-03 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr to
- prevent itcl info override crash [Bug: 4064]
-
- * tests/foreach.test:
- * tests/namespace.test:
- * tests/var.test: Added lsorts to avoid random sorted return
- problems. [Bug: 2682]
-
- * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482]
-
- * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156]
- improved translation to winhelp [Bug: 3679]
-
- * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir
- correctly [Bug: 4085]
-
- * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293]
-
-2000-04-03 Eric Melski <ericm@scriptics.com>
-
- * unix/tclUnixFCmd.c (SetGroupAttribute):
- * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t)
- casts to avoid compiler warnings.
-
-2000-03-31 Eric Melski <ericm@scriptics.com>
-
- * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to
- error test (previously only errno was checked, but the return value of
- strtod() should be checked as well). [Bug: 4118]
-
- * tests/exec.test: Added test for proper conversion of UTF data when
- used with "<< $dataWithUTF" on exec's.
-
- * unix/tclUnixPipe.c (TclpCreateTempFile): Added
- Tcl_UtfToExternalDString call, so that if there is UTF content in the
- string it will be properly converted to the system encoding before
- being written [Bug: 4030].
- (TclpCreateTempFile): Added a check on the return value of tmpnam;
- some systems (Linux, for example) will start to return NULL after
- tmpnam has been called TMP_MAX times; not checking for this can have
- bad results (overwriting temp files, core dumps, etc.)
-
-2000-03-30 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments
- noting the need to pair ckalloc with ckfree. [Bug: 4262]
-
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s
- support).
-
- * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting
- info again
-
- * win/tclWinPort.h:
- * win/Makefile.in:
- * win/configure.in:
- * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
-
-2000-03-29 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup
- more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by
- tbcload), to correctly clean them up.
-
- * generic/tclClock.c (FormatClock): moved check for empty format
- earlier, commented 0 result return value
-
-2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: Removed an unnecessary fileevent statement
- from the error processing part of the Write method. Also, fixed two
- potential memory leaks in wait and reset, in which the state array
- wasn't being unset before throwing an exception. Prior to this
- version, Brent checked in a fix to catch a fileevent statement that
- was sometimes causing a stack trace when geturl was called with
- -timeout. I believe Brent's fix is necessary because TLS closes bad
- sockets for secure connections, and the fileevent was trying to act on
- a socket that no longer existed.
-
-2000-03-27 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"'
-
- * tests/namespace.test:
- * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the
- export list so only one instance of each export pattern would exist in
- the list.
-
- * generic/tclExecute.c (TclExecuteByteCode): optimized case for the
- empty string in ==/!= comparisons
-
-2000-03-27 Eric Melski <ericm@scriptics.com>
-
- * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call [Bug:
- 4409].
-
- * unix/tclLoadAout.c:
- * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug:
- 4410].
-
-2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: Fixed a bug where string query data that
- was bigger than queryblocksize would get duplicate characters at block
- boundaries.
-
-2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: Fixed bug 4463, where we were getting a
- stack trace if we tried to publish a project to a good host but a port
- where there was no server listening. It turned out the problem was a
- stray fileevent that needed to be cleared. Also, fixed a bug where
- http::code could stack trace if called on a bad token (one which
- didn't represent a successful geturl) by adding an http element to the
- state array in geturl.
-
-2000-03-21 Eric Melski <ericm@scriptics.com>
-
- * tests/clock.test: Modified some tests that were not robust with
- respect to the time zone in which they were run and were thus failing.
-
- * doc/clock.n: Clarified meaning of -gmt with respect to -base when
- used with [clock scan] (-gmt does not affect the interpretation of
- -base).
-
-2000-03-19 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: geturl used to throw an exception when the
- connection failed; I accidentally returned a token with the error
- info, breaking backwards compatibility. I changed it back to throwing
- an exception, but unsetting the state array first (thus still
- eliminating the original memory leak problem).
-
-2000-03-19 Sandeep Tamhankar <sandeep@scriptics.com>
-
- * library/http2.1/http.tcl: Added -querychannel option and altered
- some of Brent's modifications to allow asynchronous posts (via
- -command). Also modified -queryprogress so that it calls the query
- callback as <callback> <token> <total size> <current size> to be
- consistent with -progress. Added -queryblocksize option with default
- 8192 bytes for post blocksize. Fixed a bunch of potential memory leaks
- for the case when geturl receives bad args or can't open a socket,
- etc. Overall, the package really rocks now.
-
- * doc/http.n: Added -queryblocksize, -querychannel, and
- -queryprogress. Also, changed the description of -blocksize, which
- states that the -progress callback will be called for each block, to
- now qualify that with an "if -progress is specified".
-
- * tests/http.test: Added a querychannel test for synchronous and
- asynchronous posts, altered the queryprogress test such that the
- callback conforms to the -progress format. Also, had to use the
- -queryblocksize option to do the post 16K at a time to match Brent's
- expected results (and to test that -queryblocksize works).
-
-2000-03-15 Brent Welch <welch@scriptics.com>
-
- * library/http2.1/http.tcl: Added -queryprogress callback to
- http::geturl and also changed it so that writing the post data is
- event driven if the queryprogress callback or a timeout is given.
- This allows a timeout to occur when writing lots of post data. The
- queryprogress callback is called after each block of query data is
- posted. It has the same signature as the -progress callback.
-
-2000-03-06 Eric Melski <ericm@scriptics.com>
-
- * library/package.tcl: Applied patch from Bug: 2570; rather than
- setting geometry of slave interp to 0x0 when Tk was loaded, it now
- does "wm withdraw .". Both remove the main window from the display,
- but the former caused some internal structures to get initialized to
- zero, which caused crashes with some extensions.
-
-2000-03-02 Jeff Hobbs <hobbs@scriptics.com>
-
- * library/package.tcl (tclPkgUnknown): extended to allow recognizes
- changes in the auto_path while sourcing in other pkgIndex.tcl files
-
- * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable
- [Bug: 4275]
-
- * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch from
- Newman to significantly speedup file split/join on Windows (replaces
- regexp with custom parser). [Bug: 2867]
-
- * win/README.binary: change mailing lists from @consortium.org to
- @scriptics.com [Bug: 4173]
-
-2000-02-28 Eric Melski <ericm@scriptics.com>
-
- * tests/clock.test: Added test for ISO bases < 100000
-
- * generic/tclDate.c: (generated on Solaris)
- * generic/tclGetDate.y: Changed condition for deciding if a number is
- an ISO 8601 base from number >= 100000 to numberOfDigits >= 6.
- Previously it would fail to recognize 000000 as an ISO base.
-
-2000-02-14 Eric Melski <ericm@scriptics.com>
-
- * unix/Makefile.in: Added rpm target to generate Tcl binary RPM.
-
- * unix/tcl.spec: RPM specification file for a Tcl binary RPM for
- Linux.
-
-2000-02-10 Jeff Hobbs <hobbs@scriptics.com>
-
- 8.3.0 RELEASE
-
- * changes: updated for 8.3.0 release
-
- * doc/load.n: added notes about dll load errors on Windows
-
- * unix/README:
- * unix/Makefile.in (dist): removed porting.notes and porting.old from
- distribution and CVS. The information was very outdated. Now refer to
- http://dev.scriptics.com/services/support/platforms.html
-
- * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549]
-
- * unix/configure.in:
- * unix/tcl.m4: correct CFLAG_WARNING setting, fixed gcc config for
- AIX, added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998]
-
- * win/tclWinLoad.c (TclpLoadFile): improved error message for load
- failures, could perhaps be even more intelligent.
-
-2000-02-09 Jim Ingham <jingham@cygnus.com>
-
- * mac/tclMacSock.c: Don't panic when you get an error closing an async
- socket. This doesn't seem to hurt anything, and we return the error so
- the caller can do the right thing.
-
- New Files:
- * mac/MW_TclHeader.h:
- * mac/MW_TclTestHeader.h:
- * mac/MW_TclTestHeader.pch:
- * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix
- files in the preference panels...
-
- The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au)
-
-2000-02-08 Eric Melski <ericm@scriptics.com>
-
- * tests/clock.test: Added tests for "next monthname" constructs.
- * generic/tclDate.c:
- * generic/tclGetDate.y (Message): Added a grammar rule for "next
- monthname" so that we can handle "next january" and similar constructs
- (bug #4146).
-
-2000-02-08 Jeff Hobbs <hobbs@scriptics.com>
-
- * README:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * win/configure.in:
- * win/README:
- * win/README.binary:
- * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel
-
- * doc/library.n:
- * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122]
-
- * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory
- list to allow dirnames with spaces
-
- * unix/tcl.m4: changed all -fpic to -fPIC
-
- * generic/tclDecls.h:
- * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int
- forWriting' instead of 'int write' to avoid shadowing [Bug: 4121]
-
- * tests/httpold.test: changed test script to source in the httpd
- server procs from httpd instead of having its own set.
-
- * tests/httpd: improved query support in test httpd to handle fix in
- http.tcl. [Bug: 4089 change 2000-02-01]
-
- * unix/README: fixed notes about --enable-shared and add note about
- --disable-shared.
-
-2000-02-07 Eric Melski <ericm@scriptics.com>
-
- * tests/package.test:
- * library/tclIndex:
- * library/package.tcl: Renamed ::package namespace to ::pkg.
-
-2000-02-03 Eric Melski <ericm@scriptics.com>
-
- * doc/Package.n:
- * doc/packagens.n: Renamed Package.n -> packagens.n because Windows
- can't deal with case-sensitive names.
-
-2000-02-02 Jeff Hobbs <hobbs@scriptics.com>
-
- * tests/regexp.test: added tests for -all and -inline switches
- * doc/regexp.n: added docs for -all and -inline switches
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for new
- -all and -inline switches to regexp command
-
-2000-02-01 Eric Melski <ericm@scriptics.com>
-
- * library/init.tcl: Applied patch from rfe 1734 regarding auto_load
- errors not setting error message and errorInfo properly.
-
-2000-02-01 Jeff Hobbs <hobbs@scriptics.com>
-
- * win/Makefile.in (install-*): reduced verbosity of install
-
- * generic/tclFileName.c (Tcl_JoinPath): improved support for special
- QNX node id prefixes in pathnames [Bug: 4053]
-
- * library/http1.0/http.tcl:
- * library/http2.1/http.tcl: The query data POSTed was newline
- terminated when it shouldn't be altered [Bug: 4089]
-
-2000-01-31 Eric Melski <ericm@scriptics.com>
-
- * tests/package.test:
- * library/tclIndex:
- * library/package.tcl: Added ::package namespace and ::package::create
- function.
-
- * library/init.tcl: Fixed problem with auto_load and determining if
- commands were loaded.
-
- * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed.
-
- * doc/Package.n: New man page for package::create function.
-
- * doc/pkgMkIndex.n: Added additional information.
-
- * doc/library.n: Added additional qualification regarding auto_mkindex.
-
-2000-01-28 Eric Melski <ericm@scriptics.com>
-
- * tests/pkg/magicchar2.tcl:
- * tests/autoMkindex.test: Test for auto loader fix (bug #2480).
-
- * library/init.tcl: auto_load was using [info commands $name] to
- determine if a given command was available; if the command name had *
- or [] it, this would fail because info commands uses glob-style
- matching. This is fixed. (Bug #2480).
-
- * tests/pkg/spacename.tcl:
- * tests/pkgMkIndex.test: Tests for fix for bug #2360.
-
- * library/package.tcl: Fixed to extract only the first element of the
- list returned by auto_qualify (bug #2360).
-
- * tests/pkg/magicchar.tcl:
- * tests/autoMkindex.test: Test for fix for bug #2611.
-
- * library/auto.tcl: Fixed the regular expression that performs $
- escaping before sourcing a file to index. It was erroneously adding \
- escapes even to $'s that were already escaped, effectively
- "un-escaping" those $'s. (bug #2611).
-
-2000-01-27 Eric Melski <ericm@scriptics.com>
-
- * tests/autoMkindex.test:
- * library/auto.tcl: Applied patch (with slight modification) from bug
- #2701: auto_mkIndex uses platform dependent file paths. Added test for
- fix.
-
-2000-01-27 Jennifer Hom <jenn@scriptics.com>
-
- * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to
- normalizePath and exported it as a public proc. This proc creates an
- absolute path given the name of the variable containing the path to
- modify. The path is modified in place.
- * library/tcltest1.0/pkgIndex.tcl: Added normalizePath.
- * tests/all.tcl: Changed code to use normalizePath.
-
-2000-01-27 Eric Melski <ericm@scriptics.com>
-
- * tests/pkg/samename.tcl: test file for bug #1983
-
- * tests/pkgMkIndex.test:
- * doc/pkgMkIndex.n:
- * library/package.tcl: Per rfe #4097, optimized creation of direct
- load packages to bypass computing the list of commands added by the
- new package. Also made direct loading the default, and added a -lazy
- option.
- Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling
- situations with two procs by the same name but in different namespaces
- (ie, foo::baz and bar::baz).
-
-2000-01-26 Eric Melski <ericm@scriptics.com>
-
- * generic/tclNamesp.c: Undid fix for #956, which broke backwards
- compatibility.
-
- * doc/variable.n:
- * doc/trace.n:
- * doc/namespace.n:
- * doc/info.n: Added further information about differences between
- "namespace which" and "info exists".
-
- * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg()
- functions.
-
-2000-01-25 Jeff Hobbs <hobbs@scriptics.com>
-
- * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for OSF1-V*
- and ULTRIX-4.* when not using gcc. Also added higher min stack size
- for OSF1-V* when building with threads. [Bug: 4063]
-
- * generic/tclClock.c (FormatClock): inlined resultPtr, as it
- conflicted with var creation for HAVE_TZSET #def [Bug: 4063]
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak when
- calling lsort -command with bad command [Bug: 4067]
-
- * generic/tclFileName.c (Tcl_JoinPath): added support for special QNX
- node id prefixes in pathnames [Bug: 4053]
-
- * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080]
-
- * doc/glob.n: clarified Mac path separator determination docs.
-
- * win/makefile.vc: added some support for building helpfile on Windows
-
-2000-01-23 Jeff Hobbs <hobbs@scriptics.com>
-
- * library/init.tcl (auto_execok): added 'start' to list of recognized
- built-in commands for COMSPEC on NT. [Bug: 2858]
-
- * unix/tclUnixPort.h: moved include of <utime.h> lower since some
- systems (UTS) require sys/types.h to be included first [Bug: 4031]
-
- * unix/tclUnixChan.c (CreateSocketAddress): changed comparison with -1
- to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit systems.
- [Bug: 3878]
-
- * generic/tclFileName.c: improved guessing of path separator for the
- Mac. (Darley)
-
- * generic/tclInt.h:
- * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827]
- and removed 'register' from stub definition of
- Tcl_AppendUnicodeToObj [Bug: 4038]
-
-2000-01-21 Eric Melski <ericm@scriptics.com>
-
- * unix/mkLinks:
- * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817).
-
- * doc/lreplace.n: Corrected man page with respect to treatment of
- empty lists, and "prettied up" the page. (bug #1705).
-
-2000-01-20 Eric Melski <ericm@scriptics.com>
-
- * tests/namespace.test: Added test for undefined variables with
- namespace which (bug #956).
-
- * generic/tclNamesp.c: Added check for undefined variables in
- NamespaceWhichCmd (bug #956).
-
- * tests/var.test: Added tests for corrected variable behavior (bug
- #981).
-
- * doc/upvar.n: Expanded explanation of upvar behavior with respect to
- variable traces. (bugs 3917 1433 2110).
-
- * generic/tclVar.c: Changed behavior of variable command when name
- refers to an element in an array (ie, "variable foo(x)") to always
- return an error, regardless of existance of that element in the array
- (now behavior is consistant with docs too) (bug #981).
-
-2000-01-20 Jeff Hobbs <hobbs@scriptics.com>
-
- * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a string
- if the body has been bytecompiled.
- * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for
- originating proc body of bytecompiled code, #def'd out as the change
- for [info body] should make it unnecessary
-
- * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr
-
- * tests/set.test: added test for complex array elem name compiling
- * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array
- elements during compiling, and slightly optimised same [Bug: 3889]
-
- * doc/tclvars.n: added definitions for tcl_(non)wordchars
-
- * doc/vwait.n: added notes about requirement for vwait var being
- globally scoped [Bug: 3329]
-
- * library/word.tcl: changed tcl_(non)wordchars settings to use new
- unicode regexp char class escapes instead of char sequences
-
-2000-01-14 Eric Melski <ericm@scriptics.com>
-
- * tests/var.test: Added a test for the array multiple delete
- protection in Tcl_UnsetVar2.
-
- * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against attempts
- to multiply delete arrays when unsetting them (bug #3453). This could
- happen if there was an unset trace on an array element and the trace
- proc made a global or upvar link to the array, and then the array was
- unset at the global level. See the bug reference for more information.
-
- * unix/tclUnixTime.c: New clock format format.
-
- * compat/strftime.c: New clock format format.
-
- * generic/tclGetDate.y: New clock scan format.
-
-2000-01-13 Jeff Hobbs <hobbs@scriptics.com>
-
- * changes: updated changes file to reflect 8.3b2 mods
-
- * README:
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.m4:
- * win/README.binary:
- * win/configure.in: updated to patchlevel 8.3b2
-
- * generic/regexec.c: added var initialization to prevent compiler
- warning
-
-2000-01-13 Eric Melski <ericm@scriptics.com>
-
- * tests/cmdIL.test: Added tests for lsort -dictionary with characters
- that occur between Z and a in ASCII.
-
- * generic/tclCmdIL.c: Modified DictionaryCompare function (used by
- lsort -dictionary) to do upper/lower case equivalency before doing
- character comparisons, instead of after. This fixes bug #1357, in
- which lsort -dictionary [list ` AA c CC] and lsort -dictionary [list
- AA c ` CC] gave different (and both wrong) results.
-
-2000-01-12 Eric Melski <ericm@scriptics.com>
-
- * tests/clock.test: Added tests for "next <day-of-week>" and
- "<day-of-week>"
- Added tests for "monday 1 week ago", etc, from RFE #3671.
-
- * doc/tests/clock.test: Added numerous tests for clock scan.
-
- * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in clock
- grammar.
-
- * doc/doc/clock.n: Added documentation for new supported clock scan
- formats and additional explanation of daylight savings time correction
- algorithm.
-
-2000-01-12 Jeff Hobbs <hobbs@scriptics.com>
-
- * doc/file.n:
- * tests/unixFCmd.test:
- * unix/tclUnixFCmd.c: added support for symbolic permissions setting
- in SetPermissionsAttribute (file attr $file -perm ...) [Bug: 3970]
-
- * generic/tclClock.c: fixed support for 64bit handling of clock values
- [Bug: 1806]
-
- * generic/tclThreadTest.c: upped a buffer size to hold double
-
- * tests/info.test:
- * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong)
-
- * generic/tclNamesp.c: made imported commands also import their
- compile proc [Bug: 2100]
-
- * tests/expr.test:
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] and
- added tests to prevent unnecessary chmod +x in sources while
- installing, as well as more intelligent setsockopt/gethostbyname
- checks [Bug: 3366, 3389]
-
- * unix/tclUnixThrd.c: added compile time support (through use of the
- TCL_THREAD_STACK_MIN define) for increasing the default stack size for
- a thread. [Bug: 3797, 1966]
-
-2000-01-11 Eric Melski <ericm@scriptics.com>
-
- * generic/tclGetDate.y: Added comments for the Convert function. Added
- a fix for daylight savings time handling for relative time spans of
- days, weeks or fortnights. (bug 3441, 3868).
-
- * generic/tclDate.c: Fixed compiler warning issues.
-
-2000-01-10 Jeff Hobbs <hobbs@scriptics.com>
-
- * compat/waitpid.c: use pid_t type instead of int [Bug: 3999]
-
- * tests/utf.test: fixed test that allowed \8 as octal value
- * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow non-octal
- digits (8,9) in \ooo substs. [Bug: 3975]
-
- * generic/tcl.h: noted need to change win/tcl.m4 and
- tools/tclSplash.bmp for minor version changes
-
- * library/http2.1/http.tcl: trim value for $state(meta) key
-
- * unix/tclUnixFile.c: fixed signature style on functions
-
- * unix/Makefile.in: made sure tcl.m4 would be installed with dist
-
- * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959]
-
-2000-01-10 Eric Melski <ericm@scriptics.com>
-
- * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847):
- CCYY-MM-DD
- CCYYMMDD
- YY-MM-DD
- YYMMDD
- CCYYMMDDTHHMMSS
- CCYYMMDD HHMMSS
- CCYYMMDDTHH:MM:SS
- Fixed "clock scan <number>" to scan the number as an hour for the
- current day, rather than a minute after 00:00 for the current day
- (bug #2732).
-
-2000-01-07 Eric Melski <ericm@scriptics.com>
-
- * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use
- enumerated values instead of constants. (ie, COMMAND_SCAN instead of
- 3).
diff --git a/tcl8.6/ChangeLog.2001 b/tcl8.6/ChangeLog.2001
deleted file mode 100644
index 06e7c36..0000000
--- a/tcl8.6/ChangeLog.2001
+++ /dev/null
@@ -1,3629 +0,0 @@
-2001-12-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/init.tcl: make sure env(COMSPEC) on Windows is executed with
- the right case, as it may otherwise fail inexplicably.
-
-2001-12-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): Added
- the [memory onexit] command, intended to replace [checkmem].
-
- * doc/DumpActiveMemory.3:
- * doc/memory.n: Updated documentation for [memory] and related
- matters. [Bug 487677]
-
- * mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the
- machinery for the [checkmem] command that is completely duplicated by
- code in generic/tclCkalloc.c.
-
- * generic/tclBinary.c:
- * generic/tclListObj.c:
- * generic/tclObj.c:
- * generic/tclStringObj.c: Removed references to [checkmem] in
- comments, referencing [memory active] instead, since it is
- documented.
-
-2001-12-28 Daniel Steffen <das@users.sourceforge.net>
-
- * mac/tclMacInit.c:
- * mac/tclMacTclCode.r: synced up tclInit features to unix/win:
- implemented TclSetPreInitScript support, use of existing tclInit proc
- if defined, check of default encoding dir if set. Changed script
- library resource names to lowercase (i.e. same as corresponding
- files). Used Tcl_JoinPath instead of string append. Check that system
- encoding could be loaded before utf translating the LibraryPath.
- * mac/tclMacApplication.r:
- * mac/tclMacLibrary.r:
- * mac/tclMacOSA.r:
- * mac/tclMacResource.r: minor version resources cleanup
-
-2001-12-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_PATH_TCLCONFIG, SC_PATH_TKCONFIG):
- Search for config file using exec_prefix instead of prefix when no
- --with-tcl or --with-tk argument is used. [Bug 492418]
-
-2001-12-21 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: fixed incorrect SHLIB_LD_LIBS setting for MacOSX /
- Darwin.
- * unix/configure: Regen.
- * unix/mkLinks.tcl: improved case-insensitive filesystem support.
- * unix/mkLinks: Regen.
-
-2001-12-19 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in (dist): corrected use of eolFix.tcl on working
- files. It should operate on distributed files. [Bug 495120]
-
-2001-12-19 David Gravereaux <davygrvy@pobox.com>
-
- * tools/tcl.wse.in: Fix for [Bug 495120]. tcl.wse.in was stored in cvs
- with improper <eol>. This resulted in corrupted <eol> when checked-out
- on translating CVS clients such as windows (CRCRLF) and mac (CRCR).
-
-2001-12-19 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure:
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Update SunOS 5.[0-6] target so that
- correct linker options are passed to gcc or ld. [Tk Bug 220863]
-
-2001-12-19 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/README: Update to account for changes in the unix/dltest
- directory, the way autoconf is run, and the new "make shell" target.
-
-2001-12-19 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Rename dltest to dlpkgs to fix problem where lib
- files were not getting built because dltest/ directory already
- existed.
-
-2001-12-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialCheckProc): corrected time calculations to
- be unsigned. (schroedter)
-
-2001-12-18 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Define new dltest target that simply does a cd to
- dltest/ before running make. There is no need for the separate
- configure script that was previously being used.
- * unix/configure: Regen.
- * unix/configure.in: Subst into dltest/Makefile.
- * unix/dltest/Makefile.in: Define LIBS using DL_LIBS, LIBS, and
- MATH_LIBS variables instead of TCL_LIBS variable from tclConfig.sh.
- * unix/dltest/README: Update readme to account for new configure free
- implementation.
- * unix/dltest/configure: Removed.
- * unix/dltest/configure.in: Removed.
-
-2001-12-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.h (TCL_STUB_MAGIC): Added cast to force type to be an
- int and get rid of a persistent and pointless warning with SunPro
- compiler.
-
- * generic/tclCkalloc.c (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc):
- * generic/tcl.decls (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc):
- Made the file parameters to these functions into CONST char *, like
- they always should have been to match the other Tcl*Db* API functions.
-
-2001-12-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * Applied [Bug 219311] on behalf of Rolf Schroedter
- <schroedter@users.sourceforge.net> to prevent fcopy on serial ports
- from flooding the event queue.
-
-2001-12-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/CrtInterp.3:
- * generic/tclBasic.c: docs and comments corrections. [Bug 493412]
- Bug & patch by Don Porter.
-
-2001-12-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinNotify.c (Tcl_FinalizeNotifier): Stop Tcl on Windows from
- crashing when shutdown from a non-Tcl thread. Fixes [Bug 217982]
- [orig. 5804] reported by Hugh Vu and Gene Leache. I'm not convinced
- that the shutdown process is right even with this, but it was
- definitely wrong without...
-
-2001-12-13 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinSock.c (TcpGetOptionProc): Fix for [Bug 478565] reported
- by an unknown person. Bypasses all calls to "gethostbyaddr" for
- address "0.0.0.0" to prevent delays on Win/NT.
-
-2001-12-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch 483989] (porter)
-
-2001-12-12 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_GetsObj): Applied patch for [Bug 491341] as
- provided by Don Porter <dgp@users.sourceforge.net>. Fixes the
- assumption of having an empty Tcl_Obj to work with.
-
-2001-12-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c:
- * generic/tclCompile.c:
- * generic/tclExecute.c: consistency patch, to make all instructions
- that pop a variable number of Tcl_Obj's off the execution stack take
- the number of popped objects as first operand. Modified *only* the new
- instructions INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no
- effect on bytecodes generated up to tcl8.4a3 inclusive.
-
- * generic/tclExecute.c: fix debug messages in INST_LSET_LIST.
-
- * generic/tclCompCmds.c (TclCompileLindexCmd):
- * generic/tclCompExpr.c (CompileMathFuncCall): removed the last two
- overestimates of the necessary stack depth for bytecodes in the fix of
- [Bug 483611]
-
-2001-12-10 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter's patch
- fixing [Bug 437489].
-
-2001-12-10 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclEvent.c:
- * tests/event.test: fix background error reporting in the absence of a
- bgerror proc [Bug 219142].
-
-2001-12-10 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Access.3:
- * doc/CrtChannel.3:
- * doc/DString.3:
- * doc/ExprLong.3:
- * doc/FileSystem.3:
- * doc/GetStdChan.3:
- * doc/OpenFileChnl.3:
- * doc/StdChannels.3:
- * doc/TCL_MEM_DEBUG.3:
- * doc/Tcl_Main.3:
- * doc/Utf.3:
- * doc/file.n:
- * doc/tclsh.1: Several typo and formatting corrections discovered
- during conversion to TMML. Thanks to Joe English. [Patch 490514]
- * unix/mkLinks: 'make mklinks'
-
-2001-12-10 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclProc.c: fixed the calculation of the maximal stack depth
- required by bytecodes. [Bug 483611]
-
-2001-12-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c:
- * tests/trace.test: restored consistency in refCount accounting by
- array traces [Bug 4484339], submitted by Don Porter.
-
-2001-12-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/parseExpr.test, tests/for.test, tests/expr.test:
- * tests/expr-old.test, tests/compile.test, tests/compExpr.test
- * tests/compExpr-old.test: Kept up to date with syntax errors.
- * generic/tclParseExpr.c (ParsePrimaryExpr): Rewrote to give even
- better syntax errors in the fairly common case of an identifier
- without decorations by guessing based on the currently available
- functions. Also made messages consistent between memdebug and ordinary
- builds.
-
-2001-12-05 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c:
- * tests/trace.test: new algorithm for [array get], safe when there are
- traces that modify the array. [Bug 449893]
-
-2001-12-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/compExpr-old.test, tests/compExpr.test, tests/compile.test:
- * tests/expr-old.test, tests/expr.test, tests/for.test:
- * tests/while.test, tests/if.test: Rewrite to handle more specific
- syntax errors.
- * tests/parseExpr.test: Rewrite to get rid of dup test numbers and
- handle more specific syntax errors.
- * generic/tclParseExpr.c (LogSyntaxError): Added a detail message
- argument to help explain what the syntax error is.
- (Tcl_ParseExpr, ParseCondExpr, ParsePrimaryExpr): Added detail
- messages.
- (UNKNOWN_CHAR): New lexeme for characters that are always illegal in
- expressions outside strings.
-
-2001-12-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/expr.n: Various documentation improvements in relation to the
- function calls. Includes fix for [Bug 487704] submitted by Devin Eyre.
-
-2001-12-03 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Some install target bugs repaired along with
- $(TCLSTUBLIB) added to the dependencies rather than implicit through
- the dde and reg extensions which don't happen to always require it for
- some build types.
-
-2001-11-30 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c: Tcl_Preserve'ing VarTrace structures to avoid
- memory corruption. Patch for [Bug 484334] provided by Don Porter
-
-2001-11-29 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/namespace.test: modified namespace-41.2, added 41.3
- {knownbug} after discussion with Don Porter and Kevin Kenny.
-
-2001-11-29 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/namespace.test: added namespace-41.2, a simpler test for
- [Bug 231259]
-
-2001-11-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclBinary.c (BINARY_SCAN_MAX_CACHE, Tcl_BinaryObjCmd,
- (ScanNumber): Added caching scheme to reduce number of object
- allocations when doing scans of large repetitive binary strings. See
- comments in file for reasoning behind implementation. Suggested by
- Miguel Sofer in [Patch 429916], but independently implemented.
-
-2001-11-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/regsub.n, doc/regexp.n: Converted dangling references to
- METASYNTAX section into references to the re_syntax manual page.
-
-2001-11-27 D. Richard Hipp <drh@hwaci.com>
-
- * win/tclWinFCmd.c: Fix a coredump in the filename normalizer code for
- Win95/98.
-
-2001-11-27 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Removed the Tk reference for the 'winhelp' target.
- Converge at install will need to be the solution for Tk and all other
- extensions.
-
-2001-11-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdAH.test (cmdAH-24.2): Made test less sensitive to OS
- preemption, but perfection isn't practical. [Bug 463189, reported by
- Don Porter]
-
- * tests/switch.test (switch-9.*): Added tests to exercise more of the
- argument checking. (switch-7.2,switch-7.3): Test changed behaviour
- slightly.
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reworked argument parsing to
- be stricter about what it accepts. This should make uses of the
- [switch] command be more maintainable. [Bug 475397, reported by Don
- Porter]
-
-2001-11-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIntPlatDecls.h: 'make genstubs' after changes in
- 2001-11-23 commit from Daniel Steffen.
-
-2001-11-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Add comments to better describe TCL_EXE and when
- it should be available.
- * win/Makefile.in: Add TCL_EXE variable to be used by rules like `make
- genstubs`. Don't set TCL_LIBRARY before running `make genstubs` since
- we will be running with a tclsh from the PATH not the one we build.
-
-2001-11-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Add comctl32.lib to wish link libs.
- This change was originally added to Tk on 2001-11-09 but was not
- committed to Tcl.
-
-2001-11-23 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/install-sh:
- * unix/mkLinks:
- * unix/mkLinks.tcl:
- * unix/tclLoadDyld.c:
- * unix/tclMtherr.c: Mac OSX support: build system, dynamic code loading
- and support for case-insensitive filesystems in mkLinks. [Patch 435258]
-
-2001-11-23 Daniel Steffen <das@users.sourceforge.net>
-
- Up-port to 8.4 of mac code changes for 8.3.3 & various new changes for
- 8.4, some already backported to 8.3.4. [Patch 435658]
-
- * generic/tclObj.c: added #include to fix missing prototype errors
-
- * generic/tcl.h: MAC_TCL: addition of ConditionalMacros.h and use of
- DLLIMPORT and DLLEXPORT like on other platforms. ( => no longer need
- the .exp files and can remove use of #pragma export that never worked
- well)
- removed line continuation in #if clause as this breaks the mac
- resource compiler (note that *.r files include tcl.h)
-
- * mac/tclMacFile.c: fixed bug in permission checking code
-
- * mac/tclMacLoad.c: corrected utf8 handling, comparison of package
- names to code fragment names changed to only match on the length of
- package name, this allows for fragment names with version numbers
- appended.
-
- * mac/tclMacInt.h:
- * generic/tclInt.h:
- * mac/tclMacTime.c:
- * generic/tclIOUtil.c: moved declaration of TclpGetGMTOffset()
-
- * mac/tclMacShLib.exp:
- * mac/tclMacOSA.exp:
- * mac/tclMacMSLPrefix.h: removed files
-
- * unix/Makefile.in: removed reference to .exp files
-
- * mac/MW_TclBuildLibHeader.h:
- * mac/MW_TclBuildLibHeader.pch:
- * mac/MW_TclHeaderCommon.h:
- * mac/MW_TclStaticHeader.h:
- * mac/MW_TclStaticHeader.pch: new precompiled header files
-
- * mac/MW_TclAppleScriptHeader.pch:
- * mac/MW_TclHeader.pch:
- * mac/MW_TclTestHeader.pch:
- * mac/tclMacCommonPch.h: revised precompiled header handling: now
- include a common header file 'MW_TclHeaderCommon.h' from all .pch
- files, the .pch files themselves now only setup #defines (e.g.
- BUILD_tcl, STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on
- other platforms.
-
- * mac/tclMac.h:
- * mac/tclMacPort.h:
- * mac/tclMacInt.h: use of BUILD_tcl and TCL_STORAGE_CLASS like on other
- platforms, standardize #include'd files to what's done on other
- platforms, removed use of #pragma export.
-
- * mac/tcltkMacBuildSupport.sea.hqx: new archive of mac build support
- files & suggested build environment directory hierarchy:
- 'Building MacTclTk' & 'CW Pro6 changes' readme's.
- projects for MoreFiles 1.5.2 static & shared libraries.
- project & sources for 'pseudoCarbonSupport', see below.
- included XML versions of the projects for CW Pro5 or Pro7 users.
-
- * mac/tclMacProjects.sea.hqx: updated mac build project files:
- build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime
- libraries: the MSL libraries and MoreFiles are no longer compiled into
- Tcl.shlb, all non-static binaries now use the Pro6 shared runtime
- libraries and MoreFiles.shlb. These shlbs are merged into the standard
- Wish and TclShell, but 3rd party applications linking with Tcl.shlb or
- Tk.shlb need to setup access to them. (see the "(sh-ppc)" targets
- for how to do this.)
- included XML versions of the projects for CW Pro5 or Pro7 users.
- use compat/strtod.c instead of MSL's strtod()
- use WASTE versions of MSL for tcl test target to avoid text buffer
- cutoff at 32k.
- Merging the full MSL.shlb and the other shlbs into Wish & TclShell
- makes them a bit larger than before, use unmerged binaries to avoid
- copying the shared code with every application, e.g. when deploying
- numerous Wish based droplets.
- Note that using CW Pro5 to compile extensions is in principle still
- possible, but need to link with Pro6 runtime libraries.
- Tclapplescript now loads and runs on CFM68k.
- Highly experimental "pseudoCarbon" support for Tcl only on OS 8/9:
- binaries in "Build:(Carbon):" link against CarbonLib instead of
- InterfaceLib, however the actual code has not been carbonized! i.e. it
- will not run on OSX and may not even run properly with CarbonLib.
- This should in principle allow you to build & test OS9 CFM Carbon
- binaries that need to link with Tcl.shlb. On OSX you can use the
- native Tcl.framework, but you have to build a MachO binary as there
- is no CFM glue lib for Tcl.framework.
- the library pseudoCarbonSupport.shlb manually loads the symbols from
- InterfaceLib that are not in CarbonLib but are needed by the
- uncarbonized code in Tcl.shlb and TclShell.
-
- * generic/tclMain.c: MAC_TCL: workaround for broken/non-standard isatty
- on MW Pro6, #include <unistd.h> instead of defining isatty
-
- * mac/tclMacPort.h: MW Pro6 changes for MSL fcntl.h, stat.h & isatty
-
- * mac/tclMacAppInit.c: add EXTERN to InstallConsole to enable DLL
- export via the TCL_STORAGE_CLASS mechanism.
-
- * mac/tclMacFCmd.c: fix for FSpDirectoryCopy API change
-
- * mac/tclMacLibrary.c: emit compile time error when
- TCL_REGISTER_LIBRARY and USE_TCL_STUBS are both defined at the same
- time in an extension, this use is not currently supported and will
- result in a crash when dynamically loading the extension.
-
- * mac/tclMacApplication.r:
- * mac/tclMacLibrary.r:
- * mac/tclMacOSA.r:
- * mac/tclMacResource.r: fixed obsolete copyrights/dates in version
- strings; updated version strings to standard usage; added support for
- '(Support Libraries)' subfolder for shared runtime libraries in
- unmerged binaries; commented out demo setting of "Tcl Environment
- Variables"; reorganized resources among these files to avoid multiple
- copies in applications and shared libraries, the script libraries are
- now no longer duplicated in Tclsh but are only included in the
- resources of Tcl.shlb.
-
- * mac/tclMacChan.c:
- * mac/tclMacSock.c: cast for *BlockMode
-
- * mac/tclMacUtil.c:
- * mac/tclMacMath.h: removed obsolete hypot() definition
-
- * generic/tclIntPlatDecls.h:
- * generic/tclInt.decls:
- * generic/tclStubInit.c:
- * mac/tclMacNotify.c:
- * mac/tclMacOSA.c:
- * mac/tclMacUtil.c:
- * generic/tclThreadTest.c: renamed routines conflicting with standard
- Apple or MoreFiles headers (at compile or link time):
- GetGlobalMouse -> GetGlobalMouseTcl
- FSpGetDirectoryID -> FSpGetDirectoryIDTcl
- FSpOpenResFileCompat -> FSpOpenResFileCompatTcl
- FSpCreateResFileCompat -> FSpCreateResFileCompatTcl
- NewThread -> NewTestThread
- the renamed MoreFiles *Tcl routines are just wrappers calling into the
- MoreFiles DLL.
-
- * mac/tclMacCommonPch.h:
- * mac/tclMacThrd.c:
- * mac/tclMacPanic.c: removed OLDROUTINENAMES define, renamed obsolete
- apple API names to modern equivalents; UH3.4 support: added #include
- <ControlDefinitions.h>, updated New*Proc() calls to New*UPP().
-
- * mac/tclMacUnix.c: added missing (Tcl_Obj ***) cast to
- Tcl_ListObjGetElements call
-
- * mac/tclMacAlloc.c: modernized TclpSysAlloc() to use temporary memory
- instead of system heap memory when available (MacOS >= 7.5 and
- possibly earlier, use of system heap has been discouraged for a long
- time and has many disadvantages, e.g. memory isn't paged out, and
- errors can very easily bring the system down); fixed crashing bug in
- TclpSysRealloc() and CleanUpExitProc() where memory was being accessed
- after having been deallocated; fixed memory leak in (de)allocation
- code (for every block ever allocated with TclpSysAlloc, a Ptr was
- leaked), if temporary memory is available, don't track allocated
- memory, instead use RecoverHandle() to get Handle from Ptr, otherwise
- use doubly linked list to correctly track memory and free all
- allocated memory; added new option for ConfigureMemory:
- MEMORY_DONT_USE_TEMPMEM, disables use of temporary memory even when it
- would be available, only necessary when writing e.g. a driver (using
- tcl??); increased fraction of application heap reserved for OS
- routines to 512K
-
- * compat/strftime.c:
- * mac/tclMacTime.c:
- * mac/tclMacPort.h:
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: timezone support for mac via TclpGetTZName()
- like on windows, using an inverse timezone table adapted from
- tclDate.c to map gmtoffset in seconds gotten from the MacOS APIs to a
- timezone string, as there is no good way to get this info from MacOS.
- I had to make up some unusual timezones and arbitrarily decide on the
- most standard of the multiple choices available for every timezone.
-
- * generic/tclExecute.c: workaround for a MSL bug/misfeature: for very
- small floats, MSL can return errno ERANGE but a non-zero value (<
- LDBL_MIN however)
-
- * mac/tclMacAppInit.c: support for WASTE text library using temporary
- memory, setting has no effect if WASTE is not used.
-
- * mac/tclMacPanic.c: removed duplicate code from generic/tclPanic.c
- and added that file to projects instead.
-
- * tests/all.tcl: set tcltest::singleProcess 1 as multiple processes
- are not available on the mac.
-
- * tests/cmdAH.test: access time not available on the mac, skip the
- atime touch test
-
- * tests/appendComp.test:
- * tests/cmdMZ.test:
- * tests/compile.test:
- * tests/exec.test:
- * tests/fileName.test:
- * tests/lset.test:
- * tests/namespace.test:
- * tests/tcltest.test: added missing cleanups/tests/catches that caused
- tests to fail on the mac.
-
- * doc/tclvars.n: doc bug, env(PWD) should be env(HOME) [Bug 463834]
-
-2001-11-21 Don Porter <dgp@users.sourceforge.net>
-
- * tests/trace.test (trace-8.8): Corrected test for Bug 219393.
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken,CallCommandTraces):
- * generic/tclCmdMZ>c (Tcl_UntraceCommand): Added Tcl_Preserve and
- Tcl_Release calls to prevent deletion of CommandTrace structures until
- all callers are done using them, preventing memory corruption. [Bug
- 453805]
-
-2001-11-20 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * doc/GetTime.3 (Tcl_GetTime):
- * generic/tcl.decls (Tcl_GetTime):
- * generic/tclClock.c (Tcl_ClockObjCmd):
- * generic/tclCompile.c (TclCleanupByteCode, TclInitByteCodeObj):
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd):
- * generic/tclUtil.c (TclpGetTime):
- * generic/tclTest.c (GetTimesCmd):
- * generic/tclTimer.c (Tcl_CreateTimerHandler, TimerSetupProc,
- (TimerCheckProc, TimerHandlerEventProc):
- * mac/tclMacNotify.c (Tcl_SetTimer):
- * mac/tclMacShLib.exp (Tcl_GetTime):
- * mac/tclMacTime.c (Tcl_GetTime):
- * unix/tclUnixChan.c (TclUnixWaitForFile):
- * unix/tclUnixEvent.c (Tcl_Sleep):
- * unix/tclUnixThrd.c (Tcl_ConditionWait):
- * unix/tclUnixTime.c (Tcl_GetTime):
- * win/tclWinNotify.c (Tcl_Sleep):
- * win/tclWinTest.c (TestwinclockCmd):
- * win/tclWinTime.c (TclpGetSeconds, TclpGetClicks, Tcl_GetTime):
- Changed all uses of TclpGetTime to Tcl_GetTime. Added Tcl_GetTime to
- the Stubs table and the library documentation. Added a TclpGetTime in
- tclUtil.c for backward compatibility of extensions. [Patch 483500,
- TIP#73]
-
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): Corrected an error in the
- [time] command that caused incorrect results to be returned if the
- total duration of all iterations exceeded 2**31 microseconds. [Bug
- 478847]
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclStubInit.h: Reran 'make genstubs'
-
-2001-11-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c
- * generic/tclCompile.h:
- * generic/tclExecute.c: moving all code relative to bytecodes from
- tclBasic.c to tclExecute.c - the functions RecordTracebackInfo and
- Tcl_ExprObj went to tclExecute.c, and new interface function was
- defined (TclCompEvalObj).
- The final objective of this sequence of moves is to provide a clean,
- clear-cut interface between Tcl's core and the compiler/engine
- subsystem.
-
-2001-11-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c
- * generic/tclCompile.h:
- * generic/tclExecute.c: factoring out of common code in tclBasic.c
- (new function TclInterpReady defined: it resets the interp's result,
- then checks that it hasn't been deleted and that the nesting level is
- acceptable). Passed the responsibility of calling it to the *callers*
- of TclEvalObjvInternal.
-
-2001-11-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c
- * generic/tclExecute.c: a better variant of the previous-to-last
- commit (restoring numLevels computations). The managing of the levels
- now has to be done by the *callers* of TclEvalObjvInternal
-
-2001-11-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: missing variable declaration under
- TCL_COMPILE_DEBUG.
-
-2001-11-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c:
- * generic/tclProc.c: restoring the computations of iPtr->numLevels to
- the original logic (previous to buggy modifs on 2001-11-16).
-
-2001-11-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/eolFix.tcl (new-file):
- * unix/Makefile.in: added EOL correction for Windows bat files to
- dist target. [Bug 219409] (davygrvy)
-
- * unix/tclUnixInit.c (TclpSetInitialEncodings): update of patch from
- 2001-11-16 that uses the old Tcl encoding check mechanism as a
- fallback to the original. Also added a TCL_DEFAULT_ENCODING #define
- (defaults to iso8859-1). Tcl will first try setlocale and nl_langinfo,
- and if that fails, guess based on certain LANG|LC_* env vars. [Patch
- 418645]
-
-2001-11-19 David Gravereaux <davygrvy@pobox.com>
-
- * win/buildall.vc.bat: Added useful comments.
-
-2001-11-19 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/compile.test: added a test for bug [Bug 483309]
-
-2001-11-19 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFile.c:
- * win/tclWinFCmd.c:
- * win/tclWin32Dll.c:
- * doc/file.n:
- * tests/winFCmd.test: improved speed of file normalization for
- Win95/98, and clarified docs on differences in file normalization
- between NT/2000 and the older operating systems. Added test to ensure
- normalization is correct.
-
-2001-11-19 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c:
- * generic/tclParse.c: Code reorganisation. Moved all evaluation
- functions from tclParse.c to tclBasic.c, so that now tclParse.c deals
- exclusively with parsing and all evaluations are done by code in
- tclBasic.c. The functions moved are: TclEvalObjvInternal,
- Tcl_EvalObjv, Tcl_LogCommandInfo, Tcl_EvalTokensStandard,
- Tcl_EvalTokens, Tcl_EvalEx, Tcl_Eval, Tcl_EvalObj and
- Tcl_GlobalEvalObj.
-
-2001-11-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/trace.test (trace-8.8): Added adapted version of [Bug 219393]
- as new test; the test won't reliably show up the old problem unless it
- is being run under something like Purify, but something is better than
- nothing...
-
- * generic/tclVar.c (Tcl_TraceVar2, Tcl_UntraceVar2): Added missing
- mask bits for trace result type and a check for a nonsense flag
- combination.
- * generic/tclCmdMZ.c (TraceVarProc): Added missing test for NULL when
- deleting a trace that doesn't cause an error.
-
- * doc/TraceVar.3: Added documentation for change due to TIP#68.
-
- * generic/tclCmdMZ.c (TraceVarInfo): Removed problematic errMsg field
- from structure.
- (TraceVarProc): Removed references to errMsg field and changed
- handling of errors so that they returned a Tcl_Obj* containing the
- error string. This minimizes the number of calls to the memory
- management subsystem.
- (TclTraceCommandObjCmd, TraceCommandProc): Removed references to
- errMsg field which was never used in command traces in any case.
- (Tcl_TraceObjCmd, TclTraceVariableObjCmd): Removed references to
- errMsg field and made variable traces register with
- TCL_TRACE_RESULT_OBJECT bit set.
-
- * generic/tcl.h (TCL_TRACE_RESULT_DYNAMIC,TCL_TRACE_RESULT_OBJECT):
- New constants to define how to handle the strings returned from trace
- callbacks [TIP#68]
- * generic/tclVar.c (CallTraces, Tcl_GetVar2Ex, TclGetIndexedScalar,
- (TclGetElementOfIndexedArray, Tcl_SetVar2Ex, TclSetIndexedScalar,
- (TclSetElementOfIndexedArray, Tcl_UnsetVar2, Tcl_ArrayObjCmd,
- (TclDeleteVars, TclDeleteCompiledLocalVars, DeleteArray,
- (TclVarTraceExists): Support for those new trace flags.
-
-2001-11-19 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c: patch for [Bug 483309] (petasis).
-
-2001-11-16 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclListObj.c: removed a C++-style comment that was
- inadvertently left in the source code.
-
-2001-11-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/interp.test:
- * generic/tclInterp.c (SlaveObjCmd): Corrected argument checking for
- '$interp alias|aliases|issafe'. [Patch 479560] (thoyts, hobbs)
-
- * unix/tclUnixInit.c: added HAVE_LANGINFO code block.
- * unix/configure: regened
- * unix/configure.in: added SC_ENABLE_LANGINFO call
- * unix/tcl.m4: made SHLIB_LD_LIBS='${LIBS}' for FreeBSD* (meyer)
- Added modified version of Wagner patch to make use of nl_langinfo
- where possible to determine Unix platform encoding, instead of the
- inflexible built-in system. This is used by default when possible, and
- can be disabled with --enable-langinfo=no. [Patch 418645] (hobbs,
- wagner)
-
-2001-11-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclObj.c: moved Tcl_GetCommandFromObj and all defining code
- for tclCmdNameType objects to tclObj.c (from tclExecute.c). This code
- has nothing to do with bytecodes.
-
-2001-11-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclParse.c:
- * generic/tclProc.c:
- * tests/stack.test: consolidation of duplicated code (in
- TclExecuteByteCode and EvalObjv); renaming of EvalObjv to TclEvalObjv
- as it is not static anymore; restored consistency of level counts
- between compiled and directly evaled code. [Bug 480896]
-
-2001-11-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc:
- * win/rules.vc: Small bug fixes.
-
- * win/README: added some docs pointing to the docs in makefile.vc for
- it's use.
-
-2001-10-17 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * doc/lappend.n:
- * doc/lindex.n:
- * doc/linsert.n:
- * doc/list.n:
- * doc/llength.n:
- * doc/lrange.n:
- * doc/lsearch.n:
- * doc/lset.n (new-file):
- * doc/lsort.n:
- * generic/tclBasic.c (builtInCmds, Tcl_EvalObjEx):
- * generic/tclCmdIL.c (Tcl_LindexObjCmd, Tcl_LindexList):
- (Tcl_LindexFlat, Tcl_LsetObjCmd):
- * generic/tclCompCmds.c (Tcl_CompileLindexCmd, Tcl_CompileLsetCmd):
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclListObj.c (TclLsetList, TclLsetFlat, TclSetListElement):
- * generic/tclObj.c (TclInitObjSubsystem):
- * generic/tclStubInit.c:
- * generic/tclTestObj.c (TestobjCmd):
- * generic/tclUtil.c (TclGetIntForIndex, SetEndOffsetFromAny):
- * generic/tclVar.c (Tcl_LappendObjCmd):
- * tests/lindex.test:
- * tests/lset.test (new-file):
- * tests/lsetComp.test (new-file):
- * tests/obj.test:
- * tests/string.test:
- * tests/stringComp.test:
- Reference implementation of TIP's #22, #33 and #45. Adds the ability
- of the [lindex] command to have multiple index arguments, and adds the
- [lset] command. Both commands are byte-code compiled. [Patch 471874]
- (work by Kenny, commited by Hobbs)
-
-2001-11-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/buildall.vc.bat(new):
- * win/makefile.vc: Small fix with deriving the "OriginalFilename"
- string in the .rc scripts. Added a quick batchfile for building the
- entire thing.
-
-2001-11-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/FileSystem.3:
- * doc/file.n:
- * doc/tcltest.n: converted use of \' to more reasonable format.
-
-2001-11-10 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in:
- * win/Makefile.in: Add "make gdb" target. This target can run tclsh
- inside either gdb or insight.
-
-2001-11-10 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Added a check to make sure one runs the makefile
- from the /win directory only.
-
- * win/mkd.bat:
- * win/rmd.bat: Changes from Llyod Lim for better stability.
- [Patch 456759]
-
-2001-11-09 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc:
- * win/tcl.dsp: winhelp target fixes for non-NT systems. It seems
- NMAKE under these remembers changed directories during commands. A new
- tcltest feature from Peter Spjuth <peter.spjuth@space.se> to specify a
- pattern file from the commandline and redirecting output to a file
- when not under NT with it's scrollback console. Then it replays it,
- piped through more. Added 2 new static "configurations" to tcl.dsp.
- I could keep adding more, but I think we should leave it up to the
- user for customizing it.
-
- Sticky-points left: 'profile' option.
-
-2001-11-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/FileSystem.3:
- * doc/StdChannels.3:
- * doc/file.n:
- * doc/tcltest.n:
- * tools/man2help.tcl:
- * tools/man2help2.tcl: fixed winhelp generation problems
- [Patch 480268]
-
- * unix/configure:
- * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix
-
-2001-11-09 Don Porter <dgp@users.sourceforge.net>
-
- * tests/var.test:
- * generic/tclVar.c: Corrected bug in [global] when dealing with
- variable names matching :*. [Bug 480176]
-
-2001-11-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- Fixup stack size under OSF1. [Patch 474790]
-
- * unix/configure: Regen.
- * unix/tcl.m4: Add HAVE_PTHREAD_ATTR_SETSTACKSIZE define to
- EXTRA_CFLAGS to adjust initial stack size.
-
-2001-11-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- Enable thread support under FreeBSD. [Bug 473708]
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_ENABLE_THREADS): Check for pthread functions in
- libc_r and enable thread support if found.
- * unix/dltest/Makefile.in: Set SHLIB_LD_LIBS and use it in the
- Makefile to properly link a shared library.
-
-2001-11-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in:
- * unix/dltest/Makefile.in: Avoid adding libc to the LIBS variable
- since it is not needed when linking with CC. If required when linking
- with LD it should be done on a case by case basis in tcl.m4.
-
-2001-11-08 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc:
- * win/makefile.vc: Fixed install target to adjust for the different
- build types. Added a 'linkexten' option to link the win extensions
- inside the shell when built static. Placed win/tclAppInit.c patch in
- SF patch DB for approval. 'profile' option not hooked in yet.
- Everything else know is done.
-
- * win/tcl.dsp(new):
- * win/tcl.dsw(new): Simple MsDev stub project files that calls
- makefile.vc. Will help run Tcl in the debugger easier without
- confusing MsDev for where the .pdb files are.
-
-2001-11-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in:
- * win/Makefile.in: Print a message indicating that the user should run
- "make genstubs" when the generated tclStubInit.c file is out of date.
- We can't regenerate automatically since there may be no tclsh on the
- system and that would cause bootstrap problems. [Bug 465874]
-
-2001-11-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- Define TCL_INCLUDE_SPEC in tclConfig.sh. It should be included by
- extensions that need to find Tcl include headers in the install
- location. The user can override the include install dir with
- --includedir so we need to record this information for extensions.
- [Bug 421835]
-
- * unix/configure: Regen.
- * unix/configure.in: Define TCL_INCLUDE_SPEC.
- * unix/tclConfig.sh.in: Define TCL_INCLUDE_SPEC.
- * win/configure: Regen.
- * win/configure.in: Define TCL_INCLUDE_SPEC.
- * win/tclConfig.sh.in: Define TCL_INCLUDE_SPEC.
-
-2001-11-07 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc:
- * win/makefile.vc: Dropped the NOMSVCRT macro and put it on the option
- list instead. It makes more sense to me this way as NOMSVCRT=0 would
- only be the valid setting. Fixed the dde and reg extension for
- building static. Improved, but not perfected, the winhelp target.
-
-2001-11-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Change minimum VC++ version to 5.X since 4.X is known
- not to work.
- Indicate that Mingw is required and building with Cygwin gcc is not
- supported. Include instructions that indicate how to install Mingw and
- what URLs folks should use to download the supported version of Mingw.
- * win/configure: Regen.
- * win/configure.in: Error out if user tries to compile the Windows
- version of Tcl with Cygwin gcc. Users should compile with Mingw gcc
- instead.
-
-2001-11-06 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c (ReadChars): Fixed [Bug 478856] reported by Stuart
- Cassoff <stwo@users.sourceforge.net>. The bug caused loss of
- fileevents when [read]ing less data from the channel than buffered.
- Due to an empty input buffer the flag CHANNEL_NEED_MORE_DATA was set
- but never reset, causing the I/O system to wait for more data instead
- of using a timer to synthesize fileevents and to flush the pending
- data out of the buffers.
-
-2001-11-06 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc (new):
- * win/makefile.vc: Complete over/under rewrite to support numerous
- build options all from the commandline itself without needing to edit
- the makefile. Now requires vcvars32.bat to be run prior to running
- nmake for bootstraping the environment. Fully doc'd usage for it is in
- makefile.vc. Commentary welcome. Sticky points left are:
-
- 1) winhelp target shows errors in the converting script.
- 2) .rc scripts aren't getting the right #defines to build the correct
- "OriginalFilename" strings. (have patch, won't commit yet)
- 3) Naming convention with suffixes describing the buildtype are 'tsdx'
- which will need public acceptance. ie. tclsh84tsx.exe is a (t)
- threaded shell (s) statically linked to the core and (x) uses
- msvcrt instead of libcmt.
-
-2001-11-04 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * library/init.tcl: made filesystem fallback proc ::tcl::CopyDirectory
- more robust to vagaries of non-native filesystems.
-
-2001-11-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n:
- * generic/tclIOUtil.c: updated documentation and comments to clarify
- behaviour of 'file copy' wrt soft links.
-
-2001-10-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFile.c: fix to '-types {f r}' bug in TclpMatchInDirectory
- (which could cause a UMR, as well as returning wrong results). Also
- improved API for 'stat' to resolve [Bug 219258].
- * win/tclWin32Dll.c
- * win/tclWinInt.h: addition of improved stat API to internal lookup
- table.
- * tests/fileName.test: two new tests for the above bug.
- * generic/tclIOUtil.c: some cleanup of comments and #ifdefs
-
-2001-10-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixFile.c (TclpMatchInDirectory): Argument to access() was
- entryPtr->d_name instead of nativeEntry which failed when trying to
- check access for files in other than the current directory. [Bug
- 475941, reported by Georgios Petasis]
-
-2001-10-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixChan.c: Added stateUpdated member to struct TtyState.
- (TtyCloseProc,TtySetOptionProc,TtyInit): Use stateUpdated member of
- TtyState to decide whether it is necessary to reset a serial port when
- Tcl closes it. Blindly resetting can cause Tcl to be sent an
- unexpected SIGTSTP when it is executing in the background [Bug 471374,
- reported by Chris Nelson]
-
-2001-10-22 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/ObjectType.3: Minor documentation fix, reported by David N.
- Welton <davidw@users.sourceforge.net> directly to me.
-
-2001-10-22 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFCmd.c: fix to stop test suite from hanging process under
- some versions of WinNT. [Bug 466102] (Kevin Kenny)
-
-2001-10-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/clock.test (clock-8.1):
- * generic/tclDate.c (RelativeMonth):
- * generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day error
- in clock scan with relative months and years during swing hours. [Bug
- 413397, Patch 414024] (lavana)
-
-2001-10-18 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to bug in Tcl_FSChdir shown up by recent
- tclkit builds.
-
-2001-10-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixPipe.c (PipeInputProc, PipeOutputProc): do immediate
- retry when error is returned with errno == EINTR. [Bug 415131] (leger)
-
-2001-10-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclLoadAout.c (TclGuessPackageName): removed unused vars and
- fixed warnings. [Bug 446622] (lim)
-
-2001-10-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclProc.c: changing a memcmp to strncmp to avoid a memory
- error detected by purify (thanks Jeff); modify style to agrre with the
- style guide.
-
-2001-10-15 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable):
- Added to internal stubs table. Tclcompiler (Tclpro project) needs them
- if used as loadable package under Windows. Changed signatures. We
- don't want to describe compiler internal structures in "tclInt.h".
-
- * generic/tclCompile.h: S.a. Removed function declarations.
- * generic/tclCompile.c: S.a. Adapted to changed signatures.
-
-2001-10-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/configure.in:
- * win/configure:
- * win/configure.in:
- * win/tcl.m4: reworked to be a little cleaner in comparison to each
- other, and to AC_SUBST even empty vars for win/tclConfig.sh
-
- * generic/tclFileName.c: minor code cleanup
-
- * generic/tcl.h: moved #define of WIN32 to tcl.h where __WIN32__ is
- defined and added #ifndef check.
-
- * doc/open.n: moved all fconfigure option docs to fconfigure.n
- * doc/fconfigure.n: added serial config options
-
- * win/tclWinChan.c:
- * win/tclWinPort.h:
- * win/tclWinSerial.c: added TIP #35 Windows enhancements for serial
- configuration. [Patch 438509] (schroedter)
-
-2001-10-15 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFCmd.c: fix to memory leak in TclFileDeleteCmd on
- certain error conditions.
- * doc/FileSystem.3: fix to typo.
-
-2001-10-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/encoding/ebcdic.enc:
- * tools/encoding/ebcdic.txt: EBCDIC charset mapping.
- [Patch 219323] (nijtmans)
-
- * library/encoding/tis-620.enc:
- * tools/encoding/tis-620.txt: TIS-620 charset mapping.
- [Patch 467423] (poonlap)
-
- * tests/http.test: added removeFile for outdata
-
- * tests/ioCmd.test: added catch around file removal, as Windows file
- locking throws errors.
-
- * tests/socket.test (socket-7.2): corrected to work on Win2K.
-
-2001-10-12 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/compile.test: new tests for [Bug 467523]; they are only
- effective if TCL_MEM_DEBUG was set during compilation.
-
-2001-10-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclLiteral.c (TclReleaseLiteral): insured that
- self-referential bytecodes are properly cleaned up on interpreter
- deletion [Bug 467523] (Ronnie Brunner)
-
-2001-10-10 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPort.h: #include <winsock2.h> needed to get moved to
- after #include <windows.h> or wierd misunderstandings took place when
- -D_WIN32_WINNT=0x0400 is set for outside code that requires knowledge
- of Tcl innards. General header macro magic applied liberally...
-
-2001-10-10 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test: Corrected restore of ::env(LANG).
-
-2001-10-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclFileName.c (Tcl_SplitPath): corrected mem leak intro'd
- with VFS code where the result obj from Tcl_FSSplitPath was not
- getting freed.
-
-2001-10-09 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclLiteral.c: (TclReleaseLiteral) reverted previous patch
- for [Bug 467523] - cure is worse than the illness.
-
-2001-10-05 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclLiteral.c: (TclReleaseLiteral) insured that
- self-referential bytecodes are properly cleaned up on interpreter
- deletion. [Bug 467523] (Ronnie Brunner)
-
-2001-10-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/configure:
- * tools/configure.in: noted 8.4 as default Tcl version
-
- * library/encoding/cp936.enc:
- * library/encoding/cp949.enc:
- * library/encoding/cp950.enc:
- * library/encoding/iso8859-16.enc:
- * library/encoding/macCroatian.enc:
- * library/encoding/macCyrillic.enc:
- * library/encoding/macGreek.enc:
- * library/encoding/macIceland.enc:
- * library/encoding/macRoman.enc:
- * library/encoding/macTurkish.enc:
- * tools/encoding/cp1250.txt:
- * tools/encoding/cp1251.txt:
- * tools/encoding/cp1252.txt:
- * tools/encoding/cp1253.txt:
- * tools/encoding/cp1254.txt:
- * tools/encoding/cp1255.txt:
- * tools/encoding/cp1256.txt:
- * tools/encoding/cp1257.txt:
- * tools/encoding/cp1258.txt:
- * tools/encoding/cp874.txt:
- * tools/encoding/cp932.txt:
- * tools/encoding/cp936.txt:
- * tools/encoding/cp949.txt:
- * tools/encoding/cp950.txt:
- * tools/encoding/iso8859-1.txt:
- * tools/encoding/iso8859-10.txt:
- * tools/encoding/iso8859-13.txt:
- * tools/encoding/iso8859-14.txt:
- * tools/encoding/iso8859-15.txt:
- * tools/encoding/iso8859-16.txt:
- * tools/encoding/iso8859-2.txt:
- * tools/encoding/iso8859-3.txt:
- * tools/encoding/iso8859-4.txt:
- * tools/encoding/iso8859-5.txt:
- * tools/encoding/iso8859-6.txt:
- * tools/encoding/iso8859-7.txt:
- * tools/encoding/iso8859-8.txt:
- * tools/encoding/iso8859-9.txt:
- * tools/encoding/koi8-r.txt:
- * tools/encoding/macCentEuro.txt:
- * tools/encoding/macCroatian.txt:
- * tools/encoding/macCyrillic.txt:
- * tools/encoding/macGreek.txt:
- * tools/encoding/macIceland.txt:
- * tools/encoding/macRoman.txt:
- * tools/encoding/macTurkish.txt:
- Updated encodings with latest mappings from www.unicode.org. This did
- not include some Mac encodings that have special multi-unichar
- translations now (like symbols, dingbats and japanese). Also does not
- include big5, gb or euc* as those have different formats in the latest
- Unicode version that need new conversion tools. Not all related .enc
- files changed as some had been updates separately.
-
-2001-10-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEvent.c (Tcl_FinalizeThread): moved freeing of
- tclLibraryPath to before the thread exit handlers are called. Slight
- modification to change on 2001-09-24.
-
-2001-10-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure: regen'ed
- * win/tcl.m4:
- * win/makefile.vc: added Win64 SDK RC1 compilation support
- * win/Makefile.in: added $(LDFLAGS_CONSOLE) to TCLSH, TCLTEST and
- PIPE_DLL_FILE targets to get the link flags
-
- * win/tclWinInit.c: minor 64bit casts
-
-2001-10-01 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclParseExpr.c: removed unnecessary inclusion of
- tclCompile.h and made a small modification in (InfoBodyCmd) to improve
- the isolation of the compiler/engine subsystem.
-
-2001-09-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c:
- * doc/FileSystem.3: corrected and clarified documentation for
- 'Tcl_FSListVolumes(Proc)'. No code changes.
-
-2001-09-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/FindExec.3: added a comment not to change the working directory
- before calling Tcl_GetNameOfExecutable. [Bug 219215]
-
-2001-09-28 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclIO.c: added two more '(ClientData)' casts on calls to
- Tcl_Preserve and Tcl_Release -- ones that Vince apparently missed.
-
-2001-09-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/lsort.n: Improved doc...
- * generic/tclCmdIL.c (Tcl_LsortObjCmd, SortCompare): Made
- offset-from-end indexing work, and factored out some "magic numbers"
- for easier understanding. [Bug 465674]
- * tests/cmdIL.test (cmdIL-1.26): Added test for offset-from-end
- indexing for lsort.
-
-2001-09-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFCmd.c:
- * unix/tclUnixFCmd.c: fix to performance issue reported by jcw in
- which 'access("")' is called unnecessarily when normalizing any
- absolute path.
- * generic/tclIO.c: added '(ClientData)' cast to calls to
- Tcl_(Preserve|Release) newly introduced, fixing compile error on
- Windows.
-
-2001-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * doc/FileSystem.3 (Tcl_FSLoadFile):
- * generic/tcl.decls (Tcl_FSLoadFile):
- * generic/tcl.h (Tcl_FSLoadFileProc):
- * generic/tclInt.h (TclpLoadFile):
- * generic/tclIOUtil.c (Tcl_FSLoadFile):
- * generic/tclLoadNone.c (TclpLoadFile):
- * generic/tclTest.c (TestReportLoadFile):
- * library/ldAout.tcl:
- * mac/tclMacLoad.c (TclpLoadFile):
- * unix/tclLoadAix.c (TclpLoadFile):
- * unix/tclLoadAout.c (TclpLoadFile):
- * unix/tclLoadDl.c (TclpLoadFile):
- * unix/tclLoadDld.c (TclpLoadFile):
- * unix/tclLoadDyld.c (TclpLoadFile):
- * unix/tclLoadNext.c (TclpLoadFile):
- * unix/tclLoadOSF.c (TclpLoadFile):
- * unix/tclLoadShl.c (TclpLoadFile):
- * win/tclWinLoad.c (TclpLoadFile):
- * win/tclWinFCmd.c (DoRemoveJustDirectory): More CONST poisoning
- fixes from the 2001-09-24 TIP 27 changes. CONST-ified Tcl_FSLoadFile
- and TclpLoadFile. Report and patch from Kevin Kenny. [Bug 465833]
-
- * generic/tclIO.c (ChannelTimerProc): Added Tcl_Preserve() and
- Tcl_Release() to fix segfault introduced by the 2001-09-26 changes.
- [Bug 465494]
-
- * doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to #define
- GUARD_SIZE.
-
- * doc/UpVar.3 (Tcl_UpVar,Tcl_UpVar2):
- * generic/tcl.decls (Tcl_UpVar,Tcl_UpVar2):
- * generic/tclInt.decls (TclFindProc,TclGetFrame):
- * generic/tclInt.h (TclFindProc,TclGetFrame,TclLookupVar,
- (TclPrecTraceProc,TclProcInterpProc}):
- * generic/tclProc.c (TclGetFrame,TclFindProc):
- * generic/tclVar.c (Tcl_UpVar,Tcl_UpVar2,MakeUpvar): Updated APIs in
- generic/tclProc.c and generic/tclVar.c according to the guidelines of
- TIP 27. [Patch 465442]
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
-2001-09-26 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/fileevent.n: Accepted [Patch 465279] adding an example to the
- fileevent manpage. Minor modifications to get a better formatting.
- Report and patch by David N. Welton <davidw@users.sourceforge.net>.
-
- * The changes below fix [Bug 462317] where Expect tried to read more
- than was in the buffers and then blocked in the OS call as its pty
- channel driver provides no blockmodeproc through which the OS could be
- notified of blocking-behaviour. Because of this the general I/O core
- has to take more care than usual to preserve the semantics of
- non-blocking channels.
-
- The problem was reported by "Kevin O'Gorman" <kevin@kosmanor.com>.
-
- * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the
- channel is non-blocking and the fileevent causing the read was
- generated by a timer. We do not know if there is data available from
- the OS. Instead of going to the OS for more and potentially blocking
- we simply signal EWOULDBLOCK to the higher levels to cause the system
- to wait for true fileevents.
- (GetInput): Same as before.
- (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV.
-
- * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set
- if a fileevent was generated by a timer, the channel is not blocking
- and the driver did not provide a blockmodeproc. In that case the I/O
- core has to be especially careful about going to the driver for more
- data.
-
-2001-09-26 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SplitPath.3 (Tcl_GetPathType):
- * generic/tcl.decls (Tcl_GetPathType):
- * generic/tclFileName.c (Tcl_GetPathType):
- * win/tclWinFile.c (TclpMatchInDirectory, NativeStat): Vince Darley
- reports the 2001-09-24 TIP 27 changes left the win directory CONST
- poisoned. These changes should fix that.
-
- * generic/tclDecls.h: make genstubs
-
-2001-09-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/GetInt.3:
- * generic/tclInt.h (TclGetLong deleted):
- * generic/tcl.decls:
- * generic/tclInt.decls:
- * generic/tclGet.c: Updated APIs in generic/tclGet.c according to the
- guidelines of TIP 27. [Patch 464674]
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
-2001-09-25 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c: removed comments referring to unused flag
- TCL_PARSE_PART1.
-
-2001-09-24 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Concat.3:
- * doc/DString.3:
- * doc/SplitList.3:
- * generic/tclInt.h (TclCheckBadOctal):
- * generic/tcl.decls:
- * generic/tclInt.decls:
- * generic/tclEncoding.c (OpenEncodingFile):
- * generic/tclMain.c (Tcl_Main):
- * generic/tclUtil.c:
- * unix/tclLoadDl.c (TclpLoadFile): Updated APIs in generic/tclUtil.c
- according to the guidelines of TIP 27. [Patch 464553]
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
-2001-09-24 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- The change below fixes [Bug 464380]. The bug was reported by Ronnie
- Brunner <rbrunner@users.sourceforge.net>. He also provided the patch.
-
- * generic/tclEvent.c (Tcl_Finalize): Moved release of 'tclLibraryPath'
- to Tcl_FinalizeThread.
- (Tcl_FinalizeThread): See above, new place for release of
- 'tclLibraryPath'.
-
-2001-09-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tools/encoding/cp1252.txt: File was missing part of the encoding
- [euro, ZCaron and zcaron].
-
- * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some old
- changebars.
-
-2001-09-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (TclExecuteByteCode): corrected INST_STR_CMP
- else case for strings to pass true utf char length to Tcl_UtfNCmp.
-
-2001-09-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInit.c: added extra processor definitions. (mstacy)
-
- * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64.
-
- * win/tclWinNotify.c: removed unnecessary winsock include (it is
- already in from tclWinPort.h).
-
- * win/tclWinPort.h: changed winsock.h include to winsock2.h. Reverses
- change from 2000-11-16, but is necessary for WIN64. Extensions should
- comply with defined OS words, or use #ifndef.
-
-2001-09-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/socket.test: removed dependence on being run from same dir as
- remote.tcl, which only now needs to be in the same dir as this file.
- [Bug 219326]
-
-2001-09-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclTest.c (TestcmdtokenCmd): corrected pointer
- storage/retrieval for 64bit machines.
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd):
- * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format and
- scan on 64-bit machines. [Bug 412696] (rmax)
-
- * unix/configure: regen'ed
- * unix/tcl.m4: added --enable-64bit support for HP-11 with the 64-bit
- kernel.
-
- * tests/basic.test:
- * tests/cmdInfo.test: improved skip reporting of missing commands
-
- * tests/winFCmd.test: simplified error check for winFCmd-7.9
-
- * tests/winPipe.test: removed obsolete cat16 tests
-
- * generic/tclExecute.c (TclExecuteByteCode): fixed invalid usage of
- valuePtr in TRACE_WITH_OBJ in INST_EVAL_STK case. [Bug 462594] Changed
- INST_STR_CMP instruction to promote to Unicode strings only when one
- of the strings is already of Unicode type.
-
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclCompile.c (instructionTable):
- * generic/tclCompCmds.c (TclCompileStringCmd): INST_STR_MATCH -
- Updated to Int1 instruction type and added special case to use
- INST_STR_EQ instead when no glob chars are specified in a static
- string.
-
- * tests/{for.test,foreach.test,if.test,while.test}:
- * generic/tclCompCmds.c (TclCompileForCmd, TclCompileForeachCmd,
- TclCompileIfCmd, TclCompileWhileCmd): Corrected the overaggressive
- compiling of loop bodies enclosed in ""s. [Bug 219166] (msofer)
-
-2001-09-19 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: insured that execution stack errors are also
- detected at abnormal returns.
-
-2001-09-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/socket.n: Added documentation to mention what happens when a
- server socket is created with port=0. Removed an old change bar, and
- no new change bar because Tcl has always behaved this way as it is
- really a poorly-documented standards-defined OS feature.
-
- * tests/util.test (util-8.1): Test derived from code to detect the
- problem, but the test always works in the C locale, so beware if you
- are maintaining the code.
- * generic/tclUtil.c (TclNeedSpace): Rewrote to be UTF-8 aware. [Bug
- 411825, but not that patch which would have added extra spaces if
- there was a real non-ASCII space involved.]
-
-2001-09-18 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIOCmd.c (Tcl_PutsObjCmd): Rewritten to have saner and
- faster argument handling. [Bug 123552], [Patch 402564] (fellows)
-
-2001-09-18 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when one
- of the compat/*.c routines is to be linked in. [Patch 440891]
-
-2001-09-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for Windows.
- This means the native system allocator will be used by default. This
- should be binary and source compatible with extensions, as Tcl_Alloc
- is a properly stubbed function.
-
-2001-09-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: corrected small bug in [Patch 456668] - the
- varFramePtr was not restored in one possible exit.
-
-2001-09-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/tclvars.n:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclProc.c: disabled all compile and execution tracing
- functionality in standard builds; TCL_COMPILE_DEBUG is now necessary
- to enable it. [Bug 451858]
-
-2001-09-14 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/gets.n:
- * doc/read.n:
- * doc/puts.n:
- * doc/flush.n:
- * doc/fconfigure.n:
- * doc/flush.n:
- * doc/eof.n:
- * doc/seek.n:
- * doc/tell.n:
- * doc/close.n:
- * doc/fileevent.n: Added references to the Tcl standard channels. Item
- [219250], reported by David LeBlanc <whisper@oz.net>. Thanks to
- Christopher Nelson <chris@pinebush.com> for doing editorial work.
-
-2001-09-13 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/Makefile.in:
- * win/configure.in:
- * win/makefile.bc:
- * win/makefile.vc:
- * library/dde/pkgIndex.tcl: Fixed version numbers from bogus tcl
- versions to independent versions for dde and registry packages.
-
-2001-09-13 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/regexp.test (regexp-20.1):
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): had to adjust fix from
- 2001-08-06 to actually duplicate the objects in certain cases. This is
- really a place where feather would have been essential. [Bug 461322]
-
- * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper
- location when the middle of a UTF-8 byte was passed in [Tk Bug 450504]
-
- * ChangeLog.1999:
- * ChangeLog: broke changes from 199x into ChangeLog.1999 to reduce
- size of the main ChangeLog.
-
-2001-09-13 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/ioCmd.test: Changed the computation of the result for
- iocmd-8.1[123] so that the tests work for single- and multi-process
- execution of the testsuite. Depending on the choice of the user stdout
- is a tty or not and thus reports different channel options. Fixes
- [460993] reported by Don Porter.
-
-2001-09-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/ParseCmd.3:
- * generic/tcl.decls:
- * generic/tclCmdMZ.c (Tcl_SubstObjCmd):
- * generic/tclDecls.h:
- * generic/tclParse.c:
- * generic/tclStubInit.c:
- * tests/parse.test: Deprecate the use of Tcl_EvalTokens, replaced by
- the new Tcl_EvalTokensStandard. The new function performs the same
- duties but adheres to the standard return convention for Tcl
- evaluations; the deprecated function could only return TCL_OK or
- TCL_ERROR, which caused [Bug 219384] and [Bug 455151]. This patch
- implements [TIP 56].
-
-2001-09-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4: Invert the logic that checks for $GCC. Instead of
- checking for "$GCC" = "no" we check for "$GCC" != "yes" or simply swap
- the true and false blocks of code in an if statement. That way if GCC
- is set to "" everything will still work. [Bug 460991]
-
-2001-09-12 Don Porter <msofer@users.sourceforge.net>
-
- * tests/appendComp.test:
- * tests/lsearch.test:
- * tests/namespace.test:
- * tests/rename.test:
- * tests/split.test: Corrected tests to better isolate tests in one
- file from influencing tests in other files. [Bug 460591]
-
-2001-09-12 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tcl.decls: reserved stub #481 for the implementation of
- [TIP 56]
-
-2001-09-11 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and
- Tcl_ReadRaw [Bug 414929].
-
- * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered and
- Tcl_GetTopChannel [Bug 414929].
-
- * The changes below are a fix for [Bug 219253].
-
- * tests/socket.test: Removed _most_ instances of hardwired port
- numbers for listening sockets. Remaining are the ports in all tests
- with constraint 'doTestsWithRemoteServer'. These seem to be designed
- for a more controlled environment and are usually skipped when running
- the testsuite.
-
- * tests/io.test: Removed all instances of hardwired port numbers for
- listening sockets.
-
-2001-09-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEvent.c (TclInExit): Corrected handling of tsd in late
- stages of finalization. [Bug 419449] (darley)
-
- * tests/stack.test:
- * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure
- that we aren't hitting some alias loop condition. [Bug 443184]
-
-2001-09-10 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't include . characters in the
- Tcl library name when building on FreeBSD 3.X and later systems.
- [Patch 450725]
-
-2001-09-10 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/tclsh.1:
- * doc/Tcl_Main.3:
- * doc/CrtChannel.3:
- * doc/OpenFileChnl.3:
- * doc/GetStdChan.3: Enhanced the manpages with cross-references to
- the new manpage and more explanations how these functions deal with
- the standard channels in various situations.
-
- * doc/StdChannels.3: New manpage describing handling of the standard
- channels by the Tcl library. [Bug 402725]
-
-2001-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * unix/mkLinks (Tcl_FSLink): Updated to reflect 2001-08-23 file system
- changes.
-
- * unix/tclLoadShl.c: Added #include of tclInt.h; access to Tcl
- internals, notably TclpUnloadFile(), is required. Thanks to Bob
- Techentin for report and patch. [Bug 459305]
-
- * generic/tclInitScript.h (initScript):
- * win/tclWinInit.c (TCL_REGISTRY_KEY, TclpSetVariables): Removed
- vestiges of Tcl's old initialization from registry variables. [Bug
- 455645]
-
-2001-09-10 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' to the
- internal platform specific stub table.
-
- * win/tclWinFile.c (TclpObjStat): Now added the call to
- 'TclWinFlushDirtyChannels' to this function. I don't know where my
- head was last thursday (2001-09-06), but the call was actually added
- to 'TclpObjChdir', i.e. the implementation of [cd]. Corrected this
- now. Thanks to Vince Darley for spotting this.
-
-2001-09-10 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclProc.c:
- * tests/proc.test: made [proc] bytecompile a no-op for procs defined
- with _args_ as single argument and an empty body. [FRQ 451441]
-
-2001-09-09 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in:
- * win/Makefile.in: Use () around variable name instead of {}. Use
- TCLTEST variable directly instead of depending on the tcltest alias.
-
-2001-09-09 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tcl.h:
- * generic/tclPlatDecls.h: Reminder from David Cuthbert
- <dacut@kanga.org> that I hadn't finished the Borland compatibility
- stuff. [Patch 436116]
-
-2001-09-09 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/cmdAH.test: Modify cmdAH-20.5 and cmdAH-24.8 to display the
- file atime or mtime results if the test fails.
-
-2001-09-08 David Gravereaux <davygrvy@pobox.com>
-
- * win/mkd.bat:
- * win/rmd.bat: made these text files, text files again. [Patch 451333]
-
-2001-09-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/mkd.bat:
- * win/rmd.bat: Apply binary property (cvs admin -kb) to files and
- convert to CRLF linefeed format to fix the VC++ build. [Bug 219409]
-
-2001-09-08 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tclFCmd.c:
- * doc/FileSystem.3:
- * generic/tclIOUtil.c: removed Tcl_FSCopyFile fallback to channel
- copying, since the channels will not have access to interpreters and
- the channel copying currently requires an interp. Code which required
- cross-platform copies always has interpreters, so that solves the
- problem. Fixes bug in TclKit.
-
-2001-09-07 David Gravereaux <davygrvy@pobox.com>
-
- * win/tcl.m4: Added -link50compat option so a VC6 linker makes a VC5
- (pre sp3) compatible import library. [Bug 219257]
-
-2001-09-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinThrd.c (TclpThreadExit): Cast status argument to
- _endthreadex to unsigned instead of DWORD to match the Win32 function
- prototype.
-
-2001-09-06 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * All the changes below serve to fix bug [219148] which reports a 80x
- performance hit for file I/O on Win* systems. On my system it was
- closer to a 120x hit. Problem report by Uwe Traum <no email address
- available>.
-
- The fix goes like this: The obstacle is 'FlushFileBuffers', executed
- whenever Tcl writes data to the OS, as Tcl has to wait for the disk to
- complete I/O, and disks are slow. We remove that obstacle. This opens
- another problem, [file size] reports back wrong numbers. So for [file
- size] we add the call back in. As optimization we keep track of the
- channels which were written to and flush only these.
-
- * win/tclWinFile.c (TclpObjStat): Added a call to
- 'TclWinFlushDirtyChannels'. This ensures that [file size] and related
- commands report the correct size of a file even if Tcl has recently
- written to it. Unixoid OS's always report the correct size even for
- files with pending data, but Win* syssystem don't. They only report
- what is actually on disk.
-
- * win/tclWinInt.h: Added declaration of 'TclWinFlushDirtyChannels',
- making it available to other parts of the tcl core.
-
- * win/tclWinChan.c (TclWinFlushDirtyChannels): New, internal,
- procedure. Goes through the list of open file channels and forces the
- OS to flush its file buffers for all which were written to since the
- last call of this function. This is an expensive operation as Tcl has
- to wait for the OS to complete actual writes to the disk.
-
- (FileInfo): Added dirty flag required by the procedure above.
-
- (FileOutputProc): Removed flushing of file buffers, setting the dirty
- flag instead. This means that the previously incurred delays do not
- happen anymore.
-
- (TclWinOpenFileChannel): Added initialization of 'dirty' flag.
-
-2001-09-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/http.n: noted -binary, charset and coding state keys.
- * tests/http.test:
- * library/http/pkgIndex.tcl:
- * library/http/http.tcl (geturl): correctly get charset parameter
- and convert text according to specified encoding (if known). RFC
- iso8859-1 is used by default. Also recognize Content-encoding to see
- if we should do binary translation. Added a CYA -binary switch for the
- cases that were missed. [Bugs 219211, 219399]
-
- * tests/ioUtil.test: changed to make better use of constraints and
- remove knownBug constraints that weren't valid.
-
-2001-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-3.2): Updated test to support newer
- HP-UX releases that properly report euc-jp as the system encoding for
- Japanese. Bug report and patch verification by Bob Techentin. [Bug
- 453883]
-
- * doc/http.n:
- * library/http/*.tcl:
- * tools/tcl.wse.in:
- * tools/tclmin.wse:
- * unix/Makefile.in:
- * win/{Mm}akefile.*: Updated http package to version 2.4, reflecting
- the new features just added.
-
-2001-09-06 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclTest.c: tests of old-fs hooks no longer cause problems in
- threaded builds. Also removed unused unload proc.
- * generic/tcl.decls:
- * generic/tclIOUtilc: added Tcl_FSMountsChanged so that a vfs can
- inform the filesystem that the filesystem epoch must be changed (since
- cached filesystems may now be incorrect). Fixes problem running tclvfs
- extension.
- * library/tcltest/tcltest.tcl: if tests aren't in a native filesystem,
- then don't use pipes to run them. [Bug 458741]
-
-2001-09-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.decls (479 generic):
- * generic/tclIO.c (Tcl_Seek,Tcl_Tell,Tcl_OutputBuffered): Added public
- function to return the size of the output buffer and reworked other
- channel functions to use this shared functionality and that of
- Tcl_InputBuffered() too. [TIP#49, Rolf Schroedter]
-
-2001-09-05 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclPlatDecls.h: Another small trim finalizing Borland
- support.
-
- * win/tclWinPipe.c:
- * win/tclWinPort.h: More Borland compatibility fixes. Changed EDQUOT
- #define from 49 to 69. Borland had a clash as it was already using
- this number. Upon advice from Helmut Giese, EDQUOT has been found in
- other header files #defined as 69. [Patch 436116]
-
- * win/.cvsignore: A few more glob patterns added.
-
- * win/makefile.bc (new): Borland lives once more! rejoice..
- * generic/tclAlloc.c: Small Borland compatibility fix.
- * win/tclWinTime.c: More Borland compatibility fixes. [Patch 436116]
-
-2001-09-05 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/winFCmd.test: made notWin2000 constraint false if not running
- on Windows at all.
-
-2001-09-04 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinThrd.c: Revisited _beginthreadex() stuff. Instead of
- assuming a c-runtime implimentation of _beginthreadex normal, I
- reversed the logic to not assume, and use when is by explicitly
- needing to add runtimes that support it such as Borland.
-
- * generic/tcl.h:
- * generic/tclPlatDecls.h: Borland compatibility change so ClientData
- was properly typed as a void* and TCHAR would not be defined twice.
-
- * generic/tcl.h: Removed a small mistake from before. Changes to the
- EXTERN macro for proper Borland compatibility will have to see a TIP.
- What's this with the MS compiler:
-
- __declspec(dllexport) int func (int a, int b);
-
- will have to be this with Borland:
-
- int __cdecl __export func (int a, int b);
-
- The order of the attribute needs to be after the return type.
-
-2001-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * compat/strtod.c (strtod): Fixed failure to handle expressions like
- 3eq2 and failure to set errno on overflow. [Bug 440894]
-
-2001-09-04 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclProc.c:
- * tests/proc.test: made [proc] check that formal args have simple
- names. [Bug 458548]
-
-2001-09-04 Vince Darley <vincentdarley@users.sourceforge.net>
-
- Minor bug fixes in filesystem, plus small vfs changes as a result of
- enabling the test filesystem to work properly.
- * tests/fileName.test: ensure new test cleans up after itself
- * doc/filename.n:
- * generic/tclFileName.c: improved Mac path handling and document why
- [Bug 421842] on Windows handling of UNC paths is not valid.
- Documentation and code now much clearer on what is and is not a UNC
- path.
- * doc/FileSystem.3:
- * unix/tclUnixPipe.c:
- * generic/tclFCmd.c:
- * generic/tclIOUtil.c: fixed error message, fixed [Bug 453512] about
- dangerous use of tmpnam, replaced with mkstemp. Documented all the
- changes.
- * generic/tclTest.c: made test vfs fully functional as a 'reporting
- filesystem'.
- * generic/tcl.stubs:
- * generic/tcl.h:
- * generic/tclInt.h:
- * generic/tclIOUtil.c:
- * doc/file.n:
- * various platform-specific 'TclpLoadFile': fixed comments about
- unload behaviour, and completed objectification of loading. Required
- change to Tcl_Filesystem lookup table, so incompatible with 8.4a3, but
- not older versions of Tcl. The change also allows 'link' and
- 'reporting' filesystems to function correctly when loading files.
- Implementation of 'file delete -force' copes with case where cwd is
- inside the directory. Moved overlooked Tcl_FSGetPathType from internal
- to external API. Made sure filesystems which are registered and then
- unregistered are only freed when all references to them are gone.
- Documented changes.
- * unix/tclUnixFCmd.c: when deleting directories recursively, make sure
- permissions are ok. Together with the above, this fixes [Bug 219139]
- * tests/winFCmd.test: differentiated test results for win2k versus
- not. This fixes [Bug: 219239]
- * tests/fCmd.test: added tests for 'file delete -force' where the cwd
- is inside, and when permissions are inadequate.
-
-2001-09-04 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c: fixed incorrect operands for INST_LIST [Bug
- 458241] (David Cuthbert, dacut@users.sourceforge.net)
-
-2001-09-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (TclExecuteByteCode): fixed missing comma in
- debug macro.
-
-2001-09-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/ExprLongObj.3: Fixed error in documentation of argument type to
- Tcl_ExprObj [Bug 457435]
-
-2001-09-02 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinThrd.c: Portability fix for Cygwin who's c-runtime,
- not surprisingly, doesn't have the MSVCRT specific _beginthreadex /
- _endthreadex pair. This might have to be revisited for proper Borland,
- lcc32, Watcom and other support as well. [Patch 444255]
-
- * win/tclWinThrd.c: Moved FinalizeConditionEvent() proto to within
- the main #ifdef TCL_THREADS block to avoid mingw warning about it
- being there but unused.
-
- * win/makefile.vc: Added -Zl (zee el) to tclStubLib.c compile line to
- make sure the tclstub84.lib static library is built without requiring
- a specific C-runtime library at link-time for the end-use developer.
- It has been noted on c.l.t that this trips many first time users
- trying to make extensions. [Patch 403533]
-
-2001-08-31 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.h: added TclCompileListCmd header
- * generic/tclBasic.c: added TclCompileListCmd compile proc
- * generic/tclCompCmds.c (TclCompileListCmd): function to compile the
- 'list' command at parse time.
- * generic/tclExecute.c (TclExecuteByteCode): definition of INST_LIST
- bytecode.
-
- * doc/StringObj.3: added words of warning to use Tcl_ResetResult with
- the Tcl_Append* functions.
-
- * tests/compile.test: added compile-11.* interp result checks
- * generic/tclUtil.c (TclGetIntForIndex): added Tcl_ResetResult before
- Tcl_AppendStringsToObj to prevent shared object crash when called from
- bcc instruction. The Tcl_Append* calls that append to the result
- object that are invoked by bcc insts must remember to call
- Tcl_ResetResult because the bcc doesn't do this for us. [Bug 456892]
-
-2001-08-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIndexObj.c: fixed some casting problems that upset Crays.
- [Bug 419528] (andreasen)
-
-2001-08-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Silence warning from Sun compiler. [Bug 454374]
-
-2001-08-30 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: allow cached fully-qualified command names to
- be usable from different namespaces within the same interpreter
- without forcing a new lookup. This speeds up scripts that pass command
- names in variables ("this" in some OO packages). [Patch 456668]
-
-2001-08-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- Further fs updates. After examining the most common Tcl extensions
- (TclX, BLT, Tk, TclPro, Mktclapp), it has been determined that only
- TclpGetCwd and the Access/Stat/Open insert/delete hooks of the
- internal fs functions are ever used. The remaining functions from
- Tcl's internal interfaces have therefore been removed, since Tcl now
- exports a more suitable public API (Tcl_FS...)
-
- * generic/tclInt.stubs:
- * generic/tclInt.h: updated for removed internal functions. Some new
- internal functions have been put in tclInt.h (and not exported in the
- stub table because good public equivalents exist).
- * generic/tclTest.c: some test functions used the internal private
- APIs. These tests have been retained, but modified to use public APIs.
- Also objectified the internal filesystem tests.
- * win/tclWinFile.c: removed TclpStat, TclpAccess and refactored code
- to use NativeAccess, NativeStat. This should speed up stat, access and
- glob commands.
- * win/tclWinFCmd.c: removed all TclpCopy/Rename/Delete File/Directory
- string-based procedures which aren't used any more. Improved
- efficiency of some other procedures. Ensure that filename conversions
- with a NULL interp do not crash Tcl.
- * mac/tclMacFCmd.c: wrapped long lines and cleaned up
- TclpObjNormalizePath, removed all TclpCopy/Rename/Delete
- File/Directory string-based procedures which aren't used any more.
- * mac/tclMacFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir,
- etc.
- * unix/tclUnixFCmd.c: removed use of TclpAccess, removed all
- TclpCopy/Rename/Delete File/Directory string-based procedures which
- aren't used any more.
- * unix/tclUnixFile.c: removed obsolete TclpStat, TclpAccess,
- TclpChdir, etc.
- * tcl(Unix|Mac|Win)Chan.c: objectified TclpOpenFileChannel.
- * various 'load' implementations all objectified.
- * generic/tclFileName.c: removed redundant code.
- * generic/tclIOUtil.c: removed TclStat, TclAccess, TclpListVolumes.
- Fix to MatchInDirectory at the root of a volume. Also improved some
- documentation, and improved default path joining behaviour for virtual
- filesystems, especially regarding '~'.
- * tests/fileName.test: added tests to check for bugs fixed above.
- * doc/FileName.3: improved documentation
-
-2001-08-30 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclAsync.c:
- * generic/tclEvent.c:
- * generic/tclInt.h: Improper cleanup of asyncMutex in tclAsync.c
- repaired. TclFinalizeSynchronization() was trying to remove a
- registered mutex that was dumped earlier when the TSD it was stored in
- was cleared. This was only surfacing on *nix. Windows was being masked
- by mutexes not actually being returned to the system! That was
- repaired in a previous patch. Needed to add a private
- TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread().
- Pheww.. Is this done yet? [Bug 414419] requested by Rob Ratcliff
- <rrr6399@futuretek.com>
-
-2001-08-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c (TclPushVarName): noted 'static' defn.
- [Bug 453872]
-
-2001-08-26 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl (tcl_findLibrary):
- * tests/unixInit.test (unixInit-2.{1,9}):
- * unix/tclUnixInit.c (TclpInitLibraryPath):
- * win/tclWinInit.c (TclpInitLibraryPath): Corrected inconsistency
- between the search path for script libraries and the directory name
- $DISTNAME into which distributions built by 'make test' unpack. [Bug
- 455642]
-
-2001-08-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/stringComp.test: added string-1.3
- * generic/tclCompCmds.c (TclCompileStringCmd): changed to return
- TCL_OUT_LINE_COMPILE instead of TCL_ERROR when compiling and an
- unknown string method is called. This is necessary as the string
- command may be never called, or not until 'string' is redefined.
-
-2001-08-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/glob.n: documented windows-style path issue with glob.
- [Bug 219392]
- * doc/filename.n: documented windows path/file length limitation.
- [Bug 454597]
-
-2001-08-24 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-2.9): Corrected expected result to
- match Tcl's quirky construction of its init library path.
-
-2001-08-23 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 432499]. Part of the
- code used the non-absolute path to the executable to determine
- quoting. This failed if the absolute path contained spaces, but the
- application name itself not. This bug caused no trouble on Win NT 5,
- but does for other variants in the Win* family. Report and fix due to
- Ken Poole <kenpoole@users.sourceforge.net>.
-
-2001-08-23 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: added QNX-6 build support. [Bug 219410] (loverso)
-
- * unix/tclUnixFCmd.c:
- * generic/tclIOUtil.c:
- * generic/tclFileName.c: corrected minor compiler warnings.
-
-2001-08-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- Variety of small filesystem and vfs issues fixed or improved. The new
- fs code allows many new opportunities for efficiency improvements
- through the objectified API. The main changes integrated here are such
- efficiency improvements. Some limitations of the original
- implementation have also now been lifted. Meanwhile a variety of fs
- bugs (some old, some new) have also been fixed.
-
- * generic/tclFileName.c: Made Tcl_FSSplitPath more efficient, and
- removed some static string-based procedures which are no longer used.
- Much more objectification. Tcl_FSJoinPath is now very efficient and
- more aware of virtual filesystems. Clarified where the Mac-specific
- code attempts to interpret Unix-style paths. Modified TclDoGlob to use
- lstat not access to fix [Bug 434876] (L. Virden)
-
- * tcl(Win|Unix|Mac)FCmd.c:
- * tcl(Win|Unix|Mac)File.c: replaced TclpListVolumes with
- TclpObjListVolumes with different signature, updated code due to more
- efficient signature of Tcl_FSGetTranslatedPath. Used cached native
- paths where possible to improve efficiency -- this was completed on
- MacOS, but on Unix and Win the traversal functions make the task much
- more complex, so there are still some improvements possible there.
- Removed unused TclpNormalizePath which had been left in tclWinFCmd.c.
- Objectified all 'file attributes' functions. Fixed the new [Bug
- 451571, Bruce Stephens] which is most obvious on Unix, but could occur
- on MacOS or Windows. This bug actually existed in Tcl 8.3.x but was
- only made obvious by the recent filesystem overhaul when the code was
- exercised more heavily.
- * tests/fileName.test: Three new tests to exercise the above bug, and
- make sure it is fixed correctly.
- * unix/tclUnixFile.c: avoid panic in glob when a link doesn't point
- anywhere. It would probably be good to define exactly what Tcl should
- do in circumstances like these, and make sure mac/win/unix all behave
- accordingly. [Bug 417111] (Hemang Lavana). Also fixed
- misleading/obsolete comment in the code.
- * generic/tcl.stubs: changed signature of Tcl_FSGetTranslatedPath and
- added Tcl_FSGetTranslatedStringPath.
- These changes allow further optimisations in the FS code.
- * generic/tcl.h: changed signature of Tcl_FSListVolumes so that it
- doesn't require a Tcl interpreter plus result. Renamed Tcl_FSReadLink
- to Tcl_FSLink with additional argument so we can support making links
- in the future. [Patch: 450340]
- * generic/tclInt.h: added declaration for TclpObjListVolumes.
- Objectified internal call signatures for 'file attributes' functions,
- and added an internal objectified get path type function.
- * generic/tclIOUtil.c: added the moved function TclpListVolumes which
- calls platform specific code (needed for backwards compatibility), and
- improved efficiency of parts of the FS (particularly file
- normalization). Much less copying and memory allocation is required
- now. added new GetPathType so that changes in 'file volumes' can
- actually affect files' types, and objectified more code. Made current
- code work with test suite artificially changing current platform.
- Added 'static' keywords where required.
- * generic/tclIO.c:
- * generic/tclTest.c: Added 'static' keywords, fixing [Bug 453872] (Bob
- Techentin)
- * generic/tclCmdAH.c: file command implementation updated for API
- changes, removed unnecessary special-case SplitPath static function,
- since it no longer helps prevent code duplication. Moved setting of
- interpreter result to each individual location that actually required
- it, to avoid very large code separation between reading and setting
- the result.
- * doc/FileSystem.3: updated documentation for the new or changed APIs,
- and clarified some issues.
- * doc/SplitPath.3: added pointer to newer APIs in FileSystem.3
- * doc/filename.n: clarified current implementation of tilde support on
- Mac/Win. [Bug 453514] (Sergey Kuzmin)
- * doc/glob.n: improved documentation for '-directory' and '-path'
- options.
-
- There are now many private, obsolete, platform-specific 'Tclp'
- string-based filesystem APIs which could be removed. We should check
- whether any of these are used by extensions and, at least in Tcl 9,
- remove them.
-
- The above changes signify a ***POTENTIAL INCOMPATIBILITY*** with
- 8.4a3, since signatures of two functions in the new API have changed,
- but not with older versions of Tcl.
-
-2001-08-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclBinary.c (FormatNumber): Extract a long from the object
- and not an int, to stop [binary format] from being unable to format
- some input numbers on architectures where sizeof(int) is less than
- sizeof(long) (particularly Alpha). [tiprender Bug 441861]
-
- * tests/format.test: Converted conditional execution of tests into a
- test constraint.
-
-2001-08-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in:
- * win/makefile.vc: updated install target for dde1.2
- * doc/dde.n: fixed dde man page (which was totally incorrect).
- * tests/winDde.test:
- * win/tclWinDde.c (Tcl_DdeObjCmd): added -binary option to dde request
- command to allow for returning binary data. [Bug 227482]
- Updated dde to 1.2
-
- * tests/tcltest.test: added unixExecs constraint to files that used
- 'grep' in the test. [Bug 453143]
-
- * library/tcltest/tcltest.tcl: fixed stdio constraint test. [Patch
- 454050] (stanton)
- Simplified unixExecs constraint test.
-
-2001-08-22 Don Porter <dgp@users.sourceforge.net>
-
- * tests/ioUtil.test (ioUtil-3.*): Corrected errors in tests revealed
- by fix of overagressive compiler. [Bug 451200]
-
-2001-08-21 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c:
- * tests/compile.test: Fixed overagressive compilation of [catch]: it
- was catching errors at substitution time. [Bug 219184]
-
-2001-08-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/tcltest.test (tcltest-12.2): fixed test that would break when
- env vars weren't Tcl list friendly [Patch 454046] (stanton)
-
-2001-08-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl (geturl): added port number to Host: header to
- comply with HTTP/1.1 spec (RFC 2068). [Bug 452217]
-
-2001-08-16 David Gravereaux <davygrvy@pobox.com>
-
- * tools/tcl.wse.in:
- * tools/tcl.hpj.in:
- * win/tcl.hpj.in: Removed -kb storage in CVS to ensure these text
- files are checked-out in the translation mode CVS is in. Setting these
- as binary as part of an effort to make sure they are always in CRLF,
- no matter what the CVS translation, is bypassing how CVS works and is
- confusing.
-
- * tools/genStubs.tcl: Removed LF-only output. Having to reconvert
- back to CRLF before committing to CVS was giving me a headache. [Bug
- 451333]
-
- * win/makefile.vc: replaced $(WINDIR) with $(include32) for the
- .rc.res inference rule. winver.h wasn't getting included. [Bug 445630]
-
-2001-08-14 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c: make the intial maxNestingDepth of an
- interpreter be MAX_NESTING_DEPTH instead of a hardwired value. [Bug
- 232564]
-
-2001-08-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/trace.test: Corrected test numbers. [Bug 449794]
-
-2001-08-12 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure: Regen.
- * unix/configure.in:
- * unix/tcl.m4: Use GCC variable set by AC_PROG_CC instead of defining
- our own using_gcc variable.
-
-2001-08-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- Variety of small issues introduced by the vfs code fixed:
- * generic/tclIOUtil.c: uninitialised read.
- * generic/tclFCmd.c: possible memory leak in file delete with error
- condition.
-
-2001-08-10 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c:
- * tests/trace.test: Insure that [array] traces work correctly for
- undefined variables. [Bug 449094]
-
-2001-08-09 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in: Delete the unused getcwd.o target. [Bug 440942]
-
-2001-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * library/dde/pkgIndex.tcl:
- * library/http/http.tcl:
- * library/http/pkgIndex.tcl:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl:
- * library/opt/optparse.tcl:
- * library/opt/pkgIndex.tcl:
- * library/reg/pkgIndex.tcl:
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl: Added checks for package dependencies.
- Bumped patchlevels of changed packages: http 2.3.2, msgcat 1.2.2,
- opt 0.4.3, tcltest 2.0.1. [Patch 448931]
-
- * README:
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure:
- * win/configure.in: Bumped up patchlevel to 8.4a4 to distinguish CVS
- snapshots from the 8.4a3 release. This does not necessarily mean there
- will be an 8.4a4 release. [Bug 448938]
-
-2001-08-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- 8.4a3 RELEASE
-
- * changes:
- * README:
- * mac/README:
- * unix/README:
- * win/README.binary: updated for 8.4a3 release
-
- * generic/tclFileName.c (Tcl_FSSplitPath): update to Tcl style guide.
-
- * generic/tclFCmd.c (FileCopyRename): fixed mem leak in introduction
- of vfs code where a new Tcl_Obj wasn't freed.
-
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): reordered
- the retrieval of arguments to avoid shimmering bug when the pattern
- and string referenced the same object.
-
- * unix/configure: regenerated
- * unixE/tcl.m4: added GNU (HURD) configuration target.
- [Patch 442974] (brinkmann)
-
- * win/README: made note of URL for Windows compilation notes
-
- * win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition): added
- DeleteCriticalSection calls for cleanup [Patch 419683]
-
- * unix/tclUnixPipe.c (TclpCreateTempFile): fixed use of tmpnam,
- which is dangerous. [Patch 442636] (lim)
- The use of tmpnam in TclpTempFileName must still be changed.
-
- * tests/http.test (http-4.14): fixed variable error return.
- [Bug 424252]
-
-2001-08-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure: regenerated
- * win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll.
- This is necessary for TEA compliant builds that build shared against a
- static-built Tcl.
- * win/Makefile.in ($(TCLSH)): added $(TCL_STUB_LIB_FILE) to build
- target, otherwise it wouldn't get generated in a static build.
-
-2001-08-06 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): Applied patch from [Bug 442665]
- to fix the bug reported by it. The function can corrupt a freed object
- if it is called with objc == 3. This is because it retrieves resultPtr
- and does not increment its reference count, but then calls
- Tcl_ObjSetVar2, which causes the retrieved resultPtr object to be
- released.
-
-2001-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tclsh.1: Added note that the tclsh program is frequently
- installed with the Tcl version numer as part of the name. [Patch
- 402725]
-
- * generic/tclPkg.c:
- * tests/pkg.test: [package forget] now forgets all of the package
- arguments it receives, not stopping when a package is not found. [Bug
- 415273]
-
-2001-08-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): corrected
- uninitialized value.
-
-2001-08-02 Mo DeJong <mdejong@redhat.com>
-
- * generic/tclPlatDecls.h:
- * win/tclWinPort.h: Revert <tchar.h> related changes made to improve
- Cygwin support on 2001-07-18. This change ended up breaking the VC++
- build because of conflicts between Windows APIs and internal Tk APIs.
-
-2001-08-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c: minor casts to eliminate warnings. (lim)
- [Patch 440218]
-
- * tests/parseOld.test: changed some tests that required testwordend to
- exist to skip in a proper tcltest manner. [Bug 442663]
-
- * library/http/http.tcl (http::mapReply): the regsub'ing of \n and \t
- to escape them was unnecessary.
-
-2001-07-31 Vince Darley <vincentdarley@users.sourceforge.net>
-
- Changes from TIP#17 "Redo Tcl's filesystem"
- The following files were impacted:
- * doc/Access.3:
- * doc/FileSystem.3:
- * doc/OpenFileChnl.3:
- * doc/file.n:
- * doc/glob.n:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclDate.c:
- * generic/tclDecls.h:
- * generic/tclEncoding.c:
- * generic/tclFCmd.c:
- * generic/tclFileName.c:
- * generic/tclGetDate.y:
- * generic/tclIO.c:
- * generic/tclIOCmd.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclLoad.c:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * generic/tclUtil.c:
- * library/init.tcl:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacInit.c:
- * mac/tclMacPort.h:
- * mac/tclMacResource.c:
- * mac/tclMacTime.c:
- * tests/cmdAH.test:
- * tests/event.test:
- * tests/fCmd.test:
- * tests/fileName.test:
- * tests/io.test:
- * tests/ioCmd.test:
- * tests/proc-old.test:
- * tests/registry.test:
- * tests/unixFCmd.test:
- * tests/winDde.test:
- * tests/winFCmd.test:
- * unix/mkLinks:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixInit.c:
- * unix/tclUnixPipe.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinInit.c:
- * win/tclWinPipe.c:
-
-2001-07-24 Mo DeJong <mdejong@redhat.com>
-
- * win/tclWinThrd.c (Tcl_CreateThread): Close Windows HANDLE returned
- by _beginthreadex. The MS documentation states that this handle is not
- closed by a later call to _endthreadex.
-
-2001-07-21 Don Porter <dgp@users.sourceforge.net>
-
- * doc/pkgMkindex.n:
- * library/package.tcl: Corrected documentation and usage message of
- [pkg_mkIndex].
-
-2001-07-18 Mo DeJong <mdejong@redhat.com>
-
- * generic/tclPlatDecls.h: Define TCHAR by including windows.h instead
- of tchar.h since Cygwin does not support the tchar.h header. Include
- CHECK_UNICODE_CALLS logic from tclWinPort.h.
- * win/tclWinPort.h: Remove CHECK_UNICODE_CALLS logic. Remove include
- of windows.h since this now done it tclPlatDecls.h.
- * win/tclWinReg.c: Remove duplicate include of windows.h.
-
-2001-07-18 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c: Aftermath to [Bug 427196]. Squash empty buffers if
- they are smaller than the requested buffersize, to prevent reusage of
- old buffers and to honor changes in the requested buffersize made by
- the user.
-
-2001-07-17 Mo DeJong <mdejong@redhat.com>
-
- * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definition for
- the TclpReadlink function. This method implements reading of symbolic
- links when build with Cygwin.
-
-2001-07-17 Mo DeJong <mdejong@redhat.com>
-
- * win/tclWinPort.h: Add Cygwin specific defines for environ and
- timezone variables.
-
-2001-07-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c (GetInput): Fixed [Bug 427196]. Memory was
- overwritten because a buffer was used after a change of the requested
- buffersize together with that requested buffersize and not its actual
- size, which was smaller. Note that the continous reuse of the smaller
- buffer negatively impacts performance. The system never allocates a
- buffer with the newly requested bigger buffersize.
-
-2001-07-16 Mo DeJong <mdejong@redhat.com>
-
- * generic/tcl.h: Define __WIN32__ when __CYGWIN__ or __MINGW32__ is
- defined.
- * generic/tclAlloc.c: Define caddr_t when compiling with VC++ or
- mingw. This type is already defined when compiling with Cygwin.
-
-2001-07-16 Mo DeJong <mdejong@redhat.com>
-
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinPort.h:
- * win/tclWinSerial.c:
- * win/tclWinThrd.c:
- Remove unnecessary #includes of dos.h, direct.h, and tchar.h. This
- will help the Cygwin porting effort since these headers do not exist
- under Cygwin.
-
-2001-07-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinPipe.c (PipeClose2Proc): constrained the mutex lock to
- just the TerminateThread call and waiting for termination. (jsmith)
-
- * generic/tclCmdMZ.c: Removed extra copy of the SCAN_* macros
- #defined in generic/tclScan.c. [Bug 441230] (porter)
-
-2001-07-12 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/unixInit.test (unixInit-2.8): Added extra constraint,
- notInstalledInTmp, to stop this test from damaging installations in
- /tmp; not much fun to have to reinstall the Tcl library every time you
- run the test suite!
-
- * tests/subst.test (subst-10.*): Updated tests to check new behaviour
- for 'break' in command substitutions.
- (subst-1.2,subst-7.1): Error messages changed.
- * doc/SubstObj.3: New file, to document Tcl_SubstObj.
- * doc/subst.n: Improved and updated documentation for 'subst' to help
- support the changed behaviour.
- * generic/tcl.decls (generic-437): Declaration for Tcl_SubstObj
- * generic/tcl.h (TCL_SUBST_*): Added flags for Tcl_SubstObj.
- * generic/tclCmdMZ.c (Tcl_SubstObj,Tcl_SubstObjCmd): Divided into two
- parts to allow people to access the innards of 'subst' and changed the
- behaviour when command substitutions do a 'break' to be different from
- 'continue'. Also now works with objects, which allows for some nifty
- optimisations with variable substitutions and a slight improvement
- with command substitutions. [TIP#36]
-
-2001-07-10 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in: Add AR variable for use in STLIB_LD.
- * unix/configure: Regen.
- * unix/configure.in: Use STLIB_LD when defining MAKE_LIB and
- MAKE_STUB_LIB. Subst RANLIB and AR.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add doc comment about STLIB_LD
- command. Check ${AR} env var when setting STLIB_LD and delay
- evaluation until make time.
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Delay evaluation of ${AR} in STLIB_LD
- and add flags to better match the Unix implementation. Don't bother
- defining AR when using VC++ since it is not used.
-
-2001-07-06 Mo DeJong <mdejong@redhat.com>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Pass -e _WinMain@16 in addition to
- the -mwindows flag to work around a problem with ld when it
- incorrectly use main() as the executable entry point when both
- WinMain() and main() are available.
-
-2001-07-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdAH.test: Added leading zero to file modes to work around
- fault in HPUX strtol() which ignores the base parameter. [Bug 438808]
-
-2001-07-05 Mo DeJong <mdejong@redhat.com>
-
- * win/Makefile.in: Subst DEPARG directly instead of relying on a
- variable. This will make Cygwin builds faster since an extra exec will
- be avoided.
- * win/configure: Regen.
- * win/configure.in: Subst DEPARG.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Move AC_MSG_CHECKING after the
- AC_CHECK_PROG so that status messages do not get mixed together. Set
- DEPARG based on the results of the cygpath check so that we avoid
- using an extra exec when it is not needed. Use ac_cv_cygwin status
- flag instead of looking at the output of gcc -v, which works in the
- case where -mno-cygwin is set in the CFLAGS.
-
-2001-07-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README:
- * mac/README:
- * unix/README:
- * win/README:
- * win/README.binary: updated READMEs with purls
-
-2001-07-03 Mo DeJong <mdejong@redhat.com>
-
- * win/Makefile.in: Remove PATHTYPE variable.
- * win/configure: Regen.
- * win/configure.in: Don't subst PATHTYPE.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove PATHTYPE variable. Set CYGPATH
- to "cygpath -w" if the cygpath executable is found on the path. This
- approach works for native Cygwin builds and cross compiles.
-
-2001-07-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/var.test:
- * generic/tclVar.c (Tcl_VariableObjCmd): added patch to check for
- number of args. [Patch 426038]
-
- * generic/tclVar.c (Tcl_GetVar2Ex): added ability to recognize
- TCL_TRACE_READS flags to cause creation of part1 in TclLookupVar to
- make sure newly created array will get read traces triggered
- appropriately. This is called by Tcl_ObjGetVar2, Tcl_GetVar, and
- Tcl_GetVar2.
- (TclSetIndexedScalar, TclSetElementOfIndexedArray): added read trace
- triggering for lappend case.
- (Tcl_LappendObjCmd): pass TCL_TRACE_READS to Tcl_ObjGetVar2 to trigger
- possible read traces for new arrays.
-
- * generic/tclExecute.c (TclExecuteByteCode): added TCL_TRACE_READS
- flag to INST_LAPPEND(_ARRAY)_STK case to trigger read traces for newly
- created arrays. Removed unnecessary #ifdef for TCL_COMPILE_DEBUG in
- INST_LOAD_SCALAR1 case.
-
- * tests/append.test:
- * tests/appendComp.test: added tests for read trace triggering for
- append and lappend.
-
-2001-07-03 Mo DeJong <mdejong@redhat.com>
-
- * tests/clock.test (clock-2.5): Adjust test so that it passes when the
- time slice is 60 msecs, now passes under Windows 98.
-
-2001-07-03 Mo DeJong <mdejong@redhat.com>
-
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't pass the v flag to ${AR} when
- using gcc, verbose output is not needed.
-
-2001-07-03 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-2.8): Changed test back to using
- installation layout, adding comments explaining why the test writes to
- the directories it does, and checks to avoid destroying other files in
- /tmp.
-
-2001-07-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/unixInit.test (unixInit-1.2): Fixed faults reported in
- [Bug 438070] - well, at least enough to work on Solaris - and added
- comments that should make what is going on in the test clearer.
-
-2001-07-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/util.test: added util-4.6
- * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards over
- utf-8 chars. [Bug 227512]
-
-2001-07-02 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-2.8): Corrected test for all absolute
- pathnames in library path when executable is installed near root
- directory to use correct development directory layout. [Bug 438014]
-
- * tests/unixInit.test (unixInit-2.9):
- * unix/tclUnixInit.c (TclpInitLibraryPath):
- * win/tclWinInit.c (TclpInitLibraryPath): Corrected buggy
- construction of search path entries relative to executable. Added test
- for bad construction. [Bug 438014]
-
-2001-06-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclNamesp.c: Correction to faulty patch from [Bug 231259]
-
-2001-06-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/unixInit.test (unixInit-1.2): Modified so as not to require a
- local echo service, which fails on many systems which have that turned
- off for security reasons...
-
-2001-06-27 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.h:
- * generic/tclObj.c:
- * unix/Makefile.in: added a -DPURIFY mode that makes Tcl_Obj's
- allocated and free singularly (instead of in alloc in blocks and never
- free) to allow checkers like Purify to operate better.
-
- * library/encoding/koi8-u.enc: added koi8-u (Ukranian variant)
- encoding.
-
- * tests/subst.test:
- * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash handling of
- multibyte utf-8 chars. [Bug 217987]
-
- * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in info
- procs that created objects without using them.
-
- * generic/tclCompCmds.c (TclCompileStringCmd): fixed mem leak when
- string command failed to parse the subcommand.
-
- * doc/interp.n:
- * doc/unknown.n: updated notes about what is in a safe interp. [Bug
- 218605]
-
-2001-06-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/event.test (event-11.5): Removed hard-coded port number which
- could fail on some systems. [Bug 436727]
-
-2001-06-26 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in:
- * win/Makefile.in: Add `make shell` target. This target will set the
- proper env vars before invoking tclsh from the build directory.
-
-2001-06-26 Mo DeJong <mdejong@redhat.com>
-
- * win/Makefile.in: Use : to separate VPATH entries. This works for
- both Cygwin builds and cross builds, the VPSEP variable is simply
- unneeded complexity.
- * win/configure: Regen.
- * win/configure.in: Don't subst VPSEP.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove VPSEP variable.
-
-2001-06-26 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure: Regen.
- * unix/configure.in: Fix last checkin by removing export since that
- only works in bash.
- * win/configure: Regen.
- * win/configure.in: Ditto.
-
-2001-06-26 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure: Regen.
- * unix/configure.in: Set CFLAGS to "" if the user did not set CFLAGS
- in the env. This keeps AC_PROG_CC from adding "-g -O2" to the CFLAGS
- by default.
- * win/configure: Regen.
- * win/configure.in: Ditto.
-
-2001-06-25 Mo DeJong <mdejong@redhat.com>
-
- * win/configure: Regen.
- * win/configure.in: Use RC_DEFINE flag from tcl.m4.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Set RC_DEFINE flag based on the
- compiler in use.
-
-2001-06-25 Mo DeJong <mdejong@redhat.com>
-
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the imm32 library when
- building with mingw gcc.
-
-2001-06-25 Mo DeJong <mdejong@redhat.com>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): When building with gcc, don't attempt
- to link with LD or support dllwrap. Simply require a recent version of
- Cygwin gcc or Mingw gcc that supports -shared. When linking, use gcc
- instead of ld since gcc automatically includes libs like -lmsvcrt.
-
-2001-06-22 Mo DeJong <mdejong@redhat.com>
-
- * win/configure: Regen.
- * win/configure.in: Add resource compiler fix from 8.3.3 to fix
- compiling with mingw.
-
-2001-06-22 Mo DeJong <mdejong@redhat.com>
-
- * win/configure: Regen.
- * win/tcl.m4: Fix silly typo in last checkin.
-
-2001-06-22 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set
- LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG and
- LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. This will
- support user set CFLAGS or LDFLAGS at configure time.
- * unix/configure: Regen.
- * unix/configure.in: Don't set CFLAGS to CFLAGS_DEFAULT, instead
- subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for
- CFLAGS_DEFAULT, LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE.
- * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it
- uses a Makefile variable just like CFLAGS_DEFAULT.
- * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set
- LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. This will support user set
- CFLAGS or LDFLAGS at configure time.
- * win/configure: Regen.
- * win/configure.in: Don't set CFLAGS or LDFLAGS, instead subst
- CFLAGS_DEFAULT and LDFLAGS_DEFAULT into the Makefile.
- * win/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it
- uses a Makefile variable just like CFLAGS_DEFAULT.
-
-2001-06-22 Mo DeJong <mdejong@redhat.com>
-
- * win/configure:
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't set LDFLAGS_DEBUG to -g or
- LDFLAGS_OPTIMIZE to -O when compiling with gcc. These flags are not
- needed and can cause problems with the Cygwin version of ld.
-
-2001-06-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/unixInit.test (unixInit-1.2,unixInit-2.8): Added test for code
- described below, and fixed a couple of errors that caused problems
- during testing; the code to determine the installedTcl constraint was
- wrong, and test unixInit-2.8 assumed that /tmp/lib was free for use
- and could be deleted, which clashed nastily with my installation and
- made other tests fail unnecessarily!
-
- * unix/tclUnixChan.c (TtyInit,TclpOpenFileChannel,
- (Tcl_MakeFileChannel,TclpGetDefaultStdChannel): Alterations so that
- the standard channels - stdin, stdout and stderr - have the correct
- type and fconfigure options. This required making the initialisation
- of serial lines a little more sophisticated to make the console behave
- correctly in interactive mode... [Bug 219137 and duplicates]
-
-2001-06-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclPanic.c (Tcl_PanicVA):
- * mac/tclMacAppInit.c (main):
- * mac/tclMacPanic.c (TclpPanic):
- * unix/tclUnixPort.h:
- * win/tclWinPort.h: Replaced TclMacSetPanic with TclpPanic for setting
- a platform-specific panic handler. TclpPanic is NULL on Unix and
- Windows. Fixes broken wish on Mac due to earlier patches. [Patch
- 415648]
-
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: `make gentubs` after above changes.
-
-2001-06-13 Don Porter <dgp@users.sourceforge.net>
-
- * mac/tclMacAppInit.c (main, Macintosh_Init):
- * mac/tclMacBOAAppInit.c (main):
- * mac/tclMacPanic.c: Applied patches from Dan Steffen correcting
- problems on the Macintosh in the 2001-06-08 changes.
-
-2001-06-12 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/regexp.test (regexp-18.12):
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): Fixed so that submatches
- that do not match always have index pair {-1 -1} [Bug 219232]
-
-2001-06-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h:
- * generic/tcl.decls:
- * generic/tclPanic.c: Added CONST to Tcl_*Panic* public interfaces.
- [Patch 415648, TIP 27]
-
- * generic/tclInt.decls:
- * mac/tclMacAppInit.c (main):
- * mac/tclMacBOAAppInit.c (main):
- * mac/tclMacPanic.c: Modified special Mac implementations of
- Tcl_*Panic* to be exact copies of the generic implementations. Added
- TclMacSetPanic. The generic implementations should be used directly,
- rather than copies, but that requires further changes by someone
- familiar with the Mac build systems. [Patch 415648]
-
- * generic/tclDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: `make gentubs` after above changes.
-
- * doc/Panic.3:
- * unix/mkLinks: New file documenting Tcl_*Panic* public interfaces,
- followed by `make mklinks`. [Patch 415648, Bug 219170, Bug 414936]
-
-2001-06-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (Tcl_DStringAppendElement): patch to save an
- extra strlen call. [Bug 428572]
-
-2001-05-30 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Added two casts to
- INST_STR_CMP implementation to get rid of a couple warnings from the
- SUNWspro C compiler.
-
- * generic/tclBasic.c (Tcl_GetMathFuncInfo,Tcl_ListMathFuncs):
- * generic/tclCmdIL.c (Tcl_InfoObjCmd,InfoFunctionsCmd):
- * generic/tcl.decls (generic table, positions 435+436):
- * tests/info.test:
- * doc/CrtMathFnc.3:
- * doc/info.n: Changes due to TIP #15 "Functions to List and Detail
- Math Functions"
-
-2001-05-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/init.tcl (unknown): removed errant " in error message
-
-2001-05-27 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/regc_locale.c: updated character class range data for
- Unicode v3.1.0 compliance.
- * generic/tclUniData.c: regenerated from Unicode v3.1.0 data file (new
- as of 2001-05-16). This brings Tcl to current unicode compliance.
-
- * tests/utf.test: added tests to check unicode 3 compliance
-
- * unix/Makefile.in (tclUtf.o): added tclUniData.c dependency.
-
- * tools/uniClass.tcl: added comments to output format and the script
- for clarification.
-
- * tools/uniParse.tcl: corrected filename output and GetDelta macro to
- use 'info' as param (was 'infO')
-
-2001-05-26 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclVar.c (tclArraySearchType,SetArraySearchObj,
- (ParseSearchId): Added code to speed up array searching by reducing
- the amount of parsing needed for searchIds.
-
- * generic/tclObj.c (TclInitObjSubsystem):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):
- * generic/tclNamesp.c (TclInitNamespaceSubsystem):
- * generic/tclInt.h: Moved some Tcl_ObjType initialisation to
- TclInitObjSubsystem to be with the bulk of the rest. [Patch 424851]
- Committed by Miguel Sofer <mig@utdt.edu>
-
-2001-05-23 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/io.test: changed io-52.[9-11] to not be platform sensitive
- with EOL translation.
-
- * library/encoding/cp1250.enc:
- * library/encoding/cp1251.enc:
- * library/encoding/cp1252.enc:
- * library/encoding/cp1253.enc:
- * library/encoding/cp1254.enc:
- * library/encoding/cp1255.enc:
- * library/encoding/cp1256.enc:
- * library/encoding/cp1257.enc:
- * library/encoding/cp1258.enc:
- * library/encoding/cp874.enc:
- * library/encoding/iso8859-6.enc:
- * library/encoding/iso8859-7.enc:
- * library/encoding/iso8859-8.enc:
- * library/encoding/iso8859-10.enc (new):
- * library/encoding/iso8859-13.enc (new):
- * library/encoding/iso8859-14.enc (new): updated encoding tables based
- on http://www.unicode.org/Public/MAPPINGS/. (kuhn)
-
-2001-05-23 Mo DeJong <mdejong@redhat.com>
-
- * unix/tcl.m4 (SC_PATH_TCLCONFIG): Fix comments, and typo in cached
- variable name.
-
-2001-05-23 Mo DeJong <mdejong@redhat.com>
-
- * unix/tcl.m4 (SC_LOAD_TKCONFIG): Remove use of undefined TCLCONFIG
- variable and call AC_MSG_RESULT to print the checking result.
- * win/tcl.m4: Ditto.
-
-2001-05-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclObj.c (TclAllocateFreeObjects): simplified
- objSizePlusPadding to use sizeof(Tcl_Obj) (max) Corrected use of
- tclObjsAlloced/Freed/Shared in TCL_MEM_DEBUG compile.
-
-2001-05-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP
-
-2001-05-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/tcltest.test (tcltest-19.1): fixed failing test that was
- getting affected by Windows env handling of empty valued elements.
-
- * unix/tcl.m4: added more common install directories in which to
- search for *Config.sh. [Bug 419812]
-
- * tests/cmdMZ.test (cmdMZ-1.4): added notLinux constraint to test to
- prevent failure message on Linux due to OS caching bug.
-
- * tests/httpd (httpdRespond): added response to timeout value in query
- string.
-
- * tests/http.test: removed unused notLinux constraint setting
-
- * generic/tclRegexp.c (Tcl_RegExpExecObj): added use of
- Tcl_GetUnicodeFromObj.
-
-2001-05-19 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * Note that "tclbench" (see project "tcllib") was extended with
- performance benchmarks for [fcopy] too.
-
- * doc/fcopy.n: Updated to reflect the extended behaviour of 'fcopy'.
-
- * tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11' to
- test the handling of encodings by 'fcopy' / 'TclCopychannel'. [Bug
- 209210]
-
- * generic/tclIO.c: Split of both 'Tcl_ReadChars' and 'Tcl_WriteChars'
- into a public error checking and an internal working part. The public
- functions now use the new internal ones. The new functions are
- 'DoReadChars' and 'DoWriteChars'. Extended 'CopyData' to use the new
- functions 'DoXChars' when required by the encodings on the input and
- output channels. [Bug 209210]
-
-2001-05-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/history.tcl (tcl::HistAdd): prevent empty calls from being
- added to the history (arndt)
-
- * tests/error.test: updated error-1.3 message to account for string
- index being compiled at toplevel.
- * tests/appendComp.test:
- * tests/stringComp.test: new files for extended bytecode testing
-
- * generic/tclBasic.c: added new CompileProc invocations to basic
- command initialization.
- * generic/tclCompCmds.c: added new compile commands for append,
- lappend, lindex and llength. Refactored set and incr compile commands
- to use new TclPushVarName function for handling the varname component
- during compilation (also used by append and lappend). Changed string
- compile command to compile toplevel code as well (when possible).
- * generic/tclCompile.c: added new instruction enums
- * generic/tclCompile.h: added debug info for new instructions
- * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to toplevel
- var (oft-used). Added definitions for new bytecode instructions
- INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1,
- INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4,
- INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1,
- INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4,
- INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK.
- Refactored repititious code for reuse with INST_LOAD_STK (same as
- INST_LOAD_SCALAR_STK), INST_STORE_STK (same as INST_STORE_SCALAR_STK).
- Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows
- [Bug 219201] as that fix only affected the runtime eval'ed "string"
- (string compare is normally byte-compiled now). We may want to back
- these out for speed in the future, noting the problems with \x00
- comparisons in the docs.
- * generic/tclInt.h: declarations for new compile commands.
- * generic/tclVar.c: change TclGetIndexedScalar,
- TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and
- TclSetIndexedScalar to use flags. The Set functions now support
- TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well.
- * generic/tclInt.decls:
- * generic/tclIntDecls.h: minor signature changes for above.
-
- * generic/tclCmdMZ.c: made use of new Tcl_GetUnicodeFromObj.
-
-2001-05-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/console.n: Deleted. Put it in the wrong source tree! D'oh!
-
-2001-05-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tcl.decls:
- * generic/tclDecls.h:
- * generic/tclStubInit.c:
- * generic/tclStringObj.c (Tcl_GetUnicodeFromObj): new function to
- parallel Tcl_GetStringFromObj (fix of an API oversight).
-
- * unix/tclUnixPipe.c: updated pipeChannelType to TCL_CHANNEL_VERSION_2
- type specification.
-
- * tests/fileName.test: corrected tests not to fail on win when a
- C:/test dir exists.
-
- * generic/tclFileName.c (ExtractWinRoot): corrected ABR error
-
-2001-05-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/lindex.test: added test for nested braces [Patch 423617]
-
-2001-05-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tclNamesp.c: invalidate all bytecodes in a namespace if a
- new command shadows a bytecoded command.
- * tests/namespace.test:
- Patched from [Bug 231259]
-
-2001-05-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/console.n: Created. It seems very odd to me that the console
- implementation is part of the Tcl distribution and not part of Tk, but
- given the location of the source, the documentation must obviously
- match up...
-
-2001-05-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * tests/string.test (string-4.14): Negative string indices should not
- be added as offsets to the result of [string first] but instead be
- treated as referring to the start of the string. [Bug 423581]
-
-2001-05-11 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in: Add a LDFLAGS variable to the Makefile instead of
- directly substing @LDFLAGS@.
- * unix/configure: Regen.
- * unix/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile
- variable is passed as @CFLAGS@.
- * win/Makefile.in: Move the setting of CFLAGS higher up in the
- Makefile.
- * win/configure: Regen.
- * win/configure.in: Use dnl to comment out macros so that they are not
- accidently expanded.
- * win/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile
- variable is passed as @CFLAGS@.
-
-2001-05-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: insure different rand() seeds in different
- threads. [Bug 416643]
-
-2001-05-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/tcltest.test: removed extraneous 'c' (doh!) [Bug: 414031]
-
- * tools/tcltk-man2html.tcl: removed use of 'exec' for portability and
- fixed up code.
-
-2001-05-03 Don Porter <dgp@users.sourceforge.net>
-
- * doc/library.n:
- * library/init.tcl:
- * tests/autoMkindex.t*: Modified [auto_import] to apply pattern
- matching in the [namespace import] style. [Bug 420186]
- ***POTENTIAL INCOMPATIBILITY*** for any callers of [auto_import] from
- outside Tcl that expect the pattern matching to be like that of
- [string match].
-
-2001-05-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclParse.c:
- * tests/namespace.test: Insure consistent behaviour of the [unknown]
- command: when a command is unknown, it is always processed by
- [::unknown], ignoring any namespace proc which happens to be called
- "unknown" [Patch 421166, Bug 420507]
-
-2001-05-02 Don Porter <dgp@users.sourceforge.net>
-
- * tools/genStubs.tcl: Add a package require of Tcl 8 at the beginning
- of the script so that the script will print a descriptive error
- message when run in an old Tcl 7 shell.
-
-2001-04-27 Kevin Kenny <kennykb@crd.ge.com>
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclCmdIL.c:
- * generic/tclProc.c:
- * generic/tclVar.c: Added another collection of missing CONSTs related
- to TclGetNamespaceForQualName.
- * generic/tclIntDecls.h: Regenerated.
-
-2001-04-25 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure: Regen.
- * unix/tcl.m4: Subst TCL_THREADS into tclConfig.sh.
- * unix/tclConfig.sh.in: Add TCL_THREADS variable.
- * win/configure: Regen.
- * win/tcl.m4: Subst TCL_THREADS into tclConfig.sh.
- * win/tclConfig.sh.in: Add TCL_THREADS variable.
-
-2001-04-25 Mo DeJong <mdejong@redhat.com>
-
- * unix/configure: Regen.
- * unix/configure.in: Use $@ in MAKE_LIB and MAKE_STUB_LIB commands
- instead of using a delayed subst variable. Replace instances of
- STUB_LIB_FILE with TCL_STUB_LIB_FILE.
-
-2001-04-25 Mo DeJong <mdejong@redhat.com>
-
- * unix/Makefile.in: Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE.
- * unix/configure: Regen.
- * unix/configure.in: Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE
- instead.
-
-2001-04-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tools/encoding/iso8859-15.txt:
- * library/encoding/iso8859-15.enc: Oops! Got the full encoding wrong.
- Should be fixed now...
-
- * tools/encoding/iso8859-15.txt:
- * library/encoding/iso8859-15.enc:
- * tools/tcl.wse.in: Added ISO 8859-15 (a.k.a. Latin-1 + Euro currency
- symbol) support.
-
- * generic/tclNamesp.c:
- * generic/tclBasic.c (TclRenameCommand): Missing CONST from several
- declarations relating to use of TclGetNamespaceForQualName
-
-2001-04-24 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/AssocData.3:
- * doc/CrtCommand.3:
- * doc/CrtMathFnc.3:
- * doc/CrtObjCmd.3:
- * doc/ExprLong.3:
- * generic/tclBasic.c:
- * generic/tclCmdMZ.c:
- * doc/CrtSlave.3:
- * generic/tclNamesp.c:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclInt.decls:
- * generic/tclInt.h: (TIP #27) Another round of CONST changes, this
- time adding CONST to the API's exported from tclBasic.c. [Patch
- 415179]
- ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince Darley's
- changes to command tracing were added. A const has been added to the
- type signature of one of the parameters to Tcl_CommandTraceProc.
-
-2001-04-10 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclUnixTime.c: Altered code to use memcpy instead of
- structure assigments in an effort to achieve better K&R
- compatibility.
-
-2001-04-10 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclUnixTime.c: Fixed silly typo in calls to 'gmtime' and
- 'localtime' that broke the Linux build.
-
-2001-04-09 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclLoadShl.c: Added DYNAMIC_PATH to the load flags so that the
- SHLIB_PATH will be searched for other libraries. [Bug 219140]
-
-2001-04-09 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tcl.m4: Added _REENTRANT to Solaris build so that thread safe
- library routines are included.
- * unix/configure: Re-ran 'autoconf' with changed tcl.m4
- * tclUnixTime.c: Modified for thread safety of 'gmtime' and
- 'localtime' system calls. [Bugs 219136 and 232558]
-
-2001-04-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/expr.test (expr-21.*): Tests to check below fix.
- * generic/tclParseExpr.c (GetLexeme): Now recognises the
- non-numeric boolean literals for what they are. It no longer makes
- sense for anyone to create functions with the same name as one of
- them, but this was true in 7.* as well [Bug 217777; finally!]
-
-2001-04-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: Avoid panic when there are extra items in the
- tcl stack. [Bug 406709, Patch 414470]
- * tests/foreach.test: test to exercise the patch
-
-2001-04-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/namespace.n: document correct functionality
- * generic/tclNamesp.c: corrected behaviour of [namespace code]
- [Bug 219385, Patch 403530]
- * library/init.tcl:
- * tests/namespace-old.test: test correct functionality
- * tests/namespace.test: test correct functionality
-
-2001-04-07 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/Makefile.in (checkdoc): New target, checking the definitions as
- found in the compiled library against the manpages to find
- undocumented public functionality.
-
- * unix/mkLinks: Updated to include the new manpage.
-
- * doc/UniCharIsAlpha.3: New manpage documenting the Unicode
- character classification APIs. [Bug 218720]
-
-2001-04-07 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/mkLinks: Updated to incorporate the changes below.
-
- * doc/StringObj.3: Added 'Tcl_AttemptSetObjLength' to the NAME
- section. [Bug 414435]
-
- * doc/Alloc.3: Added both 'Tcl_AttemptAlloc' and 'Tcl_AttemptRealloc'
- to the NAME section. [Bug 414435]
-
- * doc/Utf.3: Added both 'Tcl_UniCharCaseMatch' and
- 'Tcl_UniCharNcasecmp' to the NAME section. [Bug 414435]
-
-2001-04-06 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl:
- * tests/init.test: Modified processing of $::errorInfo by [unknown]
- when the auto-loaded command throws an error to better cover the
- tracks of auto-loading. [Bug 219280, Patch 403551]
-
-2001-04-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/read.n: Added section on "USE WITH SERIAL PORTS" to resolve
- [Bug 219402]
-
- * tests/string.test (string-2.30): Test for this case
- * generic/tclCmdMZ.c (Tcl_StringObjCmd, STR_COMPARE branch): Fixed
- problem caused by Utf-rep of \x00 being more than Utf-rep of \x01
- fooling memcmp by forcing everything through Utf-based comparisons.
- Added optimizations for case where objects have a string/unicode-rep
- or a bytearray-rep (i.e. where we can perform comparisons on
- fixed-size units). [Bug 219201]
- * generic/tclUtf.c (Tcl_UtfNcmp): Corrected seriously erroneous
- comment.
-
-2001-04-05 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * doc/Macintosh.3: Removed duplicates from .SH line. [Bug 413983]
-
-2001-04-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Fixed so will compile
- with K&R compilers. [Patch 413844, Bug 413847]
-
-2001-04-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c: Patch from Kevin Kenny to restore support of
- pre-ANSI compilers. [Bug 413846, Patch 413842]
-
-2001-04-04 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/mkLinks: Updated to contain the new manpage.
-
- * doc/Environment.3: New manpage, describes Tcl_PutEnv. [Bug 219171]
-
- * doc/Macintosh.3: New manpage describing the macintosh specific parts
- of the public API. [Bug 219169]
-
-2001-04-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: extended test of termios vs. termio vs. sgtty to
- better detect result on Linux and when certain configure
- redirections are being used. [Patch 402923; Bug 227412, 219194] (max)
-
-2001-04-04 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclTest.c:
- * tests/io.tests: TIP #10 followup correcting a problem with the
- original patch because of the lack of 'testthread id' for a
- non-threaded compilation.
-
-2001-04-04 Kevin Kenny <kennykb@acm.org>
-
- * doc/ByteArrObj.3:
- * doc/DumpActiveMemory.3:
- * doc/InitStubs.3:
- * doc/PkgRequire.3:
- * doc/StringObj.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclBinary.c:
- * generic/tclCkalloc.c:
- * generic/tclDecls.h:
- * generic/tclListObj.c:
- * generic/tclObj.c:
- * generic/tclPkg.c:
- * generic/tclStringObj.c:
- * generic/tclStubLib.c: (TIP#27) Changed a number of Tcl API's to
- accept "CONST char*" in place of simple "char*". (kennykb) [Patch
- 404026]
-
-2001-04-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclListObj.c (Tcl_SetListObj): set objPtr->length = 0 in
- empty object case to maintain sanctity of Tcl_Obj bytes/length
- pairing. [Patch 405998] (porter)
-
-2001-04-03 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/mkLinks: Added 'Signal.3', 'Tcl_WaitPid'.
-
- * doc/DetachPids.3: Added description of 'Tcl_WaitPid' [Bug 219173].
-
- * doc/Signal.3: New man page describing the public API procedures
- 'Tcl_SignalId' and 'Tcl_SignalMsg'. [Bug 219172]
-
-2001-04-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README:
- * win/README:
- * win/README.binary: further notes corrections.
-
- * win/configure:
- * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug 219381]
-
-2001-04-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README:
- * mac/README:
- * win/README:
- * win/README.binary:
- * unix/README: updated patchlevel information to 8.4a3 and updated
- links and notes.
-
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * win/configure.in (VER):
- * win/configure:
- * unix/configure:
- * unix/configure.in (VER):
- * unix/tcl.spec: updated patchlevel information to 8.4a3
-
-2001-03-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): set curTagPtr
- to NULL to allow for reuse.
- * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr initialization
- inside the subsystemsInitialized check to prevent it potentially
- getting called twice during finalization.
- [Patch 403532, Bug 219391] (wu)
-
- * generic/tclThreadTest.c (Tcl_ThreadObjCmd): cast fixes
- * generic/tclTest.c (TestChannelCmd): added cast to mollify Windows
- debug build.
-
- * win/tclWinSock.c (SocketEventProc): Fixed race condition in
- readability of socket on Windows. [Patch 410674, Bug 219205, 219333]
-
- * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support.
-
- * win/Makefile.in (install-libraries): removed extra \s that broke
- the target.
- (install-doc): improved install-* targets to use their base build
- dependency.
-
-2001-03-30 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * All of the changes below belong to TIP #10 [Tcl I/O Enhancement:
- Thread-Aware Channels]. See also [Patch 403358] at SF.
-
- * generic/tclIO.h (struct ChannelState, line 236f): Extended the
- structure with a new field of type 'Tcl_ThreadId' to hold the id of
- the thread currently managing all channels with this state.
-
- Note: This structure is shared by all channels in a stack of
- transformations.
-
- * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified to
- store the Id of the current thread in the 'ChannelState' of the new
- channel.
-
- * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified in
- the same manner as 'Tcl_CreateChannel' as the channel will be managed
- by the current thread afterward.
-
- * generic/tclIO.c (Tcl_GetChannelThread, lines 1478-1503):
- * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New API
- function to retrieve the Id of the managing thread from a channel.
- Implementation and declaration.
-
- * generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added
- subcommand 'mthread' to query a channel about its managing thread.
-
-2001-03-29 Mo DeJong <mdejong@redhat.com>
-
- * tests/interp.test: Print out warning when testinterpdelete command
- is not defined. Add tests that checks to make sure a child interp
- inherits the parent's cwd.
-
-2001-03-29 Jeff Hobbs <jeffh@gimlet.activestate.com>
-
- * doc/tcltest.n: corrected incorrect macro usage.
-
- * doc/lsort.n: corrected unbalanced nroff macros.
-
- * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential race
- condition and security leak in tmp filename creation.
- [Patch 402924] (max)
-
- * unix/configure:
- * unix/tcl.m4: corrected IRIX-5.x config to not use -n32.
- [Patch 403626] (english)
-
- * unix/tclUnixThrd.c (Tcl_ConditionWait): fixed handling of timeout
- for threads (corrects excessive CPU usage issue for Tk on Unix in
- threaded Tcl environment). [Bug 411603] (ruppert)
-
-2001-03-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/lsort.n: Added some notes that clarify the behaviour of
- [lsort] as well as a whole bunch of examples. [Bug 219202]
-
-2001-03-27 Jeff Hobbs <jeffh@gimlet.activestate.com>
-
- * doc/Alloc.3: corrected docs to note that Tcl_Attempt* return char
- *'s, not ints. [Bug 411388]
-
- * tests/regexp.test (regexp-19.1):
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): fixed handling of nulls in
- subspec value.
-
-2001-03-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclDecls.h (Tcl_InitCustomHashTable): Correction to patch
- from 2001-01-18; tclDecls.h was not generated using 'make genstubs'.
-
-2001-03-26 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinInt.h (tclWinTCharEncoding): Removed as now a static
- variable in win/tclWin32Dll.c instead.
-
-2001-03-23 Jeff Hobbs <jeffh@activestate.com>
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected retrieval of resultPtr
- to prevent possible corruption.
-
- * generic/tclNamesp.c (Tcl_Import): Correctly freed a DString.
- [Patch 403755] (lavana)
-
-2001-03-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/set-old.test (set-old-7.2): Changed error behaviour of
- [unset] to agree with documentation, so must change test as well.
-
-2001-03-14 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl (pkg_mkIndex): Added patch from Vince Darley to
- make [pkg_mkIndex -verbose] even more verbose. [Bug 219349, Patch
- 403529]
-
-2001-03-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/info.n: Improved documentation for [info hostname]. [Bug 403840]
-
- * generic/tclVar.c (Tcl_UnsetObjCmd): Made command behave as
- documented [issue remaining from Bug 405769]
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing {return TCL_OK;}
- was causing memory corruption. [Bug 408002]
-
- * generic/tclExecute.c (TclDeleteExecEnv, GrowEvaluationStack,
- (TclExecuteByteCode): Added some casts to ClientData that are
- apparently needed on some architectures.
-
-2001-03-12 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/string.test: Fixed some test numberings and added a test.
- [Patch 403229]
-
-2001-03-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to avoid
- a read off the end of the argument array that could occur when
- executing something like [unset -nocomplain] was executed. Improved
- the error message given when too few arguments are given (-nocomplain
- should obviously be *before* --, not after it) and also modified the
- test suite to take account of that and the documentation to use the
- same improvement. [Bug 405769]
-
-2001-03-02 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Fixed bug that could pass
- pointers to freed memory to command implementations, which most
- obviously caused some weird behaviour with [info level], but could
- have caused problems with user code and command traces too. [Bug
- 404865, Patch 405436]
-
-2001-02-23 msofer <msofer@users.sourceforge.net>
-
- * no changes; fixing up the missing comment in the previous one.
- Sorry.
-
-2001-02-23 msofer <msofer@ant.utdt>
-
- * /cvsroot/tcl/tcl/tests/execute.test: added test for evaluation of an
- expression in a variable; evals once by compiling, second time using
- the previous compilation
-
-2001-02-18 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Updated documentation to reflect the addition of
- compat/strftime.c, including the correct formatting of ISO-8601:1988
- fiscal week number (%V).
-
-2001-02-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Improved efficiency of
- splitting strings into individual characters by adding hash so that
- only one Tcl_Obj per character is created. Improves performance of
- splitting of short strings and makes a huge difference to splitting of
- long strings, such as is done in the mime package in tcllib. [Bug
- 131523]
-
-2001-01-31 Don Porter <dgp@users.sourceforge.net>
-
- * win/makefile.vc (install-libraries): Corrected misdirected install
- directory for the msgcat 1.2 package.
-
-2001-01-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c (CopyData): Moved code that updates the count of how
- many bytes are left to copy. Corrects bug that when writing occurs in
- the background, the copy loop could be escaped without updating the
- count, causing CopyData() to try to copy more bytes than the toRead
- value originally passed to TclCopyChannel(), leading to hangs and
- misreporting of number of bytes copied. [Bug 118203, Patch 103432]
-
-2001-01-18 Andreas Kupries <a.kupries@westend.com>
-
- Everything below belongs together, it fixes [Bug 123153]
-
- * generic/tcl.h (line 342): A bit more explanation about the default
- value for TCL_PRESERVE_BINARY_COMPATABILITY.
-
- * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable' only
- when TCL_PRESERVE_BINARY_COMPATIBILITY is not set as it kills binary
- compatibility to 8.3 and earlier versions. This is the main part of
- the patch/change.
-
- * generic/tcl.decls (line 1469):
- * generic/tclHash.c (Tcl_InitHashTable):
- * generic/tclHash.c (Tcl_InitHashTableEx):
- * generic/tclObj.c (Tcl_InitObjHashTable): Changed
- 'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change is
- more of an estethical nature, replacing the ubiquitous 'Ex' suffix
- with a more meaningful name. The introduced binary incompatibility is
- deemed acceptable as it is between alpha versions. Updated callers.
-
- * doc/Hash.3:
- * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to
- 'Tcl_InitCustomHashTable'.
-
-2001-01-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/winPipe.test (winpipe-1.20):
- * tests/winDde.test (createChildProcess):
- * tests/pkgMkIndex.test (pkgtest::createIndex): Removed assumption
- that paths contain no spaces which causes problems with both [eval]
- and [open |...] due to the well-known differences between lists and
- strings. Fixes [Bug 119406]
-
-2001-01-04 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test:
- * unix/tclUnixInit.c (TclpInitLibraryPath):
- * win/tclWinInit.c (TclpInitLibraryPath): Several entries in the
- library path ($tcl_libPath) are determined relative to the absolute
- path of the executable. When the executable is installed in or near
- the root directory of the file system, relative pathnames were being
- incorrectly generated, and in the worst case, memory access violations
- were crashing the program. [Bug 119416, Patch 102972]
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2002 b/tcl8.6/ChangeLog.2002
deleted file mode 100644
index 30b8b17..0000000
--- a/tcl8.6/ChangeLog.2002
+++ /dev/null
@@ -1,4741 +0,0 @@
-2002-12-18 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macro.
- Reported by Joe Mistachkin <joe@mistachkin.com>.
-
-2002-12-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode):
- (Tcl_ThreadAlert): Check that the stub functions are non-NULL before
- calling them. They could be set to NULL by Tcl_SetNotifier.
-
-2002-12-16 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclPipe.c (TclCleanupChildren):
- * tests/winPipe.test:
- * win/tclWinPipe.c (Tcl_WaitPid):
- * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32
- exception code translated into a posix style SIG*. This allows [close]
- to report "CHILDKILLED" without the meaning getting lost in a
- truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get
- moved to before Tcl_WaitPid() as the the handle is removed from the
- list taking away the ability to get the process id after the wait is
- done. This shouldn't effect the unix implimentaion unless waitpid is
- called with a pid of zero, meaning "any". I don't think it is..
-
-2002-12-13 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure.in: Updated configure of CVS snapshots to reflect
- * win/configure.in: the 8.4.1.1 patchlevel.
-
- * unix/configure: autoconf
- * win/configure autoconf
-
-2002-12-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate
- negative return codes up the call stack. [Bug 647307]
- * tests/proc.test (proc-6.1): Test for Bug 647307
-
- * generic/tclParseExpr.c (TclParseInteger): Return 1 for the string
- "0x" (recognize leading "0" as an integer). [Bug 648441]
- * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
-
-2002-12-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinThrd.c (TclpMasterUnlock):
- * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must
- exist and be called unconditional of TCL_THREADS. [Bug 651139]
-
-2002-12-08 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Check
- that the tsdPtr is valid before dereferencing as we call it from the
- exit handler, too [Bug 650353]. Another WSAStartup() loaded version
- comparison byte swap issue fixed. Although 0x0101 byte swapped is
- still 0x0101, properly claiming which is major/minor is more correct.
-
-2002-12-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclStubInit.c: regen
- * generic/tclIntPlatDecls.h: regen
- * generic/tclInt.decls: added TclWinResetInterface
-
- * win/tclWin32Dll.c (TclWinResetInterfaces):
- * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup):
- add exit handler that resets the encoding information to a state where
- we can reuse Tcl. Following these changes, it is possible to reuse Tcl
- (following Tcl_FindExecutable or Tcl_CreateInterp) following a
- Tcl_Finalize.
-
- * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their
- original values on finalize to allow reuse of the library.
-
-2002-12-04 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test
- failures that need to be resolved first. The idea was good, but the
- details aren't.
-
-2002-12-04 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with an
- exception, pass this notice on to the caller with a SIG* code rather
- than truncating the exit code and missing the meaning. This allows
- TclCleanupChildren() to report "CHILDKILLED".
-
- This has a different behavior than unix in that closing the read pipe
- to a process sends the SIGPIPE signal which is returned as a SIGPIPE
- exit status. On windows, we send the process a CTRL_BREAK_EVENT and
- get back a CONTROL_C_EXIT which is documented to mean a SIGINT which
- seems wrong as a system, but is the correct exit status.
-
-2002-12-04 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem
- for some Unix systems.
-
- * generic/tclEvent.c: the filesystem must be cleaned up before the
- encoding subsystem because it needs access to encodings. Fixes crash
- on exit observed in embedded applications.
-
- * generic/tclTestObj.c: patch omitted from previous change of
- 2002-11-13
-
-2002-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of
- tclStubsPtr to allow for repeated load/unload of the Tcl dll by
- hosting apps. [Bug 615304]
-
-2002-12-03 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL
- handle.
-
- * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real
- Win32 signal (CTRL_C_EVENT) when the read channel is brought down to
- alert the child to close on its side. Start the process with
- CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals.
- The following test case now brings down the child without the use of
- an external [kill] command.
-
- % set p [open "|[info name]" w+]
- file8d5380
- % pid $p
- 2876
- % close $p <- now doesn't block in Tcl_WaitPid()
- %
-
- * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to
- CTRL_BREAK_EVENT as it can't be ignored by the child and proved to
- work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't.
-
-2002-11-27 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPort.h: Don't turn off winsock prototypes! TclX didn't
- like it. Even though the core doesn't use the prototypes, do offer
- them.
-
- * win/tclWinSock.c: Removed shutdown() from the function table as it
- wasn't referenced anywhere and cleaned-up some casting that that
- wasn't needed.
-
- * win/tclWinSock.c: WSAStartup() loaded version comparison error which
- resulted in 2.0 looking less than 1.1.
-
- * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle()
- incorrectly used. [Bug 618852]
-
-2002-11-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properly
- cleanup all encodings by using Tcl_FirstHashEntry in the while loop.
-
- * unix/Makefile.in (valgrind): add simple valgrind target
-
- * tests/exec.test: unset path var to allow singleproc testing
-
- * generic/tclInterp.c (AliasCreate): preserve/release interps to
- prevent possible FMR error in bad alias cases.
-
-2002-11-26 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPort.h:
- * win/tclWinSock.c: This patch does two things:
-
- 1) Cleans-up the winsock typedefs by using the typedefs provided by
- winsock2.h. This has no effect on how winsock is initialized; just
- makes the source code easier to read. [Patch 561305 561301]
-
- 2) Revamps how the socket message handler thread is brought up and
- down to allow for cleaner exits without the use of TerminateThread().
- TerminateThread is evil. No attempt has been made to resolve [Bug
- 593810] which may need a new channel driver version for adding a
- registering function within the transfered thread to init the handler
- thread. IOW, initialization of the TSD structure is getting bypassed
- through the thread extension's [thread::transfer] command.
-
-2002-11-26 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinThrd.c:
- * win/tclWinTime.c: General cleanup of all worker threads used by the
- channel drivers. Eliminates the normal case where the worker thread is
- terminated ('cept the winsock one). Instead, use kernel events to
- signal a clean exit. Only when the worker thread is blocked on an I/O
- call is the thread terminated. Essentially, this makes all other
- channel worker threads behave like the PipeReaderThread() function for
- it's cleaner exit behavior. This appears to fix [Bug 597924] but needs
- 3rd party confirmation to close the issue.
-
-2002-11-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys build env URL. This release #4 build both
- tcl and tk without problems.
-
-2002-11-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/init.tcl: code cleanup to reduce use of
- * library/opt/optparse.tcl: string compare
-
- * tests/interp.test: interp-14.4
- * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when
- creating an alias command over the interp name. [Bug 641195]
-
-2002-11-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset
- after the "end-" prefix.
-
- * generic/get.test:
- * generic/string.test:
- * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny):
- * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling
- before calling strtoul(l). [Bug 634856]
-
-2002-11-18 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper
- compiler macros that missed the VC++ compiler. This resulted in VC++
- builds using CreateThread()/ExitThread() in place of the proper
- _beginthreadex()/_endthreadex(). This was a large error and am
- surprised I missed seeing it earlier.
-
-2002-11-13 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/regexpComp.test: added tests 22.*
- * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right
- anchoring (^ and $) recognition and check starting or ending .* to
- extend the number of REs that can be compiled to string match or
- string equal.
-
-2002-11-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdMZ.c:
- * tests/trace.test: applied patch from Hemang Levana to fix [Bug
- 615043] in execution traces with 'return -code error'.
-
- * generic/tclTestObj.c:
- * tests/stringObj.test: added 'knownBug' test for [Bug 635200]
- * generic/tclStringObj.c: corrected typos in comments
-
- * generic/tclFileName.c:
- * tests/fileName.test: applied patch for bug reported against tclvfs
- concerning handling of Windows serial ports like 'com1', 'lpt3' by the
- virtual filesystem code.
-
- * doc/RegExp.3: clarification of the 'extendMatch' return values.
-
-2002-11-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar.
- (Tcl_StringCaseMatch): use TclUtfToUniChar and add further
- optimizations for the one-byte/char case.
-
- * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the
- functions, and add extra optimization to Tcl_NumUtfChars for
- one-byte/char case.
-
- * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper
- static declarations.
-
- * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii
- char case.
- (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar.
- (FillUnicodeRep): Use TclUtfToUniChar.
-
- * generic/tclHash.c (HashStringKey): move string++ lower to save an
- instruction.
-
- * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to
- use memcmp in the one-byte/char case, also use direct index for
- INST_STR_INDEX in that case.
-
- * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc):
- (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar.
- (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations for
- Tcl_UniCharToUtf call. These improve encoded channel conversion speeds
- by up to 20%.
-
- * tests/split.test: added 1-char string split tests
- * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also
- added a special case for single-ascii-char splits.
- (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support
- getting ranges of ByteArrays (reverts change from 2000-05-26).
- (TraceExecutionProc) add proper static declaration.
-
- * generic/tclInt.h: add macro version of Tcl_UtfToUniChar
- (TclUtfToUniChar) that does the one-byte utf-char check without
- calling Tcl_UtfToUniChar, for use by the core. This brings notable
- speedups for primarily ascii string handling.
-
- * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel
- only. This interim number will only be reflected by [info patchlevel].
-
-2002-11-11 Kevin Kenny <kennykb@acm.org>
-
- * doc/Tcl.n: Corrected indentation of the new language. Oops.
-
-2002-11-10 Kevin Kenny <kennykb@acm.org>
-
- * doc/Tcl.n: Added language to the Endekalogue to make it clear that
- substitutions always take place from left to right. [Bug 635644]
-
-2002-11-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * changes: Note TclInExit TclInThreadExit changes.
- * generic/tclEvent.c (TclInExit, TclInThreadExit): Split out
- functionality of TclInExit to make it clear which one should be called
- in each situation.
- * generic/tclInt.decls: Declare TclInThreadExit.
- * generic/tclIntDecls.h: Regen.
- * generic/tclStubInit.c: Regen.
- * mac/tclMacChan.c (StdIOClose):
- * unix/tclUnixChan.c (FileCloseProc):
- * win/tclWinChan.c (FileCloseProc):
- * win/tclWinConsole.c (ConsoleCloseProc):
- * win/tclWinPipe.c (TclpCloseFile):
- * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit
- method instead of TclInExit.
-
-2002-11-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if
- no ar program can be found on the path. [Bug 582039]
- * win/configure: Regen.
- * win/configure.in: Check that AR, RANLIB, and RC are found on the
- path when building with gcc.
-
-2002-11-03 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c: Calls Registry_Init() and Dde_Init() when
- STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set.
-
- * win/makefile.vc:
- * win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES
- macro which also adds the registry and dde object files to the link
- of the shell. [Patch 479697] Also factored some additional macros that
- will be helpful for extension authors. Version grepping of tcl.h will
- need to be added to complete this.
-
- * win/buildall.vc.bat: Added more descriptive commentary.
-
-2002-11-01 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare the
- registry extension at version 1.1 from 1.0.
-
-2002-10-31 Andreas Kupries <andreask@activestate.com>
-
- * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid
- possible scope trouble.
-
-2002-10-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinInt.h:
- * win/tclWin32Dll.c: added comments about certain NULL function
- pointers which will be filled in when Tcl_FindExecutable is called, so
- that users don't report invalid bugs on this topic. (No code changes
- at all).
-
-2002-10-29 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages
- upstream [Bug 627546].
-
-2002-10-28 Andreas Kupries <andreask@activestate.com>
-
- * library/dde/pkgIndex.tcl:
- * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to
- the correct suffix (g).
-
-2002-10-28 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Converted the Mac-specific [package unknown]
- * library/init.tcl: behavior to use a chaining mechanism to extend
- * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660]
- * library/tclIndex: [Patch 624509] (steffen)
-
-2002-10-26 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch
- (overwrite). Added logic to handle this. [Bug 618019]
-
-2002-10-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclInt.h: Removed definitions of obsolete HistoryEvent and
- HistoryRev structures (the history mechanism has been written in Tcl
- for some time now.)
-
-2002-10-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.4.1 TAGGED FOR RELEASE ***
-
- * changes: updated for 8.4.1 release
-
- * win/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
- * win/configure: regen
- * win/configure.in: removed SC_ENABLE_MEMDEBUG call
- * win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
- SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
-
-2002-10-22 Daniel Steffen <das@users.sourceforge.net>
-
- * library/auto.tcl (tcl_findLibrary):
- * library/package.tcl (tclPkgUnknown): on macosx, search inside the
- Resources/Scripts subdirectory of any potential package directory.
- * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to
- TCL_PACKAGE_PATH make argument.
- * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded
- framework dirs to tcl_pkgPath: @executable_path/../Frameworks and
- @executable_path/../PrivateFrameworks (if they exist), as well as the
- dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509]
- use standard MAXPATHLEN instead of literal 1024
-
-2002-10-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's standard
- string form is a modified UTF-8; apparently, this was not mentioned
- anywhere in the main docs, and lead to [Bug 624919].
-
-2002-10-21 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: bumped version to 8.4.1
- * generic/tcl.h: Added reminder comment to edit
- macosx/Tcl.pbproj/project.pbxproj when version number changes.
-
-2002-10-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/reg/pkgIndex.tcl:
- * win/configure:
- * win/configure.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/makefile.bc: Updated to reg1.1
-
- * doc/registry.n: Added support for broadcasting changes to the
- * tests/registry.test: registry Environment. Noted proper code in the
- * win/tclWinReg.c: docs. [Patch 625453]
-
- * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files
-
-2002-10-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c: Fixed code that check for proper # of args to
- * tests/var.test: [array names]. Added test. [Bug 624755]
-
-2002-10-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure: add workaround for cygwin windres
- * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell)
-
-2002-10-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: added archives.tcl.tk note
-
- * unix/configure:
- * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc
- building. [Patch 601051] (martin)
-
-2002-10-15 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdMZ.c:
- * tests/trace.test: applied patch from Hemang Levana to fix [Bug
- 615043] in execution traces with idle tasks firing.
-
-2002-10-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. [Patch
- 623269] (brouwers)
-
-2002-10-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.h: Need a different strategy through the maze of
- #defines to let people building with Cygwin build correctly. Also made
- some comments less misleading...
-
-2002-10-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: fixed minor nits [Bug 607776] (virden)
-
- * win/configure:
- * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by
- default in cygwin configure on Windows.
-
-2002-10-10 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Tcl.n: Clarified that namespace separators are legal in the
- variable names during $-subtitution. [Bug 615139]
-
- * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826]
-
-2002-10-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * unix/tclLoadAout.c
- * unix/tclLoadDl.c
- * unix/tclLoadDld.c
- * unix/tclLoadDyld.c
- * unix/tclLoadNext.c
- * unix/tclLoadOSF.c
- * unix/tclLoadShl.c
- * win/tclWinLoad.c: allow either full paths or simply dll names to be
- specified when loading files (the latter will be looked up by the OS
- on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108]
-
-2002-10-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/README: doc'ed --enable-symbols options.
- * unix/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
- * unix/configure: regen
- * unix/configure.in: removed SC_ENABLE_MEMDEBUG call
- * unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
- SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
-
-2002-10-09 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinTime.c: Added code to set an exit handler that terminates
- the thread that calibrates the performance counter, so that the thread
- won't outlive unloading the Tcl DLL. [Bug 620735]
-
-2002-10-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/binary.n: More clarification of [binary scan]'s behaviour.
-
-2002-10-09 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclIntDecls.h: fixed botched regen.
-
-2002-10-09 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls: made TclSetPreInitScript() declaration
- generic as it is used on mac & aqua as well.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c: regen.
- * generic/tclCompile.h: added prototype for TclCompileVariableCmd.
-
- * mac/tclMacPort.h: removed incorrect <fcntl.h> definitions and
- obsolete <stat.h> definitions.
- * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced
- associated constants with the <fcntl.h> analogues (they existing defs
- were inconsistent with <fcntl.h> which was causing havoc when
- Tcl_GetOpenMode was used instead of private GetOpenMode).
-
- * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and
- identically named) routine from MoreFiles instead.
-
- * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes.
-
- * mac/tclMacFile.c:
- * mac/tclMacTest.c:
- * mac/tclMacUnix.c: CONSTification.
-
- * mac/tclMacOSA.c: CONSTification, sprintf fixes, UH 3.4.x changes;
- fix for missing autoname token from TclOSACompileCmd. (bdesgraupes)
- * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes)
-
- * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3,
- updated build instructions for 8.4.
- * mac/tclMacProjects.sea.hqx: rebuilt archive.
-
-2002-10-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/Alloc.3: Added a note to mention that attempting to allocate a
- zero-length block can return NULL. [Tk Bug 619544]
-
-2002-10-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/binary.n: Doc improvements [Patch 616480]
-
- * tests/fCmd.test, tests/winFCmd.test:
- * tools/eolFix.tcl, tools/genStubs.tcl: [file exist] -> [file exists]
- Thanks to David Welton.
-
-2002-10-03 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM".
-
-2002-10-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tools/man2help2.tcl:
- * tests/http.test, tests/httpd, tests/httpold.test:
- * tests/env.test, tests/binary.test, tests/autoMkindex.test:
- * library/init.tcl, library/http/http.tcl: [info exist] should really
- be [info exists]. [Bug 602566]
-
- * doc/lsearch.n: Better specification of what happens when -sorted is
- mixed with other options. [Bug 617816]
-
-2002-10-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclProc.c (TclCreateProc): mask out VAR_UNDEFINED for
- precompiled locals to support 8.3 precompiled code.
- (Tcl_ProcObjCmd): correct 2002-09-26 fix to look for tclProcBodyType.
-
-2002-10-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/socket.n: Mentioned that ports may be specified as serivce names
- as well as integers. [Bug 616843]
-
-2002-09-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking
- for bad re's that didn't terminate the re string. Resultant compiles
- were correct, but much slower than necessary.
-
-2002-09-29 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c: Added proper exiting conditions using Win32
- console signals. This handles the existing lack of a Ctrl+C exit to
- call exit handlers when built for thread support. Also, properly
- handles exits from other conditions such as CTRL_CLOSE_EVENT,
- CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases,
- exit handlers will be called. [Bug 219355]
-
- * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules
- and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the
- new behavior by default.
-
-2002-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bumped to version 8.4.1 to avoid confusion of
- * generic/tcl.h: CVS snapshots with the actual 8.4.0 release.
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf
- * win/configure:
-
-2002-09-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure: regen.
- * unix/tcl.m4: improve AIX-4/5 64bit compilation support.
-
- * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization
- of noop proc to handle the precompiled case. (sofer)
-
- * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit
- mode compilation.
-
- * library/encoding/koi8-u.enc: removed extraneous spaces that confused
- encoding reader. [Bug 615115]
-
- * unix/Makefile.in: generate source dists with -src designator and do
- not generate .Z anymore (just .gz and .zip).
-
-2002-09-18 Mumit Khan <khan@nanotech.wisc.edu>
-
- Added basic Cygwin support.
-
- * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
- (SC_PATH_TKCONFIG): Likewise.
- (SC_PROG_TCLSH): Likewise.
- (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin
- flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e
- _WinMain@16'' from LDFLAGS_WINDOW.
- * win/configure.in: Allow Cygwin build.
- (SEH test): Define to be 1 instead of empty value.
- (EXCEPTION_DISPOSITION): Add test.
- * win/configure: Regenerate.
-
- * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the
- user decide whether to use Windows or POSIX personality.
- (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for
- Cygwin.
- * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin.
- * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to
- native format.
- (TclDoGlob): Likewise.
- * generic/tclPlatDecls.h (TCHAR): Define for Cygwin.
- * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree,
- (TclpSysRealloc): Define for Cygwin.
-
-2002-09-26 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: preserve environment value of INSTALL_ROOT. When
- embedding only use deployment build. Force relink before embedded
- build to ensure new linker flags are picked up.
-
- * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib,
- stub libs and tclConfig.sh in framework toplevel. Configure target
- dependency fix. Fix to 'clean' action. Added private tcl headers to
- framework. Install tclsh symbolic link. Html doc build works when no
- installed tclsh available. Made html doc structure in framework more
- like in Apple frameworks.
-
-2002-09-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value
- detection to close [Bug 613117] on more systems.
-
- * generic/tclCompile.c (TclPrintSource): More CONSTifying.
- * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings.
- Thanks to 'CoderX2' on the chat for bringing this to my attention...
-
- * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the
- appropriate moment. I believe this is the cause of [Bug 613117]
-
- * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend
- documentation. Thanks to Glenn Jackman [Bug 611719]
-
-2002-09-22 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected [puts -nonewline] within
- test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also
- corrected reporting of body return code. Thanks to David Taback [Bug
- 611922]
- * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1.
- * tests/tcltest.test: added tests for these bugs.
-
-2002-09-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under
- Linux. This is used by Tk to double check that an X input context is
- cleaned up before it is closed.
-
-2002-09-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/coffbase.txt: Added BLT to the virtual base address listings
- table should BLT's build tools decide to use it.
-
-2002-09-12 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.h:
- * mac/tclMacApplication.r:
- * mac/tclMacLibrary.r:
- * mac/tclMacResource.r: unified use of the two equivalent resource
- compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED,
- now use RC_INVOKED throughout.
-
-2002-09-10 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/README: Add note about building extensions with the same
- compiler Tcl was built with. [Tk Bug 592096]
-
-2002-09-10 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: disabled building html
- documentation during embedded build.
-
-2002-09-10 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and
- set it to default value ${LIB_RUNTIME_DIR}
- * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of
- LIB_RUNTIME_DIR in the -install_name argument to ld.
- * unix/configure: regen.
-
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Makefile: added support for building Tcl as an embedded
- framework, i.e. using an dyld install_name containing
- @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR
- unix/Makefile variable.
-
-2002-09-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.4.0 TAGGED FOR RELEASE ***
-
-2002-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * doc/file.n: Format correction, and clarified [file normalize]
- returns an absolute path.
-
- * doc/tcltest.n: Added examples section, as long promised.
-
-2002-09-06 Reinhard Max <max@suse.de>
-
- * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12.
-
-2002-09-05 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Clarified phrasing.
-
- * generic/tclBasic.c (TclRenameCommand,CallCommandTraces):
- * tests/trace.test (trace-27.1): Corrected memory leak when a rename
- trace deleted the command being traced. Test added. Thanks to Hemang
- Lavana for the fix. [Bug 604609]
-
- * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the
- TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121]
-
-2002-09-04 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to
- dkf and dgp for the long and difficult discussion in the chat.
-
-2002-09-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto
-
- * unix/configure: remove -pthread from LIBS on FreeBSD in thread
- * unix/tcl.m4: enabled build. [Bug 602849]
-
-2002-09-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error
- return from TclPreventAliasLoop.
-
-2002-09-03 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0
- and updated copyright info.
-
-2002-09-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error
- return from TclGetFrame.
-
-2002-09-03 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated changes for 8.4.0 release.
-
-2002-09-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed extra
- native char*.
-
- * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init
- flags field of TcpState ptr to 0.
-
- * unix/configure:
- * unix/tcl.m4: added 64-bit gcc compilation support on HP-11.
- [Patch 601051] (martin)
-
- * README: Bumped version number to 8.4.0
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure:
- * win/configure.in:
-
- * generic/tclInterp.c (SlaveCreate): make sure that the memory and
- checkmem commands are initialized in non-safe slave interpreters when
- TCL_MEM_DEBUG is used. [Bug 583445]
-
- * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe
- if there was something to write. This may prevent infinite wait on
- exit.
-
- * tests/exec.test: marked exec-18.1 unixOnly until the Windows
- incompatability (in the test, not the core) can be resolved.
-
- * tests/http.test (http-3.11): added close $fp that was causing an
- error on Windows because the file was not closed before deleting.
-
- * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static
- function only appear when HAVE_CFBUNDLE is defined.
-
-2002-08-31 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing
- TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk.
-
- * unix/configure: regen
-
-2002-08-31 Daniel Steffen <das@users.sourceforge.net>
-
- *** macosx-8-4-branch merged into the mainline [Patch 602770] ***
-
- * generic/tcl.decls: added new macosx specific entry to stubs table.
-
- * tools/genStubs.tcl: added generation of platform guards for
- macosx. This is a little more complex than it seems, because MacOS X
- IS "unix" plus a little bit, for the purposes of Tcl. BUT
- unfortunately, Tk uses "unix" to mean X11. So added platform keys for
- macosx (the little added to "unix"), "aqua" and "x11" to distinguish
- these for Tk.
-
- * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can
- be passed to the resource compiler.
-
- * generic/tcl.h:
- * generic/tclNotify.c: added a few Notifier procs, to be able to
- modify more bits of the Tcl notifier dynamically. Required to get Mac
- OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the
- size of the Tcl_NotifierProcs structure, but doesn't move any elements
- around.
-
- * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till
- AFTER we are done mucking with the pointer swap. Fixes cases where the
- thread waiting on the condition wakes & accesses the waitingListPtr
- before it gets reset, causing a hang.
-
- * library/auto.tcl (tcl_findLibrary): added checking the directories
- in the tcl_pkgPath for library files on macosx to enable support of
- the standard Mac OSX library locations.
-
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there
- are some MacOS X specific files now for Tcl, and when I get the
- resource & applescript stuff ported over, and restore support for
- FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR
- configure variable to avoid having to set all possible LD_LIBRARY_PATH
- analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH"
- by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and
- "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl
- as a framework on Mac OSX.
-
- * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension
- packaged as 'bundles' in the standard Mac OSX library locations.
-
- * unix/tclUnixInit.c: added support for findig the tcl script library
- inside Tcl packaged as a framework on Mac OSX.
-
- * macosx/Tcl.pbproj/jingham.pbxuser (new):
- * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's
- ProjectBuilder IDE.
-
- * macosx/Makefile (new): simple makefile for building the project from
- the command line via the ProjectBuilder tool 'pbxbuild'.
-
- * unix/configure:
- * generic/tclStubInit.c:
- * generic/tclPlatDecls.h: regen
-
-2002-08-29 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache):
- Applied patch for [Bug 599428], provided by Miguel Sofer
- <msofer@users.sourceforge.net>.
-
-2002-08-28 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclEnv.c:
- * unix/configure.in:
- * win/tclWinPort.h: putenv() on some systems copies the buffer rather
- than taking reference to it. This causes memory leaks and is know to
- effect mswindows (msvcrt) and NetBSD 1.5.2 . This patch tests for this
- behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate.
- Thanks to David Welton for assistance. [Bug 414910]
-
- * unix/configure: regen'd
-
-2002-08-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/eval.n: Added mention of list command and corrected "SEE ALSO".
-
- * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong.
- [Bug 600931] reported by John Ellson. Fixed by putting the brackets
- where they belong.
-
-2002-08-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name
- causing segfault), reported by Tom Wilkason. Fixed by copying the
- tokens instead of the source string.
-
-2002-08-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclThreadAlloc.c: small optimisation, reducing the new
- allocator's overhead.
-
-2002-08-23 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks
- to Zoran Vasiljevic.
-
-2002-08-23 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between
- caches as a block, instead of one-by-one.
-
-2002-08-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c:
- * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug
- 589863], patch by Hemang Lavana.
-
-2002-08-20 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/Makefile.in (CFLAGS):
- * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@.
- * win/configure.in:
- * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG.
- * win/tcl.m4:
- * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of
- configure to (de)activate memory validation and debugging
- (TCL_MEM_DEBUG). No need to modify the makefile anymore.
-
-2002-08-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd.
-
- * README: Bumped version number to 8.4b3 to distinguish
- * generic/tcl.h: HEAD from the 8.4b2 release.
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf
- * win/configure:
-
- * library/http/http.tcl: Corrected installation directory of
- * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added
- * library/opt/optparse.tcl: comments in other packages to remind
- * library/tcltest/tcltest.tcl: that installation directories need
- * unix/Makefile.in: updates to match increasing version
- * win/Makefile.in: numbers. [Bug 597450]
- * win/makefile.bc:
- * win/makefile.vc:
-
-2002-08-19 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/tclUnixTest.c (TestfilehandlerCmd): Changed readable/writable
- to the more common readable|writable. Fixes [Bug 596034] reported by
- Larry Virden <lvirden@users.sourceforge.net>.
-
-2002-08-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/fCmd.test: Added test to make sure that the cause of the
- problem is detectable with an unpatched Tcl.
- * doc/ObjectType.3: Added note on the root cause of this problem to
- the documentation, since it is possible for user code to trigger this
- sort of behaviour too.
- * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have
- their old representation deleted when we know that we are about to
- install a new one. This stops a weird TclX bug under Linux with
- certain kinds of memory debugging enabled which essentally came down
- to a double-free of a string.
-
-2002-08-14 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tclObj.c: (code cleanup) factored the parts in the macros
- TclNewObj() / TclDecrRefCount() into a common part for all
- memory allocators and two new macros TclAllocObjStorage() /
- TclFreeObjStorage() that are specific to each allocator and fully
- describe the differences. Removed allocator-specific code from
- tclObj.c by using the macros.
-
-2002-08-12 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863].
-
-2002-08-08 David Gravereaux <davygrvy@pobox.com>
-
- * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't
- specified $argc was off by one.
-
-2002-08-08 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed
- commands [Bug 524383]
-
- * tests/subst.test: added 5.8-10 as further tests for [Bug 495207]
-
-2002-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * tests/README: Noted removal of defs.tcl.
-
-2002-08-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/lsearch.n: corrected lsearch docs to use -inline in examples.
-
- *** 8.4b2 TAGGED FOR RELEASE ***
-
- * tests/fCmd.test:
- * tests/unixFCmd.test: updated tests for new link copy behavior.
- * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to
- follow links to endpoints and copy that file/directory instead of just
- copying the surface link. This means that trying to copy a link that
- has no endpoint (danling link) is an error. [Patch 591647] (darley)
- (CopyRenameOneFile): this is currently disabled by default until
- further issues with such behavior (like relative links) can be
- handled correctly.
-
- * tests/README: slight wording improvements
-
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * docs/BoolObj.3: added description of valid string reps for a
- boolean object. [Bug 584794]
- * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and
- SetBooleanFromAny to avoid parsing the string rep when it can be
- avoided. [Bugs 584650, 472576]
-
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.h:
- * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], Don
- Porter).
-
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclObj.c (Tcl_NewObj): added conditional code for
- USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were
- otherwise being leaked. [Bug 587488] reported by Sven Sass.
-
-2002-08-06 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * unix/tclUnixThrd.c: Added stubs and implementations for
- non-threaded build for the tclUnixThrd.c procs TclpReaddir,
- TclpLocaltime, TclpGmtime and TclpInetNtoa. Fixes link errors in
- stubbed & threaded extensions that include tclUnixPort.h and use any
- of the procs readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4)
- [Bug 589526]
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: Regen.
-
-2002-08-05 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now
- * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing
- * tests/tcltest.test: [Bug 589859]. Test for bug added, and
- corrected tcltest package bumped to version 2.2.
-
- * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like
- * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic
- * generic/tclUtil.c: allocated string to the caller.
-
-2002-08-04 Don Porter <dgp@users.sourceforge.net>
-
- * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify all
- * doc/Concat.3: remaining public interfaces of Tcl. Notably,
- * doc/CrtCommand.3: the parser no longer writes on the string it
- * doc/CrtSlave.3: is parsing, so it is no longer necessary for
- * doc/CrtTrace.3: Tcl_Eval() to be given a writable string. Also
- * doc/Eval.3: the refactoring of the Tcl_*Var* routines by
- * doc/ExprLong.3: by Miguel Sofer is included, so that the
- * doc/LinkVar.3: "part1" argument for them no longer needs to
- * doc/ParseCmd.3: be writable either.
- * doc/SetVar.3:
- * doc/TraceVar.3:
- * doc/UpVar.3: Compatibility support has been enhanced so
- * generic/tcl.decls: that a #define of USE_NON_CONST will remove
- * generic/tcl.h: all possible source incompatibilities with the
- * generic/tclBasic.c: 8.3 version of the header file(s). The new
- * generic/tclCmdMZ.c: #define of USE_COMPAT_CONST now does what
- * generic/tclCompCmds.c:USE_NON_CONST used to do -- disable only those
- * generic/tclCompExpr.c:new CONST's that introduce irreconcilable
- * generic/tclCompile.c: incompatibilities.
- * generic/tclCompile.h:
- * generic/tclDecls.h: Several bugs are also fixed by this patch.
- * generic/tclEnv.c: [Bugs 584051,580433] [Patches 585105,582429]
- * generic/tclEvent.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclInterp.c:
- * generic/tclLink.c:
- * generic/tclObj.c:
- * generic/tclParse.c:
- * generic/tclParseExpr.c:
- * generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclUtf.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
- * mac/tclMacTest.c:
- * tests/expr-old.test:
- * tests/parseExpr.test:
- * unix/tclUnixTest.c:
- * unix/tclXtTest.c:
- * win/tclWinTest.c:
-
-2002-08-01 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: bugfix (reading freed memory). Testsuite
- passed on linux/i386, compile-13.1 hung on linux/alpha.
-
-2002-08-01 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: added a reference count for the complete
- execution stack, instead of Tcl_Preserve/Tcl_Release.
-
-2002-08-01 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the
- ckalloc mutex before invoking the Tcl_DumpActiveMemory function since
- it also locks the same mutex. This code is only executed when "memory
- onexit filename" has been executed and Tcl is compiled with
- -DTCL_MEM_DEBUG.
-
-2002-08-01 Reinhard Max <max@suse.de>
-
- * win/tclWinPort.h: The windows headers don't provide socklen_t, so we
- have to do it.
-
-2002-07-31 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects,
- TclDecrRefCount now frees the internal rep before the string rep -
- just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For
- the other allocators the fix was done on 2002-03-06.
-
-2002-07-31 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInterp.c: signed/unsigned comparison warning fixed
- (Vince Darley).
-
-2002-07-31 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results.
-
- * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy
- strtod() implementation; make sure we detect it.
-
- * tests/expr.test (expr-22.*): Marked as non-portable because it seems
- that these tests have an annoying tendency to fail in unexpected ways.
- [Bugs 584825, 584950, 585986]
-
-2002-07-30 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/io.test:
- * generic/tclIO.c (WriteChars): Added flag to break out of loop if
- nothing of the input is consumed at all, to prevent infinite looping
- of called with a non-UTF-8 string. Fixes Bug 584603 (partially). Added
- new test "io-60.1". Might need additional changes to Tcl_Main so that
- unprintable results are printed as binary data.
-
-2002-07-29 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS
- when linking with ${CC}.
- * unix/configure: Regen.
- * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS
- since this is now done in tcl.m4.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS
- whenever LD_SEARCH_FLAGS is set. [Patch 588290]
-
-2002-07-29 Reinhard Max <max@suse.de>
-
- * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when
- configure's stdin is not a tty.
-
- * unix/tclUnixPort.h:
- * generic/tclIOSock.c: Changed size_t to socklen_t in
- socket-related function calls.
-
- * unix/configure.in: Added test and fallback definition
- for socklen_t.
-
- * unix/configure: generated.
-
-2002-07-29 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclObj.c: fixed a comment
-
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the
- interface of the Tcl_Eval* functions, removing the
- TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only
- require no tracebacks, but also look up the command name in the global
- scope - see new test interp-9.4
- * tests/interp.test: added 9.3 to test for safety of aliases to hidden
- commands, 9.4 to test for correct command lookup scope.
-
-2002-07-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined
- concept on western characters, so should not allow any unicode digit,
- and hence number of ranges in [[:xdigit:]] is fixed.
- * tests/reg.test: Added test to detect the bug.
- * generic/regc_cvec.c (newcvec): Corrected initial size value in
- character vector structure. [Bug 578363] Many thanks to
- pvgoran@users.sf.net for tracking this down.
-
-2002-07-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tcl.h:
- * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the
- interface of the Tcl_Eval* functions. Modified the error message for
- too many nested evaluations.
- * generic/tclInterp.h: changed the Alias struct to be of variable
- length and store the prefix arguments directly (instead of a pointer
- to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of
- TclObjInvoke - thus making aliases trigger execution traces [Bug
- 582522].
- * tests/interp.test:
- * tests/stack.test: adapted to the new error message.
- * tests/trace.test: added tests for aliases firing the exec traces.
-
-2002-07-27 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was
- incorrect and broke the build on other systems. Fix [Bug 587299]. Add
- MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS,
- SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE
- variables to support more generic library build/install rules.
- * unix/configure: Regen.
- * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared
- build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move
- subst of a number of variables into tcl.m4 where they are defined.
- * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): Subst vars where
- they are defined. Add MAKE_LIB, MAKE_STUB_LIB, INSTALL_LIB, and
- INSTALL_STUB_LIB rules to deal with the ugly details of running ranlib
- on static libs at build and install time. Replace TCL_SHLIB_LD_EXTRAS
- with SHLIB_LD_FLAGS and use it when building a shared library.
- * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS.
-
-2002-07-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding to
- the macro NEXT_INST_V(x, 0, 1) [Bug 587495].
-
-2002-07-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments.
-
-2002-07-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclVar.c (TclLookupVar): removed early returns that
- prevented the parens from being restored. Also removed goto label as
- it was not necessary.
-
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c:
- * tests/expr-old.test: fix for erroneous error messages in [expr],
- [Bug 587140] reported by Martin Lemburg.
-
-2002-07-25 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with
- bgerror in Tk"
-
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG
- functionality.
-
-2002-07-24 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a
- valid C encoding. [Bug 575336]
-
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: restoring the tcl_traceCompile functionality
- while I repair tcl_traceExec. The core now compiles and runs also
- under TCL_COMPILE_DEBUG, but execution in the bytecode engine can
- still not be traced.
-
-2002-07-24 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in:
- * unix/configure.in: corrected fix for [Bug 529801]: ranlib only
- needed for static builds on Mac OS X.
- * unix/configure: Regen.
- * unix/tclLoadDyld.c: fixed small bugs introduced by Vince,
- implemented library unloading correctly (needs OS X 10.2).
-
-2002-07-23 Joe English <jenglish@users.sourceforge.net>
-
- * doc/OpenFileChnl.3: (Updates from Larry Virden)
- * doc/open.n:
- * doc/tclsh.1: Fix section numbers in Unix man page references.
- * doc/lset.n: In EXAMPLES section, include command to set the initial
- value used in subsequent examples.
- * doc/http.n: Package version updated to 2.4.
-
-2002-07-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using
- the native compiler on a 64 bit version of IRIX. [Bug 219220]
-
-2002-07-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Combine ranlib tests and avoid printing unless
- ranlib is actually run.
-
-2002-07-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no
- special path needed" or "# no include files found" when x headers
- cannot be located.
-
-2002-07-22 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19
- changes removed its usage elsewhere), and added comments about its
- usage.
- * generic/tclLoad.c:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/FileSystem.3: converted last load-related ClientData parameter
- to Tcl_LoadHandle opaque structure, removing a couple of casts in the
- process.
-
- * generic/tclInt.h: removed tclNativeFilesystem declaration since it
- is now static again.
-
-2002-07-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/expr.test (expr-22.*): Added tests to help detect the
- corrected handling.
- * generic/tclExecute.c (IllegalExprOperandType): Improved error
- message generated when attempting to manipulate Inf and NaN values.
- * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise
- 'Inf' as a floating-point number. [Bug 218000]
-
-2002-07-21 Don Porter <dgp@users.sourceforge.net>
-
- * tclIOUtil.c: Silence compiler warning. [Bug 584408].
-
-2002-07-19 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to GetFilesystemRecord
- * win/tclWinFile.c:
- * unix/tclUnixFile.c: fix to subtle problem with links shown up by
- latest tclkit builds.
-
-2002-07-19 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure:
- * unix/configure.in:
- * win/configure:
- * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more
- clear that the configure scripts must be generated with autoconf
- version 2.13. [Bug 583573]
-
-2002-07-19 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report
- and fix from jcw.
-
-2002-07-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinSerial.c (no_timeout): Made this variable static.
-
- * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c:
- * generic/tclCompile.h (builtinFuncTable, instructionTable): Added
- prefix to these symbols because they are visible outside the Tcl
- library.
-
- * generic/tclCompExpr.c (operatorTable):
- * unix/tclUnixTime.c (tmKey):
- * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify,
- filesystemIteratorsInProgress, filesystemOkToModify): Made these
- variables static.
-
- * unix/tclUnixFile.c: Renamed nativeFilesystem to
- * win/tclWinFile.c: tclNativeFilesystem and declared
- * generic/tclIOUtil.c: it properly in tclInt.h
- * generic/tclInt.h:
-
- * generic/tclUtf.c (totalBytes): Made this array static and const.
-
- * generic/tclParse.c (typeTable): Made this array static and const.
- (Tcl_ParseBraces): Simplified error handling case so that scans are
- only performed when needed, and flags are simpler too.
-
- * license.terms: Added AS to list of copyright holders; it's only
- fair for the current gatekeepers to be listed here!
-
- * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427]
- Added tests for the [time] command, which was previously only
- indirectly tested!
-
-2002-07-18 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tcl.h:
- * */*Load*.c: added comments on changes of 07/17 and replaced
- clientData with Tcl_LoadHandle in all locations.
-
- * generic/tclFCmd.c:
- * tests/fileSystem.test: fixed a 'knownBug' with 'file attributes ""'
- * tests/winFCmd.test:
- * tests/winPipe.test:
- * tests/fCmd.test:
- * tessts/winFile.test: added 'pcOnly' constraint to some tests to make
- for more useful 'tests skipped' log from running all tests on
- non-Windows platforms.
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (CallCommandTraces): delete traces now receive
- the FQ old name of the command. [Bug 582532] (Don Porter)
-
-2002-07-18 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run
- outside of tcltest. [Bugs 583276, 583277]
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by
- Vince Darley.
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations,
- inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo
- to gcc for not complaining.
-
-2002-07-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tclIOUtil.c:
- * generic/tclLoadNone.c:
- * unix/tclLoadAout.c:
- * unix/tclLoadDl.c:
- * unix/tclLoadDld.c:
- * unix/tclLoadDyld.c:
- * unix/tclLoadNext.c:
- * unix/tclLoadOSF.c:
- * unix/tclLoadShl.c:
- * mac/tclMacLoad.c:
- * win/tclWinLoad.c: modified to move more functionality to the generic
- code and avoid duplication. Partial replacement of internal uses of
- clientData with opaque Tcl_LoadHandle. A little further work still
- needed, but significant changes are done.
-
-2002-07-17 D. Richard Hipp <drh@hwaci.com>
-
- * library/msgcat/msgcat.tcl: fix a comment that was causing problems
- for programs (ex: mktclapp) that embed the initialization scripts in
- strings.
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclVar.c: removing the now redundant functions to access
- indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and
- Tcl(Get|Set|Incr)ElementOfIndexedArray().
-
-2002-07-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this
- file compile with SunPro CC...
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: modified to do variable lookup explicitly, and
- then either inlining the variable access or else calling the new
- TclPtr(Set|Get|Incr)Var functions in tclVar.c
- * generic/tclInt.h: declare some functions previously local to
- tclVar.c for usage by TEBC.
- * generic/tclVar.c: removed local declarations; moved all special
- accessor functions for indexed variables to the end of the file -
- they are unused and ready for removal, but left there for the time
- being as they are in the internal stubs table.
-
- ** WARNING FOR BYTECODE MAINTAINERS **
- TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP.
-
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in:
- * win/Makefile.in: Add a more descriptive warning in the event `make
- genstubs` needs to be rerun.
-
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Use dltest.marker file to keep track of when the
- dltest package is up to date. This fixes [Bug 575768] since tcltest is
- no longer linked every time.
- * unix/dltest/Makefile.in: Create ../dltest.marker after a successful
- `make all` run in dltest.
-
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/configure.in: Remove useless subst of TCL_BIN_DIR.
-
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c: inaccurate comment fixed
-
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_AddObjErrorInfo):
- * generic/tclExecute.c (TclUpdateReturnInfo):
- * generic/tclInt.h:
- * generic/tclProc.c:
- Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified
- names "::errorInfo" and "::errorCode" to cache the addresses of the
- corresponding variables. The two most frequent setters of these
- variables now profit from the new variable name caching.
-
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclVar.c: refactorisation to reuse already looked-up Var
- pointers; definition of three new Tcl_Obj types to cache variable name
- parsing and lookup for later reuse; modification of internal functions
- to profit from the caching.
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclNamesp.c: adding CONST qualifiers to variable names
- passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST
- qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code
- duplication in the new tclVar.c code.
-
- * tests/set-old.test:
- * tests/var.test: slight modification of error messages due to the
- modifications in the tclVar.c code.
-
-2002-07-15 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test: Improved constraints to protect /tmp. [Bug
- 581403]
-
-2002-07-15 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more
- appropriate constraint names.
- * win/tclWinFile.c: updated comments to reflect 07-11 changes.
- * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no
- longer used in tclWinFile.c
- * mac/tclMacFile.c: completed TclpObjLink implementation which was
- previously lacking.
- * generic/tclIOUtil.c: comment cleanup and code speedup.
-
-2002-07-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Removed declarations that duplicated entries
- in the (internal) stub table.
-
- * library/tcltest/tcltest.tcl: Corrected errors in handling of
- configuration options -constraints and -limitconstraints.
-
- * README: Bumped HEAD to version 8.4b2 so we can
- * generic/tcl.h: distinguish it from the 8.4b1 release.
- * tools/tcl.wse.in:
- * unix/configure*:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure*:
-
-2002-07-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n:
- * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used
- as a normalized form. This is required because short forms are not a
- robust representation. The file normalization function has been sped
- up, but more performance gains might be possible, if speed is still an
- issue on these platforms.
-
-2002-07-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected reaction to existing but
- false ::tcl_interactive.
-
- * doc/Hash.3: Overlooked CONST documentation update.
-
-2002-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCkalloc.c: ckalloc() and friends take the block size as
- an unsigned, so we should use %ud when reporting it in fprintf() and
- panic().
-
-2002-07-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c: now setting local vars undefined at compile
- time, instead of waiting until the proc is initialized.
- * generic/tclProc.c: use macro TclSetVarUndefined instead of directly
- setting the flag.
-
-2002-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch]
- when not inside a suitably-protected test.
-
-2002-07-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/unixFCmd.test, tests/fileName.test:
- * tests/fCmd.test: Removed [exec] of Unix utilities that have
- equivalents in standard Tcl. [Bug 579268] Also simplified some of
- unixFCmd.test while I was at it.
-
-2002-07-10 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: Greatly reduced the number of [exec]s, using
- slave interps instead.
- * library/tcltest/tcltest.tcl: Fixed bug uncovered in the conversion
- where a message was written to stdout instead of [outputChannel].
-
- * tests/basic.test: Cleaned up, constrained, and reduced the
- * tests/compile.test: amount of [exec] usage in the test suite.
- * tests/encoding.test:
- * tests/env.test:
- * tests/event.test:
- * tests/exec.test:
- * tests/io.test:
- * tests/ioCmd.test:
- * tests/regexp.test:
- * tests/regexpComp.test:
- * tests/socket.test:
- * tests/tcltest.test:
- * tests/unixInit.test:
- * tests/winDde.test:
- * tests/winPipe.test:
-
-2002-07-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211]
-
- * tests/expr.test: Added tests to make sure that this works.
- * generic/tclExecute.c (ExprCallMathFunc): Functions should also be
- able to return wide-ints. [Bug 579284]
-
-2002-07-08 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/socket.test: Fixed [Bug 578164]. The original reason for the
- was a DNS outage while running the testsuite. Changed [info hostname]
- to 127.0.0.1 to bypass DNS, knowing that we operate on the local host.
-
-2002-07-08 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Fixed incompatibility in [viewFile].
- * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1.
- * library/tcltest/pkgIndex.tcl: [Bug 578163]
-
-2002-07-08 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/cmdAH.test:
- * tests/fCmd.test:
- * tests/fileName.test: tests which rely on 'file link' need a
- constraint so they don't run on older Windows OS. [Bug 578158]
- * generic/tclIOUtil.c:
- * generic/tcl.h:
- * generic/tclInt.h:
- * generic/tclTest.c:
- * mac/tclMacChan.c:
- * unix/tclUnixChan.c:
- * win/tclWinChan.c:
- * doc/FileSystem.3: cleaned up internal handling of
- Tcl_FSOpenFileChannel to remove duplicate code, and make writing
- external vfs's clearer and easier. No functionality change. Also
- clarify that objects with refCount zero should not be passed in to the
- Tcl_FS API, and prevent segfaults from occuring on such user errors.
- [Bug 578617]
-
-2002-07-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/pkgMkIndex.test: Constrained tests of [load] package indexing
- to those platforms where the testing shared libraries have been built.
- [Bug 578166]
-
-2002-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * changes: added recent changes
-
-2002-07-05 Reinhard Max <max@suse.de>
-
- * generic/tclClock.c (FormatClock): Convert the format string to UTF8
- before calling TclpStrftime, so that non-ASCII characters don't get
- mangled when the result string is being converted back.
- * tests/clock.test: Added a test for that.
-
-2002-07-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to
- allow running the test suite with a read-only current directory,
- running under ddd instead of gdb, and factored out some executable
- names for broken sites (like mine) where gdb and ddd are installed
- with non-standard names...
-
- * tests/httpold.test: Altered test names to httpold-* to avoid clashes
- with http.test, and stopped tests from failing when the current
- directory is not writable...
-
- * tests/event.test: Stop these tests from failing when the
- * tests/ioUtil.test: current directory is not writable...
- * tests/regexp.test:
- * tests/regexpComp.test:
- * tests/source.test:
- * tests/unixFile.test:
- * tests/unixNotfy.test:
-
- * tests/unixFCmd.test: Trying to make these test-files not
- * tests/macFCmd.test: bomb out with an error when the
- * tests/http.test: current directory is not writable...
- * tests/fileName.test:
- * tests/env.test:
-
-2002-07-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.4b1 TAGGED FOR RELEASE ***
-
-2002-07-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdMZ.test (cmdMZ-1.4):
- * tests/cmdAH.test: More fixing of writable-current-dir assumption.
- [Bug 575824]
-
-2002-07-04 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/basic.test: Same issue as below; fixed [Bug 575817]
-
-2002-07-04 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/socket.test:
- * tests/winPipe.test:
- * tests/pid.test: Fixed [Bug 575848]. See below for a description the
- general problem.
-
- * All the bugs below are instances of the same problem: The testsuite
- assumes [pwd] = [temporaryDirectory] and writable.
-
- * tests/iogt.test: Fixed [Bug 575860].
- * tests/io.test: Fixed [Bug 575862].
- * tests/exec.test:
- * tests/ioCmd.test: Fixed [Bug 575836].
-
-2002-07-03 Don Porter <dgp@users.sourceforge.net>
-
- * tests/pkg1/direct1.tcl: removed
- * tests/pkg1/pkgIndex.tcl: removed
- * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1
- into the test file pkgMkIndex.test itself. Formatting fixes.
-
- * unix/Makefile.in: removed tests/pkg/* from `make dist`
-
- * tests/pkg/circ1.tcl: removed
- * tests/pkg/circ2.tcl: removed
- * tests/pkg/circ3.tcl: removed
- * tests/pkg/global.tcl: removed
- * tests/pkg/import.tcl: removed
- * tests/pkg/pkg1.tcl: removed
- * tests/pkg/pkg2_a.tcl: removed
- * tests/pkg/pkg2_b.tcl: removed
- * tests/pkg/pkg3.tcl: removed
- * tests/pkg/pkg4.tcl: removed
- * tests/pkg/pkg5.tcl: removed
- * tests/pkg/pkga.tcl: removed
- * tests/pkg/samename.tcl: removed
- * tests/pkg/simple.tcl: removed
- * tests/pkg/spacename.tcl: removed
- * tests/pkg/std.tcl: removed
- * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file
- expected to be able to write to [file join [testsDirectory] pkg]. Part
- of the fix was to import several auxilliary files into the test file
- itself.
-
- * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid
- * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]].
-
- * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName
- only if a successful library script is found. [Bug 577033]
-
-2002-07-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileCatchCmd): return
- TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at
- runtime so that it can be caught [Bug 577015].
-
-2002-07-02 Joe English <jenglish@users.sourceforge.net>
-
- * doc/tcltest.n: Markup fixes, spellcheck.
-
-2002-07-02 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: more refinements of the documentation.
-
- * library/tcltest/tcltest.tcl: Added trace to be sure the stdio
- constraint is updated whenever the [interpreter] changes.
-
- * doc/tcltest.n: Reverted [makeFile] and [viewFile] to
- * library/tcltest/tcltest.tcl: their former behavior, and documented
- * tests/cmdAH.test: it. Corrected misspelling of hook
- * tests/event.test: procedure. Restored tests.
- * tests/http.test:
- * tests/io.test:
-
- * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles]
- and [GetMatchingDirectories], removing special case processing.
-
- * doc/tcltest.n: More documentation updates. Reference sections are
- complete. Only examples need adding.
-
-2002-07-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fCmd.test:
- * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the
- man page.
-
-2002-07-01 Joe English <jenglish@users.sourceforge.net>
-
- * doc/Access.3:
- * doc/AddErrInfo.3:
- * doc/Alloc.3:
- * doc/Backslash.3:
- * doc/CrtChannel.3:
- * doc/CrtSlave.3:
- * doc/Encoding.3:
- * doc/Eval.3:
- * doc/FileSystem.3:
- * doc/Notifier.3:
- * doc/OpenFileChnl.3:
- * doc/ParseCmd.3:
- * doc/RegExp.3:
- * doc/Tcl_Main.3:
- * doc/Thread.3:
- * doc/TraceCmd.3:
- * doc/Utf.3:
- * doc/WrongNumArgs.3:
- * doc/binary.n:
- * doc/clock.n:
- * doc/expr.n:
- * doc/fconfigure.n:
- * doc/glob.n:
- * doc/http.n:
- * doc/interp.n:
- * doc/lsearch.n:
- * doc/lset.n:
- * doc/msgcat.n:
- * doc/packagens.n:
- * doc/pkgMkIndex.n:
- * doc/registry.n:
- * doc/resource.n:
- * doc/safe.n:
- * doc/scan.n:
- * doc/tclvars.n: Spell-check, fixed typos (Updates from Larry Virden).
-
-2002-07-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking
- when building with gcc to resolve problems with undefined symbols
- being present when tcl library used with non-gcc linker at later
- stage. Symbols were compiler-generated, so it is the compiler's
- business to define them. [Bug 541181]
-
-2002-07-01 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: more work in progress updating tcltest docs.
-
- * library/tcltest/tcltest.tcl: Change [configure -match] to stop
- treating an empty list as a list of the single pattern "*". Changed
- the default value to [list *] so default operation remains the same.
-
- * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test.
-
- * library/tcltest/tcltest.tcl: restored writeability testing of
- -tmpdir, augmented by a special exception for the deafault value.
-
-2002-07-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/concat.n: Documented the *real* behaviour of [concat]!
-
-2002-06-30 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: more work in progress updating tcltest docs.
-
- * tests/README: Updated the instructions on running and
- * tests/cmdMZ.test: adding to the test suite. Also updated
- * tests/encoding.test: several tests, mostly to correctly create
- * tests/fCmd.test: and destroy any temporary files in the
- * tests/info.test: [temporaryDirectory] of tcltest.
- * tests/interp.test:
-
- * library/tcltest/tcltest.tcl: Stopped checking for writeability of
- -tmpdir value because no default directory can be guaranteed to be
- writeable.
-
- * tests/autoMkindex.tcl: removed.
- * tests/pkg/samename.tcl: removed.
- * tests/pkg/magicchar.tcl: removed.
- * tests/pkg/magicchar2.tcl: removed.
- * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile]
- and [removeFile] so tests are done in [temporaryDirecotry] where write
- access is guaranteed.
-
- * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to
- * tests/cmdAH.test: accurately reflect a file's contents.
- * tests/event.test: Updated tests that depended on buggy
- * tests/http.test: behavior. Also added warning messages
- * tests/io.test: to "-debug 1" operations to debug test
- * tests/iogt.test: calls to (make|remove)(File|Directory)
-
- * unix/mkLinks: `make mklinks` on 6-27 commits.
-
-2002-06-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.h: modified the macro TclEmitPush to not call its
- first argument repeatedly or pass it to other macros, [Bug 575194]
- reported by Peter Spjuth.
-
-2002-06-28 Don Porter <dgp@users.sourceforge.net>
-
- * docs/tcltest.n: Doc revisions in progress.
- * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was
- not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug
- 575150]
-
-2002-06-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to TclOS*
- * unix/tclUnixPipe.c: because they are only used internally. Also
- * unix/tclUnixFile.c: stopped double-#def of TclOSlstat [Bug 566099,
- * unix/tclUnixFCmd.c: post-rename]
- * unix/tclUnixChan.c:
- * unix/tclUnixPort.h:
-
- * doc/string.n: Improved documentation for [string last] along lines
- described in [Bug 574799] so it indicates that the supplied index
- marks the end of the search space.
-
-2002-06-27 Don Porter <dgp@users.sourceforge.net>
-
- * doc/dde.n: Work in progress updating the documentation
- * doc/http.n: of the packages that come bundled with
- * doc/msgcat.n: the Tcl source distribution, notably tcltest.
- * doc/registry.n:
- * doc/tcltest.n:
-
- * library/tcltest/tcltest.tcl: Made sure that the TCLTEST_OPTIONS
- environment variablle configures tcltest at package load time.
-
-2002-06-26 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileSystem.test:
- * generic/tclIOUtil.c: fix to handling of empty paths "" which are not
- claimed by any filesystem [Bug 573758]. Ensure good error messages
- are given in all cases.
- * tests/cmdAH.test:
- * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669].
- Thanks to Taguchi, Takeshi for the report.
-
-2002-06-26 Reinhard Max <max@suse.de>
-
- * unix/tclUnixTime.c: Make [clock format] respect locale settings.
- * tests/clock.test: [Bug 565880]. ***POTENTIAL INCOMPATIBILITY***
-
-2002-06-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/CrtInterp.3:
- * doc/StringObj.3: clarifications by Don Porter, [Bug 493995] and [Bug
- 500930].
-
-2002-06-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip
- * tests/tcltest.test: and start by [test -output]. Also
- corrected test suite errors exposed by corrected code. [Bug 564656]
-
-2002-06-25 Reinhard Max <max@suse.de>
-
- * unix/tcl.m4: New macro SC_CONFIG_MANPAGES.
- * unix/configure.in: Added support for symlinks and compression when
- * unix/Makefile.in: installing the manpages. [Patch 518052]
- * unix/mkLinks.tcl: Default is still hardlinks and no compression.
-
- * unix/mkLinks: generated
- * unix/configure:
-
- * unix/README: Added documentation for the new features.
-
- * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by
- ${libdir}.
-
-2002-06-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364]
- generated when the index is bad and the result is a shared object. The
- T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed
- some cruft that just complicated things to no advantage.
- (SetEndOffsetFromAny): Same fix, though this wasn't on the path
- excited by the bug.
-
-2002-06-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds abd
- * tests/parseOld.test: exports a [configure] command from
- * tests/tcltest.test: tcltest.
-
-2002-06-22 Don Porter <dgp@users.sourceforge.net>
-
- * changes: updated changes file for 8.4b1 release.
-
- * library/tcltest/tcltest.tcl: Corrections to tcltest and the Tcl
- * tests/basic.test: test suite so that a test with options
- * tests/cmdInfo.test: -constraints knownBug
- * tests/compile.test: -limitConstraints 1 only tests the
- * tests/encoding.test: knownBug tests. Mostly involves
- * tests/env.test: replacing direct access to the
- * tests/event.test: testConstraints array with calls to
- * tests/exec.test: the testConstraint command (which
- * tests/execute.test: requires tcltest version 2)
- * tests/fCmd.test:
- * tests/format.test:
- * tests/http.test:
- * tests/httpold.test:
- * tests/ioUtil.test:
- * tests/link.test:
- * tests/load.test:
- * tests/namespace.test:
- * tests/pkgMkIndex.test:
- * tests/reg.test:
- * tests/result.test:
- * tests/scan.test:
- * tests/stack.test:
-
-2002-06-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version):
- * win/README.binary, README, win/configure.in, unix/configure.in:
- * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1.
-
-2002-06-21 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclCompExpr.c:
- * generic/tclParseExpr.c: LogSyntaxError() should reset the
- interpreter result [Bug 550142 "Tcl_ExprObj -> abort"]
-
-2002-06-21 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Updated all package install directories
- * win/Makefile.in: to match current Major.minor versions
- * win/makefile.bc: of the packages. Added tcltest package
- * win/makefile.vc: to installation on Windows.
-
- * library/init.tcl: Corrected comments and namespace style issues.
- Thanks to Bruce Stephens. [Bug 572025]
-
-2002-06-21 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/cmdAH.test: Added TIP#99 implementation of 'file
- * tests/fCmd.test: link'. Supports creation of symbolic and
- * tests/fileName.test: hard links in the native filesystems and
- * tests/fileSystem.test: in vfs's, when the individual filesystem
- * generic/tclTest.c: supports the concept.
- * generic/tclCmdAH.c:
- * generic/tclIOUtil.c:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/FileSystem.3:
- * doc/file.n:
- * mac/tclMacFile.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: Also enhanced speed of 'file normalize' on
- Windows.
-
-2002-06-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in
- the implementation of TIP#62 (command tracing). Vince Darley, Hemang
- Lavana & Don Porter: thanks.
-
-2002-06-20 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the
- logic for compilation/recompilation.
-
-2002-06-19 Joe English <jenglish@users.sourceforge.net>
-
- * doc/file.n: Fixed indentation. No substantive changes.
-
-2002-06-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as
- the Tcl_ObjSetVar2 may cause the result to change. [Patch 558324]
- (watson)
-
-2002-06-19 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop;
- improved comments; re-indentation.
-
-2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TEBC):
- - elimination of duplicated code in the non-immediate INST_INCR
- instructions.
- - elimination of 103 (!) TclDecrRefCount macros. The different
- instructions now jump back to a common "DecrRefCount zone" at the
- top of the loop. The macro "ADJUST_PC" was replaced by two macros
- "NEXT_INST_F" and "NEXT_INST_V" that take three params
- (pcAdjustment, # of stack objects to discard, resultObjPtr handling
- flag). The only instructions that retain a TclDecrRefCount are
- INST_POP (for speed), the common code for the non-immediate
- INST_INCR, INST_FOREACH_STEP and the two INST_LSET.
-
- The object size of tclExecute.o was reduced by approx 20% since the
- start of the consolidation drive, while making room for some peep-hole
- optimisation at runtime.
-
-2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code
- for tcl-stack corruption.
-
-2002-06-17 David Gravereaux <davygrvy@pobox.com>
-
- Trims to support the removal of RESOURCE_INCLUDED from rc scripts from
- [FRQ 565088].
-
- * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the
- file. rc scripts don't need to know thread mutexes.
-
- * win/tcl.rc:
- * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the
- built-in -DRC_INVOKED to the work.
-
-2002-06-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/CrtTrace.3: Added TIP#62 implementation of command
- * doc/trace.n: execution tracing [FRQ 462580] (lavana).
- * generic/tcl.h: This includes enter/leave tracing as well
- * generic/tclBasic.c: as inter-procedure stepping.
- * generic/tclCmdMZ.c:
- * generic/tclCompile.c:
- * generic/tclExecute.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclVar.c:
- * tests/trace.test:
-
-2002-06-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 554068] ([exec] on
- windows did not treat { in filenames well.). Bug reported by Vince
- Darley <vincentdarley@users.sourceforge.net>, patch provided by Vince
- too.
-
-2002-06-17 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tcl.h: #ifdef logic for K&R C backwards compatibility
- changed to assume modern C by default. See [FRQ 565088] for full
- details.
-
-2002-06-17 Don Porter <dgp@users.sourceforge.net>
-
- * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a
- country designation recognized in ISO 3166.
-
- * library/msgcat/msgcat.tcl: More Windows Registry locale codes from
- Bruno Haible.
-
- * doc/msgcat.n:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl:
- * tests/msgcat.test: Revised locale initialization to interpret
- environment variable locale values according to XPG4, and to recognize
- the LC_ALL and LC_MESSAGES values over that of LANG. Also added many
- Windows Registry locale values to those recognized by msgcat. Revised
- tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the
- report and assistance crafting the solution. [Bug 525522, 525525]
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c (TclCompileTokens): a better algorithm for the
- previous bug fix.
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c (TclCompileTokens):
- * tests/compile.test: [Bug 569438] in the processing of dollar
- variables; report by Georgios Petasis.
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK
- instructions; the bug could not be exercised as the (faulty)
- instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug
- 569438]).
-
-2002-06-14 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole
- optimisation of variables (INST_STORE, INST_INCR) and commands
- (INST_INVOKE); faster check for the existence of a catch.
- (TclExecuteByteCode): runtime peep-hole optimisation of comparisons.
- (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH -
- relies on peculiarities of the code produced by the bytecode compiler.
-
-2002-06-14 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc: The test for compiler optimizations was in error.
- Thanks goes to Roy Terry <royterry@earthlink.net> for his assistance
- with this.
-
-2002-06-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/trace.n, tests/trace.test:
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd)
- (TclTraceVariableObjCmd): Changed references to "trace list" to
- "trace info" as mandated by TIP#102.
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the
- conditional branch instructions.
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): fixed the previous patch;
- wouldn't compile with TCL_COMPILE_DEBUG set.
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling
- of exception returns to INST_INVOKE and INST_EVAL, as well as most of
- the code for INST_CONTINUE and INST_BREAK, in the new jump target
- "processExceptionReturn".
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): consolidated variable
- handling opcodes, replaced redundant code with some 'goto'. All
- store/append/lappend opcodes on the same data type now share the main
- code; same with incr opcodes.
- * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible
- flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to
- setting the variable. This is used in the core for [lappend].
-
- ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not
- documented; there, it causes the call to create the variable if it
- does not exist. The new usage in Tcl_(Obj)?SetVar.* remains
- undocumented too ...
-
-2002-06-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fCmd.test:
- * tests/winFile.test:
- * tests/fileSystem.test:
- * generic/tclTest.c:
- * generic/tclCmdAH.c:
- * generic/tclIOUtil.c:
- * doc/FileSystem.3:
- * mac/tclMacFile.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: fixed up further so both compiles and actually
- works with VC++ 5 or 6.
- * win/tclWinInt.h:
- * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for
- the internal changes of 2002-06-12, to see whether WinTcl on NTFS can
- coexist peacefully with links in the filesystem. Added new test
- command 'testfilelink' to enable the newer code to be tested.
- * tests/fCmd.test: (made certain tests of 'testfilelink' not run on
- unix).
-
-2002-06-12 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to Hemang
- Lavana)
-
-2002-06-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFile.c: corrected the symbolic link handling code to allow
- it to compile. Added real definition of REPARSE_DATA_BUFFER (found in
- winnt.h). Most of the added definitions appear to have correct,
- cross-Win-version equivalents in winnt.h and should be removed, but
- just making things "work" for now.
-
-2002-06-12 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c:
- * generic/tcl.decls:
- * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man
- pages.
-
- * doc/FileSystem.3: clarified the circumstances under which certain
- functions are called in the presence of symlinks.
-
- * win/tclWinFile.c:
- * win/tclWinPort.h:
- * win/tclWinInt.h:
- * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', 'file
- type', 'glob -type l', 'file copy', 'file delete', 'file normalize',
- and all VFS code to work correctly in the presence of symlinks
- (previously Tcl's behaviour was not very well defined). This also
- fixes possible serious problems in all versions of WinTcl where 'file
- delete' on a NTFS symlink could delete the original, not the symlink.
- Note: symlinks cannot yet be created in pure Tcl.
-
-2002-06-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c:
- * generic/tclCompCmds.c:
- * generic/tclInt.h: reverted the new compilation functions; replaced
- by a more general approach described below.
-
- * generic/tclCompCmds.c:
- * generic/tclCompile.c: made *all* compiled variable access attempts
- create an indexed variable - even get or incr without previous set.
- This allows indexed access to local variables that are created and set
- at runtime, for example by [global], [upvar], [variable], [regexp],
- [regsub].
-
-2002-06-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/global.n:
- * doc/info.n:
- * test/info.test:
- * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was
- reporting some linked variables.
-
- * generic/tclBasic.c:
- * generic/tclCompCmds.c:
- * generic/tclInt.h: added compile functions for [global], [variable]
- and [upvar]. They just declare the new local variables, the commands
- themselves are not compiled-in. This gives a notably faster read
- access to these linked variables.
-
-2002-06-11 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: optimised algorithm for exception range
- lookup; part of [Patch 453709].
-
-2002-06-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * unix/tclUnixFCmd.c: fixed [Bug 566669]
- * generic/tclIOUtil.c: improved and sped up handling of native paths
- (duplication and conversion to normalized paths), particularly on
- Windows.
- * modified part of above commit, due to problems on Linux. Will
- re-examine bug report and evaluate more closely.
-
-2002-06-07 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: More corrections to test suite so that tests of
- failing [test]s don't show up themselves as failing tests.
-
-2002-06-07 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c: Tidied up headers in relation to float.h to
- cut the cruft and ensure DBL_MAX is defined since doubles seem to be
- the same size everywhere; if the assumption isn't true, the variant
- platforms had better have run configure...
-
- * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it
- wasn't previously defined. Also some other general tidying and adding
- of comments. [Bugs 563122, 564595]
- * compat/tclErrno.h: Added definition for EOVERFLOW copied from
- Solaris headers; I've been unable to find any uses of EFTYPE, which
- was the error code previously occupying the slot, in Tcl, or any
- definition of it in the Solaris headers.
-
-2002-06-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add
- CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug
- 565488]
-
-2002-06-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: Corrections to test suite so that tests of
- failing [test]s don't show up themselves as failing tests.
-
- * tests/io.test: Fixed up namespace variable resolution issues
- revealed by running test suite with "-singleproc 1".
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Several updates to tcltest.
- 1) changed to lazy initialization of test constraints
- 2) deprecated [initConstraintsHook]
- 3) repaired badly broken [limitConstraints].
- 4) deprecated [threadReap] and [mainThread]
- [Patch 512214, Bug 558742, Bug 461000, Bug 534903]
-
-2002-06-06 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): added
- mutex wrapped calls to readdir, localtime & gmtime in case their
- thread-safe *_r counterparts are not available.
- * unix/tcl.m4: added configure check for readdir_r
- * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX
- (where posix file apis expect utf-8, not iso8859-1).
- * unix/configure: regen
- * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to
- LD_LIBRARY_PATH for MacOSX dynamic linker.
- * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX (adapted
- from [Patch 524352] by jkbonfield).
-
-2002-06-05 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more
- clarifications about the intended use of Tcl_Main(). [Bug 505651]
-
-2002-06-05 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclFileName.c (TclGlob): mac specific fix to recent changes
- in 'glob -tails' handling.
- * mac/tclMacPort.h:
- * mac/tclMacChan.c: fixed TIP#91 bustage.
- * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf
- conversion of text resource contents.
- * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator.
-
-2002-06-04 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl:
- * tests/init.test:
- * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus.
- Converted tcltest.test to use a private namespace. Fixed bugs in
- [tcltest::Eval] revealed by calling [tcltest::test] from a non-global
- namespace, and namespace errors in init.test.
-
-2002-06-04 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys+mingw URL.
-
-2002-06-03 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl:
- * tests/tcltest.test: Implementation of TIP 85. Allows tcltest users
- to add new legal values of the -match option to [test], associating
- each with a Tcl command that does the matching of expected results
- with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1
- [Patch 521362]
-
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/namespace.n: added description of [namepace forget] behaviour
- for unqualified patterns. [Bug 559268]
-
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: reverting an accidental modification in the
- last commit.
-
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285]
- reported by Tom Krehbiel, patch by Don Porter).
-
-2002-05-31 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex].
- Thanks to Helmut for report. [Bug 550534]
-
- * tests/io.test:
- * tests/main.test: Use the "stdio" constraint to control whether an
- [open "|[interpreter]"] is attempted.
-
- * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode
- (ExprCallMathFunc):
- * generic/tclInt.h (TclMathInProgress):
- * unix/Makefile.in (tclMtherr.*):
- * unix/configure.in (NEED_MATHERR):
- * unix/tclAppInit.c (matherr):
- * unix/tclMtherr.c (removed file):
- * win/tclWinMtherr.c (_matherr): Removed internal routine
- TclMathInProgress and Unix implementation of matherr(). These are now
- obsolete, dealing with very old versions of the C math library.
- Windows version is retained in case Borland compilers require it, but
- it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635]
-
- * unix/configure: regen
-
-2002-05-30 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h: removed exprIsJustVarRef and
- exprIsComparison from the ExprInfo and CompileEnv structs. These
- were set, but not used since dec 1999 [Bug 562383].
-
-2002-05-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in
- fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses
- of 'glob -tails'.
- * tests/fileName.test: removed 'knownBug' flag from some tests, added
- some new tests for above bugs.
-
-2002-05-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure: regen'ed
- * unix/configure.in: replaced bigendian check with autoconf standard
- AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems.
- * generic/tclUtf.c (Tcl_UniCharNcmp):
- * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of
- TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative.
-
- * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing
- the Tcl_UniCharNcmp compare to when both objs are of StringType, as
- benchmarks show that is the optimal check (both bigendian and
- littleendian systems).
-
-2002-05-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is
- no longer needed since Tcl_Main() now actually calls Tcl_LinkVar().
- Thanks to Joe English for pointing that out.
-
-2002-05-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version.
- * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a
- macro for use in sensitive places like tclExecute.c
-
- * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when
- we can use an optimal comparison scheme, and default to the old scheme
- in other cases which is at least safe.
- * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag
- that indicates when we can use memcmp() to compare Unicode strings
- (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.)
-
-2002-05-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclUtf.c: added TclpUtfNcmp2 private command that
- mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This
- provides a faster alternative for comparing utf strings internally.
- (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of
- string check as it wasn't correct for the function (by doc and logic).
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal
- comparison code to use TclpUtfNcmp2 as well as short-circuit for
- equal objects or unequal length strings in the equal case.
- Removed the use of goto and streamlined the other parts.
-
- * generic/tclExecute.c (TclExecuteByteCode): added check for object
- equality in the comparison instructions. Added short-circuit for !=
- length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked
- INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use
- Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with
- no utf bytes.
-
- * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation
- in code that no longer throws an error.
-
- * tests/string.test:
- * tests/stringComp.test: added more string comparison checks.
-
- * tests/clock.test: better qualified 9.1 constraint check for %s.
-
-2002-05-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect
- against the case when NULL is based.
-
- * tests/clock.test: added clock-9.1
- * compat/strftime.c:
- * generic/tclClock.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using
- an env(TZ) setting trick for in clock format -gmt 1. This also makes
- %s seem to work correctly with -gmt 1 as well as making it a lot
- faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an
- arg. [Bug 559376]
-
-2002-05-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file
- inside a vfs. This should avoid leaving temporary files sitting
- around on exit. [Bug 545579]
-
-2002-05-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinError.c: Added comment on conversion of
- ERROR_NEGATIVE_SEEK because that is a mapping that really belongs,
- and not a catch-all case.
- * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL
- * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can
- potentially be a synonym for EINVAL.
-
-2002-05-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- === Changes due to TIP#91 ===
-
- * win/tclWinPort.h: Added declaration of EOVERFLOW.
- * doc/CrtChannel.3: Added documentation of wideSeekProc.
- * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc):
- Adapted to use the new channel mechanism.
- * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed
- FileSeekProc to FileWideSeekProc and created new FileSeekProc which
- has the old-style interface and which errors out with EOVERFLOW when
- the returned file position can't fit into the return type (int for
- historical reasons).
- * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed
- FileSeekProc to FileWideSeekProc and created new FileSeekProc which
- has the old-style interface and which errors out with EOVERFLOW when
- the returned file position can't fit into the return type (int for
- historical reasons).
- * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack
- large-file support because I can't see how to add it.
- * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions
- knowledge of the new arrangement of channel types.
- (Tcl_ChannelVersion): Added recognition of new version code.
- (HaveVersion): New function to do version checking.
- (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc)
- (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for
- ease of future maintainability.
- (Tcl_ChannelBlockModeProc): Obvious lookup function.
- * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and
- seekProc type restored to old interpretation.
- (TCL_CHANNEL_VERSION_3): New channel version.
-
-2002-05-24 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug
- report by Kevin Kenny <kennykb@users.sourceforge.net>.
-
- * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not
- allowed to mess with the watch mask if the socket is a server socket.
- I believe that the original reporter is George Peter Staplin.
-
-2002-05-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/configure.in: Invoke SC_ENABLE_SHARED before calling
- SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked
- inside SC_CONFIG_CFLAGS.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared
- to ld when configured with --disable-shared under OSF. [Bug 540390]
-
-2002-05-20 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: added prototype for TclpFilesystemPathType().
- * mac/tclMacChan.c: use MSL provided creator type if available instead
- of the default 'MPW '.
-
-2002-05-16 Joe English <jenglish@users.sf.net>
-
- * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName
- [Bugs 547987, 414921]
-
-2002-05-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out
- to stop compiler warnings. Also much general tidying of comments in
- this file and removal of whitespace from blank lines.
-
-2002-05-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed
- second argument, and Linux thinks ioctl() takes an unsigned second
- argument. So need a longer definition of this macro to get neither to
- spew warnings...
-
-2002-05-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclEvent.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h: clean up all memory allocated by the filesystem,
- via introduction of 'TclFinalizeFilesystem'.
- Move TclFinalizeLoad into TclFinalizeFilesystem so we can be sure it
- is called at just the right time.
- Fix bad comment also. [Bug 555078 and 'fs' part of 543549]
- * win/tclWinChan.c: fix comment referring to wrong function.
-
-2002-05-10 Don Porter <dgp@users.sourceforge.net>
-
- * tests/load.test:
- * tests/safe.test:
- * tests/tcltest.test: Corrected some list-quoting issues and other
- matters that cause tests to fail when the patch includes special
- characters. Report from Vince Darley. [Bug 554068]
-
-2002-05-08 David Gravereaux <davygrvy@pobox.com>
-
- * doc/file.n:
- * tools/man2tcl.c:
- * tools/man2help2.tcl: Thanks to Peter Spjuth
- <peter.spjuth@space.se>, again. My prior fix for single-quote macro
- mis-understanding was wrong. Reverted to reimpliment the 'macro2' proc
- which handles single-quote macros and restored file.n text arrangement
- to avoid single-quotes on the first line. Sorry for all the confusion.
-
-2002-05-08 David Gravereaux <davygrvy@pobox.com>
-
- * tools/man2tcl.c:
- * tools/man2help2.tcl: Proper source of macro error misunderstanding
- single-quote as the leading macro command found and repaired.
-
- * doc/file.n: Reverted to prior state before I messed with it.
-
-2002-05-08 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when
- [source]-ing test script in subdirectories.
- * tests/fileName.test:
- * tests/load.test:
- * tests/main.test:
- * tests/tcltest.test:
- * tests/unixInit.test: Fixes to test suite when there's a space in the
- working path. Thanks to Kevin Kenny.
-
-2002-05-07 David Gravereaux <davygrvy@pobox.com>
-
- -- Changes from Peter Spjuth <peter.spjuth@space.se>
- * tools/man2tcl.c: Increased line buffer size and a bail-out if that
- should ever be over-run.
- * tools/man2help.tcl: Include Courier New font in rtf header.
- * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier
- New for code samples and indent better.
-
- * doc/file.n:
- * doc/TraceCmd.3: winhelp conversion tools where understanding
- a ' as the first character on a line to be an unknown macro.
- Not knowing how to repair tools/man2tcl.c, I decided to rearrange
- the text in the docs instead.
-
-2002-05-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix to similar segfault when using 'glob
- -types nonsense -dir dirname -join * *'. [Bug 553320]
-
- * doc/FileSystem.3: further documentation on vfs.
- * tests/cmdAH.test:
- * tests/fileSystem.test:
- * tests/pkgMkindex.test: Fix to testsuite bugs when running out of
- directory whose name contains '{' or '['.
-
-2002-05-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/basic.test: Fix for [Bug 549607]
- * tests/encoding.test: Fix for [Bug 549610]
- These are testsuite bugs that caused failures when the filename
- contained spaces. Report & fix by Kevin Kenny.
-
-2002-05-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault)
- when using 'glob -types nonsense -dir dirname'.
- * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long
- lines.
- * tests/fileName.test: added several tests for the above bugs.
- * doc/FileSystem.3: clarified documentation on refCount requirements
- of the object returned by the path type function.
- * generic/tclIOUtil.c:
- * win/tclWinFile.c:
- * unix/tclUnixFile.c:
- * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform-
- specific directories, so we can add missing platform-specific
- implementations. On Windows, 'file system' now returns useful results
- like "native NTFS", "native FAT" for that system. Unix and MacOS still
- only return "native".
- * doc/file.n: clarified documentation.
- * tests/winFile.test: test for 'file system' returning correct values.
- * tests/fileSystem.test: test for 'file system' returning correct
- values. Clean up after failed previous test run.
-
-2002-04-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that
- the .sl knows its dependent libs.
-
-2002-04-26 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/obj.test (obj-11.[56]): Test conversion to boolean more
- thoroughly.
- * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer
- parsing function on native 64-bit platforms! [Bug 548686]
-
-2002-04-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.h: corrected TclRememberJoinableThread decl to use
- VOID instead of void.
- * generic/tclThreadJoin.c: noted that this code isn't needed on Unix.
-
-2002-04-23 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/exec.n:
- * doc/tclvars.n: doc updates [Patch 509426] (gravereaux)
-
-2002-04-24 Daniel Steffen <das@users.sourceforge.net>
-
- * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES
- #define to allow disabling the inclusion of the tcl library code in
- the resource fork of Tcl executables and shared libraries.
-
-2002-04-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo,
- Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927]
-
-2002-04-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclAlloc.c:
- * generic/tclInt.h:
- * generic/tclThreadAlloc.c (new):
- * unix/Makefile.in:
- * unix/tclUnixThrd.c:
- * win/Makefile.in:
- * win/tclWinInt.h:
- * win/tclWinThrd.c: added new threaded allocator contributed by AOL
- that significantly reduces lock contention when multiple threads are
- in use. Only Windows and Unix implementations are ready, and the
- Windows one may need work. It is only used by default on Unix for now,
- and requires that USE_THREAD_ALLOC be defined (--enable-threads on
- Unix will define this).
-
- * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected
- calling of Tcl_ConditionWait to ensure that there would be a condition
- to wait upon.
-
- * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE.
-
- * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls
- in file deletion for correct Win32 API handling.
-
- * win/Makefile.in: correct dependencies for shell, gdb, runtest
- targets.
-
- * doc/clock.n:
- * compat/strftime.c (_fmt): change strftime to correctly handle
- localized %c, %x and %X on Windows. Added some notes about how the
- other values could be further localized.
-
-2002-04-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c (Tcl_Main): Free the memory allocated for the
- startup script path. [Bug 543549]
-
- * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's
- namespace when determining the max translated length. Also made
- revisions for better use of namespace variables and more efficient
- [uplevel]s.
-
- * doc/msgcat.n:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list of
- msgcat; bumped to 1.2.3. [Bug 544727]
-
-2002-04-20 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file
- aware, and replaced various calls to FSpLocationFrom*Path by calls to
- new alias file aware versions FSpLLocationFrom*Path. The alias file
- aware routines don't resolve the last component of a path if it is an
- alias. This allows [file copy/delete] etc. to act correctly on alias
- files. (c.f. discussion in [Bug 511666])
-
-2002-04-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/lindex.test (lindex-3.7):
- * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting
- wide ints. [Bug 526717]
-
-2002-04-18 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclNamesp.c:
- * tests/info.test: [Bug 545325] info level didn't report namespace
- eval, bug report by Richard Suchenwirth.
-
-2002-04-18 Don Porter <dgp@users.sourceforge.net>
-
- * doc/subst.n: Clarified documentation on handling unusual return
- codes during substitution, and on variable substitutions implied by
- command substitution, and vice versa. [Bug 536838]
-
-2002-04-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdIL.c (InfoBodyCmd):
- * tests/info.test (info-2.6): Proc bodies without string reps would
- report as empty. [Bug 545644]
-
- * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on
- behaviour when substitutions are not well-formed, prompted by [Bug
- 536831]; alas, removing the ill-defined behaviour is a lot of work.
-
-2002-04-18 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c:
- * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too
- large integers" were reported as "floating-point value" in [expr]
- error messages.
-
-2002-04-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEncoding.c (EscapeFromUtfProc):
- * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of
- outputting end escapes for escape-based encodings.
- [Bug 526524] (yamamoto)
-
-2002-04-17 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Removed [saveState] and [restoreState] from tcltest
- 2 documentation, effectively deprecating them. [Bug 495660]
- * library/tcltest/tcltest.tcl: Made separate export for commands kept
- only for tcltest 1 compatibility.
-
- * tests/iogt.test: Revised to run tests in a namespace, rather than
- use the useless and buggy [saveState] and [restoreState] commands of
- tcltest. Updated to use tcltest 2 as well. [Patch 544911]
-
-2002-04-16 Don Porter <dgp@users.sourceforge.net>
-
- * tests/io.test: Revised to run tests in a namespace, rather than use
- the useless and buggy [saveState] and [restoreState] commands of
- tcltest. Updated to use tcltest 2 as well. [Patch 544546]
-
-2002-04-15 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclProc.c:
- * tests/proc-old.test: Improved stack trace for TCL_BREAK and
- TCL_CONTINUE returns from procs. Patch by Don Porter [Bug 536955].
-
- * generic/tclExecute.c:
- * tests/compile.test: made bytecodes check for a catch before
- returning; the compiled [return] is otherwise non-catchable. [Bug
- 542142] reported by Andreas Kupries.
-
-2002-04-15 Don Porter <dgp@users.sourceforge.net>
-
- * tests/socket.test: Increased timeout values so that tests have
- time to successfully complete even on slow/busy machines. [Bug 523470]
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Revised [tcltest::test] to return errors when
- called with invalid syntax and to accept exactly two arguments as
- documented. Improved error messages. [Bug 497446, Patch 513983]
- ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous tcltest
- 2.* releases, found only in alpha releases of Tcl 8.4.
-
-2002-04-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclNotify.c (TclFinalizeNotifier): remove remaining
- unserviced events on finalization.
-
- * win/tcl.m4: Enabled COFF as well as CV style debug info with
- --enable-symbols to allow Dr. Watson users to see function info. More
- info on debugging levels can be obtained at:
- http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
-
- * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants.
-
- * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount
- to prevent possible mem leak.
-
-2002-04-08 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.h: no <sys/types.h> on mac.
- * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24.
- * mac/tclMacOSA.c:
- * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString
- conversions of resource file names.
- * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas
- on 02-25; changed strcmp's to strncmp's so that option comparison
- behaves like on other platforms.
- * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to
- allow Tk to hookup C library stderr/stdout to TkConsole.
- * tests/basic.test:
- * tests/cmdAH.test:
- * tests/encoding.test:
- * tests/fileSystem.test:
- * tests/ioCmd.test: fixed tests failing on mac: check for existence of
- [exec], changed some result strings.
-
-2002-04-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c (Realpath): added a little extra code to
- initialize a realpath arg when compiling in PURIFY mode in order to
- prevent spurious purify warnings. We should really create our own
- realpath implementation, but this will at least quiet purify for now.
-
-2002-04-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (Tcl_SubstObj):
- * tests/subst.test: Corrected [subst] so that return codes TCL_BREAK
- and TCL_CONTINUE returned by variable substitution have the same
- effect as when those codes are returned by command substitution. [Bug
- 536879]
-
-2002-04-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias to
- GetMatchingFiles), which was a public function in tcltest 1.0.
-
-2002-04-01 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclEnv.c:
- * generic/tclIOUtil.c: invalidate filesystem cache when the user
- changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the
- documentation.
- * tests/fileSystem.test: added test for bug just fixed.
-
-2002-04-01 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency
- more permissive to cope with the fact that Win98SE is observed to
- return 1.19318 in place of 1.193182 for the performance counter
- frequency.
-
-2002-03-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc)
- (TraceCommandProc, TclTraceCommandObjCmd): corrected potential
- double-free of traces on variables by flagging in Trace*Proc that it
- will free the var in case the eval wants to delete the var trace as
- well. [Bug 536937] Also converted Tcl_UntraceVar -> Tcl_UntraceVar2
- and Tcl_Eval to Tcl_EvalEx in Trace*Proc for slight efficiency
- improvement.
-
-2002-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * doc/AllowExc.3:
- * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx):
- * generic/tclCompile.h (TclCompEvalObj):
- * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode):
- * tests/basic.test: Corrected problems with Tcl_AllowExceptions having
- influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel
- Sofer. Report from Jean-Claude Wippler. [Bug 219181]
-
-2002-03-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c: Refactored CallTraces to collect repeated handling
- of its returned value into CallTraces itself.
-
-2002-03-28 David Gravereaux <davygrvy@pobox.com>
-
- * tools/feather.bmp:
- * tools/man2help.tcl:
- * tools/man2help2.tcl:
- * win/makefile.vc: More winhelp target fixups. Added a feather bitmap
- to the non-scrollable area and changed the color to be yellow from a
- plain white. The colors can be whatever we want them to be, but
- thought I would start with something bold. [Bug 527941]
-
- * doc/SetVar.3:
- * doc/TraceVar.3:
- * doc/UpVar.3: .AP macro syntax repair.
-
-2002-03-27 David Gravereaux <davygrvy@pobox.com>
-
- * tools/man2help.tcl:
- * win/makefile.vc: winhelp target now copies all needed files from
- tools/ to a workarea under $(OUT_DIR) and builds it from there. No
- build cruft is left in tools/ anymore. All paths used in man2help.tcl
- are now relative to where the script is. [Bug 527941]
-
-2002-03-27 David Gravereaux <davygrvy@pobox.com>
-
- * win/.cvsignore:
- * win/buildall.vc.bat:
- * win/coffbase.txt:
- * win/makefile.vc:
- * win/nmakehlp.c (new):
- * win/rules.vc: First draft fix for [Bug 527941]. More changes need
- to done to the makehelp target to get to stop leaving build files in
- the tools/ directory. This does not address the syntax errors in the
- man files. Having the contents of tcl.hpj(.in) inside makefile.vc
- allows for version numbers to be replaced with macros.
-
- The new nmakehlp.c is built by rules.vc in preprocessing and removes
- the need to use tricky shell syntax that wasn't compatible on Win9x
- systems. Clean targets made Win9x complient. This is a first draft
- repair for [Bug 533862].
-
-2002-03-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize to
- TclEvalObjvInternal. [Bug 219362], fix by David Knoll.
-
-2002-03-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalEx):
- * tests/basic.test: avoid exceptional returns at level 0. [Bug 219181]
-
-2002-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n ([mainThread]):
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Major code cleanup to deal with whitespace,
- coding conventions, and namespace issues, with several minor bugs
- fixed in the process.
-
- * tests/main.test: Added missing [after cancel]s.
-
-2002-03-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/main.test: Removed workarounds for Bug 495977.
-
- * library/tcltest/tcltest.tcl: Keep the value of $::auto_path
- unchanged, so that the tcltest package can test code that depends on
- auto-loading. If a testing application needs $::auto_path pruned, it
- should do that itself. [Bug 495726]
- Improve the processing of the -constraints option to [test] so that
- constraint lists can have arbitrary whitespace, and non-lists don't
- blow things up. [Bug 495977]
- Corrected faulty variable initialization. [Bug 534845]
-
-2002-03-25 Miguel Sofer <msofer@users.sourceforge.net>
-
- * doc/CrtTrace.3: small doc correction
- * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on trace
- deletions. [Bug 534728] (Hemang Lavana)
-
-2002-03-24 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect code
- as described in [Bug 533907] (Don Porter).
-
-2002-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the
- executable currently running the tcltest package. [Bug 454050]
-
- * library/tcltest/tcltest.tcl: Allow non-proc commands to be used as
- the customization hooks. [Bug 495662]
-
-2002-03-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFilename.c:
- * generic/tclFCmd.c:
- * generic/tclTest.c:
- * generic/tcl.h:
- * generic/tclIOUtil.c:
- * win/tclWinFile.c:
- * win/tclWinFCmd.c:
- * win/tclWinPipe.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixFCmd.c:
- * mac/tclMacFile.c:
- * doc/FileSystem.3:
- * doc/file.n:
- * tests/cmdAH.test:
- * tests/fileName.test:
- * tests/fileSystem.test: (new file)
- * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved
- documentation of some aspects of the filesystem, particularly
- 'Tcl_FSMatchInDirectory' which now might match a single file/directory
- only, and 'file normalize' which wasn't very clear before. Removed
- inconsistency betweens docs and the Tcl_Filesystem structure. Also
- fixed [Bug 523217] and corrected file normalization on Unix so that
- it expands symbolic links. Added some new tests of the filesystem
- code (in the new file 'fileSystem.test'), and some extra tests for
- correct handling of symbolic links. Fix to [Bug 530960] which shows up
- on Win98. Made comparison with ".com" case insensitive in tclWinPipe.c
-
- ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases
- (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to
- handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and
- 'file normalize' on unix now behaves correctly). Only known impact is
- with the 'tclvfs' extension.
-
-2002-03-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed
- earlier today.
-
-2002-03-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579]
-
-2002-03-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalObjEx):
- * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for
- return codes other than (TCL_OK, TCL_ERROR) to runLevel 0.[Bug 533758]
- Removed the static RecordTracebackInfo(), as its functionality is
- easily replicated by Tcl_LogCommandInfo. Bug and redundancy noted by
- Don Porter.
-
-2002-03-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/expr.n: Improved documentation for ceil and floor. [Bug 530535]
-
-2002-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SetVar.3:
- * doc/TraceVar.3:
- * doc/UpVar.3:
- * generic/tcl.h (Tcl_VarTraceProc):
- * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2,
- (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2,
- (Tcl_GetVar2Ex, TclSetVar2Ex):
- * generic/tclCmdMZ.c (TraceVarProc):
- * generic/tclEnv.c (EnvTraceProc):
- * generic/tclEvent.c (VwaitVarProc):
- * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc):
- * generic/tclLink.c (LinkTraceProc):
- * generic/tclUtil.c (TclPrecTraceProc):
- * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar,
- (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2,
- (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex,
- (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to
- TIP 27. In particular, the "part2" arguments were CONSTified. [Patch
- 532642]
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
-2002-03-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/compile.test (compile-12.3): Test to detect bug 530320.
- * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun
- reported in bug 530320.
-
-2002-03-14 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add configure time test for SEH support in the
- compiler.
- * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace,
- (_except_checkstackspace_handler):
- * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel,
- (_except_makefilechannel_handler):
- * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile,
- (_except_dorenamefile_handler, _except_docopyfile_handler):
- Implement SEH support under gcc using inline asm. Tcl and Tk should
- now compile with Mingw 1.1. [Patch 525746]
-
-2002-03-14 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception
- with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting
- instruction with EXCEPTION_CONTINUE_EXECUTION. [Bug 466102] provides
- an example of how restarting could send Tcl into an infinite loop.
- [Patch 525746]
-
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile,
- (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path
- name to Win32 API functions since this was crashing under Windows 98.
-
-2002-03-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2.
-
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list
- to foreach to avoid munging a Windows patch like D:\Foo\Bar into
- D:FooBar before the glob.
-
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclEncoding.c: Fix typo in comment.
- * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value
- instead of pointer set to NULL to make things more clear. Reorder
- arguments so that they match the function signatures. Cleanup little
- typos and add more descriptive comment.
-
-2002-03-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update to indicate that Mingw 1.1 is required to build
- Tcl. Add section describing new msys based build process. Update
- Cygwin build instructions so users know where to find Mingw 1.1.
-
-2002-03-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK.
-
-2002-03-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (TclpCheckStackSpace):
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded
- constants with Win32 symbolic names. Move control flow statements out
- of __try blocks since the documentation indicates it is frowned upon.
-
-2002-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * doc/interp.n:
- * generic/tclInterp.c (Tcl_InterpObjCmd, SlaveObjCmd,
- (SlaveRecursionLimit):
- * generic/tclTest.c:
- * tests/interp.test: Added the [interp recursionlimit] command to
- set/query the recursion limit of an interpreter. Proposal and
- implementation from Stephen Trier. [TIP 87, Patch 522849]
-
-2002-03-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.h, tools/tcl.wse.in, unix/configure.in,
- * unix/tcl.spec, win/README.binary, win/configure.in, README:
- Bumped patchlevel; this might need to change in the future, but it
- will help us distinguish between the CVS version and the most recent
- released version.
-
-2002-03-06 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees
- the internal rep before the string rep - just like the non-macro
- Tcl_DecrRefCount/TclFreeObj. [Bug 524802]
-
-2002-03-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/lsearch.n: Documentation of new features, plus examples.
- * tests/lsearch.test: Tests of new features.
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See
- http://purl.org/tcl/tip/80 for details.
-
-2002-03-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.4a4 TAGGED FOR RELEASE ***
-
- * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem
- introduced by TIP #35. This may not satisfy true serial channels, but
- it restores the correct flushing of std* channels on exit.
-
- * unix/README: added --enable-langinfo doc.
-
- * unix/tcl.spec:
- * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF.
-
-2002-03-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README:
- * mac/README:
- * unix/Makefile.in:
- * unix/README:
- * win/README:
- * win/README.binary: updated to use www.tcl.tk URL.
-
- * unix/Makefile.in: added older ChangeLogs to dist target.
-
- * tests/io.test:
- * tests/encoding.test: corrected iso2022 encoding results.
- added encoding-24.*
- * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of
- escape codes as per RFC 1468. [Patch 474358] (taguchi)
- (TclFinalizeEncodingSubsystem): corrected potential double-free
- when encodings were finalized on exit. [Bugs 219314, 524674]
-
-2002-03-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/encoding/iso2022-jp.enc:
- * library/encoding/iso2022.enc:
- * tools/encoding/iso2022-jp.esc:
- * tools/encoding/iso2022.esc: gave <ESC>$B precedence over <ESC>$@,
- based on comments (point 1) in [Bug 219283] (rfc 1468)
-
- * tests/encoding.test: added encoding-23.* tests
- * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START
- flags in the ChannelState when using 'gets'. [Bug 523988]
- Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this
- seems to improve the performance of 'gets' according to tclbench.
-
-2002-02-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo
- structure was also deleted when a command was deleted to prevent a
- mem leak.
-
- * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags
- correctly.
-
- * generic/tclTimer.c (TimerExitProc): remove remaining events in
- tls on thread exit.
-
-2002-02-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclNamesp.c: allow cached fully-qualified namespace names to
- be usable from different namespaces within the same interpreter
- without forcing a new lookup [Patch 458872].
-
-2002-02-28 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: Replaced a few direct stack accesses with the
- POP_OBJECT() macro [Bug 507181] (Don Porter).
-
-2002-02-27 Don Porter <dgp@users.sourceforge.net>
-
- * doc/GetIndex.3:
- * generic/tcl.decls (Tcl_GetIndexFromObjStruct):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the
- prototype of the Tcl_GetIndexFromObjStruct to take its struct table as
- a (CONST VOID *) argument, better describing what it is, maintaining
- source compatibility, and adding CONST correctness according to TIP
- 27. Thanks to Joe English for an elegant solution. [Bug 520304]
-
- * generic/tclDecls.h: make genstubs
-
- * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference
- count management errors on the interactive command Tcl_Obj found by
- Purify. Thanks to Jeff Hobbs for the report and assistance.
-
-2002-02-27 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak in
- error case.
-
- * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs.
-
- * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case.
-
-2002-02-27 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470]
- provided by Don Porter <dgp@users.sourceforge.net> to avoid timing
- problems in that test.
-
- * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize
- "/dev/tty" (by name) and to not handle it as tty / serial line. This
- is the controlling terminal and is special. Setting it into raw mode
- as is done for other tty's is a bad idea. This is a hackish fix for
- expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel
- handles tty's specially too, but is unable to recognize /dev/tty as it
- only gets a file descriptor, and no name for it.
-
-2002-02-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdAH.c (StoreStatData): corrected mem leak.
-
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in
- remedial regsub case.
-
- * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for
- error case to prevent mem leak.
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation.
-
- * unix/tclUnixSock.c (Tcl_GetHostName): added an extra
- gethostbyname check to guard against failure with truncated
- names returned by uname.
-
- * unix/configure:
- * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined
- _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls.
-
- * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial
- port support. [Patch 438509] (schroedter)
-
-2002-02-26 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last)
- Bugfix to the new [for] compiling code: was setting a exceptArray
- parameter using another param which wasn't yet initialised, thus
- filling it with noise.
-
-2002-02-25 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option
- "-error". Essentially ignores the option, always returning an empty
- string.
-
-2002-02-25 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/Alloc.3:
- * doc/LinkVar.3:
- * doc/ObjectType.3:
- * doc/PkgRequire.3:
- * doc/Preserve.3:
- * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
- ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and
- to accurately describe when and how they are used. [Bug 497459] (dgp)
-
- * generic/tclHash.c (AllocArrayEntry, AllocStringEntry):
- Before invoking ckalloc when creating a Tcl_HashEntry,
- check that the amount of memory being allocated is
- at least as large as sizeof(Tcl_HashEntry). The previous
- code was allocating memory regions that were one
- or two bytes short. [Bug 521950] (dejong)
-
-2002-02-25 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun
- reported by Joe English, and restoring tcl7.6 behaviour for
- [subst]: badly terminated nested scripts will raise an error
- and not be evaluated. [Bug 495207]
-
-2002-02-25 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64.
- * compat/strtod.c (strtod): simplified #includes
- * compat/strtol.c (strtol): gather result in a long before returning
- as a long: necessary on platforms where sizeof(int) != sizeof(long).
-
-2002-02-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that
- have more libdl-like semantics. [Bug 514392]
-
-2002-02-25 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the
- code for [for] and [while]. Under certain conditions, for long bodies,
- the exception range parameters were badly computed. Tests forthcoming:
- I still can't reproduce the conditions in the testsuite (!), although
- the bug (with assorted segfault or panic!) can be triggered from the
- console or with the new parse.bench in tclbench.
-
-2002-02-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR,
- CONST and #includes to clean up GCC output.
-
-2002-02-23 Don Porter <dgp@users.sourceforge.net>
-
- * compat/strtoull.c (strtoull):
- * compat/strtoll.c (strtoll):
- * compat/strtoul.c (strtoul): Fixed failure to handle leading
- sign symbols '+' and '-' and '0X' and raise overflow errors.
- [Bug 440916] Also corrects prototype and errno problems.
-
-2002-02-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when
- building on IRIX64-6.* system. [Bug 521707]
-
-2002-02-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h:
- * generic/tclObj.c: renamed global variable emptyString ->
- tclEmptyString because it is no longer static.
- * generic/tclPkg.c: Fix for panic when library is loaded on a
- platform without backlinking without proper use of stubs. [Bug 476537]
-
-2002-02-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/regexpComp.test: updated regexp-11.[1-4] to match changes in
- regexp.test for new regsub syntax
-
- * unix/configure:
- * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64
- flag) when using IBM's xlc compiler.
-
- * tests/safe.test: updated safe-8.5 and safe-8.7
- * library/safe.tcl (CheckFileName): removed the limit on
- sourceable file names (was only *.tcl or tclIndex files with no more
- than one dot and 14 chars). There is enough internal protection in a
- safe interpreter already. [Tk Bug 521560]
-
-2002-02-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and [while]
- for constant conditions; in addition, [for] and [while] are now
- compiled with the "loop rotation" optimisation (thanks to Kevin
- Kenny).
-
-2002-02-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- --- TIP#76 CHANGES ---
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less
- [regsub] returns the modified string.
- * doc/regsub.n: Updated docs.
- * tests/regexp.test: Updated and added tests.
-
- * compat/strtoll.c (strtoll):
- * compat/strtoull.c (strtoull):
- * unix/tclUnixPort.h:
- * win/tclWinPort.h: Const-ing 64-bit compatability declarations. Note
- that the return pointer is non-const because it is entirely legal for
- the functions to be called from somewhere that owns the string being
- passed. Fixes problem reported by Larry Virden.
-
-2002-02-21 David Gravereaux <davygrvy@pobox.com>
-
- * win/mkd.bat (removed):
- * win/coffbase.txt (new):
- * win/makefile.bc:
- * win/makefile.vc: Changed the 'setup' target to stop using the
- mkd.bat file and just make the directory right in the rule. Same
- change to makefile.bc. Neither configure.in nor Makefile.in use it.
-
- coffbase.txt will be the master list for our "prefered base addresses"
- set by the linker. This should improve load-time (NT only) by avoiding
- relocations. Submissions to the list by extension authors are
- encouraged.
-
- Added a 'tidy' target to compliment 'clean' and 'hose' to remove just
- the outputs. Also removed the $(winlibs) macro as it wasn't being
- used.
-
- Stuff left to do:
- 1) get the winhelp target to stop building in the tools/ directory.
- 2) stop using rmd.bat
- 3) add more dependacy rules.
-
- * win/tclAppInit.c: Reverted back to -r1.6, as the header file change
- to tclPort.h won't allow for easy embedded support outside of the
- source dist. Thanks to Don Porter for pointing this out to me.
-
-2002-02-21 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc:
- * win/rules.vc: Added a new "loimpact" option that sets the
- -ws:aggressive linker option. Off by default. It's said to keep the
- heap use low at the expense of alloc speed.
-
- * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove
- the raw windows.h include. tclPort.h brings in windows.h already and
- lessens the pre-compiled-header mush and the randomly useless #pragma
- comment (lib,...) references throughout the big windows.h tree (as
- observed at high linker warning levels).
-
-2002-02-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but now
- sensitive to presence of (suitable) <limits.h>
-
-2002-02-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct):
- Overlooked a few source incompatibilities. Now using CONST84.
- * generic/tclDecls.h: make genstubs
- * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun
- Workshop compiler.
-
-2002-02-20 David Gravereaux <davygrvy@pobox.com>
-
- * win/buildall.vc.bat:
- * win/makefile.vc:
- * win/rules.vc: General clean-ups. Added compiler and linker tests for
- a) the pentium 0x0F errata, b) optimizing (not all have this), and c)
- linker v6 section alignment confusion. All these are tested first to
- make sure any D4002 or LNK1117 warnings aren't displayed. The pentium
- 0x0F errata is a recommended switch. The v5 linker's section alignment
- default is 512, but the v6 linker was changed to 4096 in an attempt to
- speed loading on Win98. I changed the default to always be 512 across
- both linkers, unless linking statically, then 4096 is used for the
- claimed speed effect. Using a 512 alignment saves 12k bytes of dead
- space in the DLL.
-
- Added IA64 B-stepping errata switch when the compiler supports it.
-
- Added profiling to $(lflags) when requested and also removed the
- explict -entry option as the default works fine as is.
-
- Removed win/tclWinInit.c from the special case section to let it use
- the common implicit rule as the $(EXTFLAGS) macro it had was never
- referenced anywhere.
-
-2002-02-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tcl.h: Added code to guess the correct settings for
- TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell
- us them, as can happen with extensions.
-
-2002-02-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/format.n: Updated docs to list the specification.
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit
- platforms correctly meet the specification, that %d works with the
- native word-sized integer, instead of trying to guess (wrongly)
- from the value being passed.
-
-2002-02-19 Don Porter <dgp@users.sourceforge.net>
-
- * changes: First draft of updated changes for 8.4a4 release.
-
-2002-02-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixPort.h: add strtoll/strtoull declarations for
- platforms that do not define them.
-
- * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and
- use of VOID* in default case (GNU-ism).
-
-2002-02-15 Kevin Kenny <kennykb@acm.org>
-
- * compat/strtoll.c:
- * compat/strtoul.c:
- * compat/strtoull.c:
- * generic/tclIOUtil.c:
- * generic/tclPosixStr.c:
- * generic/tclTest.c:
- * generic/tclTestObj.c:
- * tests/get.test:
- * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it
- compile under VC++.
-
-2002-02-15 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tclExecute.c:
- * tclIOGT.c:
- * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable
- under Windows again. The changes are not complete, there is one nasty
- regarding _stati64
-
-2002-02-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- +----------------------+
- | TIP #72 IMPLEMENTED. |
- +----------------------+
-
- There are a lot of changes from this TIP, so please see
- http://purl.org/tcl/tip/72.html for discussion of
- backward-compatability issues, but the main ones modifications are in:
-
- * generic/tcl.h: New types.
- * generic/tcl.decls: New public functions.
- * generic/tclExecute.c: 64-bit aware bytecode engine.
- * generic/tclBinary.c: 64-bit handling in [binary] command.
- * generic/tclScan.c: 64-bit handling in [scan] command.
- * generic/tclCmdAH.c: 64-bit handling in [file] and [format]
- commands.
- * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform.
- * generic/tclFCmd.c: Large-file support (with many consequences.)
- * generic/tclIO.c: Large-file support (with many consequences.)
- * compat/strtoll.c, compat/strtoull.c: New support functions.
- * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced
- cacheing.
-
- Most other changes, including all those in doc/* and test/* as well as
- the majority in the platform directories, follow on from these.
-
- Also coming out of the woodwork:
- * generic/tclIndex.c: Better support for Cray PVP.
- * win/tclWinMtherr.c: Better Borland support.
-
- Note that, in a number of places through the Unix part of the platform
- support, there are Tcl_Platform* references. These are expanded into
- the correct way to call that particular underlying function, i.e. with
- or without a '64' suffix, and should be used by people working on the
- core in preference to the API functions they overlay so that the code
- remains portable depending on the presence or absence of 64-bit
- support on the underlying platform.
-
- ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP
-
- SUMMARY OF INCOMPATIBILITIES AND FIXES
- ======================================
-
- The behaviour of expressions containing constants that appear positive
- but which have a negative internal representation will change, as
- these will now usually be interpreted as wide integers. This is always
- fixable by replacing the constant with int(constant).
-
- Extensions creating new channel types will need to be altered as
- different types are now in use in those areas. The change to the
- declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred
- API in any case) are less serious as no non-alpha releases have been
- made yet with those API functions.
-
- Scripts that are lax about the use of the l modifier in format and
- scan will probably need to be rewritten. This should be very uncommon
- though as previously it had absolutely no effect.
-
- Extensions that create new math functions that take more than one
- argument will need to be recompiled (the size of Tcl_Value changes),
- and functions that accept arguments of any type (TCL_EITHER) will need
- to be rewritten to handle wide integer values. (I do not expect this
- to affect many extensions at all.)
-
-2002-02-14 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a
- memory leak reported by Miguel Sofer <msofer@users.sf.net>. The leak
- happens if an error occurs for "set var [gets $chan]" and leak one
- empty object.
-
-2002-02-12 David Gravereaux <davygrvy@pobox.com>
-
- * djgpp/ (new directory)
- * djgpp/Makefile (new):
- * unix/tclAppInit.c:
- * unix/tclMtherr.c:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixInit.c:
- * unix/tclUnixPort.h: Early stage of DJGPP support for building Tcl
- on DOS. Dynamic loading isn't working, yet. Requires watt32 for the
- TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe
- that runs Tcl in protected-mode, flat memory. [exec] and pipes will
- need the most work as multi-tasking on DOS has to be carefully.
-
-2002-02-10 Kevin Kenny <kennykb@acm.org>
-
- * doc/CrtObjCmd.3:
- * doc/CrtTrace.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclTest.c:
- * tests/basic.test: Added Tcl_CreateObjTrace,
- Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken.
- (TIPs #32 and #79.)
-
- * generic/tclDecls.h:
- * generic/tclStubInit.c: Regenerated Stubs tables.
-
-2002-02-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and
- LDFLAGS. Also triggered nodots only for FreeBSD-3. Added
- AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris.
-
- * unix/tclUnixPort.h:
- * unix/tclUnixThrd.c: added thread-safe versions of readdir,
- localtime, gmtime and inet_ntoa for threaded build. (jgdavidson)
-
- * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being called on
- a pointer to NULL.
-
-2002-02-07 Don Porter <dgp@users.sourceforge.net>
-
- * doc/DString.3:
- * doc/Encoding.3:
- * doc/GetCwd.3:
- * doc/SplitPath.3:
- * doc/Translate.3:
- * doc/Utf.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclEncoding.c:
- * generic/tclEnv.c:
- * generic/tclFileName.c:
- * generic/tclIOUtil.c:
- * generic/tclUtf.c:
- * generic/tclUtil.c:
- * mac/tclMacInit.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixInit.c:
- * unix/tclUnixPipe.c:
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinInit.c: Partial TIP 27 rollback. Following routines
- restored to return (char *): Tcl_DStringAppend,
- Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
- Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
- Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored
- Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to
- return (Tcl_UniChar *). Modified some callers. This change recognizes
- that Tcl_DStrings are de-facto white-box objects.
-
- * generic/tclDecls.h:
- * generic/tclPlatDecls.h: make genstubs
-
- * generic/tclCmdMZ.c: corrected use of C++-style comment.
-
-2002-02-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/scan.test:
- * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling
- that didn't accept the 0x as a prelude to a base 16 number. [Bug
- 495213]
-
- * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check for
- bad RE to stop checking further.
-
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to search
- for simple 'string map' style regsub calls. Delayed creation of
- resultPtr object until an initial match is made, as the input string
- object can then be reused for no matches.
- (Tcl_StringObjCmd): optimization improvements to the STR_MAP
- algorithm for zero-length and nocase cases.
-
- * tests/regexp.test:
- * tests/regexpComp.test: extra code coverage tests.
-
- * tests/string.test: added 10.18 and 10.19 extra tests.
-
- * generic/regc_locale.c (casecmp): slight performance improvement.
-
-2002-02-05 Don Porter <dgp@users.sourceforge.net>
-
- * library/http/http.tcl:
- * library/http/pkgIndex.tcl: Corrected use of http::error when
- ::error was intended. Bump to http 2.4.2.
-
-2002-02-04 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by
- Dale Talcott <daletalcott@users.sourceforge.net>. Avoid writing
- nothing into a file as STREAM based implementations will consider this
- a EOF (if the file is a pipe). Not done in the generic layer as this
- type of writing is actually useful to check the state of a socket.
-
- * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as
- the command to use to retrieve the pid of a command pipeline created
- via 'open'.
-
-2002-02-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case
- earlier to avoid shimmering problem.
-
-2002-02-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/io.test: io-39.22 split into two tests, one platform
- dependent, the other not. -eofchar is not empty on the windows
- platform.
-
-2002-02-01 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclTest.c: fix to picky windows compiler problem with the
- 'MainLoop' function declaration.
-
-2002-01-31 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on
- behalf of Don Porter <dgp@users.sourceforge.net>.
-
-2002-01-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclInt.h: For each interface identified in the TIP 27
- changes below as a POTENTIAL INCOMPATIBILITY, the source of the
- incompatibility has been parameterized so that it can be removed. When
- compiling extension code against the Tcl header files, use the
- compiler flag -DUSE_NON_CONST to remove the irresolvable source
- incompatibilities introduced by the TIP 27 changes. Resolvable changes
- are left for extension authors to resolve.
- * generic/tclDecls.h: make genstubs
-
-2002-01-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3: added documentation for 3 public functions which
- had been overlooked. [Bug 507701]
- * unix/mkLinks: make mklinks
-
-2002-01-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/regexpComp.test:
- * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support
- -nocase and -- options.
-
-2002-01-28 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC,
- and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC,
- TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh
- is loaded from the build directory. A Tcl extension should make use of
- the non-build versions of these variables since they will work in both
- cases. This modification was described in TIP 34.
-
-2002-01-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey)
- (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
- redid the CONSTification as previous changes caused failing tests.
-
- * tests/regexpComp.test (new):
- * generic/tclInt.h:
- * generic/tclBasic.c: added TclCompileRegexpCmd entry
- * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return
- TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so
- it only throws the error for runtime compile, in case the user
- modifies 'string'.
- (TclCompileRegexpCmd): first try at a byte-compiled regexp command. It
- handles static strings and ^$ bounded static strings.
- (TclCompileAppendCmd): made TclPushVarName call always use
- TCL_CREATE_VAR as numWords is always > 2 at that point.
-
- * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct
- possibly dangerous decr in macro call.
-
- * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up
-
- * win/tclWinReg.c (OpenSubKey): corrected bug introduced in
- CONSTification that dropped pointer reference.
-
- * ChangeLog.2000 (new file):
- * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce
- size of the main ChangeLog.
-
-2002-01-28 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclPlatDecls.h: Added preprocessor logic to force a
- typedef of TCHAR when __STDC__ is defined when using the uncommon
- -Za compiler switch with the microsoft compiler.
-
-2002-01-27 Don Porter <dgp@users.sourceforge.net>
-
- * doc/package.n: Documented global namespace context for script
- evaluation by [package require].
-
-2002-01-27 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * mac/tclMacChan.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacInit.c:
- * mac/tclMacLoad.c:
- * mac/tclMacResource.c:
- * mac/tclMacSock.c: TIP 27 CONSTification induced changes
-
- * tests/event.test:
- * tests/main.test: added catches/constraints to test that
- use features that don't exist on the mac.
-
-2002-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- Make -eofchar and -translation options read only for server sockets.
- [Bug 496733]
-
- * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption):
- Instead of returning nothing for the -translation option on a server
- socket, always return "auto". Return the empty string enclosed in
- quotes for the -eofchar option on a server socket. Fixup -eofchar
- usage message so that it matches the implementation.
- * tests/io.test: Add -eofchar tests and -translation tests to ensure
- options are read only on server sockets.
- * tests/socket.test: Update tests to account for -eofchar and
- -translation option changes.
-
-2002-01-25 Don Porter <dgp@users.sourceforge.net>
-
- * compat/strstr.c (strstr):
- * generic/tclCmdAH.c (Tcl_FormatObjCmd):
- * generic/tclCmdIL.c (InfoNameOfExecutableCmd):
- * generic/tclEnv.c (ReplaceString):
- * generic/tclFileName.c (ExtractWinRoot):
- * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption):
- * generic/tclStringObj.c (AppendUnicodeToUtfRep):
- * generic/tclThreadTest.c (TclCreateThread):
- * generic/tclUtf.c (Tcl_UtfPrev):
- * mac/tclMacFCmd.c (TclpObjListVolumes):
- * mac/tclMacResource.c (TclMacRegisterResourceFork,
- (BuildResourceForkList):
- * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated
- instances of CONST-casting that are no longer needed after the
- TIP 27 effort.
-
- * Following is [Patch 501006]
- * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export,
- (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport,
- (Tcl_Import, Tcl_RemoveInterpResolvers):
- * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport,
- (Tcl_FindNamespace):
- * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers,
- (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and
- generic/tclNamesp.c according to the guidelines of TIP 27.
- * generic/tclIntDecls.h: make genstubs
-
- * Following is [Patch 505630]
- * doc/AddErrorInfo.3:
- * generic/tcl.decls (Tcl_LogCommandInfo):
- * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces
- of generic/tclBasic.cc according to TIP 27.
- * generic/tclDecls.h: make genstubs
-
- * Following is [Patch 506818]
- * doc/Hash.3:
- * generic/tcl.decls (Tcl_HashStats):
- * generic/tclHash.c (Tcl_HashStats): Updated APIs of generic/tclHash.c
- according to guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
- * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers.
-
- * Following is [Patch 506807]
- * doc/ObjectType.3:
- * generic/tcl.decls (Tcl_GetObjType):
- * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c
- according to guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
-
- * Following is [Patch 507304]
- * doc/Encoding.3:
- * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
- * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
- Updated interfaces in win/tclWin32Dll.c according to TIP 27.
- * generic/tclPlatDecls.h: make genstubs
- * generic/tclIOUtil.c (TclpNativeToNormalized):
- * win/tclWinFCmd.c (TclpObjNormalizePath):
- * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory,
- (NativeIsExec,NativeStat):
- * win/tclWinLoad.c (TclpLoadFile):
- * win/tclWinPipe.c (TclpOpenFile,ApplicationType):
- * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey,
- (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
- * win/tclWinSerial.c (SerialSetOptionProc): Update callers.
-
- * Following is [Patch 505072]
- * doc/Concat.3:
- * doc/Encoding.3:
- * doc/Filesystem.3:
- * doc/Macintosh.3:
- * doc/OpenFileChnl.3
- * doc/SetResult.3:
- * doc/SetVar.3:
- * doc/SplitList.3:
- * doc/SplitPath.3:
- * doc/Translate.3:
- * generic/tcl.h (Tcl_FSMatchInDirectoryProc):
- * generic/tclInt.h (TclpMatchInDirectory):
- * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar,
- (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar,
- (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName,
- (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString,
- (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir,
- (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource):
- * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd,
- (TclpCreateProcess):
- * mac/tclMacFile.c (TclpGetCwd):
- * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir,
- (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName,
- (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile,
- (LoadEscapeEncoding):
- * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath,
- (Tcl_TranslateFileName):
- * generic/tclIOUtil.c (Tcl_FSMatchInDirectory):
- * generic/tclPipe.c (FileForRedirect,TclCreatePipeline,
- (Tcl_OpenCommandChannel):
- * generic/tclResult.c (Tcl_GetStringResult):
- * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge):
- * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2):
- * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource):
- Updated interfaces of generic/tclEncoding, generic/tclFilename.c,
- generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c,
- generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according
- to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware
- version.
- ***POTENTIAL INCOMPATIBILITY***
- Includes source incompatibilities: argv arguments of Tcl_Concat,
- Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of
- Tcl_SplitList and Tcl_SplitPath.
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * generic/tclCkalloc.c (MemoryCmd):
- * generic/tclClock.c (FormatClock):
- * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd):
- * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd,
- (InfoTclVersionCmd):
- * generic/tclCompCmds.c (TclCompileForeachCmd):
- * generic/tclCompCmds.h (TclCompileForeachCmd):
- * generic/tclCompile.c (TclFindCompiledLocal):
- * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv,
- (EnvTraceProc):
- * generic/tclEvent.c (Tcl_BackgroundError):
- * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption):
- * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd):
- * generic/tclIOSock.c (TclSockGetPort):
- * generic/tclIOUtil.c (SetFsPathFromAny):
- * generic/tclLink.c (LinkTraceProc):
- * generic/tclMain.c (Tcl_Main):
- * generic/tclNamesp.c (TclTeardownNamespace):
- * generic/tclProc.c (TclCreateProc):
- * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd,
- (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1,
- (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc,
- (TestpanicCmd):
- * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc):
- * generic/tclUtil.c (TclPrecTraceProc):
- * mac/tclMacFCmd.c (GetFileSpecs):
- * mac/tclMacFile.c (TclpMatchInDirectory):
- * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile):
- * mac/tclMacOSA.c (tclOSAStore,tclOSALoad):
- * mac/tclMacResource.c (Tcl_MacEvalResource):
- * unix/tclUnixFCmd.c (TclpObjNormalizePath):
- * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd,
- (TclpReadLink):
- * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables,
- (Tcl_SourceRCFile):
- * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile,
- (TclpCreateProcess):
- * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory):
- * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile,
- (TclpSetVariables):
- * win/tclWinPipe.c (TclpCreateProcess): Updated callers.
-
-2002-01-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution
- of pathnames where > 1 separator follows the ~. [Bug 504950]
-
-2002-01-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/pkgIndex.tcl:
- * library/http/http.tcl: don't add port in default case to handle
- broken servers. http bumped to 2.4.1 [Bug 504508]
-
-2002-01-23 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/mkLinks: Regenerated.
- * doc/CrtChannel.3:
- * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from
- 'CrtChannel' to 'ChnlStack'. Added documentation of
- 'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton
- <msp@users.sourceforge.net>.
-
-2002-01-23 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec,
- (TclpGetUserHome):
- * win/tclWinPort.h (TclWinSerialReopen):
- * win/tclWinSerial.c (TclWinSerialReopen):
- * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier TIP 27
- changes. Thanks to Andreas Kupries for the feedback.
- * generic/tclPlatDecls.h: make genstubs
-
- * doc/GetHostName.3:
- * doc/GetOpnFl.3:
- * doc/OpenTcp.3:
- * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient,
- (Tcl_OpenTclServer):
- * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer,
- (Tcl_GetHostName,GetHostFromString):
- * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress,
- (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile):
- * unix/tclUnixSock.c (Tcl_GetHostName):
- * win/tclWinSock.c (CreateSocket,CreateSocketAddress,
- (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName):
- Updated socket interfaces according to TIP 27.
- * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers.
- * generic/tclDecls.h: make genstubs
-
-2002-01-21 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef
- Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488]
-
-2002-01-21 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by
- Martin Forssen <ruric@users.sourceforge.net>. The encoding chosen in
- the script exposing the bug writes out three intro characters when
- TCL_ENCODING_START is set, but does not consume any input as
- TCL_ENCODING_END is cleared. As some output was generated the
- enclosing loop calls UtfToExternal again, again with START set. Three
- more characters in the out and still no use of input ... To break this
- infinite loop we remove TCL_ENCODING_START from the set of flags after
- the first call (no condition is required, the later calls remove an
- unset flag, which is a no-op). This causes the subsequent calls to
- UtfToExternal to consume and convert the actual input.
-
-2002-01-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTest.c: Converted declarations of TestReport file system
- to more portable form. [Bug 501417]
-
- * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand,
- (Tcl_CommandTraceInfo):
- * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand,
- (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c according
- to the guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
-
-2002-01-18 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath
-
- * win/tclWinDde.c:
- * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj
-
-2002-01-18 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclThreadTest.c:
- * mac/tclMacChan.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacLoad.c:
- * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a
- number of places.
-
-2002-01-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported
- by Brian Griffin <bgriffin@users.sourceforge.net>, using his
- patch. Before the patch the generic I/O layer held an unannounced
- reference to the interp result to store the read line into. This
- unfortunately has disastrous results if the channel driver executes a
- tcl script to perform its operation, this freeing the interp
- result. In that case we are dereferencing essentially a dangling
- reference. It is not truly dangling because the object is in the free
- list, but this only causes us to smash the free list and have the
- error occur later somewhere else. The patch simply creates a new
- object for the line and later sets it into the interp result when we
- are done with reading.
-
-2002-01-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into
- TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension
- does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356]
-
-2002-01-16 Don Porter <dgp@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * doc/GetCwd.3:
- * doc/GetIndex.3:
- * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
- (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath,
- (Tcl_FSGetTranslatedStringPath):
- * generic/tcl.h (Tcl_FSFileAttrStringsProc):
- * generic/tclFCmd.c (TclFileAttrsCmd):
- * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings,
- (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath,
- (Tcl_FSGetNativePath):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObj,
- (Tcl_GetIndexFromObjStruct):
- More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were
- overlooked before. [Patch 504671]
- ***POTENTIAL INCOMPATIBILITY***
- Includes a source incompatibility in the tablePtr arguments of the
- Tcl_GetIndexFromObj* routines.
- * generic/tclDecls.h: make genstubs
-
- * generic/tclBinary.c (Tcl_BinaryObjCmd):
- * generic/tclClock.c (Tcl_ClockObjCmd):
- * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd):
- * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd):
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd,
- (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd,
- (TclTraceCommandObjCmd,TclTraceVariableObjCmd):
- * generic/tclCompCmds.c (TclCompileStringCmd):
- * generic/tclEvent.c (Tcl_UpdateObjCmd):
- * generic/tclFileName.c (Tcl_GlobObjCmd):
- * generic/tclIO.c (Tcl_FileEventObjCmd):
- * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd,
- (Tcl_FcopyObjCmd):
- * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd):
- * generic/tclNamesp.c (Tcl_NamespaceObjCmd):
- * generic/tclPkg.c (Tcl_PackageObjCmd):
- * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd,
- (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd,
- (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings):
- * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd):
- * generic/tclTimer.c (Tcl_AfterObjCmd):
- * generic/tclVar.c (Tcl_ArrayObjCmd):
- * mac/tclMacFCmd.c (SetFileFinderAttributes):
- * unix/tclUnixChan.c (TclpOpenFileChannel):
- * unix/tclUnixFCmd.c (tclpFileAttrStrings):
- * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat,
- (TclpObjLstat):
- * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers.
-
- * doc/RegExp.3:
- * doc/Utf.3:
- * generic/tcl.decls:
- * generic/tclInt.decls:
- * generic/tclRegexp.c:
- * generic/tclUtf.c: Updated APIs in generic/tclUtf.c and
- generic/tclRegexp.c according to the guidelines of TIP 27.
- [Patch 471509]
-
- * generic/regc_locale.c (element,cclass):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath):
- * generic/tclIO.c (ReadChars):
- * mac/tclMacLoad.c (TclpLoadFile):
- * win/tclWinFile.c (TclpGetUserHome): Updated callers.
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * doc/ParseCmd.3 (Tcl_ParseVar):
- * generic/tcl.decls (Tcl_ParseVar):
- * generic/tclParse.c (Tcl_ParseVar):
- * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in
- generic/tclParse.c according to the guidelines of TIP 27. Updated
- callers. [Patch 501046]
- * generic/tclDecls.h: make genstubs
-
- * generic/tcl.decls (Tcl_RecordAndEval):
- * generic/tclDecls.h: make genstubs
- * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in
- generic/tclHistory.c according to the guidelines of TIP 27.
- [Patch 504091]
-
- * doc/CrtSlave.3:
- * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj,
- (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
- * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj,
- (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
- Updated APIs in the file generic/tclInterp.c according to the
- guidelines of TIP 27. [Patch 501371]
- ***POTENTIAL INCOMPATIBILITY***
- Includes a source incompatibility in the targetCmdPtr arguments of the
- Tcl_GetAlias* routines.
-
- * generic/tclDecls.h: make genstubs
-
-2002-01-15 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for
- Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios
- Petasis. [Bug 468183]
-
- * doc/AddErrInfo.3 (Tcl_PosixError):
- * doc/Eval.3 (Tcl_EvalFile):
- * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc):
- * doc/OpenFileChnl.3 (Tcl_OpenFileChannel):
- * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg):
- * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg):
- * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile,
- (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg,
- (Tcl_FSOpenFileChannel):
- * generic/tcl.h (Tcl_FSOpenFileChannelProc):
- * generic/tclIO.c (FlushChannel):
- * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode,
- (Tcl_PosixError,Tcl_FSOpenFileChannel):
- * generic/tclInt.decls (TclGetOpenMode):
- * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode,
- (TclpOpenFileChannel):
- * generic/tclPipe.c (TclCleanupChildren):
- * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId,
- (Tcl_SignalMsg):
- * generic.tclTest.c (PretendTclpOpenFileChannel,
- (TestOpenFileChannelProc1,TestOpenFileChannelProc2,
- (TestOpenFileChannelProc3,TestReportOpenFileChannel):
- * mac/tclMacChan.c (TclpOpenFileChannel):
- * unix/tclUnixChan.c (TclpOpenFileChannel):
- * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in
- generic/tclIOUtil.c and generic/tclPosixStr.c according to the
- guidelines of TIP 27. Updated callers. [Patch 499196]
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * doc/CrtChannel.3:
- * doc/OpenFileChnl.3:
- * generic/tcl.decls:
- * generic/tclIO.h:
- * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel,
- (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write,
- (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption,
- (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName):
- Updated APIs in the file generic/tclIO.c according to the guidelines
- of TIP 27. Several minor documentation corrections as well.
- [Patch 503565]
- * generic/tclDecls.h: make genstubs
-
- * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc,
- (Tcl_DriverSetOptionProc):
- * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc,
- (TransformSetOptionProc):
- * mac/tclMacChan.c (FileOutput, StdIOOutput):
- * man/tclMacSock.c (TcpGetOptionProc, TcpOutput):
- * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc,
- (TtyGetOptionProc, TtySetOptionProc):
- * unix/tclUnixPipe.c (PipeOuputProc):
- * win/tclWinChan.c (FileOutputProc):
- * win/tclWinConsole.c (ConsleOutputProc):
- * win/tclWinPipe.c (PipeOuputProc):
- * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc,
- (SerialSetOptionProc):
- * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel
- driver interface according to the guidelines of TIP 27. See also
- [Bug 500348].
-
- * doc/CrtChannel.3:
- * generic/tcl.h:
- * generic/tclIO.c:
- * generic/tclIO.h:
- * generic/tclInt.h:
- * tools/checkLibraryDoc.tcl:
- Moved Tcl_EolTranslation enum declaration from generic/tcl.h to
- generic/tclInt.h (renamed to TclEolTranslation). It is not used
- anywhere in Tcl's public interface.
-
-2002-01-14 Don Porter <dgp@users.sourceforge.net>
-
- * doc/GetIndex.3:
- * doc/WrongNumArgs.3:
- * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
- (Tcl_WrongNumArgs):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct,
- (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c
- according to the guidelines of TIP 27. [Patch 501491]
- * generic/tclDecls.h: make genstubs
-
-2002-01-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/configure.in:
- * win/configure: Regen.
- * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib
- to properly support the --libdir option to configure. [Bug 489370]
-
-2002-01-11 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug
- 500348] supplied by Rolf Schroedter <schroedter@users.sf.net>. The
- function modified the contents of the the 'value' string and now does
- not do this anymore. This is a followup to the change made on
- 2001-12-17.
-
-2002-01-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Removed -GD compiler option. It was intended for
- future use, but MS is again changing the future at their whim. The
- D4002 warning was harmless though, but someone using VC .NET logged it
- as a concern. [Bug 501565]
-
-2002-01-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Burn Tcl build directory into tcltest executable
- to avoid crashes caused by ld loading a previously installed version
- of the tcl shared library. [Bug 218110]
-
-2002-01-10 Don Porter <dgp@users.sourceforge.net>,
- Kevin Kenny <kennykb@users.sourceforge.net>
-
- * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced parens.
- Kevin notes that it's far from clear that this file is ever included
- in an actual build; Linux without dlopen appears to be a nonexistent
- configuration.
-
-2002-01-08 Don Porter <dgp@users.sourceforge.net>,
- Kevin Kenny <kennykb@users.sourceforge.net>
-
- * doc/StaticPkg.3 (Tcl_StaticPackage):
- * generic/tcl.decls (Tcl_StaticPackage):
- * generic/tclDecls.h (Tcl_StaticPackage):
- * generic/tclInt.decls (TclGuessPackageName):
- * generic/tclInt.h (TclGuessPackageName):
- * generic/tclLoad.c (Tcl_StaticPackage):
- * generic/tclLoadNone.c (TclGuessPackageName):
- * mac/tclMacLoad.c (TclGuessPackageName):
- * unix/tclLoadAout.c (TclGuessPackageName):
- * unix/tclLoadDl.c (TclGuessPackageName):
- * unix/tclLoadDld.c (TclGuessPackageName):
- * unix/tclLoadDyld.c (TclGuessPackageName):
- * unix/tclLoadNext.c (TclGuessPackageName):
- * unix/tclLoadOSF.c (TclGuessPackageName):
- * unix/tclLoadShl.c (TclGuessPackageName):
- * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in the files
- */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096]
-
-2002-01-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTest.c (MainLoop):
- * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable
- tests from the new Tcl_Main changes. Thanks to Kevin Kenny.
-
-2002-01-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEvent.c (TclInExit):
- * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized,
- (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep):
- * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type
- casts to satisfy picky compilers.
-
- * generic/tclMain.c: Bug fix: neglected the NULL case in
- TclGetStartupScriptFileName(). Broke Tk/wish.
-
-2002-01-05 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Tcl_Main.3:
- * generic/tclMain.c: Substantial rewrite and expanded documentation
- of Tcl_Main to correct a number of bugs and flaws:
-
- - Interactive Tcl_Main can now enter a main loop, exit that loop and
- continue interactive operations. The loop may even exit in the
- midst of interactive command typing without loss of the partial
- command. [Bugs 486453, 474131]
- - Tcl_Main now gracefully handles deletion of its master
- interpreter.
- - Interactive Tcl_Main can now operate with non-blocking stdin
- - Interactive Tcl_Main can now detect EOF on stdin even in
- mid-command. [Bug 491341]
- - Added VFS-aware internal routines for managing the startup script
- selection.
- - Tcl variable 'tcl_interactive' is now linked to C variable 'tty'
- so that one can disable/enable interactive prompts at the script
- level when there is no startup script. This is meant for use by
- the test suite.
- - Consistent use of the Tcl libraries standard channels as returned
- by Tcl_GetStdChannel(); as opposed to the channels named 'stdin',
- 'stdout', and 'stderr' in the master interp, which can be
- different or unavailable.
- - Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the
- master interpreter returns, assuring Tcl_Main does not return.
- - Documented Tcl_Main's absence from public stub table
- - Documented that Tcl_Main does not return.
- - Documented Tcl variables set by Tcl_Main.
- - All prompts are done from a single procedure, Prompt.
- - Use of Tcl_Obj-enabled interfaces everywhere.
-
- * generic/tclInt.decls (TclGetStartupScriptPath,
- (TclSetStartupScriptPath): New internal VFS-aware routines for
- managing the startup script of Tcl_Main.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c: make genstubs
-
- * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd,
- (Tcltest_Init,TestinterpdeleteCmd):
- * tests/main.test (new): Added new file to test suite that thoroughly
- tests generic/tclMain.c; added some new test commands for testing
- Tcl_SetMainLoop().
-
-2002-01-04 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Alloc.3:
- * doc/Concat.3:
- * doc/CrtMathFnc.3:
- * doc/Hash.3:
- * doc/Interp.3:
- * doc/LinkVar.3:
- * doc/ObjectType.3:
- * doc/PkgRequire.3:
- * doc/Preserve.3:
- * doc/SetResult.3:
- * doc/SplitList.3:
- * doc/SplitPath.3:
- * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
- ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and
- to accurately describe when and how they are used. [Bug 497459]
-
- * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread):
- Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that
- memory debugging is supported.
-
-2002-01-04 Daniel Steffen <das@users.sourceforge.net>
-
- * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName bug
-
-2002-01-03 Don Porter <dgp@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * generic/tclIOUtil.c: Updated some old uses of "fileName" to
- new VFS terminology, "pathPtr".
-
-2002-01-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/basic.test (basic-39.4): Greatly simplified test while
- still leaving it so that it crashes when run without the fix to
- the [foreach] implementation.
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from
- happening by not trying to be so clever with cacheing; if nothing
- untoward is happening anyway, the less efficient technique will
- only add a few instruction cycles (one function call and a few
- derefs/assigns per list per iteration, with no change in the
- number of tests) and if something odd *is* going on, the code is
- now far more robust.
-
- * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348]
-
-2002-01-02 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the
- test is performed with the right internal function since [string
- match] no longer uses Tcl_StringCaseMatch internally.
-
- * tests/string.test (string-11.51):
- * generic/tclUtf.c (Tcl_UniCharCaseMatch):
- * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching
- case-insensitive non-ASCII patterns containing upper case characters.
- [Bug 233257]
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2003 b/tcl8.6/ChangeLog.2003
deleted file mode 100644
index c586ba9..0000000
--- a/tcl8.6/ChangeLog.2003
+++ /dev/null
@@ -1,3349 +0,0 @@
-2003-12-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH blocks in place of
- __try and __except statements to support gcc builds. This is needed
- after David's changes on 2003-12-21. [Patch 858493]
-
-2003-12-23 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclAlloc.c: All uses of 'panic' (the macro) changed to
- * generic/tclBasic.c: 'Tcl_Panic' (the function). The #define of
- * generic/tclBinary.c: panic in tcl.h clearly states it is deprecated
- * generic/tclCkalloc.c: in the comments. [Patch 865264]
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclConfig.c:
- * generic/tclDictObj.c:
- * generic/tclEncoding.c:
- * generic/tclEvent.c:
- * generic/tclExecute.c:
- * generic/tclHash.c:
- * generic/tclInterp.c:
- * generic/tclIO.c:
- * generic/tclIOCmd.c:
- * generic/tclIOUtil.c:
- * generic/tclListObj.c:
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclParse.c:
- * generic/tclPathObj.c:
- * generic/tclPkg.c:
- * generic/tclPreserve.c:
- * generic/tclProc.c:
- * generic/tclStringObj.c:
- * generic/tclTest.c:
- * generic/tclThreadAlloc.c:
- * generic/tclTimer.c:
- * generic/tclTrace.c:
- * generic/tclVar.c:
- * mac/tclMacChan.c:
- * mac/tclMacOSA.c:
- * mac/tclMacResource.c:
- * mac/tclMacSock.c
- * mac/tclMacThrd.c:
- * unix/tclUnixChan.c:
- * unix/tclUnixNotfy.c:
- * unix/tclUnixThrd.c:
- * unix/tclXtNotify.c:
- * win/tclWin32Dll.c:
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/tclWinNotify.c:
- * win/tclWinPipe.c:
- * win/tclWinSock.c:
- * win/tclWinThrd.c:
-
- * generic/tclInt.h: Deprecated use of Tcl_Ckalloc changed to
- Tcl_Alloc in the TclAllocObjStorage macro.
-
-2003-12-22 David Gravereaux <davygrvy@pobox.com>
-
- * win/nmakehlp.c:
- * win/rules.vc: New feature for extensions that use rules.vc. Now
- reads header files for version strings. No more hard coding
- TCL_VERSION = 8.5 and having to edit it when you swap cores.
-
- * win/makefile.vc: VERSION macro now set by reading tcl.h for it.
-
- * generic/tcl.h: Removed note that makefile.vc needs to have a version
- number changed.
-
-2003-12-21 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWin32Dll.c: Structured Exception Handling added around
- Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be
- 100% assured that Tcl is being unloaded by the OS in a stable
- condition and we need to protect the exit handlers should the stack be
- in a hosed state. AT&T style assembly for SEH under MinGW has not been
- added yet. This is a first part change for [Patch 858493]
-
-2003-12-17 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when
- numeric scan-value cache contains NULL value.
-
-2003-12-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdAH.c:
- * unix/tclUnixFile.c:
- * win/tclWinFCmd.c:
- * tests/fCmd.test:
- * tests/fileSystem.test:
- * doc/file.n: final fix to support for relative links and its
- implications on normalization and other parts of the filesystem code.
- Fixes [Bug 859251] and some Windows problems with recursive file
- delete/copy and symbolic links.
-
-2003-12-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c:
- * tests/fileSystem.test: fix and tests for [Bug 860402] in new file
- normalization code.
-
-2003-12-17 Zoran Vasiljevic <zv@archiware.com>
-
- * generic/tclIOUtil.c: fixed 2 memory (object) leaks. [Bug 839519]
-
- * generic/tclPathObj.c: fixed Tcl_FSGetTranslatedPath to always return
- properly refcounted path object. [Bug 861515]
-
-2003-12-16 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fCmd.test: marking fCmd-9.14.2, as nonPortable, since on
- Solaris one can change the name of the current directory with 'file
- rename'.
- * doc/FileSystem.3: clarified documentation on ownership of return
- objects/strings of some Tcl_FS* calls.
-
-2003-12-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclThreadAlloc.c (binfo): Made variable file-local.
-
-2003-12-15 David Gravereaux <davygrvy@pobox.com>
-
- * win/tcl.rc:
- * win/tclsh.rc: Slight modification to the STRINGIFY macro to support
- Borland's rc tool.
-
- * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problem with
- Borland.
-
- * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has a slight
- behavioral difference.
-
- From Helmut Giese <hgiese@ratiosoft.com> [Patch 758097].
-
-2003-12-14 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclInt.decls: commented-out entry for TclpCheckStackSpace,
- removing it from the Stubs table. It's already declared in tclInt.h
- and labeled as a function that is not to be exported. Regened tables.
-
-2003-12-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): TIP#75 Implementation
- * tests/switch.test: Can now get submatch information when using
- * doc/switch.n: -regexp matching in [switch].
-
-2003-12-14 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: complete rewrite of generic file normalization
- code to cope with links followed by '..'. [Bug 849514], and parts of
- [Bug 859251]
-
-2003-12-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinChan.c: Win32's SetFilePointer() takes LONGs not DWORDs (a
- signed/unsigned mismatch). Redid local vars to avoid all casting
- except where truly required.
-
-2003-12-12 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdAH.c: fix to normalization of non-existent user name
- ('file normalize ~nobody') [Bug 858937]
- * doc/file.n: clarify behaviour of 'file link' when the target is not
- an absolute path.
- * doc/filename.n: correct documentation to say that Windows Tcl does
- handle '~user', for recent Windows releases, and clarified distinction
- between MacOS 'classic' and MacOS X.
- * doc/glob.n: clarification of glob's behaviour when returning
- filenames starting with a '~'.
-
- * tests/fileSystem.test:
- * tests/fileName.test: new tests added for the normalization problem
- above and other recentlt reported issues.
-
- * win/tclWinFile.c: corrected unclear comments
-
- * unix/tclUnixFile.c: allow creation of relative links. [Bug 833713]
-
-2003-12-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinSock.c (SocketThreadExitHandler) : added a TerminateThread
- fallback just in case the socket handler thread is really in a paused
- state. This can happen when Tcl is being unloaded by the OS from an
- exception handler. See MSDN docs on DllMain, it states this behavior.
-
-2003-12-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: updated OpenBSD build configuration based on
- [Patch #775246] (cassoff)
-
-2003-12-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixPort.h: #ifdef'd out declarations of errno which are
- * tools/man2tcl.c: known to cause problems with recent glibc.
- [Bug 852369]
-
-2003-12-09 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFile.c: fix to NT file permissions code [Bug 855923]
- * tests/winFile.test: added tests for NT file permissions - patch and
- test scripts supplied by Benny.
-
- * tests/winFCmd.test: fixed one test for when not running in C:/
-
-2003-12-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made the
- numeric scan-value cache have proper references to the objects within
- it so strange patterns of writes won't cause references to freed
- objects. Thanks to Paul Obermeir for the report. [Bug 851747]
-
-2003-12-01 Miguel Sofer <msofer@users.sf.net>
-
- * doc/lset.n: fix typo [Bug 852224]
-
-2003-11-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c: Corrected faulty check for trailing white
- space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262]
- * tests/parse.test: New tests for the bug.
-
-2003-11-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix to [Bug 845778] - Infinite recursion on
- [cd] (Windows only bug), for which new tests have just been added.
-
-2003-11-21 Don Porter <dgp@users.sourceforge.net>
-
- * tests/winFCmd.test (winFCmd-16.10,11): Merged new tests from
- core-8-4-branch.
-
-2003-11-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR
- and TCL_PARSE_PART1 (deprecated) [Bug 835020]
-
-2003-11-19 Don Porter <dgp@users.sourceforge.net>
-
- * tests/compile.test (compile-16.22.0): Improved test for the recent
- fix for Bug 845412.
-
-2003-11-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Added a guard for the
- expansion code so that long non-expanding commands don't get expansion
- infrastructure inserted in them, especially when that infrastructure
- isn't initialised. [Bug 845412]
-
-2003-11-18 David Gravereaux <davygrvy@pobox.com>
-
- * contrib/djgpp/Makefile: Changes from Victor Wagner
- * contrib/djgpp/langinfo.c (new): <vitus@45.free.net> for better
- * contrib/djgpp/langinfo.h (new): DJGPP support.
- * unix/tclUnixInit.c: .
- * unix/tclUnixChan.c: .
- * unix/tclUnixFCmd.c: .
-
-2003-11-17 Don Porter <dgp@users.sourceforge.net>
-
- * tests/reg.test: Added tests for [Bugs 230589, 504785, 505048, 840258]
- recently fixed by 2003-11-15 commit to regcomp.c by Pavel Goran. His
- notes on the fix: This bug results from an error in code that splits
- states into "progress" and "no-progress" ones. This error causes an
- interesting situation with the pre-collected single-linked list of
- states to be splitted: many items were added to the list, but only
- several of them are accessible from the list beginning, since the
- "tmp" member of struct state (which is used here to hold a pointer to
- the next list item) gets overwritten, which results in a "looped"
- chain. As a result, not all of states are splitted, and one state is
- splitted two times, causing incorrect "no-progress" flag values.
-
-2003-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Make sure that
- Tcl_AsyncInvoke is called regularly when processing bytecodes.
- * generic/tclTest.c (AsyncThreadProc, TestasyncCmd): Extended testing
- harness to send an asynchronous marking without relying on UNIX
- signals.
- * tests/async.test (async-4.*): Tests to check that async events are
- handled by the bytecode core. [Bug 746722]
-
-2003-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclTest.c (TestHashSystemHashCmd): Removed 'const' modifier
- from hash type structure; it should be const and the hash code assumes
- it behaves like const, but that's not how the API is defined. Like
- this, we are following in the same footsteps as Tcl_RegisterObjType()
- which has the same conditions on its argument. Stops VC++5.2 warning.
- [Bug 842511]
-
-2003-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclHash.c (Tcl_DeleteHashTable,Tcl_HashStats,RebuildTable):
- * generic/tclTest.c (TestHashSystemHashCmd): TIP#138 implementation,
- * tests/misc.test: plus a new chunk of stuff to test the hash
- functions more thoroughly in the test suite.
- [Patch 731356, modified]
-
- * doc/Tcl.n: Updated Tcl version number and changebars.
-
-2003-11-14 Don Porter <dgp@users.sourceforge.net>
-
- * doc/ParseCmd.3: Implementation of TIP 157. Adds recognition
- * doc/Tcl.n: of the new leading {expand} syntax on words.
- * generic/tcl.h: Parses such words as the new Tcl_Token type
- * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx and
- * generic/tclCompile.c: the bytecode compiler/execution engine to
- * generic/tclCompile.h: recognize the new token type. New opcodes
- * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new
- * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs
- * generic/tclTest.c: and tests are included.
- * tests/basic.test:
- * tests/compile.test:
- * tests/parse.test:
-
- * library/auto.tcl: Replaced several [eval]s used to perform
- * library/package.tcl: argument expansion with the new syntax. In the
- * library/safe.tcl: test files lindex.test and lset.test, replaced
- * tests/cmdInfo.test: use of [eval] to force direct string
- * tests/encoding.test: evaluation with use of [testevalex] which more
- * tests/execute.test: directly and robustly serves the same purpose.
- * tests/fCmd.test:
- * tests/http.test:
- * tests/init.test:
- * tests/interp.test:
- * tests/io.test:
- * tests/ioUtil.test:
- * tests/iogt.test:
- * tests/lindex.test:
- * tests/lset.test:
- * tests/namespace-old.test:
- * tests/namespace.test:
- * tests/pkg.test:
- * tests/pkgMkIndex.test:
- * tests/proc.test:
- * tests/reg.test:
- * tests/trace.test:
- * tests/upvar.test:
- * tests/winConsole.test:
- * tests/winFCmd.test:
-
-2003-11-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more systems
- are using permissions caching, and this isn't really a Tcl controlled
- issue.
-
-2003-11-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure:
- * unix/tcl.m4: improve AIX --enable-64bit handling
- remove -D__NO_STRING_INLINES -D__NO_MATH_INLINES from CFLAGS_OPTIMIZE
- on Linux. Make default opt -O2 (was -O).
-
-2003-11-11 David Gravereaux <davygrvy@pobox.com>
-
- * contrib/djgpp/Makefile: Suggested changes from vitus@45.free.net
- (Victor Wagner)
-
- * unix/tclUnixPort.h: added socklen_t typedef for DJGPP
-
-2003-11-10 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixInit.c (TclpInitLibraryPath):
- * win/tclWinInit.c (TclpInitLibraryPath): Fix for [Bug 832657]
- that should not run afoul of startup constraints.
-
- * library/dde/pkgIndex.tcl: Added safeguards so that registry and
- * library/reg/pkgIndex.tcl: dde packages are not offered on
- * win/tclWinDde.c: non-Windows platforms. Bumped to
- * win/tclWinReg.c: registry 1.1.3 and dde 1.3.
- * win/Makefile.in:
- * win/configure.in:
- * win/makefile.bc:
- * win/makefile.vc:
-
- * win/configure: autoconf (2.57)
-
-2003-11-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/cmdIL.test: Stopped cmdIL-5.5 from stomping over the test
- command, and updated the tests to use some tcltest2 features in
- relation to cleanup. [Bug 838384]
-
-2003-11-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdAH.c:
- * tests/fCmd.test: fix to misleading error message in 'file link'.
- [Bug 836208]
-
-2003-11-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to compiler warning/error with some
- compilers. [Bug 835918]
-
-2003-11-07 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: optimized builds define NDEBUG to turn off
- ThreadAlloc range checking.
-
-2003-11-05 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-2.10): New test to expose [Bug 832657]
- failure of TclpInitLibraryPath() to properly handle .. in the path
- of the executable.
-
-2003-11-04 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: added 'test' target.
-
-2003-11-03 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c
- * generic/tclInt.h: added comments and re-arranged code to clarify
- distinction between Tcl_LoadHandle, ClientData for 'load'ed code, and
- point out limitations of the design introduced with Tcl 8.4.
-
- * unix/tclUnixFile.c: fix to memory leak
-
- * generic/tclCmdIL.c: removed warning on Windows.
-
-2003-11-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Check for sensible list
- lengths and allow for soft failure of the memory subsystem in the
- [lconcat] command [Bug 829027]. Uses direct list creation to avoid
- extra copies when working near the limit of available memory. Also
- reorganized to encourage optimizing compilers to optimize heavily.
- * generic/tclListObj.c (TclNewListObjDirect): New list constructor
- that does not copy the array of objects. Useful for creating
- potentially very large lists or where you are about to throw away the
- array argument which is being used in its entirety.
-
-2003-10-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (NEXT_INST macros): replaced macro variable
- "result" by "resultHandling" to avoid confusion.
-
-2003-10-23 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606]
- fixing [Bug 813087]. Detection of sockets was off for Mac OS X which
- implements pipes as local sockets. The new code ensures that only IP
- sockets are detected as such.
-
- * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked
- for writable events by the generic layer.
- (SocketEventProc): Generate a writable event too when a close is
- detected.
-
- Together the changes fix [Bug 599468].
-
-2003-10-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/resource.test:
- * mac/tclMacResource.c: fix to resource freeing problem in 'resource'
- command reported by Bernard Desgraupes.
-
- * doc/FileSystem.3: updated documentation for 'glob' fix on 2003-10-13
- below
-
-2003-10-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FileObjCmd): Changed FILE_ prefix to FCMD_
- to stop symbol/#def clashes on Cygwin/Mingw32 on NT. [Bug 822528]
-
-2003-10-21 Daniel Steffen <das@users.sourceforge.net>
-
- * tools/tcltk-man2html.tcl: fixed incorrect html generated for
- .IP/.TP lists, now use <DL><DT>...<DD>...<P><DT>...<DD>...</DL>
- instead of illegal <DL><P><DT>...<DD>...<P><DT>...<DD>...</DL>.
- Added skipping of directives directly after .TP to avoid them being
- used as item descriptions, e.g. .TP\n.VS in clock.n.
-
-2003-10-21 Andreas Kupries <andreask@pliers.activestate.com>
-
- * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with
- [Bug 805605] to the code, fixing the incorrect use of ispace noted by
- Ronald Dauster <ronaldd@users.sourceforge.net>.
-
-2003-10-20 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * doc/msgcat.n:
- * library/msgcat/msgcat.tcl (mclocale,mcload):
- * tools/tcl.wse.in:
- * unix/Makefile.in: Implementation of TIP#156, add a "root locale"
- * win/makefile.bc: to the 'msgcat' package. Advanced msgcat
- * win/Makefile.in: version number to 1.4
- * win/Makefile.vc:
-
-2003-10-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdIL.c (SortInfo,etc): Reorganized so that SortInfo
- carries an array of integer indices instead of a Tcl list. This nips
- shimmering problems in the bud and simplifies SelectObjFromSublist at
- the cost of making setup slightly more complex. [Bug 823768]
-
-2003-10-14 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has
- already been destroyed.
-
-2003-10-14 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclCmdMZ.c:
- * tests/regexp.test: fix to [Bug 823524] in regsub; added three new
- tests.
-
-2003-10-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclAppendObjToErrorInfo): New internal routine
- that appends a Tcl_Obj to the errorInfo, saving the caller the trouble
- of extracting the string rep.
-
- * generic/tclStringObj.c (TclAppendLimitedToObj): New internal
- routine that supports truncated appends with optional ellipsis marking.
- This single routine supports UTF-8-safe truncated appends needed in
- several places throughout the Tcl source code, mostly for error and
- stack messages. Clean fix for [Bug 760872].
-
- * generic/tclInt.h: Declarations for new internal routines.
-
- * generic/tclCmdMZ.c: Updated callers to use the new routines.
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclExecute.c:
- * generic/tclIOUtil.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclParseExpr.c:
- * generic/tclProc.c:
- * generic/tclStringObj.c:
- * mac/tclMacResource.c:
-
- * library/init.tcl: Updated ::errorInfo cleanup in [unknown] to
- reflect slight modifications to Tcl_LogCommandInfo(). Corrects failing
- init-4.* tests.
-
-2003-10-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- TIP#127 IMPLEMENTATION FROM JOE MICHAEL SCHLENKER
-
- * generic/tclCmdIL.c (SelectObjFromSublist): Element selection engine.
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd):
- * tests/lsearch.test: Set up and use of element selection engine,
- * tests/cmdIL.test: plus tests and documentation.
- * doc/lsearch.n: Based on [Patch 693836]
- * doc/lsort.n:
-
-2003-10-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tcl.h:
- * generic/tclFileName.c:
- * generic/tclIOUtil.c:
- * generic/tclPathObj.c:
- * generic/tclTest.c:
- * mac/tclMacFile.c:
- * tests/fileName.test: better tests for [Bug 813273]
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclFileInt.h:
-
- Fixed [Bug 800106] in which 'glob' was incapable of merging the
- results of a directory listing (real or virtual) and any virtual
- filesystem mountpoints in that directory (the latter were ignored).
- This meant boundaries between different filesystems were not seamless
- (e.g. 'glob */*' across a filesystem boundary was wrong). Added new
- entry to Tcl_GlobTypeData in a totally backwards compatible way. To
- allow listing of mounts, registered filesystems must support the
- 'TCL_GLOB_TYPE_MOUNT' flag. If this is not supported (e.g. in tclvfs
- 1.2) then mounts will simply not be listed for that filesystem.
-
- Fixed [Bug 749876] 'file writable/readable/etc' (NativeAccess) using
- correct permission checking code for Windows NT/2000/XP where more
- complex user-based security/access priveleges are available,
- particularly on shared volumes. The performance impact of this extra
- checking will need further investigation. Note: Win 95,98,ME have no
- support for this.
-
- Also made better use of normalized rather than translated paths in the
- platform specific code.
-
-2003-10-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixTest.c (TestalarmCmd): don't bother checking return
- value of alarm. [Bug #664755] (english)
-
-2003-10-09 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Applied patches for bug #801467 by Joe Mistachkin
- * win/tclAppInit.c: to fix incompatible TCL_MEM_DEBUG handling in
- * generic/tclObj.c: Win32 VC builds.
-
-2003-10-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Save and restore the iPtr->flag bits that
- control the state of errorCode and errorInfo management when calling
- "leave" execution traces, so that all error information of the traced
- command is still available whether traced or not. [Bug 760947]
- Thanks to Yahalom Emet.
-
-2003-10-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer
- access to Tcl_NumUtfChars for testing.
- * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length
- determining when the length parameter is negative; the terminator is a
- zero byte, not (necessarily) a \u0000 character. [Bug 769812]
-
-2003-10-07 Don Porter <dgp@users.sourceforge.net>
-
- * tests/cmdAH.test:
- * tests/exec.test: Corrected temporary file management
- * tests/fileSystem.test: issues uncovered by -debug 1 test
- * tests/io.test: operations. Also backported some
- * tests/ioCmd.test: other fixes from the HEAD.
- * tests/main.test:
- * tests/pid.test: [Bugs 675605, 675655, 675659]
- * tests/socket.test:
- * tests/source.test:
-
- * tests/fCmd.test: Run tests with the [temporaryDirectory] as the
- current directory, so that tests can depend on ability to write files.
- [Bug 575837]
-
- * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation to
- reflect that they now return Tcl_WideInt (TIP 72). [Bug 787537]
-
- * tests/io.test: Corrected several tests that failed when paths
- * tests/ioCmd.test: included regexp-special chars. [Bug 775394]
-
-2003-10-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure:
- * win/tcl.m4: removed incorrect checks for existence of optimization.
- TCL_CFG_OPTIMIZED is now defined whenever the user does not build with
- --enable-symbols.
-
-2003-10-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/regexp.test: Matched [makeFile] with [removeFile].
- * tests/regexpComp.test: [Bug 675652]
-
- * tests/fCmd.test (fCmd-8.2): Test only that tilde-substitution
- happens, not for any particular result. [Bug 685991]
-
- * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so that
- alpha and beta releases of Tcl are not favored. [Bug 608698]
-
- * tests/reg.test: Corrected duplicate test names.
- * tests/resource.test: [Bugs 710370, 710358]
- * tests/dict.test:
-
- * tests/dict.test: Updated [package require tcltest] lines to
- * tests/fileSystem.test: indiciate that these test files
- * tests/lrepeat.test: use features of tcltest 2. [Bug 706114]
- * tests/notify.test:
- * tests/parseExpr.test:
- * tests/unixNotfy.test:
- * tests/winDde.test:
-
-2003-10-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC):
- * tests/execute.test (execute-8.2): fix for [Bug 816641] - faulty
- execution and catch stack management.
-
-2003-10-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Fixed error in ref count management of command
- * generic/tclCmdMZ.c: and execution traces that caused access to
- freed memory in trace-32.1. [Bug 811483]
-
-2003-10-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Corrected comingling of introspection results of
- [trace info command] and [trace info execution]. [Bug 807243]
- Thanks to Mark Saye.
-
-2003-10-01 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: fixed redo prebinding bug when DESTDIR="".
- * mac/tclMacResource.c: fixed possible NULL dereference (bdesgraupes).
-
-2003-09-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c:
- * tests/fileName.test: fix to inconsistent handling of backslash
- path separators on Windows in 'file join' [Bug 813273]
-
-2003-09-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclPathObj.c (TclNativePathInFilesystem,TclFSGetPathType):
- * generic/tclIOUtil.c (TclNativeDupInternalRep,TclGetPathType): Rename
- to make sure function names won't interfere with other non-Tcl code
- (reported by George Staplin)
-
- TIP#121 IMPLEMENTATION FROM JOE MISTACHKIN
-
- * generic/tclEvent.c (Tcl_SetExitProc,Tcl_Exit): Implementation of
- application exit handler scheme.
- * generic/tcl.decls (Tcl_SetExitProc): Public declaration.
- * doc/Exit.3: Documentation of new API function.
-
- TIP#112 IMPLEMENTATION
-
- * generic/tclNamesp.c: Core of implementation.
- * generic/tclInt.h (Namespace,TclInvalidateNsCmdLookup): Add command
- list epoch counter and list of ensembles to namespace structure, and
- define a macro to ease update of the epoch counter.
- * generic/tclBasic.c (Tcl_CreateObjCommand,etc.): Update epoch counter
- when list of commands in a namespace changes.
- * generic/tclObj.c (TclInitObjSubsystem): Register ensemble subcommand
- type.
- * tests/namespace.test (42.1-47.6): Tests.
- * doc/namespace.n: Documentation.
-
- * library/http/http.tcl (geturl): Correctly check the type of
- boolean-valued options. [Bug 811170]
-
- * unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer
- that this is an OSX feature, not a general Unix feature. [Bug 619440]
-
-2003-09-28 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c: The windows port of expect can call
- TclWinAddProcess before any of the other pipe functions. Added a
- missing PipeInit() call to make sure the initialization happens.
-
-2003-09-25 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on
- command line. Replaced explict use of /usr/bin by ${BINDIR}.
-
-2003-09-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * library/package.tcl (tcl::MacPkgUnknown, tcl::MacOSXPkgUnknown):
- Minor performance tweaks to reduce the number of [file] invocations.
- Meant to improve startup times, at least a little bit. (The generic
- equivalent patch was applied on 2003-02-21).
-
-2003-09-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * trace.test: removed 'knownBug' from a test which doesn't illustrate
- a bug, just a bad test.
-
-2003-09-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c:
- * generic/tclInt.h: changed the evaluation-stack addressing mode, from
- array-style to pointer-style; the catch stack and evaluation stack are
- now contiguous in memory. [Patch 457449]
-
-2003-09-23 Don Porter <dgp@users.sourceforge.net>
-
- * tests/trace.test (trace-31,32-*): Added tests for [Bug 807243] and
- [Bug 811483].
-
- * library/init.tcl (auto_load, auto_import): Expanded Eric Melski's
- 2000-01-28 fix for [Bug 218871] to all potentially troubled uses of
- [info commands] on input data, where glob-special characters could
- cause problems.
-
-2003-09-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/expr.test (expr-23.4): Prevented accidental wrapping round of
- exponential operation; it isn't portable, and not what I intended to
- test either. [Bug 808244]
-
-2003-09-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect
- all calls that may cause traces on ::errorInfo or ::errorCode to
- corrupt the stack. [Bug 804681]
-
-2003-09-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tclPathObj.c: fix to test-suite problem introduced by the bug fix
- below. No problem in ordinary code, just test suite code which
- manually adjusts tclPlatform. [Bug 808247]
-
-2003-09-16 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/filename.n: documentation of Windows-specific feature as
- discussed in [Bug 541989]
- * generic/tclPathObj.c: fix for normalization of volume-relative paths
- [Bug 767834]
- * tests/winFCmd.test: new tests for both of the above.
- * tests/cmdAH.test: fix for AFS problem in test suite [Bug 748960]
-
-2003-09-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- TIP#123 IMPLEMENTATION BASED ON WORK BY ARJEN MARKUS
-
- * generic/tclCompile.h (INST_EXPON): Implementation of
- * generic/tclCompile.c (tclInstructionTable): exponential operator.
- * generic/tclCompExpr.c (operatorTable):
- * generic/tclParseExpr.c (ParseExponentialExpr, GetLexeme):
- * generic/tclExecute.c (TclExecuteByteCode, ExponWide, ExponLong):
- (IllegalExprOperandType):
- * tests/expr.test:
- * tests/compExpr-old.test:
- * doc/expr.n:
-
-2003-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * library/opt/optparse.tcl: Latest revisions caused [OptGuessType]
- to guess "int" instead of "string" for empty strings. Missed the
- required "-strict" option to [string is]. Thanks to Revar Desmera.
- [Bug 803968]
-
-2003-09-08 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinLoad.c (TclpDlopen): Changed the error message for
- ERROR_PROC_NOT_FOUND to be a bit more helpful in giving us clues.
- "can't find specified procedure" means a function in the import table,
- for implicit loading, couldn't be resolved and that's why the load
- failed.
-
-2003-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Tcl_Main.3:
- * doc/FileSystem.3: Implementation of
- * doc/source.n: TIPs 137/151. Adds a
- * doc/tclsh.1: -encoding option to
- * generic/tcl.decls: the [source] command
- * generic/tclCmdMZ.c (Tcl_SourceObjCmd): and a new C routine,
- * generic/tclIOUtil.c (Tcl_FSEvalFileEx): Tcl_FSEvalFileEx(),
- * generic/tclMain.c (Tcl_Main): that provides C access
- * mac/tclMacResource.c (Tcl_MacSourceObjCmd): to the same function.
- * tests/cmdMZ.test: Also adds command line
- * tests/main.test: option handling in Tcl_Main() so that tclsh
- * tests/source.test: and other apps built on Tcl_Main() respect a
- -encoding command line option before a script filename. Docs and tests
- updated as well. [Patch 742683]
- This is a ***POTENTIAL INCOMPATIBILITY*** only for those C programs
- that embed Tcl, build on Tcl_Main(), and make use of Tcl_Main's former
- ability to pass a leading "-encoding" option to interactive shell
- operations.
-
- * generic/tclInt.decls: Added internal stub
- * generic/tclMain.c (Tcl*StartupScript*): table entries for two
- new functions Tcl_SetStartupScript() and Tcl_GetStartupScript() that
- set/get the path and encoding for the startup script to be evaluated
- by either Tcl_Main() or Tk_Main(). Given public names in anticipation
- of their exposure by a followup TIP.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2003-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SplitList.3: Implementation of TIP 148. Fixes [Bug 489537].
- * generic/tcl.h: Updated Tcl_ConvertCountedElement() to quote
- * generic/tclUtil.c: the leading "#" character of all list elements
- unless the TCL_DONT_QUOTE_HASH flag is passed in.
-
- * generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers
- * generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags
- * generic/tclResult.c: when appropriate.
-
-2003-08-31 Don Porter <dgp@users.sourceforge.net>
-
- * doc/return.n: Updated [return] docs to cover new TIP 90 features.
-
- * doc/break.n: Added SEE ALSO references to return.n
- * doc/continue.n:
-
-2003-09-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/Namespace.3: Basic documentation for the TIP#139 functions. This
- will need improving, but the basic bits are there at least.
-
-2003-08-31 Don Porter <dgp@users.sourceforge.net>
-
- * doc/catch.n: Updated [catch] docs to cover new TIP 90 features.
-
-2003-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c: Corrected bug in TIP 90 implementation where
- * tests/cmdMZ.test: the default -errorcode NONE value was not
- copied into the return options dictionary. This correction modified
- one test result.
-
-2003-08-27 David Gravereaux <davygrvy@pobox.com>
-
- * compat/strftime.c (_fmt): Removed syst array intializer that
- couldn't take variables within it under the watcom compiler:
- 'Initializers must be constant'. I believe Borland has this strictness
- as well. VC++ must be non-standard about this.
-
- Changed Win32 platform #ifdef from 'WIN32' to '__WIN32__' as this is
- the correct one to use across the Tcl sources. Even though we do force
- it in tcl.h, the true parent one is __WIN32__.
-
- Added missing CONST'ification usage to match prototype listed in
- tclInt.decls.
-
- * win/tclWinPort.h: Added a block for OpenWatcom adjustments that
- fixes 1) the same issue Mo did for MinGW lack of missing LPFN_*
- typedefs in their WINE derived <winsock2.h> and 2) The need to be
- strict about how the char type needs to be signed by default.
-
- * win/tclWinSock.c: Added OpenWatcom to the commentary about the
- #ifdef HAVE_NO_LPFN_DECLS block.
-
- * win/tclWinTime.c: Changed use of '_timezone' to 'timezone' as this
- difference is already adjusted for in tclWinPort.h. Removed
- unreferenced posixEpoch file-scope global.
-
- * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializers must
- be constant' with the driveSpec array using OpenWatcom.
-
-2003-08-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: Corrected [Bug 411825] and other bugs in
- TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped
- spaces were handled incorrectly.
- * tests/util.test: Added new tests util-8.[2-6].
-
-2003-08-26 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tcl.h: Added some support for the LCC-Win32 compiler.
- Unfortunetly, this compiler has a bug in its preprocessor and can't
- build Tcl even with this minor patch. Also added some support for the
- OpenWatcom compiler. A new win/makefile.wc to follow soon.
-
-2003-08-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tools/genStubs.tcl (genStubs::makeDecl): A more subtle way of
- generating stubbed declarations allows us to have declarations of a
- function in multiple interfaces simultaneously.
-
- * generic/tcl.decls: Duplicated some namespace declarations from
- tclInt.decls here, as mandated by TIP #139. This is OK since the
- declarations match and will end up using the declarations in the
- public code from now on because of #include ordering. Keeping the old
- declarations in tclInt.decls; there's no need to gratuitously break
- compatability for those extensions which are already clients of the
- namespace code.
-
-2003-08-23 Zoran Vasiljevic <zoran@archiwrae.com>
-
- * generic/tclIOUtil.c: merged fixes for thread-unsafe handling of
- filesystem records [Bug 753315]. This also fixed the [Bug 788780]
- * generic/tclPathObj.c: merged fixes for thread-unsafe handling of
- filesystem records. [Bug 753315]
-
- * generic/tclFileSystem.h: merged fixes for thread-unsafe handling of
- filesystem records. [Bug 753315]
-
-2003-08-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinSerial.c (SerialErrorStr): Fixed a syntax error created in
- the previous code cleanup.
-
-2003-08-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinSerial.c: Adjusted commenting and spacing usage to follow
- the principles of the Style Guide better.
-
-2003-08-18 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_ENABLE_SYMBOLS): Use test instead of -eq, which does
- not work. [Bug 781109]
-
-2003-08-13 Chengye Mao <chengye.geo@yahoo.com>
-
- * win/tclWinPipe.c: fixed a bug in BuildCommandLine. This bug built a
- command line with a missing space between tclpipe.dll and the
- following arguments. It caused error in Windows 98 when exec
- command.com (e.g. dir). [Bug 789040]
-
-2003-08-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- TIP #136 IMPLEMENTATION from Simon Geard <simon.geard@ntlworld.com>
- * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Adapted version of Simon's
- * doc/lrepeat.n: patch, updated to the HEAD
- * tests/lrepeat.test: and matching the core style.
- * generic/tclBasic.c (buildIntCmds): Splice into core.
- * generic/tclInt.h:
- * doc/list.n: Cross-reference.
-
-2003-08-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus.
-
-2003-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl: Added escape so that non-Windows
- * library/msgcat/pkgIndex.tcl: platforms do not try to use the
- registry package. This can save a costly and pointless package search.
- Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609]
-
-2003-08-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT):
- added a Tcl_ResetResult(interp) at each point where the interp's
- result is pushed onto the stack, to avoid keeping an extra reference
- that may cause costly Tcl_Obj duplication. Detected by Franco Violi,
- analyzed by Peter Spjuth and Donal Fellows. [Bug 781585]
-
-2003-07-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * doc/Translate.3: better documentation of Tcl_TranslateFileName and
- related functions. [Bug 775220]
-
-2003-07-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Revert change made on 2003-07-21 since it made the
- sizeof(Tcl_Obj) different for regular vs mem debug builds.
- * generic/tclInt.h: Define TclDecrRefCount in terms of
- Tcl_DbDecrRefCount which removes one layer of inderection.
- * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount,
- (Tcl_DbDecrRefCount, Tcl_DbIsShared): Define ThreadSpecificData that
- contains a hashtable. The table is used to ensure that a Tcl_Obj is
- only acted upon in the thread that allocated it. This checking code is
- enabled only when mem debug and threads are enabled.
-
-2003-07-24 Don Porter <dgp@users.sourceforge.net>
-
- * tests/async.test: Added several tests that demonstrate [Bug
- * tests/basic.test: 489537], Tcl's longstanding failure to
- * tests/dict.test: properly quote any leading '#' character when
- * tests/dstring.test: generating the string rep of a list so that
- * tests/list.test: the comment-power of that character is hidden
- * tests/parse.test: from any [eval], in order to satisfy the
- * tests/util.test: documentation that [list] does [eval]-safe
- quoting.
-
-2003-07-24 Reinhard Max <max@suse.de>
-
- * library/package.tcl: Fixed a typo that broke pkg_mkIndex -verbose.
- * tests/pkgMkIndex.test: Added a test for [pkg_mkIndex -verbose].
-
- * ChangeLog.2002 (new file):
- * ChangeLog: broke changes from 2002 into ChangeLog.2002 to reduce
- size of the main ChangeLog.
-
-2003-07-23 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: changes to html-tcl & html-tk targets for
- compatibility with non-gnu makes.
-
- * unix/Makefile.in: added macosx/README to dist target.
-
-2003-07-23 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinReg.c (OpenSubKey): Fixed bug 775976 which causes the
- registry set command to fail when built with VC7.
- * library/reg/pkgIndex.tcl: Incremented the version to 1.1.2.
-
-2003-07-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- Check that the thread incrementing or decrementing the ref count of a
- Tcl_Obj is the thread that originally allocated the thread. This fail
- fast behavior will catch programming errors that allow a single
- Tcl_Obj to be accessed from multiple threads.
-
- * generic/tcl.h (Tcl_Obj): Add allocThread member to Tcl_Obj. This
- member records the thread id the Tcl_Obj was allocated. It is used to
- check that any future ref count incr or decr is done from the same
- thread that allocated the Tcl_Obj. This member is defined only when
- threads and mem debug are enabled.
- * generic/tclInt.h (TclNewObj, TclDbNewObj, TclDecrRefCount):
- Define TclNewObj and TclDbNewObj using TclDbInitNewObj when mem debug
- is enabled. This fixes a problem where TclNewObj calls did not work
- the same as TclDbNewObj when mem debug was enabled.
- * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount,
- (Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj members when mem
- debug is enabled. Init the allocThread member in TclDbInitNewObj and
- check it in Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure a
- Tcl_Obj allocated in one thread is not being acted upon in another
- thread.
-
-2003-07-21 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * test/cmdAH.test: ensure certain tests run in local filesystem. [Bug
- 748960]
-
-2003-07-18 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: added option to allow installing manpages in
- addition to default html help.
-
-2003-07-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev
- to better match the behaviour. [Bug 769895]
-
-2003-07-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/pkgIndex.tcl: upped to http v2.4.4
- * library/http/http.tcl: add support for user:pass info in URL.
- * tests/http.test: [Bug 759888] (shiobara)
-
-2003-07-18 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Restored the [Eval] proc to replace
- * library/tcltest/tcltest.tcl: the [::puts] command when either the
- -output or -error option for [test] is in use, in order to capture
- data written to the output or error channels for comparison against
- what is expected. This is easier to document and agrees better with
- most user expectations than the previous attempt to replace [puts]
- only in the caller's namespace. Documentation made more precise on
- the subject. [Bug 706359]
-
- * doc/AddErrInfo.3: Improved consistency of documentation by
- * doc/CrtTrace.3: using "null" everywhere to refer to the
- * doc/Encoding.3: character '\0', and using "NULL" everywhere
- * doc/Eval.3: to refer to the value of a pointer that points
- * doc/GetIndex.3: to nowhere. Also dropped references to ASCII
- * doc/Hash.3: that are no longer true, and standardized on
- * doc/LinkVar.3: the hyphenated spelling of "null-terminated".
- * doc/Macintosh.3:
- * doc/OpenFileChnl.3:
- * doc/SetVar.3:
- * doc/StringObj.3:
- * doc/Utf.3:
-
- * doc/CrtSlave.3 (Tcl_MakeSafe): Removed warning about possible
- deprecation (no TIP on that).
-
-2003-07-17 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixFCmd.c: fix for compilation errors on platforms where
- configure detects non-functional chflags(). [Bug 748946]
-
- * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build
- to be purely make driven; in order to become independent of Apple's
- closed-source IDE and build tool. The changes are intended to be
- transparent to the Makefile user, all existing make targets and cmd
- line variable overrides should continue to work. Changed build to only
- include tcl specific html help in Tcl.framework, the tk specific html
- help is now included in Tk.framework. Added var to allow overriding of
- tclsh used during html help building (Landon Fuller).
-
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to
- the make driven buildsystem; Tcl.framework is no longer assembled by
- ProjectBuilder.
- Set default SYMROOT in target options to simplify setting up PB
- (manually setting common build folder for tcl & tk no longer needed).
-
- * tools/tcltk-man2html.tcl: Added options to allow building only the
- tcl or tk html help files; the default behaviour with none of the new
- options is to build both, as before.
-
- * unix/Makefile.in: Added targets for building only the tcl or tk help
-
- * macosx/README (new): Tcl specific excerpts of tk/macosx/README.
-
- * generic/tcl.h: Updated reminder comment about editing
- macosx/Tcl.pbproj/project.pbxproj when version number changes.
-
-2003-07-16 Mumit Khan <khan@nanotech.wisc.edu>
-
- * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific code to
- convert POSIX filename to native format.
- * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here.
- (TclDoGlob): Adjust for cygwin and append / for dirs instead of \
- * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin.
- [Patch 679315]
-
-2003-07-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/safe.tcl (FileInAccessPath): normalize paths before
- comparison. [Bug 759607] (myers)
-
- * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and
- word vars from int to long. [Bug 767578] (hgo)
-
- * generic/tcl.h: Add recognition of -DTCL_UTF_MAX=6 on the make
- * generic/regcustom.h: line to support UCS-4 mode. No config arg at
- this time, as it is not the recommended build mode.
-
- * generic/tclPreserve.c: In Result and Preserve'd routines, do not
- * generic/tclUtil.c: assume that ckfree == free, as that is not
- * generic/tclResult.c: always true. [Bug 756791] (fuller)
-
-2003-07-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly
- discourage use. IMHO code outside the core that uses this function is
- a bug... [Bug 655300]
-
-2003-07-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c (Tcl_GlobObjCmd): [Bug 771840]
- * generic/tclPathObj.c (Tcl_FSConvertToPathType):[Bug 771947]
- * unix/tclUnixFCmd.c (GetModeFromPermString): [Bug 771949]
- Silence compiler warnings about unreached lines.
-
- * library/tcltest/tcltest.tcl (ProcessFlags): Corrected broken call
- * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped to
- version 2.2.4. [Bug 772333]
-
-2003-07-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a
- crash in load.test.
-
-2003-07-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/array.n: Make sure docs are synched with the 8.4 release.
-
-2003-07-15 Don Porter <dgp@users.sourceforge.net>
-
- * doc/http.n: Updated SYNOPSIS to match actual syntax of commands.
- [Bug 756112]
-
- * unix/dltest/pkga.c: Updated to not use Tcl_UtfNcmp and counted
- strings instead of strcmp (not defined in any #include'd header) and
- presumed NULL-terminated strings.
-
- * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371 on
- 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613]
-
-2003-07-15 Kevin B. Kenny <kennykb@acm.org>
-
- * win/rules.vc: Added a missing $(OPTDEFINES) which broke the build if
- STATS=memdbg was specified.
-
-2003-07-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdIL.c (SortCompare): Cleared up confusing error
- message. [Bug 771539]
-
-2003-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/binary.test (binary-46.*): Tests to help enforce the current
- behaviour.
- * doc/binary.n: Documented that [binary format a] and [binary scan a]
- do encoding conversion by dropping high bytes, unlike the rest of the
- core. [Bug 735364]
-
-2003-07-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl: Corrected [pkg_mkIndex] bug reported on
- comp.lang.tcl. The indexer was searching for newly indexed packages
- instead of newly provided packages.
-
-2003-07-08 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/winFCmd.test: fix for five tests under win98 [Bug 767679]
-
-2003-07-07 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/array.n: add examples from Welton
-
-2003-06-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n: clarification of 'file tail' behaviour [Bug 737977]
-
-2003-07-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/expr.n: Tighten up the wording of some operations. [Bug 758488]
-
- * tests/cmdAH.test: Made tests of [file mtime] work better on FAT
- filesystems. [Patch 760768] Also a little general cleanup.
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Made [string map] accept
- dictionaries for maps. This is much trickier than it looks, since map
- entry ordering is significant. [Bug 759936]
-
- * generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array get]
- and [array set] work with dictionaries, producing them and consuming
- them. Note that for compatability reasons, you will never get a dict
- from feeding a string literal to [array set] since that alters the
- trace behaviour of "multi-key" sets. [Bug 759935]
-
-2003-06-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclTrace.c: fix to Window debug build compilation error.
-
-2003-06-27 Don Porter <dgp@users.sourceforge.net>
-
- * tests/init.test: Added [cleanupTests] to report results of tests
- * tests/pkg.test: that run in slave interps. [Bugs 761334,761344]
-
- * tests/http.test: Used more reliable path to find httpd script.
-
-2003-06-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/init.test: Added tests init-4.6.* to illustrate [Bug 760872]
-
-2003-06-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclTrace.c: New file, factoring out of virtually all the
- various trace-related things from tclBasic.c and tclCmdMZ.c with the
- goal of making this a separate maintenance area.
-
-2003-06-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and
- add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug
- 748957]
-
-2003-06-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/encoding.n: Corrected the docs to say that [source] uses the
- system encoding, which it always did anyway (since 8.1) [Bug 742100]
-
-2003-06-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclHash.c (Tcl_HashStats): Prevented occurrence of
- division-by-zero problems. [Bug 759749]
-
-2003-06-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/tclUnixPort.h: #undef inet_ntoa before #define to avoid
- compiler warning under freebsd. [Bug 745844]
-
-2003-06-23 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * doc/dde.n: Committed TIP #135 which changes the
- * win/tclWinDde.c: -exact option to -force. Also cleaned a
- * tests/winDde.test: bug in the tests.
- * library/dde/pkgIndex.tcl: Incremented version to 1.2.5
-
- * doc/dde.n: Committed TIP #120 which provides the
- * win/tclWinDde.c: dde package for safe interpreters.
- * tests/winDde.test: Incremented package version to 1.2.4
- * library/dde/pkgIndex.tcl:
-
-2003-06-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFCmd.c: fix to bad error message when trying to do 'file
- copy foo ""'. [Bug 756951]
- * tests/fCmd.test: added two new tests for the bug.
-
- * win/tclWinFile.c:
- * win/tclWin32Dll.c: recommitted some filesystem globbing speed-ups,
- but disabled some on the older Win 95/98/ME where they don't seem to
- work.
-
- * doc/FileSystem.3: documentation fix [Bug 720634]
-
-2003-06-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_Export): removed erroneous comments. [Bug
- 756744]
-
-2003-06-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/makefile.vc: fixes to check-in below so compilation now works
- again on Windows.
-
- * generic/tclCmdMZ.c:
- * tests/regexp.test: fixing of bugs related to regexp and regsub
- matching of empty strings. Addition of a number of new tests. [Bug
- 755335]
-
-2003-06-16 Andreas Kupries <andreask@activestate.com>
-
- * win/Makefile.in: Haven't heard back from David for a week. Now
- * win/configure: committing the remaining changes.
- * win/configure.in: Note: In active contact with Helmut Giese about
- * win/makefile.vc: the borland relatedchanges. This part will see
- * win/rules.vc: future updates.
- * win/tcl.m4:
- * win/makefile.bc:
-
-2003-06-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclConfig.c (ASSOC_KEY): Changed the key to
- "tclPackageAboutDict" (tcl prefix) to make collisions with the keys of
- other packages more unlikely.
-
-2003-06-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclExecute.c: let TclExecuteObjvInternal call
- TclInterpReady instead of relying on its callers to do so; fix for the
- part of [Bug 495830] that is new in 8.4.
- * tests/interp.test: Added tests 18.9 (knownbug) and 18.10
-
-2003-06-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tcl.decls: Ported the changes from the
- * generic/tcl.h: 'tip-59-implementation' branch into the CVS
- * generic/tclBasic.c: head. Regenerated stub table. Regenerated the
- * generic/tclInt.h: configure's scripts, with help from Joe English.
- * generic/tclDecls.h:
- * generic/tclStubInit.c:
- * generic/tclConfig.c:
- * generic/tclPkgConfig.c:
- * unix/Makefile.in:
- * unix/configure.in: The changes in the windows section are not yet
- * unix/tcl.m4: committed, they await feedback from David
- * unix/mkLinks: Gravereaux.
- * doc/RegConfig.3:
- * mac/tclMacPkgConfig.c:
- * tests/config.test:
-
-2003-06-09 Don Porter <dgp@users.sourceforge.net>
-
- * string.test (string-4.15): Added test for [string first] bug
- reported in Tcl 8.3, where test for all-single-byte-encoded strings
- was not reliable.
-
-2003-06-04 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2help.tcl: Added duplicate help section checking and
- * tools/index.tcl: corrected a comment typo for the getTopics proc
- in index.tcl. [Bug 748700]
-
-2003-06-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFCmd.c:
- * tests/fCmd.test: fix to [Bug #747575] in which a bad error message
- is given when trying to rename a busy directory to one with the same
- prefix, but not the same name. Added three new tests.
-
-2003-05-23 D. Richard Hipp <drh@hwaci.com>
-
- * win/tclWinTime.c: Add tests to detect and avoid a division by zero
- in the windows precision timer calibration logic.
-
-2003-05-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclObj.c (tclCmdNameType): Converted internal rep
- management of the cmdName Tcl_ObjType the opposite way, to always use
- the twoPtrValue instead of always using the otherValuePtr. Previous
- fix on 2003-05-12 broke several extensions that wanted to poke around
- with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend
- and e4graph. [Bug 726018]
- Thanks to George Petasis for the bug report and Jacob Levy for testing
- assistance.
-
-2003-05-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/mkLinks: Set the var S to "" at the top of the file to avoid
- error when user has set S to something. [Tk Bug 739833]
-
-2003-05-22 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: added missing references to new
- source files tclPathObj.c and tclMacOSXFCmd.c.
-
- * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first
- call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle
- identifier to succeed. This caused the tcl runtime library not to be
- found in all interps created after the inital one.
-
-2003-05-19 Kevin B. Kenny <kennykb@hippolyta>
-
- * unix/tclUnixTime.c: Corrected a bug in conversion of non-ASCII
- chars in the format string.
-
-2003-05-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in
- versioned framework subdirectories to be identical to location in
- framework toplevel; fixed stub library symbolic links to be tcl
- version specific.
-
- * unix/tclUnixTime.c: fixed typo.
-
-2003-05-18 Kevin Kenny <kennykb@acm.org>
-
- * compat/strftime.c: Modified TclpStrftime to return its result in
- * generic/tclClock.c: UTF-8 encoding, and removed the conversion from
- * mac/tclMacTime.c: system encoding to UTF-8 from [clock format].
- * unix/tclUnixTime.c: Needed to avoid double conversion of the
- * win/tclWinTime.c: timezone name on Windows systems. [Bug 624408]
-
-2003-05-16 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/dde/pkgIndex.tcl: Applied TIP #130 which provides for
- * tests/winDde.test: unique dde server names. Added some more
- * win/tclWinDde.c: tests. Fixes [Bug 219293]
-
- * doc/dde.n: Updated documentation re TIP #130.
- * tests/winDde.test: Applied patch for [Bug 738929] by KKB and changed
- to new-style tests.
-
-2003-05-16 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/Makefile.in: Removed one excess source file tclDToA.c
-
-2003-05-16 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.pbproj/project.pbxproj: updated copyright year.
-
-2003-05-15 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclGetDate.y: added further hackery to the yacc
- * generic/tclDate.c: post-processing to arrange for the code to set
- * unix/Makefile.in: up exit handlers to free the stacks. [Bug
- 736425]
-
-2003-05-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44
- as 2003-04-11 optimizations broke Windows98 glob'ing.
-
- * doc/socket.n: nroff font handling correction
-
- * library/encoding/gb2312-raw.enc (new): This is the original
- gb2312.enc renamed to allow for it to still be used. This is needed by
- Tk (unix) because X fonts with gb2312* charsets really do want the
- original gb2312 encoding. [Bug 557030]
-
-2003-05-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop unwarranted demotion of
- wide values to longs by formatting of int values. [Bug 699060]
-
-2003-05-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/encoding/gb2312.enc: copy euc-cn.enc over original
- gb2312.enc. gb2312.enc appeared to not work as expected, and most uses
- of gb2312 really mean euc-cn (which may be the cause of the problem).
- [Bug 557030]
-
-2003-05-14 Daniel Steffen <das@users.sourceforge.net>
-
- Implementation of TIP 118:
-
- * generic/tclFCmd.c (TclFileAttrsCmd): return the list of attributes
- that can be retrieved without error for a given file, instead of
- aborting the whole command when any error occurs.
-
- * unix/tclUnixFCmd.c: added support for new file attributes and for
- copying Mac OS X file attributes & resource fork during [file copy].
-
- * generic/tclInt.decls: added declarations of new external commands
- needed by new file attributes support in tclUnixFCmd.c.
-
- * macosx/tclMacOSXFCmd.c (new): Mac OS X specific implementation of
- new file attributes and of attribute & resource fork copying.
-
- * mac/tclMacFCmd.c: added implementation of -rsrclength attribute &
- fixes to other attributes for consistency with OSX implementation.
-
- * mac/tclMacResource.c: fixes to OSType handling.
-
- * doc/file.n: documentation of [file attributes] changes.
-
- * unix/configure.in: check for APIs needed by new file attributes.
-
- * unix/Makefile.in:
- * unix/tcl.m4: added new platform specifc tclMacOSXFCmd.c source.
-
- * unix/configure:
- * generic/tclStubInit.c:
- * generic/tclIntPlatDecls.h: regen.
-
- * tools/genStubs.tcl: fixes to completely broken code trying to
- prevent overlap of "aqua", "macosx", "x11" and "unix" stub entries.
-
- * tests/unixFCmd.test: added tests of -readonly attribute.
-
- * tests/macOSXFCmd.test (new): tests of macosx file attributes and of
- preservation of attributes & resource fork during [file copy].
-
- * tests/macFCmd.test: restore -readonly attribute of test dir, as
- otherwise its removal can fail on unices supporting -readonly.
-
-2003-05-13 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclEnv.c: Another putenv() copy behavior problem repaired
- when compiling on windows and using microsoft's runtime. [Bug 736421]
-
-2003-05-13 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c: ensure cd is thread-safe.
- [Bug 710642] (vasiljevic)
-
-2003-05-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce
- compiler warnings. [Bug 664745]
-
-2003-05-13 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tcl.decls: Changed Tcl_JoinThread parameter name from
- * generic/tclDecls.h: "id" to "threadId". [Bug 732477]
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c:
- * mac/tclMacThrd.c:
-
-2003-05-13 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.decls:
- * macosx/tclMacOSXBundle.c: added extended version of the
- Tcl_MacOSXOpenBundleResources() API taking an extra version number
- argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to
- be able to access bundle resources in versioned frameworks such as Tcl
- and Tk, otherwise if multiple versions were installed, only the latest
- version's resources could be accessed. [Bug 736774]
-
- * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned
- bundle resource API to get tcl runtime library for TCL_VERSION. [Bug
- 736774]
-
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c: regen.
-
- * unix/tclUnixPort.h: worked around the issue of realpath() not
- being thread-safe on Mac OS X by defining NO_REALPATH for threaded
- builds on Mac OS X. [Bug 711232]
-
-2003-05-12 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/cmdAH.test: General clean-up of tests so that all
- tcltest-specific commands are protected by constraints and all
- platforms see the same number of tests. [Bug 736431]
-
-2003-05-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c: (AliasObjCmd): Added refCounting of the words
- * tests/interp.test (interp-33.1): of the target of an interp
- alias during its execution. Also added test. [Bug 730244]
-
- * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is no
- longer set to NULL (Tcl_CreateObjCommand docs already say that it
- should not be accessed).
-
- * tests/cmdMZ.test: Forgot to import [temporaryDirectory].
-
- * generic/tclObj.c (tclCmdNameType): Corrected variable use of the
- otherValuePtr or the twoPtrValue.ptr1 fields to store a
- (ResolvedCmdName *) as the internal rep. [Bug 726018]
-
- * doc/Eval.3: Corrected prototype for Tcl_GlobalEvalObj [Bug 727622].
-
-2003-05-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclObjLookupVar): [Bug 735335] temporary fix,
- disabling usage of tclNsVarNameType.
- * tests/var.test (var-15.1): test for [Bug 735335]
-
-2003-05-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a
- Windows serial port [Bug 718002] (schroedter)
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash
- when overflow sizes were given (throws error). [Bug 714106]
-
-2003-05-09 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak
- caused by treating cachePtr as a TLS index. [Bug 731754]
-
- * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not
- freeing the memory allocated by setargv and the async handler created
- by Tcl_AppInit. An exit handler has been created that takes care of
- both leaks. In addition, Tcl_AppInit now uses ckalloc instead of
- Tcl_Alloc to allow for easier leak tracking and to be more consistent
- with the rest of the Tcl core. [Bugs 733156, 733221]
-
- * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing
- to free the memory used by the toUnicode array of strings [Bug 733221]
-
-2003-05-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript):
- * tests/compile.test (compile-3.5): corrected wrong test and
- behaviour in the earlier fix for [Bug 705406]; Don Porter reported
- this as [Bug 735055], and provided the solution.
-
-2003-05-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_ReturnObjCmd): The array of strings passed
- to Tcl_GetIndexFromObj must be NULL terminated. [Bug 735186]
- Thanks to Joe Mistachkin for spotting this.
-
-2003-05-07 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/trace.n: Fixed very strange language in the documentation for
- 'trace add execution'. [Bug 729821]
-
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Made error message for 'trace
- info' more consistent with documentation. [Bug 706961]
-
- * generic/tclDictObj.c (DictInfoCmd): Fixed memory leak caused by
- confusion about string ownership. [Bug 731706]
-
-2003-05-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Implementation of TIP 90, which
- * generic/tclCmdAH.c: extends the [catch] and [return]
- * generic/tclCompCmds.c: commands to enable creation of a
- * generic/tclExecute.c: proc that is a replacement for
- * generic/tclInt.h: [return]. [Patch 531640]
- * generic/tclProc.c:
- * generic/tclResult.c:
- * tests/cmdAH.test:
- * tests/cmdMZ.test:
- * tests/error.test:
- * tests/proc-old.test:
-
- * library/tcltest/tcltest.tcl: The -returnCodes option to [test]
- failed to recognize the symbolic name "ok" for return code 0.
-
-2003-05-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclBasic.c (Tcl_HideCommand): Fixed error message for
- grammar and spelling.
-
-2003-04-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclDictObj.c (DictIncrCmd): Updated to reflect the behaviour
- with wide increments of the normal [incr] command.
- * generic/tclInt.decls: Added TclIncrWideVar2 to internal stub table
- and cleaned up.
- * tests/incr.test (incr-3.*):
- * generic/tclVar.c (TclIncrWideVar2, TclPtrIncrWideVar):
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclCmdIL.c (Tcl_IncrObjCmd): Make [incr] work when trying to
- increment by wide values. [Bug 728838]
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Default mode of
- operation of [switch] is exact matching. [Bug 727563]
-
-2003-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Tcl_EvalObjv() failed to honor the
- TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a
- string rep including leading whitespace and comments to
- TclEvalObjvInternal().
-
-2003-04-25 Andreas Kupries <andreask@activestate.com>
-
- * win/tclWinThrd.c: Applied SF patch #727271. This patch changes the
- code to catch any errors returned by the windows functions handling
- TLS ASAP instead of waiting to get some mysterious crash later on due
- to bogus pointers. Patch provided by Joe Mistachkin.
-
- This is a stop-gap measure to deal with the low number of ?TLS slots
- provided by some of the variants of Windows (60-80).
-
-2003-04-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix to bug reported privately by Jeff where,
- for example, 'glob -path {[tcl]} *' gets confused by the leading
- special character (which is escaped internally), and instead lists
- files in '/'. Bug only occurs on Windows where '\' is also a directory
- separator.
- * tests/fileName.test: added test for the above bug.
-
-2003-04-22 Andreas Kupries <andreask@activestate.com>
-
- * The changes below fix SF bugs [593810], and [718045].
-
- * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke
- TclpCutSockChannel and TclpSpliceSockChannel.
-
- * generic/tclInt.h: Declare TclpCutSockChannel and
- TclpSpliceSockChannel.
-
- * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
- Dummy functions, on unix the sockets are _not_ handled specially.
-
- * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
- * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New
- functions to handle socket specific cut/splice operations: auto-init
- of socket system for thread on splice, management of the module
- internal per-thread list of sockets, management of association of
- sockets with HWNDs for event notification.
-
- * win/tclWinSock.c (NewSocketInfo): Extended initialization
- assignments to cover all items of the structure. During debugging of
- the new code mentioned above I found that two fileds could contain
- bogus data.
-
- * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before
- definition because when compiling in debug mode the compiler complains
- about a redefinition, and this warning is also treated as an error.
-
-2003-04-21 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: When the return code of a test does
- not meet expectations, report that as the reason for test failure, and
- do not attempt to check the test result for correctness. [Bug 725253]
-
-2003-04-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInt.h (VER_PLATFORM_WIN32_CE): conditionally define.
- * win/tclWinInit.c: recognize Windows CE as a Win platform. This just
- recognizes CE - full support will come later.
-
- * win/configure: regen
- * win/configure.in (SHELL): force it to /bin/sh as autoconf 2.5x
- uses /bin/bash, which can fail to find exes in the path (ie: lib).
-
- * generic/tclExecute.c (ExprCallMathFunc): remove incorrect
- extraneous cast from Tcl_WideAsDouble.
-
-2003-04-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/open.n: Moved serial port options from [fconfigure] to
- * doc/fconfigure.n: [open] as it is up to the creator of a channel
- to describe the channel's special config
- options. [Bug 679010]
-
-2003-04-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Made changes so that the "wideInt" Tcl_ObjType
- * generic/tclObj.c: is defined on all platforms, even those where
- * generic/tclPort.h: TCL_WIDE_INT_IS_LONG is defined. Also made the
- Tcl_Value struct have a wideValue field on all platforms. This is a
- ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms
- because that struct changes size. This is the same TIP 72
- incompatibility that was seen on other platforms at the 8.4.0 release,
- when this change should have happened as well. [Bug 713562]
-
- * generic/tclInt.h: New internal macros TclGetWide() and
- TclGetLongFromWide() to deal with both forms of the "wideInt"
- Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined
- to the header file.
-
- * generic/tclCmdAH.c: Replaced most coding that was conditional
- * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that
- * generic/tclExecute.c: works across platforms, sometimes using
- * generic/tclTest.c: the new macros above to do it.
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2003-04-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/socket.n: Added a paragraph to remind people to specify their
- encodings when using sockets. [Bug 630621]
-
-2003-04-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/CrtMathFnc.3: Functions also have to deal with wide ints, but
- this was not documented. [Bug 709720]
-
-2003-04-16 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: removed undesired 'static' for function which
- is now shared (previously it was duplicated).
-
-2003-04-15 Joe English <jenglish@users.sourceforge.net>
-
- * doc/namespace.n: added example section "SCOPED SCRIPTS", supplied by
- Kevin Kenny. [Bug 219183]
-
-2003-04-15 Kevin Kenny <kennykb@acm.org>
-
- * makefile.vc: Updated makefile.vc to conform with Mo DeJong's changes
- to Makefile.in and tclWinPipe.c on 2003-04-14. Now passes TCL_PIPE_DLL
- in place of TCL_DBGX.
- * win/tclWinTime.c: Corrected use of types to make compilation
- compatible with VC++5.
-
-2003-04-15 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: finished check-in from yesterday, removing
- duplicate function definition.
-
-2003-04-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclClock.c: Corrected compiler warnings.
- * generic/tclTest.c:
-
-2003-04-14 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/Makefile.in: Don't define TCL_DBGX symbol for every compile.
- Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This
- will break other build systems, so they will need to remove the
- TCL_DBGX define and replace it with a define for TCL_PIPE_DLL.
- * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and
- DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build
- env instead of trying to construct the dll name from already defined
- symbols. This approach is more flexible and better in the long run.
-
-2003-04-14 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWinFile.c: added conditionals to restore compilation on
- VC++6, which was broken by recent changes.
-
-2003-04-14 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c:
- * generic/tclPathObj.c:
- * generic/tclFileSystem.h: overlooked one function which was
- duplicated, so this is now shared between modules.
- * win/tclWinFile.c: allow this file to compile with VC++ 5.2 again
- since Mingw build fixes broke that.
-
-2003-04-13 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add check for FINDEX_INFO_LEVELS from winbase.h,
- known to be a problem in VC++ 5.2. Define HAVE_NO_FINDEX_ENUMS if the
- define does not exist.
- * win/tclWinFile.c: Put declarations for FINDEX_INFO_LEVELS and
- FINDEX_SEARCH_OPS inside a check for HAVE_NO_FINDEX_ENUMS so that
- these are not declared twice. This fixes the Mingw build.
- * win/tclWinTime.c: Rework the init of timeInfo so that the number or
- initializers matches the declaration. This was broken under Mingw. Add
- cast to avoid compile warning when calling the AccumulateSample
- function.
-
-2003-04-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in (GENERIC_OBJS): add missing tclPathObj.c
-
-2003-04-12 Kevin Kenny <kennykb@acm.org>
-
- * doc/clock.n:
- * generic/tclClock.c (Tcl_ClockObjCmd):
- * tests/clock.test: Implementation of TIP #124. Also renumbered test
- cases to avoid duplicates. [Bug 710310]
- * tests/winTime.test:
- * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd):
- * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond,
- (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made
- substantial changes to the phase-locked loop (replaced an IIR filter
- with an FIR one) in a quest for improved loop stability (Bug not
- logged at SF, but cited in private communication from Jeff Hobbs).
-
-2003-04-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT): Corrected
- inconsistent results of [string is integer] observed on systems where
- sizeof(long) != sizeof(int). [Bug 718878]
- * tests/string.test: Added tests for Bug 718878.
- * doc/string.n: Clarified that [string is integer] accepts 32-bit
- integers.
-
-2003-04-11 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (UpdateInterest): When dropping interest in
- TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a
- bug where Expect detects eof on a file prematurely on solaris 2.6 and
- higher. A much more complete explanation is in the code itself (40
- lines of comments for a one-line change :)
-
-2003-04-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/cmdAH.test: fix test suite problem if /home is a symlink. [Bug
- 703264]
- * generic/tclIOUtil.c: fix bad error message with 'cd ""'. [Bug
- 704917]
- * win/tclWinFile.c, win/tclWin32Dll.c:
- * win/tclWinInt.h: allow Tcl to differentiate between reparse points
- which are symlinks and mounted volumes, and correctly handle the
- latter. This involves some elaborate code to find the actual drive
- letter (if possible) corresponding to a mounted volume. [Bug 697862]
- * tests/fileSystem.test: add constraints to stop tests running in
- ordinary tcl interpreter. [Bug 705675]
-
- * generic/tclIOUtil.c:
- * generic/tclPathObj.c: (new file)
- * generic/tclFileSystem.h: (new file)
- * win/makefile.vc:
- Split path object handling out of the virtual filesystem layer, into
- tclPathObj.c. This refactoring cleans up the internal filesystem code,
- and will make any future optimisations and forthcoming better
- thread-safety much easier.
-
- * generic/tclTest.c:
- * tests/reg.test: added some 'knownBug' tests for problems in Tcl's
- regexp code with the TCL_REG_CAN_MATCH flag (see Bug 703709). Code too
- impenetrable to fix right now, but a fix is needed for tip113 to work
- correctly.
-
- * tests/fCmd.test
- * win/tclWinFile.c: added some filesystem optimisation to the 'glob'
- implementation, and some new tests.
-
- * generic/tclCmdMZ.c: fix typo in comment
-
- * tests/winFile.test:
- * tests/ioUtil.test:
- * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug
- 710361]
-
-2003-04-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/binary.n: Fixed typo in [binary format w] desc. [Bug 718543]
-
-2003-04-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if
- they have zero length, not if their first byte is zero, so fix test
- guarding Tcl_AddObjErrorInfo to take this into account. [Bug
- reported by Don Porter; no bug-id.]
-
-2003-04-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileIfCmd): Corrected string limits of
- arguments interpolated in error messages. [Bug 711371]
-
- * generic/tclCmdMZ.c (TraceExecutionProc): Added missing
- Tcl_DiscardResult() call to avoid memory leak.
-
-2003-04-07 Donal K. Fellows <zzcgudf@ernie.mvc.mcc.ac.uk>
-
- * generic/tclDictObj.c (Tcl_DictObjCmd): Stopped compilers from
- moaning about switch fall-through. [Bug 716327]
- (DictFilterCmd): Yet more warning killing, this time reported by
- Miguel Sofer by private chat.
-
-2003-04-07 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/dict.test (dict-2.6):
- * generic/tclDictObj.c (Tcl_NewDictObj, Tcl_DbNewDictObj): Oops!
- Failed to fully initialise the Dict structure.
- (DictIncrCmd): Moved valueAlreadyInDictionary label to stop compiler
- complaints. [Bug 715751]
-
- * generic/tclDictObj.c (DictIncrCmd): Followed style in the rest of
- the core by commenting out wide-specific operations on platforms where
- wides are longs, and used longs more thoroughly than ints through
- [dict incr] anyway to forestall further bugs.
- * generic/tclObj.c: Made sure there's always a tclWideIntType
- implementation available, not that it is always useful. [Bug 713562]
-
-2003-04-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclDictObj.c: Removed commented out notes on declarations to
- be moved to elsewhere in the Tcl core.
-
- * generic/tclInt.h: Final stages of plumbing in.
- * generic/tclBasic.c:
- * generic/tclObj.c (TclInitObjSubsystem):
-
- * unix/Makefile.in, win/Makefile.in, win/makefile.[bv]c: Build support.
- * generic/tcl.decls: Added dict public API to stubs table.
- * generic/tcl.h (Tcl_DictSearch): Added declaration of structure to
- allow user code to iterate over dictionaries.
-
- * doc/DictObj.3: New files containing dictionary implementation
- * doc/dict.n: documentation and tests as as mandated by TIP
- * generic/tclDictObj.c: #111.
- * tests/dict.test:
-
-2003-04-03 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure:
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't set TCL_LIBS if it is already
- set to support use of TCL_LIBS var from tclConfig.sh in the Tk
- configure script.
-
-2003-04-03 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Don't subst MATH_LIBS, LIBS, and DL_LIBS
- separately. Instead, just subst TCL_LIBS since it includes the
- others.
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Set and subst
- TCL_LIBS in SC_CONFIG_CFLAGS instead of SC_TCL_LINK_LIBS. Don't subst
- MATH_LIBS since it is now covered by TCL_LIBS.
- * unix/tclConfig.sh.in: Use TCL_LIBS instead of DL_LIBS, LIBS, and
- MATH_LIBS.
- * unix/dltest/Makefile.in: Ditto.
-
-2003-04-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Now that [return]
- compiles to INST_RETURN, it is safe to compile even outside a proc.
-
-2003-04-02 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX
- variable.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like
- LIBSUFFIX, it is used when creating library names. The previous
- implementation would generate -ltclstub85 instead of -ltclstub85s when
- configured with --disable-shared.
-
-2003-04-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (TclSubstTokens): Moved declaration of
- utfCharBytes to beginning of procedure so that it does not go out of
- scope (get free()d) while append is still pointing to it. [Bugs
- 703167, 713754]
-
-2003-04-01 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Check for inet_ntoa in -lbind inside
- the BeOS block since doing it later broke the build under SuSE 7.3.
- [Bug 713128]
-
-2003-04-01 Don Porter <dgp@users.sourceforge.net>
-
- * tests/README: Direct [source] of *.test files is no longer
- recommended. The tests/*.test files should only be evaluated under the
- control of the [runAllTests] command in tests/all.tcl.
-
- * generic/tclExecute.c (INST_RETURN): Bytecompiled [return] failed to
- reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 to
- fail strangely.
- * tests/parse.test (parse-18.21): Corrected now functioning test.
- Added further coverage tests.
-
-2003-03-31 Don Porter <dgp@users.sourceforge.net>
-
- * tests/parse.test (parse-18.*): Coverage tests for the new
- implementation of Tcl_SubstObj(). Note that tests parse-18.17 and
- parse-18.21 demonstrate some bugs left to fix in the current code.
-
-2003-03-27 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Use -Wl,--export-dynamic instead of
- -rdynamic for LDFLAGS. The -rdynamic is not documented so it seems
- better to pass the --export-dynamic flag to the linker. [Patch 573395]
-
-2003-03-27 Miguel Sofer <msofer@users.sf.net>
-
- * tests/encoding.test:
- * tests/proc-old.test:
- * tests/set-old.test: Altered test numers to eliminate duplicates,
- [Bugs 710313, 710320, 710352]
-
-2003-03-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/parseOld.test: Altered test numers to eliminate duplicates.
- * tests/parse.test: [Bugs 710365, 710369]
- * tests/expr-old.test:
- * tests/expr.test:
-
- * tests/utf.test: Altered test numers to eliminate duplicates.
- * tests/trace.test: [Bugs 710322, 710327, 710349, 710363]
- * tests/lsearch.test:
- * tests/list.test:
- * tests/info.test:
- * tests/incr-old.test:
- * tests/if-old.test:
- * tests/format.test:
- * tests/foreach.test:
-
-2003-03-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Add BeOS system to
- SC_CONFIG_CFLAGS. Check for inet_ntoa in -lbind, needed for BeOS.
-
-2003-03-26 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl: Added reporting during [configure
- -debug 1] operations to warn about multiple uses of the same test
- name. [FRQ 576693]
-
- * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid
- duplication. [Bug 710356]
-
- * unix/dltest/pkg?.c: Changed all Tcl_InitStubs calls to pass
- argument exact = 0, so that rebuilds are not required when Tcl
- bumps to a new version. [Bug 701926]
-
-2003-03-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c:
- * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the
- created local variable. [Bug 631741] (Chris Darroch) and [Bug 696893]
- (David Hilker)
-
-2003-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/dde/pkgIndex.tcl: bumped version to 1.2.2 in tclWinDde.c,
- now adding here too.
-
-2003-03-22 Kevin Kenny <kennykb@acm.org>
-
- * library/dde/pkgIndex.tcl:
- * library/reg/pkgIndex.tcl: Fixed a bug where [package require dde]
- or [package require registry] attempted to load the release version
- of the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin
- for the patch.
- * win/makefile.vc: Added quoting around the script name in the 'test'
- target; Joe Mistachkin insists that he has a configuration that fails
- to launch tcltest without it, and it appears harmless otherwise.
-
-2003-03-22 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinDde.c: Make dde services conform the the documentation
- such that giving only a topic name really returns all services with
- that topic. [Bug 219155]
- Prevent hangup caused by dde server applications failing to process
- messages. [Bug 707822]
- * tests/winDde.test: Corrected labels and added a test for search by
- topic name.
-
-2003-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (tclOriginalNotifier):
- * generic/tclStubInit.c (tclOriginalNotifier):
- * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent):
- * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent,
- (Tcl_CreateFileHandler,Tcl_DeleteFileHandler):
- * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers
- apparently use a different representation for a pointer to a function
- within the same compilation unit and a pointer to a function in a
- different compilation unit. This causes checks like those in the
- original notifier procedures to fall into infinite loops. The fix is
- to store pointers to the original notifier procedures in a struct
- defined in the same compilation unit as the stubs tables, and compare
- against those values. [Bug 707174]
-
- * generic/tclInt.h: Removed definition of ParseValue struct that is
- no longer used.
-
-2003-03-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:
- * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE.
- [Bug 705406] (Don Porter)
-
-2003-03-19 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Replaced [regexp] and [regsub] with
- * library/history.tcl: [string map] where possible. Thanks
- * library/ldAout.tcl: to David Welton. [Bugs 667456,667558]
- * library/safe.tcl: Bumped to http 2.4.3, opt 0.4.5, and
- * library/http/http.tcl: tcltest 2.2.3.
- * library/http/pkgIndex.tcl:
- * library/opt/optparse.tcl:
- * library/opt/pkgIndex.tcl:
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl:
- * tools/genStubs.tcl:
- * tools/tcltk-man2html.tcl:
- * unix/mkLinks.tcl:
-
- * doc/Eval.3 (Tcl_EvalObjEx): Corrected CONST and
- * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors in
- documentation. [Bug 683994]
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Alternative fix for
- * generic/tclCompile.c (INST_RETURN): [Bug 633204] that uses a new
- * generic/tclCompile.h (INST_RETURN): bytecode INST_RETURN to
- * generic/tclExecute.c (INST_RETURN): properly bytecode the [return]
- command to something that returns TCL_RETURN.
-
-2003-03-18 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Don't run the AC_CYGWIN macro since it uses
- AC_CANONICAL_HOST under autoconf 2.5X. Just check to see if __CYGWIN__
- is defined by the compiler and set the ac_cv_cygwin variable based on
- that. [Bug 705912]
-
-2003-03-18 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/registry.test: Changed the conditionals to avoid an abort if
- [testlocale] is missing, as when running the test in tclsh rather than
- tcltest. [Bug 705677]
-
-2003-03-18 Daniel Steffen <das@users.sourceforge.net>
-
- * tools/tcltk-man2html.tcl: added support for building 'make html'
- from inside distribution directories named with 8.x.x version numbers.
- tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories
- found inside its --srcdir argument.
-
-2003-03-17 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/format.test: Renumber tests, a bunch of tests all had the same
- id.
-
-2003-03-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/lsearch.n: Altered documentation of -ascii options so
- * doc/lsort.n: they don't specify that they operate on ASCII
- strings, which they never did anyway. [Bug
- 703807]
-
-2003-03-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that
- indicates we've got a wide int when we're formatting in an integer
- style. Stops some libc's from going mad. [Bug 702622] Also tidied
- whitespace.
-
-2003-03-13 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tcl.m4 (SC_WITH_TCL): Port version number fix that was made in
- tk instead of tcl sources.
-
-2003-03-13 Mo DeJong <mdejong@users.sourceforge.net>
-
- Require autoconf 2.57 or newer, see TIP 34 for a detailed explanation
- of why this is good. This will no doubt break the build on some
- platforms, let the flaming begin.
-
- * tools/configure: Regen with autoconf 2.57.
- * tools/configure.in: Require autoconf 2.57.
- * unix/configure: Regen with autoconf 2.57.
- * unix/configure.in: Require autoconf 2.57.
- Apply AC_LIBOBJ changes from patch 529884.
- * unix/tcl.m4: Ditto.
- * win/configure: Regen with autoconf 2.57.
- * win/configure.in: Require autoconf 2.57.
- Don't subst LIBOBJS since this happens by default, this avoids an
- autoconf error.
-
-2003-03-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalTokensStandard):
- * generic/tclCmdMZ.c (Tcl_SubstObj):
- * generic/tclCompCmds.c (TclCompileSwitchCmd):
- * generic/tclCompExpr.c (CompileSubExpr):
- * generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript,
- (TclCompileTokens,TclCompileCmdWord):
- * generic/tclCompile.h (TclCompileScript):
- * generic/tclExecute.c (TclCompEvalObj):
- * generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens):
- * generic/tclParse.c (ParseTokens,Tcl_SubstObj,TclSubstTokens):
- * tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5):
- Substantial refactoring of Tcl_SubstObj to make use of the same
- parsing and substitution procedures as normal script evaluation.
- Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens()
- created in tclParse.c which implements all substantial functioning of
- Tcl_EvalTokensStandard(). TclCompileScript() loses its "nested"
- argument, the Tcl_Interp struct loses its termOffset field and the
- TCL_BRACKET_TERM flag in the evalFlags field, all of which were only
- used (indirectly) by Tcl_SubstObj(). Tests subst-8.7,8.8,11.4,11.5
- modified to accomodate the only behavior change: reporting of parse
- errors now takes precedence over [return] and [continue] exceptions.
- All other behavior should remain compatible. [RFE 536831,684982] [Bug
- 685106]
-
- * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT
- * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's
- public interface. Put them in win/tclWinPipe.c where they are used.
-
- * generic/tclInterp.c (Tcl_InterpObjCmd): Corrected and added
- * tests/interp.test (interp-2.13): test for option
- parsing beyond objc for [interp create --]. Thanks to Marco Maggi.
- [Bug 702383]
-
-2003-03-11 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/makefile.vc: Added two missing uses of $(DBGX) so that
- tclpip8x.dll loads without panicking on Win9x.
-
-2003-03-09 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclTest.c (TestChannelCmd): Removed an unused local variable
- that caused compilation problems on some platforms.
-
-2003-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Added missing "-body" to example. Thanks to Helmut
- Giese. [Bug 700011]
-
-2003-03-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/io.test:
- * tests/ioCmd.test: Define a fcopy constraint and add it to the
- constraint list of any test that depends on the fcopy command. This is
- only useful to Jacl which does not support fcopy.
-
-2003-03-07 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/encoding.test: Name temp files *.tcltestout instead of *.out
- so that when they are removed later, we don't accidently toast any
- files named *.out that the user has created in the build directory.
-
-2003-03-07 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FileObjCmd): Fix the setting of a file's
- mtime and atime on 64-bit platforms. [Bug 698146]
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/io.test: Doh! Undo accidental commenting out of a couple of
- tests.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/io.test: Define a fileevent constraint and add it to the
- constraint list of any test that depends on the fileevent command.
- This is only useful to Jacl which does not support fileevent.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/io.test: Define an openpipe constraint and add it to the
- constraint list of any test that creates a pipe using the open
- command. This is only useful to Jacl which does not support pipes.
-
-2003-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to
- * tests/utf.test (utf-25.*): properly compare Unicode strings of
- different case in a case insensitive manner. [Bug 699042]
-
-2003-03-06 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd):
- Replaced a non-portable 'bzero' with a portable 'memset'. [Bug 698442]
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): If there is data
- buffered in the statePtr->curOutPtr member then set the BUFFER_READY
- flag in Tcl_Seek. This is needed so that the next call to FlushChannel
- will write any buffered bytes before doing the seek. The existing code
- would set the BUFFER_READY flag inside the Tcl_OutputBuffered
- function. This was a programming error made when Tcl_OutputBuffered
- was originally created in CVS revision 1.35. The setting of the
- BUFFER_READY flag should not have been included in the
- Tcl_OutputBuffered function.
- * generic/tclTest.c (TestChannelCmd): Use the Tcl_InputBuffered and
- Tcl_OutputBuffered util methods to query the amount of buffered input
- and output.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_Flush): Compare the nextAdded member of the
- ChannelBuffer to the nextRemoved member to determine if any output has
- been buffered. The previous check against the value 0 seems to have
- just been a coding error. See other methods like Tcl_OutputBuffered
- for examples where nextAdded is compared to nextRemoved to find the
- number of bytes buffered.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_GetsObj): Check that the eol pointer has not
- gone past the end of the string when in auto translation mode and the
- INPUT_SAW_CR flag is set. The previous code worked because the end of
- string value \0 was being compared to \n, this patch just skips that
- pointless check.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (WriteBytes, WriteChars, Tcl_GetsObj, ReadBytes):
- Rework calls to TranslateOutputEOL to make it clear that a boolean
- value is being returned. Add some comments in an effort to make the
- code more clear. This patch makes no functional changes.
-
-2003-03-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_SetChannelOption): Invoke the
- Tcl_SetChannelBufferSize method as a result of changing the
- -buffersize option to fconfigure. The previous implementation used
- some inlined code that reset the buffer size to the default size
- instead of ignoring the request as implemented in
- Tcl_SetChannelBufferSize.
- * tests/io.test: Update test case so that it actually checks the
- implementation of Tcl_SetChannelBufferSize.
-
-2003-03-05 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc: updated default tcl version to 8.5.
-
-2003-03-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): First attempt at a
- bytecode-compiled switch command. It only handles the most common case
- of switching, but that should be enough for this to speed up a lot of
- people's code. It is expected that the speed gains come from two
- things: better handling of the switch itself, and integrated
- compilation of the arms instead of embedding separate bytecode
- sequences (i.e. better local variable handling.)
- * tests/switch.test (switch-10.*): Tests of both uncompiled and
- compiled switch behaviour. [Patch #644819]
-
- * generic/tclCompile.h (TclFixupForwardJumpToHere): Additional macro
- to make the most common kind of jump fixup a bit easier.
-
-2003-03-04 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bumped version number of
- * generic/tcl.h: Tcl to 8.5a0.
- * library/init.tcl:
- * mac/README:
- * macosx/Tcl.pbproj/project.pbxproj:
- * tests/basic.test:
- * tools/configure.in:
- * tools/tcl.hpj.in:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README:
- * win/README.binary:
- * win/configure.in:
- * win/makefile.bc:
- * win/makefile.vc:
- * win/tcl.m4:
-
- * tools/configure: autoconf
- * unix/configure:
- * win/configure:
-
-2003-03-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.4.2 TAGGED FOR RELEASE ***
-
-2003-03-03 Daniel Steffen <das@users.sourceforge.net>
-
- Mac OS Classic specific fixes:
- * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, skip
- potential directory separator at the beginning of addStrRep.
- * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup fixes to
- cut and splice implementation for file channels.
- * mac/tclMacFile.c (TclpUtime): pass native path to utime().
- * mac/tclMacFile.c (TclpObjLink): correctly implemented creation of
- alias files via new static proc CreateAliasFile().
- * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links.
- * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable stat'ing
- of broken links.
-
-2003-03-03 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/Makefile.vc: corrected bug introduced by 'g' for debug builds.
-
-2003-03-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/dde/pkgIndex.tcl: dde bumped to version 1.2.1 for
- * win/tclWinDde.c: bundled release with Tcl 8.4.2
-
- * library/reg/pkgIndex.tcl: registry bumped to version 1.1.1 for
- * win/tclWinReg.c: bundled release with Tcl 8.4.2
-
- * library/opt/pkgIndex.tcl: updated package index to version 0.4.4
-
-2003-02-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure:
- * win/configure.in: check for 'g' for debug build type, not 'd'.
- * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile to
- match the cygwin makefile for debug builds. [Bug 635107]
-
-2003-02-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n: subcommand is 'file volumes' not 'file volume'
-
-2003-02-27 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code
- check of typePtr (darley).
-
- * tests/winTime.test: added note about PCI hardware dependency issues
- with high performance clock.
-
-2003-02-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/lsearch.test (lsearch-10.7):
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from
- causing an option when used with an empty list. [Bug 694232]
-
-2003-02-26 Chengye Mao <chengye.geo@yahoo.com>
-
- * win/tclWinInit.c: fixed a bug in TclpSetVariables by initializing
- dwUserNameLen with the sizeof(szUserName) before calling GetUserName.
- Don't know if this bug has been recorded: it caused crash in starting
- Tcl or wish in Windows.
-
-2003-02-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when deleting a
- command that had trace on it. [Bug 693564] (sofer)
-
-2003-02-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching
- * library/package.tcl: of -load patterns, to better accomodate common
- user errors due to confusion between [package names] names and [info
- loaded] names.
-
-2003-02-25 Andreas Kupries <andreask@pliers.activestate.com>
-
- * tests/pid.test: See below [Bug 678412].
- * tests/io.test: Made more robust against spaces in paths [Bug 678400]
-
-2003-02-25 Miguel Sofer <msofer@users.sf.net>
-
- * tests/execute.test: cleaning up testobj's at the end, to avoid
- leak warning by valgrind.
-
-2003-02-22 Zoran Vasiljevic <zoran@archiwrae.com>
-
- * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002]
-
-2003-02-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/binary.test (binary-44.[34]):
- * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted
- sign-bit propagation when scanning wide ints. [Bug 690774]
-
-2003-02-21 Daniel Steffen <das@users.sourceforge.net>
-
- * mac/tclMacChan.c (TclpCutFileChannel, TclpSpliceFileChannel):
- Implemented missing cut and splice procs for file channels.
-
-2003-02-21 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl (tclPkgUnknown): Minor performance tweaks to
- reduce the number of [file] invocations. Meant to improve startup
- times, at least a little bit. [Patch 687906]
-
-2003-02-20 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4:
- * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create
- new processes, as recommended by Apple (vfork can be up to 100 times
- faster thank fork on macosx).
- * unix/configure: regen.
-
-2003-02-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEncoding.c (LoadTableEncoding):
- * library/encoding/cp932.enc: Correct jis round-trip encoding
- * library/encoding/euc-jp.enc: by adding 'R' type to .enc files.
- * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi)
- * library/encoding/jis0208.enc:
- * library/encoding/shiftjis.enc:
- * tests/encoding.test:
-
- * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add
- MakeTcpClientChannelMode that takes actual mode flags to avoid hang on
- OS X (may be OS X bug, but patch works x-plat). [Bug 689835] (steffen)
-
-2003-02-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/regsub.n: Typo fix [Bug 688943]
-
-2003-02-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixThrd.c (TclpReaddir):
- * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that there
- is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and that we
- have some buffer allocated.
-
-2003-02-19 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of
- always invalidating unicode rep (if the obj has a string rep). Added
- hasUnicode flag to String struct, allows decoupling of validity of
- unicode rep from buffer size allocated to it (improves memory
- allocation efficiency). [Bugs 686782, 671138, 635200]
-
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Makefile: reworked embedded build to no longer require
- relinking but to use install_name_tool instead to change the
- install_names for embedded frameworks. [Bug 644510]
-
- * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running
- 'make install' to build framework (avoids bogus rebuilds of dependent
- frameworks because tcl headers appear changed).
-
- * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is
- utf-8: use iso8859-1 encoding explicitly.
-
-2003-02-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileExprWords): remove unused variable
- "range" [Bug 664743]
- * generic/tclExecute.c (ExprSrandFunc): remove unused variable
- "result" [Bug 664743]
- * generic/tclStringObj.c (UpdateStringOfString): remove unused
- variable "length" [Bug 664751]
- * tests/execute.test (execute-7.30): fix for [Bug 664775]
-
-2003-02-18 Andreas Kupries <andreask@activestate.com>
-
- * unix/tcl.m4: [Bug #651811] Added definition of _XOPEN_SOURCE and
- linkage of 'xnet' library to HP 11 branch. This kills a lot of
- socket-related failures in the testsuite when Tcl was compiled in 64
- bit mode (both PA-RISC 2.0W, and IA 64).
-
- * unix/configure: Regenerated.
-
-2003-02-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIO.c (HaveVersion): correctly decl static
-
- * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in tsd
- to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters)
-
-2003-02-18 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on
- the link line when checking for the pthread_attr_setstacksize symbol.
-
-2003-02-18 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclTest.c: cleanup of new 'simplefs' test code, and better
- documentation.
-
-2003-02-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclRenameCommand): fixing error in previous
- commit.
-
-2003-02-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH):
- * generic/tclUtf.c (TclUniCharMatch):
- * generic/tclInt.decls: add private TclUniCharMatch function that
- * generic/tclIntDecls.h: does string match on counted unicode
- * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the failing
- * tests/string.test: that it can't handle strings or patterns with
- * tests/stringComp.test: embedded NULLs. Added tests that actually try
- strings/pats with NULLs. TclUniCharMatch should be TIPed and made
- public in the next minor version rev.
-
-2003-02-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not
- being freed on all function exits, causing a memory leak. [Bug 684756]
-
-2003-02-17 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only
- assigned at the top of the TCL_TRANSLATE_AUTO case block. The other
- cases assign eol so this does not change any functionality.
-
-2003-02-17 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/notify.test: Removed Windows line terminators. [Bug 687913].
-
-2003-02-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_EvalEx):
- * generic/tclCompExpr.c (CompileSubExpr):
- * generic/tclCompile.c (TclCompileScript):
- * generic/tclParse.c (Tcl_ParseCommand, ParseTokens):
- * generic/tclParseExpr.c (ParsePrimaryExpr):
- * tests/basic.test (47.1):
- * tests/main.test (3.4):
- * tests/misc.test (1.2):
- * tests/parse.test (6.18):
- * tests/parseExpr.test (15.35):
- * tests/subst.test (8.6): Don Porter's fix for bad parsing of nested
- scripts. [Bug 681841]
-
-2003-02-15 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/notify.test (new-file):
- * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc,
- (EventTestDeleteProc):
- * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents not
- to get a pointer smash when deleting the last event in the queue.
- Added test code in 'tcltest' and a new file of test cases
- 'notify.test' to exercise this functionality; several of the new test
- cases fail for the original code and pass for the corrected code. [Bug
- 673714]
-
- * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple of typos
- in error messages. [Bug 596027]
-
-2003-02-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: Bumped to version 8.4.2.
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure:
- * win/configure.in:
- * macosx/Tcl.pbproj/project.pbxproj:
-
- * generic/tclStringObj.c (Tcl_GetCharLength): perf tweak
-
- * unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags
-
-2003-02-14 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/tclWinTime.c: Added code to test and compensate for forward
- leaps of the performance counter. See the MSDN Knowledge Base article
- Q274323 for the hardware problem that makes this necessary on certain
- machines.
- * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of
- thousands of seconds, rather than milliseconds. (What's six orders of
- magnitude among friends?) Both the above changes are triggered by a
- problem reported at:
- http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811
- although the developers find it difficult to believe that it accounts
- for the observed behavior and suspect a fault in the RTC chip.
-
-2003-02-13 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/tclWinInit.c: Added conversion from the system encoding to
- tcl_platform(user), so that it works with non-ASCII7 user names. [Bug
- 685926]
-
- * doc/tclsh.1: Added language to describe the handling of the
- end-of-file character \u001a embedded in a script file. [Bug 685485]
-
-2003-02-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileName.test:
- * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on
- broken symbolic links. Added two new tests for this bug.
-
-2003-02-11 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/http.test: Corrected a problem where http-4.14 would fail when
- run in an environment with a proxy server. Replaced references to
- scriptics.com by tcl.tk.
-
-2003-02-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/lsearch.test:
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): protect against the case
- that lsearch -regepx list and pattern objects are equal.
-
- * tests/stringObj.test:
- * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char opt
- of 2002-11-11 to not stop early on \x00. [Bug 684699]
-
- * tests.parse.test: remove excess EOF whitespace
-
- * generic/tclParse.c (CommandComplete): more paranoid check to break
- on (p >= end) instead of just (p == end).
-
-2003-02-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (CommandComplete):
- * tests/parse.test: fix for [Bug 684744], by Don Porter.
-
-2003-02-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):
- (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead
- follow a different code path in Tcl_FSJoinPath.
- (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath):
- (Tcl_FSGetFileSystemForPath): Update string rep of path objects before
- freeing the internal object. (darley)
-
- * tests/fileSystem.test: added test 8.3
- * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath):
- (UpdateStringOfFsPath): handle the cwdLen == 0 case
-
- * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden file
- match check.
-
-2003-02-10 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure:
- * win/configure.in: Generate error when attempting to build under
- Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing
- bug reports under the mistaken impression that someone is actually
- maintaining the Cygwin port. A post to comp.lang.tcl asking someone to
- volunteer as an area maintainer has generated no results. Closing bugs
- 680840, 630199, and 634772 and marking as "Won't fix".
-
-2003-02-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/append.n: Return value was not documented. [Bug 683188]
-
-2003-02-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * tests/fileSystem.test:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: further filesystem optimization, applying [Patch
- 682500]. In particular, these code examples are faster now:
- foreach f $flist { if {[file exists $f]} {file stat $f arr;...}}
- foreach f [glob -dir $dir *] { # action and/or recursion on $f }
- cd $dir
- foreach f [glob *] { # action and/or recursion on $f }
- cd ..
-
- * generic/tclTest.c: Fix for [Bug 683181] where test suite left files
- in 'tmp'.
-
-2003-02-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/safe.tcl: code cleanup of eval and string comp use.
-
-2003-02-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFCmd.c: cleanup long lines
- * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5
- ('foreach f [glob *] { file exists $f }' is still slow)
- * tests/fileSystem.text:
- * tests/fileName.test: added new tests to ensure correct behaviour in
- optimized filesystem code.
-
-2003-02-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclTest.c:
- * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and
- not change the pwd.
-
- * tests/http.text: added comment to test 4.15, that it may fail if you
- use a proxy server.
-
-2003-02-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileIncrCmd):
- * tests/incr.test: Don't include the text "(increment expression)" in
- the errorInfo generated by the compiled version of the incr command
- since it does not match the message generated by the non-compiled
- version of incr. It is also not possible to match this error output
- under Jacl, which does not support a compiler.
-
-2003-02-06 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): When an error is
- encountered reading the increment value during a compiled call to
- incr, add a "(reading increment)" error string to the errorInfo
- variable. This makes the errorInfo variable set by the compiled incr
- command match the value set by the non-compiled version.
- * tests/incr-old.test: Change errorInfo result for the compiled incr
- command case to match the modified implementation.
- * tests/incr.test: Add tests to make sure the compiled and
- non-compiled errorInfo messages are the same.
-
-2003-02-06 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Filename arguments to [outputChannel]
- and [errorChannel] (also -outfile and -errfile) were [open]ed but
- never [closed]. Also, [cleanupTests] could remove output or error
- files. [Bug 676978].
- * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2.
-
-2003-02-05 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/interp.test:
- * tests/set-old.test: Run test cases that depend on hash order through
- lsort so that the tests also pass under Jacl. Does not change test
- results under Tcl.
-
-2003-02-04 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c:
- * generic/tclEvent.c:
- * generic/tclInt.h:
- * mac/tclMacFCmd.c:
- * unix/tclUnixFCmd.c:
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c:
- * win/tclWinInit.c:
- * win/tclWinInt.h:
- * tests/fileSystem.test: fix to finalization/unloading/encoding issues
- to make filesystem much less dependent on encodings for its cleanup,
- and therefore allow it to be finalized later in the exit process. This
- fixes fileSystem.test-7.1. Also fixed one more bug in setting of
- modification dates of files which have undergone cross-platform
- copies. [Patch 676271]
-
- * tests/basic.test:
- * tests/exec.test:
- * tests/fileName.test:
- * tests/io.test: fixed some test failures when tests are run from a
- directory containing spaces.
-
- * tests/fileSystem.test:
- * generic/tclTest.c: added regression test for the modification date
- setting of cross-platform file copies.
-
-2003-02-03 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclBasic.c: Changed [trace add command] so that 'rename'
- callbacks get fully qualified names of the command. [Bug 651271].
- ***POTENTIAL INCOMPATIBILITY***
- * tests/trace.test: Modified the test cases for [trace add command] to
- expect fully qualified names on the 'rename' callbacks. Added a case
- for renaming a proc within a namespace.
- * doc/trace.n: Added language about use of fully qualified names in
- trace callbacks.
-
-2003-02-01 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Removed an unused variable that caused
- compiler warnings on SGI. [Bug 664379]
-
- * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is
- called to report the same package as being loaded in two interps, it
- shows up in [info loaded {}] in both of them (previously, it didn't
- appear in the static package list in the second).
-
- * tests/load.test Added regression test for the above bug. [Bug
- 670042]
-
- * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock
- clicks {}] and [clock clicks -] to be accepted as if they were [clock
- clicks -milliseconds].
-
- * tests/clock.test: Added regression tests for the above bug. [Bug
- 675356]
-
- * tests/unixNotfy.test: Added cleanup of working files. [Bug 675609]
-
- * doc/Tcl.n: Added headings to the eleven paragraphs, to improve
- formatting in the tools that attempt to extract tables of contents
- from the manual pages. [Bug 627455]
-
- * generic/tclClock.c: Expanded mutex protection around the setting of
- env(TZ) and the thread-unsafe call to tzset(). [Bug 656660]
-
-2003-01-31 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: Cleaned up management of file/directory
- creation/deletion to improve "-debug 1" output. [Bug 675614]
- The utility [slave] command failed to properly [list]-quote a
- constructed [open] command, causing failure when the pathname
- contained whitespace. [Bug 678415]
-
- * tests/main.test: Stopped main.test from deleting existing file. Test
- suite should not delete files that already exist. [Bug 675660]
-
-2003-01-28 Don Porter <dgp@users.sourceforge.net>
-
- * tests/main.test: Constrain tests that do not work on Windows. [Bug
- 674387]
-
-2003-01-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to setting modification date in
- TclCrossFilesystemCopy. Also added 'panic' in
- Tcl_FSGetFileSystemForPath under illegal calling circumstances which
- lead to hard-to-track-down bugs.
-
- * generic/tclTest.c: added test suite code to allow exercising a
- vfs-crash-on-exit bug in Tcl's finalization caused by the encodings
- being cleaned up before unloading occurs.
- * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate
- the crash on exit.
-
-2003-01-28 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only
- by TclpCreateProcess.
- * unix/Makefile.in: Define TCL_DBGX.
- * win/Makefile.in: Define TCL_DBGX.
- * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll
- actually exists in the Tcl bin directory and panic if it is not found.
- Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a really
- mysterious error that would show up when exec'ing a 16 bit application
- under Win95 or Win98 when Tcl was compiled with symbols. The error
- seemed to indicate that the executable could not be found, but it was
- actually the Tcl pipe dll that could not be found.
-
-2003-01-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys+mingw URL to release 6. This version bundles
- gcc 3.
-
-2003-01-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add test that checks to see if the compiler can
- cast to a union type.
- * win/tclWinTime.c: Squelch compiler warning about union initializer
- by casting to union type when compiling with gcc.
-
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke
- TclpCutFileChannel and TclpSpliceFileChannel.
- * generic/tclInt.h: Declare TclpCutFileChannel and
- TclpSpliceFileChannel.
- * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel,
- (Tcl_MakeFileChannel, TclpCutFileChannel, TclpSpliceFileChannel):
- Implement thread load data cut and splice for file channels. This
- avoids an invalid memory ref when compiled with -DDEPRECATED.
- * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel,
- (TclpSpliceFileChannel): Implement thread load data cut and splice for
- file channels. This avoids an invalid memory ref that was showing up
- in the thread extension.
-
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings):
- * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings):
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings):
- Re-implement inline ASM SEH handlers for gcc. The esp and ebp
- registers are now saved on the stack instead of in global variables so
- that the code is thread safe. Add additional checks when TCL_MEM_DEBUG
- is defined to be sure the values were recovered from the stack
- properly. Remove squelch_warnings functions and add a dummy call in
- the handler methods to squelch compiler warnings.
-
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure:
- * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that
- no alloca function is found in malloc.h and we are compiling with GCC.
- Remove HAVE_NO_ALLOC_DECL define.
- * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a
- cdecl function. Doing this caused a tricky runtime bug because the
- _alloca function expects the size argument to be passed in a register
- and not on the stack. To fix this problem, we use inline ASM when
- compiling with gcc to invoke _alloca with the size argument loaded
- into a register.
-
-2003-01-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinDde.c (Dde_Init): clarified use of tsdPtr.
- (DdeServerProc): better refcount handling of returnPackagePtr.
-
- * generic/tclEvent.c (Tcl_Finalize): revert finalize change on
- 2002-12-04 to correct the issue with extensions that have TSD needing
- to finalize that before they are unloaded. This issue needs further
- clarification.
-
- * tests/unixFCmd.test: only do groups check on unix
-
-2003-01-24 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and
- Tcl_AttemptSetObjectLength dealing with string objects with both
- pure-unicode and normal internal representations. Previous fix didn't
- handle all cases correctly.
- * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a
- valid 'objPtr->bytes' field before manipulating it directly.
-
- This fixes [Bug 635200] and [Bug 671138], but may reduce performance
- of Unicode string handling in some cases. A further patch will be
- applied to address this, once the code is known to be correct.
-
-2003-01-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add test to see if alloca is undefined in
- malloc.h.
- * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception
- handler logic to avoid using the stack since alloca will modify the
- stack. This was causing a nasty bug that would set the exception
- handler to 0 because it tried to pop the previous exception handler
- off the top of the stack.
-
-2003-01-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/lset.n: Fixed fault in return values from lset in documentation
- examples [SF Bug #658463] and tidied up a bit at the same time.
-
-2003-01-21 Joe English <jenglish@users.sourceforge.net>
-
- * doc/namespace.n (namespace inscope): Clarified documentation
- [Patch 670110]
-
-2003-01-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that
- TCL_SHLIB_SUFFIX will be set to a useful value in the generated
- tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the
- --enable-shared flag. This matches the UNIX implementation.
-
-2003-01-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCkalloc.c: change %ud to %u as appropriate.
-
-2003-01-17 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by
- ExecuteRemoteObject if it was not saved in a connection object.
-
-2003-01-17 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE
- as long long and TCL_LL_MODIFIER as L when compiling with mingw. This
- change ended up causing some test case failures when compiling with
- mingw.
- * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning
- generated by mingw and why it needs to be ignored so that someone is
- not tempted to "fix" this problem again in the future.
-
-2003-01-16 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has
- a unicode string rep. [Bug 635200]
- * tests/stringObj.test: removed 'knownBug' constraint from test 14.1
- now that this bug is fixed.
-
- * generic/tclInt.h:
- * generic/tclBasic.c:
- * generic/tclCmdMZ.z:
- * tests/trace.test: execution and command tracing bug fixes and
- cleanup. In particular fixed [Bug 655645], [Bug 615043], [Bug 571385]
- - fixed some subtle cleanup problems with tracing. This required
- replacing Tcl_Preserve/Tcl_Release with a more robust refCount
- approach. Solves at least one known crash caused by memory
- corruption.
- - fixed some confusion in the code between new style traces (Tcl
- 8.4) and the very limited 'Tcl_CreateTrace' which existed before.
- - made behaviour consistent with documentation (several tests even
- contradicted the documentation before).
- - fixed some minor error message details
- - added a number of new tests
-
-2003-01-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to
- allow strict compilation (no warnings).
-
- * tests/winDde.test:
- * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service
- name is passed to 'dde eval' and goto errorNoResult in request and
- poke error cases to free up any allocated data.
-
-2003-01-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from
- SEH ASM code.
- * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from
- SEH ASM code.
- * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer
- to DWORD instead of int to avoid compiler warnings.
- * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to
- avoid compiler warnings. Squelch compiler warnings from SEH ASM code.
- * win/tclWinFile.c: Add casts and fixup decls to avoid compiler
- warnings. Remove unused variable.
- * win/tclWinNotify.c: Declare as DWORD instead of int to avoid
- compiler warning.
- * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment
- in if expression bug.
- * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove
- unused variable.
- * win/tclWinSock.c: Add casts and fixup decls to avoid compiler
- warnings.
-
-2003-01-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclClock.c (FormatClock): corrected typo that incorrectly
- conditionally defined savedTZEnv and savedTimeZone.
-
-2003-01-13 Mo DeJong <mdejong@users.sourceforge.net>
-
- Fix mingw build problems and compiler warnings.
-
- * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets
- the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER.
- * generic/tclClock.c (FormatClock): Don't define savedTimeZone and
- savedTZEnv if we are not going to use them.
- * generic/tclEnv.c: Add cast to avoid warning.
- * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning
- * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey
- when TCL_THREADS is defined. This avoid a compiler warning about
- unused variables.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys + mingw URL, the new release includes the
- released 1.0.8 version of msys which includes a number of bug fixes.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to
- LIBS_GUI that was added to the Tk tcl.m4 but never made it back into
- the Tcl version.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when
- HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler
- warnings when building with Cygwin or Mingw.
- * win/configure: Regen.
- * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a
- winnt.h that still defines CHAR, SHORT, and LONG when VOID has already
- been defined.
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from
- tclConfig.sh so that Tcl defines can make it into the Tk Makefile.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h
- and define HAVE_NO_LPFN_DECLS if not found.
- * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is
- defined. This fixes the build under Mingw and Cygwin, it was broken by
- the changes made on 2002-11-26.
-
-2003-01-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c:
- * win/tclWinInt.h:
- * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs,
- introduced on 2002-12-06. Encodings must be cleaned up after the
- filesystem.
-
- * win/makefile.vc: fix to minor VC++ 5.2 syntax problem
-
-2003-01-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Corrected off-by-one
- problem with recent commit. [Bug 633204]
-
-2003-01-09 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: remove unused variable 'macSpecialCase'
- [Bug 664749]
-
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * unix/tclUnixFile.c:
- * mac/tclMacFile.c:
- * win/tclWinFile.c:
- * win/tclWinInt.h:
- * win/tclWin32Dll.c:
- * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime
- and atime through 'file (a|m)time $path $time'. [Bug 634151]
-
-2003-01-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro for
- greater clarity of code.
-
-2003-01-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileReturnCmd):
- * tests/compile.test: Corrects failure of bytecompiled [catch
- {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This
- patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better
- long term solution for 8.5 and later.
-
-2003-01-04 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc:
- * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself by
- accident causing the install target to put the tree at the root of the
- drive built on. Whoops..
-
- Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to
- allow the switching _on_ of the thread allocator. Under testing, I
- found it not to be benificial under windows for the purpose of the
- application I was using it for. It was more important for this app
- that resources for tcl threads be returned to the system rather than
- saved/moved to the global recycler. Be extra clean or extra fast for
- the default threaded build? Let's move to clean and allow it to be
- switched on for users who find it benificial for their use of threads.
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2004 b/tcl8.6/ChangeLog.2004
deleted file mode 100644
index 82acd5c..0000000
--- a/tcl8.6/ChangeLog.2004
+++ /dev/null
@@ -1,4619 +0,0 @@
-2004-12-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove -Gs
- (included in -O2) and -GD (outdated). Use "link -lib" instead of "lib"
- binary and remove -YX for MSVC7 portability. Add -fomit-frame-pointer
- for gcc OPT compiles. [Bug 1092952, 1091967] Align LIBS_GUI with Tk
- head needs.
-
-2004-12-29 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Regen
- * generic/tclGetDate.y (TclDatelex): Fixed a problem where a
- four-digit group with >=2 leading zeroes appeared to be a two-digit
- group, leading to misinterpreting the time 0012 as 1200. [Bug 1090413]
- * library/clock.tcl: Added code to interpret correctly months outside
- the range 01-12 as reduced modulo 12 with a corresponding adjustment
- to the year. [Bug 1092789]
- * tests/clock.test: Added regression test cases for the above two bugs
- * unix/Makefile.in: Added --no-lines to the 'bison' command line to
- * win/Makefile.in: help constrain the number of diffs in a cvs checkin
-
-2004-12-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclLiteral.c:
- * generic/tclProc.c:
- Avoid sharing cmdName literals accross namespaces, and generalise
- usage of the TclRegisterNewLiteral macro. [Patch 1090905]
-
-2004-12-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.c
- * generic/tclProc.c: new static InitCompiledLocals to allow for a
- single pass over the proc's arguments at proc load time (instead of
- two as previously). TclObjInterpProc() now allocates the
- compiledLocals on the tcl execution stack, using the new
- TclStackAlloc/Free functions.
-
-2004-12-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (Tcl_LimitSetTime, TimeLimitCallback):
- (TclLimitRemoveAllHandlers, TclInitLimitSupport): Set a timer event to
- trigger when the time limit runs out. All the time limit actually does
- is check to see if the time limit has been exceeded, but this is
- enough to fix [Bug 1085023].
- * generic/tclInt.h (struct Interp): Added a field to hold the token
- for the timer event handler associated with the current time limit.
- * generic/tclEvent.c (Tcl_UpdateObjCmd, Tcl_VwaitObjCmd): Add error
- message when limit exceeded.
- * tests/interp.test (interp-34.[89]): Check that time limits handle
- the two cases reported in [Bug 1085023]
-
- * generic/tclTimer.c (TclCreateAbsoluteTimerHandler): New internal
- function that allows setting a timer handler that will be triggered at
- (or after) a specific time instead of at some number of milliseconds
- in the future. This is a candidate for future exposure via a TIP.
-
-2004-12-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclNamesp.c:
- * generic/tclProc.c:
- * generic/tclStubInit.c:
- * generic/tclTest.c: Added two new functions to allocate memory from
- the execution stack (TclStackAlloc, TclStackFree). Added functions
- TclPushStackFrame and TclPopStackFrame that do the work of
- Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in
- the execution stack - i.e., heap instead of C-stack. The core uses
- these two new functions exclusively; the old ones remain for backwards
- compat, as at least two popular extensions (itcl, xotcl) are known to
- use them.
-
-2004-12-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c:
- * generic/tclInt.h:
- * generic/tclProc.c:
- * generic/tclVar.c: changing the isProcCallFrame field of the
- CallFrame struct from a 0/1 field to flags. Should be perfectly
- backwards compatible.
-
-2004-12-14 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure.in: Added special processing to remove "$U" from
- libraries in the LIBOBJS value. This is an auto-make-ism we need to
- avoid. [Bug 1081541]
-
- * unix/configure: autoconf-2.57
-
-2004-12-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Restored extern "C" guards so that C++ code sees
- function pointer typedef linkage consistent with earlier Tcl releases.
- [Bug 1082349]
-
- * generic/tclEncoding.c: Plugged some memory leaks. Thanks to Rolf Ade
- * generic/tclUtil.c: for reports and testing [Bug 1083082]
-
-2004-12-13 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Clarify that the [clock scan] command does not accept
- the full range of ISO8601 point-in-time formats. [Bug 1075433]
-
-2004-12-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclArrayObjCmd - ARRAY_NAMES): leaking an object
- [Bug 1084111] - thanks to Rolf Ade.
-
-2004-12-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c (TclSetCmdNameObj): special handling for fully
- qualified command names (as in fix [Patch 456668]).
-
-2004-12-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclNamesp.c: converting the static function
- GetNamespaceFromObj() to MODULE_SCOPE TclGetNamespaceFromObj().
-
-2004-12-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/tcl.wse.in, unix/tcl.spec, win/README.binary, README:
- * win/configure.in, unix/configure.in, generic/tcl.h:
- Bumped version number to 8.5a3 to distinguish HEAD of CVS development
- from the recent 8.5a2 release.
-
-2004-12-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclInitCompiledLocals):
- * generic/tclCompile.h:
- * generic/tclInt.h:
- * generic/tclProc.c (TclObjInterpProc, TclCreateProc): optimised
- loops that initialise a proc's arguments and compiled local
- variables, removing tests from inner loops.
-
-2004-12-10 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h: Move ensemble API decls here from tclNamesp.c
-
-2004-12-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (TclMakeEnsembleCmd, TclSetEnsemble*)
- (TclSetEnsemble*, TclFindEnsemble): Build an internal API for creating
- and manipulating ensembles; they can be deleted using the normal
- command-deletion API.
-
- * doc/Async.3: Reword for better grammar, better nroff and get the
- flag name right. (Reported by David Welton.)
-
-2004-12-07 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (2.1-4): Added constraints so that when a value
- of TCL_LIBRARY is required for process initialization, we skip the
- tests that mess with that value.
-
-2004-12-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- *** 8.5a2 TAGGED FOR RELEASE ***
-
- * unix/Makefile.in: add library/{tzdata,msgs} to dist target (kbk)
-
- * doc/foreach.n: Adjust tabs to be friendlier to some HTML
- converters. [Bug 1078760]
-
-2004-12-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits
- [Bug 1079286]
-
- * doc/error.n, doc/SaveResult.3, doc/Thread.3: minor nroff typos
-
-2004-12-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/safe.test: Trim auto_path to improve performance [1080039]
-
- * tests/msgcat.test: makeFile/removeFile cleanup [1079117]
-
-2004-12-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Different fix for [Bug 1077005].
- * generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on
- * generic/tclInt.h: Windows into TclpSetInterfaces(), that is
- * unix/tclUnixInit.c: fundamentally essential, and the initialization
- * win/tclWinInit.c: of the system encoding, which is not. Made
- the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
- overlooked.
-
-2004-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * changes: updated for 8.5a2 release
-
-2004-12-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c (TclSetProcessGlobalValue): Handle the case where
- a ProcessGlobalValue might be assigned to itself.
-
- * generic/tclEncoding.c (MakeFileMap): Correct refcounting errors
- managing values returned by TclPathPart (with refCount of 1!) that led
- to a memory leak. [Bug 1077474].
-
-2004-12-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix and new tests for [Bug 1074671] to ensure
- * tests/fileSystem.test: tilde paths are not returned specially by
- 'glob'.
-
-2004-12-02 Kevin B. Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Added a 'sed' in the setting of ROOT_DIR_NATIVE to
- compensate for a bug in cygpath (at least version 1.36) that leaves a
- trailing backslash on the end of the converted path.
-
-2004-12-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (Alias,Target,Master): Rewrote these so that the
- aliases that refer to an interpreter are stored in a list and not a
- hashtable (which was only ever a convenience, and forced the use of a
- global mutex to generate keys!) [FRQ 1077210]
- * generic/tclNamesp.c (numNsCreated): Moved into thread-local storage
- to remove a global mutex. [FRQ 1077210]
-
-2004-12-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c (TclGetProcessGlobalValue): Narrowed the scope of
- mutex locks.
-
- * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() to
- * generic/tclEncoding.c: make use of a ProcessGlobalValue for
- * generic/tclEvent.c: storing the executable name. Added
- internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that
- storage in Tcl_Obj, rather than string format.
-
- * unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use
- * win/tclWinFile.c: TclSetObjNameOfExecutable to store the
- executable name it computes.
-
- * generic/tclInt.h: Added internal stub entries for
- * generic/tclInt.decls: TclpFindExecutable and
- Tcl(Get|Set)ObjNameOfExecutable.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form
- * win/tclWinPipe.c: instead of string form.
-
- * unix/tclUnixTest.c: Update [testfindexecutable] command to use new
- internal interfaces.
-
- * generic/tclEncoding.c: Moved TclpSetInitialEncodings() call
- from Tcl_FindExecutable() into TclInitEncodingSubsystem(). This is
- important on Windows where it establishes whether the "ascii" or
- "unicode" set of system routines will be used, and that needs to be
- done earlier to support filesystem operations. [Bug 1077005]
-
-2004-12-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/winDde.test: Rewritten to use tcltest2 features more
- thoroughly (reducing the [catch] count!) and fix the problem with
- winDde-6.1 being out of synch with the implementation.
-
-2004-11-30 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl ([unknown]): Restored the save/restore of the
- variables ::errorCode and ::errorInfo. This is needed when the
- [::bgerror] command is auto-loaded (as it is by Tk).
-
- Patch 976520 reworks several of the details involved with
- startup/initialization of the Tcl library, focused on the activities
- of Tcl_FindExecutable().
-
- * generic/tclIO.c: Removed bogus claim in comment that encoding
- "iso8859-1" is "built-in" to Tcl.
-
- * generic/tclInt.h: Created a new struct ProcessGlobalValue,
- * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and
- function type TclInitProcessGlobalValueProc. Together, these take care
- of the housekeeping for "values" (things that can be held in a
- Tcl_Obj) that are global across a whole process. That is, they are
- shared among multiple threads, and epoch and mutex protection must
- govern the validity of cached copies maintained in each thread.
-
- * generic/tclNotify.c: Modified TclInitNotifier() to tolerate being
- called multiple times in the same thread.
- * generic/tclEvent.c: Dropped the unused argv0 argument to
- TclInitSubsystems(). Removed machinery to unsure only one
- TclInitNotifier() call per thread, now that that is safe. Converted
- Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to
- tclEncoding.c.
- * generic/tclBasic.c: Updated caller.
-
- * generic/tclInt.h: TclpFindExecutable now returns void.
- * unix/tclUnixFile.c:
- * win/tclWinFile.c:
- * win/tclWinPipe.c:
-
- * generic/tclEncoding.c: Built new encoding search initialization on a
- foundation of ProcessGlobalValues, exposing new routines
- Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to
- directory pathname keeps track of where encodings are available for
- loading. Tcl_FindExecutable greatly simplified into just three
- function calls. The "library path" is now misnamed, as its only
- remaining purpose is as a foundation for the default encoding search
- path.
-
- * generic/tclInterp.c: Inlined the initScript that is evaluated by
- Tcl_Init(). Added verification after initScript evaluation that Tcl
- can find its installed *.enc files, and that it has initialized
- [encoding system] in agreement with what the environment expects.
- [tclInit] no longer driven by the value of $::tcl_libPath; it largely
- constructs its own search path now, rather than attempt to share one
- with the encoding system.
-
- * unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new
- * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can
- reveal that Tcl thinks the [encoding system] should be, even when an
- incomplete encoding search path, or a missing *.enc file won't allow
- that initialization to succeed. TclpInitLibraryPath reworked as an
- initializer of a ProcessGlobalValue.
-
- * unix/tclUnixTest.c: Update implementations of [testfindexecutable],
- [testgetdefenc], and [testsetdefenc].
-
- * tests/unixInit.test: Corrected tests to operate properly even when
- a value of TCL_LIBRARY is required to find encodings.
-
- * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
- TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
- are candidates for public exposure by future TIPs.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclTest.c: Updated [testencoding] to use
- * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests.
-
-2004-11-30 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Corrected the regular expressions that match a
- time zone to allow for time zones specified as +HH or -HH.
- * tests/clock.test: Added regression test case for the above issue.
- Thanks to Rolf Ade for reporting this issue [http://wiki.tcl.tk/13094]
- * win/tclWinDde.c (Tcl_DdeObjCmd): Corrected a typo that caused a
- compilation failure on VC++.
-
-2004-11-29 Andreas Kupries <andreask@activestate.com>
-
- * win/Makefile.in (install-libraries): Brought entry '2004-10-26 Don
- Porter (Tcl Modules)' into the windows world, actually the
- win/configure buildsystem. The other windows buildsystems (.vc, .bc)
- still have to be updated as well.
-
-2004-11-26 Andreas Kupries <andreask@activestate.com>
-
- * win/tclWinDde.c (ExecuteRemoteObject): Removed bogus semicolon found
- at the end of the header for the function definition, terminating it
- early and preventing a compile. This is likely a fix for '2004-11-25
- Donal'. I have to conclude that it is also unknown if the other
- changes to this file actually pass the testsuite. Running testsuite
- ... They don't. winDde-6.1 fails. This is only a message discrepance,
- i.e. not too bad. Leaving resolution of that to Pat and Donal.
-
-2004-11-26 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl (tcl_findLibrary): Made sure the uniquifying
- operations on the search path does not also normalize. [Bug 1072136]
-
-2004-11-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/configure.in: Simplify the code to check for correctness of
- strstr, strtoul and strtod.
- * unix/tcl.m4 (SC_TCL_CHECK_BROKEN_FUNC): Split a complex stanza out
- of configure.in into its own function. Also force it to do the right
- thing with cacheing of results of AC_TRY_RUN to deal with issue raised
- in [Patch 1073524]
-
- * doc/foreach.n: Added simple example. [FRQ 1073334]
-
-2004-11-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclProc.c (TclObjInterpProc): Make it so that only
- * generic/tclIndexObj.c (Tcl_WrongNumArgs): [proc] instances do
- * tests/indexObj.test (indexObj-5.7): quoting of their first
- arguments, so keeping [Bug 942757] fixed and making [Bug 1066837] be
- fixed as well. Done with a load of #ifdef-ery because this hack is so
- ugly nobody should keep it around once Itcl's fixed.
-
-2004-11-25 Reinhard Max <max@suse.de>
-
- * tests/tcltest.test: The order in which [glob] returns the file names
- is undefined, so tests should not depend on it.
-
-2004-11-25 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * doc/Thread.3:
- * doc/Notifier.3: Added changes from the core-8-4-branch
-
-2004-11-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/dde.n: Synchronized the documentation of the commands with the
- header of the docs and what the package actually does. Thanks to
- Andreas Kupries for spotting this.
- * win/tclWinDde.c (Tcl_DdeObjCmd): Much cleanup of argument parsing
- code.
-
-2004-11-24 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclPort.h: Relative include of tclWinPort.h returned as it
- was requiring me set -I$(tcl_root)/win for my extensions that need to
- include tclInt.h and doesn't appear to serve any purpose for windows
- builds.
-
-2004-11-24 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument
- readdir_r [Bug 1001325].
- * unix/configure: Regenerated.
- * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their
- masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather
- than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807]
- * win/tclWinInit.c (TclpInitLibraryPath): Removed unused vars 'pathc'
- and 'pathv' that caused compilation problems on VC++ with
- --enable-symbols.
-
-2004-11-24 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine the
- number of arguments for readdir_r on SunOS systems. [Bug 1071701]
-
- * unix/configure: autoconf-2.57
-
- * generic/tclCmdIL.c (InfoVarsCmd): Corrected segfault in new
- * tests/info.test (info-19.6): trivial matching branch [Bug 1072654]
-
-2004-11-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/man2html.tcl, tools/man2html1.tcl: Update to use Tcl 8.4.
- * tools/man2html2.tcl: Fix broken .SS handling.
-
-2004-11-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/Makefile.in: Add (commented-out) code to integrate tclConfig.h
- into the dependency tree and 'make distclean'. [Bug 1068171]
-
- * generic/tclResult.c (Tcl_AppendResultVA): Remove call to
- Tcl_GetStringResult to speed up repeated calls to Tcl_AppendResult
- with the side effect that code that wants to access interp->result
- should always call Tcl_GetStringResult first. See [Patch 1041072]
- discussion for more details.
-
-2004-11-22 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when
- off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not
- include an open64 function. [Bug 1030465]
-
-2004-11-22 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of
- readdir_r that is known to exists under IRIX 5.3.
- * unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version
- of readdir_r. [Bug 1001325]
-
-2004-11-22 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixInit.c (TclpInitLibraryPath): Purged dead code that used
- * win/tclWinInit.c (TclpInitLibraryPath): to extend the "library
- path". Search path construction for init.tcl is now done within the
- [tclInit] proc.
- * generic/tclInterp.c: Restored several directories to the search
- * tests/unixInit.test: path used to locate init.tcl within [tclInit].
- This change does not restore any directories to the encoding search
- path, so should still avoid the price of an unreasonably large number
- of filesystem accesses during encoding initialization at startup
- [Bug 976438]
-
-2004-11-22 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix and new test for [Bug 1043129] in the
- * tests/fileSystem.test: treatment of backslashes in file join on
- Windows.
-
-2004-11-21 Don Porter <dgp@users.sourceforge.net>
-
- * doc/AddErrInfo.3: Typo corrections (Thanks Daniel South).
- * doc/interp.n:
-
-2004-11-19 Don Porter <dgp@users.sourceforge.net>
-
- * doc/AddErrInfo.3: Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227]
-
- * doc/AddErrInfo.3:
- * doc/Async.3: Documentation updates to replace references
- * doc/BackgdErr.3: to global variable ::errorInfo and ::errorCode
- * doc/SaveResult.3: and to the ::bgerror command with references
- * doc/after.n: to their preferred replacements, the
- * doc/bgerror.n: -errorinfo and -errorcode return options,
- * doc/error.n: the Tcl_*InterpState routines, and the
- * doc/exec.n: [interp bgerror] command.
- * doc/exit.n:
- * doc/fileevent.n:
- * doc/interp.n:
- * doc/return.n:
- * doc/tclvars.n:
- * doc/update.n:
-
- * tests/unixInit.test: Removed "knownBug" constraints to prompt bug
- fixing before 8.5a2 release.
-
-2004-11-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile:
- * unix/configure.in:
- * unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl
- framework build when determining tclLibPath from overloaded
- TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088]
-
- * unix/configure: autoconf-2.57
- * unix/tclConfig.h.in: autoheader-2.57
-
-2004-11-18 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SaveResult.3: Documentation for Tcl_*InterpState (TIP 226).
-
- * generic/tclEvent.c (HandleBgErrors): Simplified program flow.
-
- * tests/basic.test: Updated functional (not testing) uses of
- * tests/io.test: [bgerror] to make use of [interp bgerror].
- * tests/socket.test:
- * tests/timer.test:
-
- * tests/interp.test (interp-36.*): [interp bgerror] tests.
-
- * generic/tclInterp.c: Corrected [interp bgerror] error messages.
-
-2004-11-18 Reinhard Max <max@suse.de>
-
- * unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of
- * unix/configure.in: [Patch 996085], that introduces
- * unix/Makefile.in: --enable-man-suffix.
-
- * unix/installManPage: added
- * unix/mkLinks.tcl: removed
- * unix/mkLinks: removed
- * unix/configure: generated
-
- * unix/Makefile.in: Don't install tclConfig.h .
-
-2004-11-17 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure.in: The change below reveals that the public data
- type Tcl_StatBuf relies on config information. For now, disabled the
- use of the tclConfig.h file until its full impact on Tcl's interface
- can be assessed.
-
- * unix/configure: autoconf-2.57
-
- * generic/tcl.h: Moved the #include "tclConfig.h" out of
- * generic/tclInt.h: tcl.h. The config settings are not part of
- * generic/tclPort.: the public interface, and having it there
- breaks compiled against uninstalled Tcl and extensions using
- autoconf-2.5*.
-
-2004-11-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring
- -ttycontrol on a channel. [Bug 1067708]
-
-2004-11-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c (TclFSEpochOk): There were two code paths via
- which the thread copy of filesystemEpoch could be synched with the
- master copy, but only one kept the filesystem list cache up to date.
- Fix routes everything through a single code path. [Bug 1035775].
-
-2004-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Stop architecture flags to 'ld' from
- getting lost when [load] is disabled. [Bug 1016796]
-
-2004-11-16 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.h:
- * unix/configure.in: changed HAVE_CONFIG_H to HAVE_TCL_CONFIG_H.
-
- * unix/configure: autoconf-2.57
-
-2004-11-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Added comment warning that the old ERR_IN_PROGRESS
- and ERROR_CODE_SET flag values should not be re-used for the sake of
- those extensions that have accessed them.
-
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed
- * tests/trace.test (trace-33.1): to permit a variable trace
- created with [trace variable] to be destroyed with [trace remove].
- Thanks to Keith Vetter for the report.
-
-2004-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/tclvars.n: Added section to documentation on global variables
- that are specific to tclsh and wish. [Patch 1065732]
-
-2004-11-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEncoding.c (TableFromUtfProc): correct crash condition
- when TCL_UTF_MAX == 6. [Bug 1004065]
-
-2004-11-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/interp.n: Basic documentation of the TIP#221 API.
-
-2004-11-12 Don Porter <dgp@users.sourceforge.net>
-
- TIP #221 IMPLEMENTATION
- * generic/tclBasic.c: Define [::tcl::Bgerror] in new interps.
- * generic/tclEvent.c: Update Tcl_BackgroundError to make use of the
- registered [interp bgerror] command.
- * generic/tclInterp.c: New [interp bgerror] subcommand.
- * tests/interp.test: syntax tests updated.
-
- TIP #226 IMPLEMENTATION
- * generic/tcl.decls: Stubs for Tcl_(Save|Restore|Discard)InterpState
- * generic/tcl.h: New public opaque type, Tcl_InterpState.
- * generic/tclInt.h: Drop old private declarations. Add
- Tcl(Get|Set)BgErrorHandler
- * generic/tclResult.c: Tcl_*InterpState implementations.
- * generic/tclDictObj.c: Update callers.
- * generic/tclIOGT.c:
- * generic/tclTrace.c:
-
- TIP #227 IMPLEMENTATION
- * generic/tcl.decls: Stubs for Tcl_(Get|Set)ReturnOptions.
- * generic/tclInt.h: Drop old private declarations.
- * generic/tclResult.c: Tcl_*ReturnOptions implementations.
- * generic/tclCmdAH.c: Update callers.
- * generic/tclMain.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * unix/tclAppInit.c: Removed tclConfig.h #include, now that tcl.h
- takes care of it for us.
-
- * generic/tclInt.h: Moved verification of ptrdiff_t typedef from
- * generic/tclExecute.c: multiple .c files into one common header where
- * generic/tclVar.c: it is verifiably after tclConfig.h inclusion.
-
-2004-11-12 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.h:
- * generic/tclInt.h:
- * unix/Makefile.in: include tclConfig.h from tcl.h and install it as a
- public header. Normalized compiler include path order to
- -I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}.
-
- * unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path to pick
- up tclConfig.h.
-
- * unix/tclUnixInit.c: moved check for HAVE_CFBUNDLE define after
- #include "tclInt.h" to ensure tclConfig.h has been included.
-
-2004-11-12 Reinhard Max <max@suse.de>
-
- * unix/config.h.in:
- * unix/tclConfig.h.in: renamed
-
- * unix/Makefile.in: Completed support for config header,
- * unix/configure.in: fixed building outside of the unix dir,
- * unix/tclAppinit.c: and reflected the name change of config.h.
- * generic/tclInt.h:
-
- * unix/configure: generated
-
-2004-11-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/config.h.in: Allow configure to put all the C #defs into
- * unix/configure.in: a file (called config.h) so that Unix builds
- * unix/tcl.m4: now take far fewer lines of scrollback to
- * unix/Makefile.in: proceed (making it less likely that any errors
- * generic/tclInt.h: or warnings will get missed).
- * unix/tclAppInit.c: Part of the TIP#34 upgrades.
-
- * unix/tcl.m4, unix/tclUnixPort.h: Check for pthread_attr_get_np in
- <pthread.h> before forcing the use of <pthread_np.h> to make things
- work on NetBSD 2.0. [Bug 1064882]
-
- * doc/binary.n, doc/upvar.n: More minor fixes.
-
-2004-11-12 Daniel Steffen <das@users.sourceforge.net>
-
- * doc/CrtChannel.3:
- * doc/Interp.3:
- * doc/Limit.3:
- * doc/binary.n:
- * doc/dict.n:
- * doc/tm.n:
- * doc/upvar.n: fixed *roff errors uncovered by running 'make html'.
-
- * tools/tcltk-man2html.tcl: added faked support for bullet point
- lists, i.e. *nroff ".IP \(bu" syntax.
-
-2004-11-11 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/fCmd.test:
- * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the
- readdir() loop whenever the source hierarchy has been modified by
- traverseProc (e.g. by deleting files); this is required to ensure
- complete traversal of the source hierarchy on certain filesystems like
- HFS+. Added test for failing recursive delete on Mac OS X that was due
- to this. [Bug 1034337]
-
- * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of
- manual copy loop to shift list elements. Decreases time spent in
- Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench
- on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243]
-
- * generic/tclHash.c: hoisted some constant pointer dereferences out of
- loops to eliminate redundant loads that the gcc optimizer didn't deal
- with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full
- run of the tcl testuite on a ppc 7455. [Patch 1064243]
-
- * tests/fileName.test:
- * tests/fileSystem.test:
- * tests/io.test:
- * tests/msgcat.test:
- * tests/tcltest.test:
- * tests/unixInit.test: fixed bugs causing failures when running tests
- with -tmpdir arg not set to working dir.
-
- * macosx/Makefile: corrected path to html help inside framework.
- Prevent parallel make from building several targets at the same time.
-
- * macosx/tclMacOSXFCmd.c (struct fileinfobuf): force struct to be
- packed to prevent failures when builing with -malign=natural.
-
-2004-11-10 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixChan.c: [Bug 727786]. Exterminated the code marked
- DEPRECATED. This code has not been used in over a year now, and we
- have no complaints.
-
-2004-11-08 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c: The pipe channel driver now respects the -blocking
- option when closing is the same way the UNIX side works. This is to
- avoid a hung shell when exiting due to open pipes that refuse to close
- in a graceful manner.
- * doc/open.n: Added a note about -blocking 0 and lack of exit status
- as it had never been documented. [Bug 947693]
-
- ***POTENTIAL INCOMPATIBILITY***
-
- Scripts that use async pipes on windows, must (like the UNIX side) set
- -blocking to 1 before calling [close] to receive the exit status.
-
-2004-11-07 David Gravereaux <davygrvy@pobox.com>
-
- * tests/winFile.test: added contraint to winFile-4.0 to prevent it
- being run on NT4 [Bug 981829]
-
-2004-11-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/reg.test: Major reorganization so that this file is much
- easier for a normal Tcl maintainer to comprehend. The test flags are
- still very cryptic, but they appear to have to be that way. The number
- of skipped tests has increased, but now the skipped tests have much
- more meaningful content.
-
- * tests/tm.test (genpaths): Add a [file normalize] so we pick up
- Windows drive letters, etc. [Bug 1053568]
-
-2004-11-04 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates toward an 8.5a2 release.
-
-2004-11-03 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (FreeScan): Fixed a bug where scanning "Monday"
- with a base time other than midnight incorrectly carried the base time
- forward.
-
- * test/clock.test (clock-33.{5,5a}): Made the test failure more
- informative.
-
- * tests/clock.test (clock-34.{28,44,45,46}): Removed 'knownBug'
- constraints from tests that no longer fail.
-
- Thanks to Don Porter for reporting these.
-
-2004-11-03 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tcl.h: Moved the preprocessor logic
- * generic/tclDecls.h: from tclInt.h of setting the
- * generic/tclInt.h: TCL_STORAGE_CLASS macro to the
- * generic/tclIntDecls.h: tcl*Decls.h files now that no
- * generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h.
- * generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h
- * win/tclWinPort.h: to prior the inclusion of the Stubs
- headers as they are now resetting TCL_STORAGE_CLASS. Removed
- extraineous reset from tclWinPort.h. [Patch 1055668]
-
- * generic/tclCompile.h: Removed extrainious reset of TCL_STORAGE_CLASS
- missed in my last edit.
-
-2004-11-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl ([unknown]): Corrections to the 2004-10-25 mods to
- Aunt ??? in [unknown]. Flaws revealed by Itcl test suite, which still
- apparently relies on this brokenness. Also added comment suggesting
- the error message that any code using this hack *ought* to receive in
- reply.
-
- * generic/tclTrace.c (TclCallVarTraces): Improved ability to debug
- * tests/incr-old.test (incr-old-2.6): errors during variable
- * tests/incr.test (incr-{1,2}.28): traces by preserving the
- * tests/set.test (set-{2,4}.4): -errorinfo data.
- * tests/trace.test (trace-33.1): [Bug 527164]
-
-2004-11-02 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclInt.h: added a check for #ifdef __cplusplus around the
- #define of MODULE_SCOPE. About the only time it would be problem is
- when someone is statically linking to Tcl and accessing internals from
- a C++ file and has name mangling issues from the lack of "C" after
- 'extern' [Patch 1055668].
- * generic/tclCompile.h: Exchanged use of the EXTERN macro to the new
- MODULE_SCOPE macro. Lowered exported internals count by 35. [Patch
- 1055668]
- * win/tclWinInt.h:
- * win/tclWinPort.h: exported internals dropped by a count of 14.
- * generic/tclFileSystem.h: Added use of MODULE_SCOPE on protos.
- * generic/tclRegexp.h: manipulating TCL_STORAGE_CLASS unnecessary.
-
-2004-11-02 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected some misleading
- * tests/tcltest.test (tcltest-26.1,2): displays of ::errorInfo and
- ::errorCode information when the -setup, -body, and/or -cleanup scripts
- return an unexpected return code. Thanks to Robert Seeger for the fix.
- [RFE 1017151].
-
-2004-11-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Improved version of the
- NaN fix from Miguel Sofer. [Bug 761471]
-
-2004-11-02 Kevin Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Cuiaba: Change to DST rules for
- * library/tzdata/America/Havana: autumn of 2004.
- [ftp://elsie.nci.nih.gov/pub/tzdata2004g.tar.gz]
-
- * tools/tclZIC.tcl: Updated to be compatible with recent changes in
- library/clock.tcl.
-
-2004-11-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFile.c: Simplify TclpUtime to use Tcl_FSGetNativePath, and
- add comments.
-
-2004-11-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInt.h: Change uses of EXTERN to MODULE_SCOPE (defined in
- this file too to be 'extern' if not overridden) as nothing declared in
- tclInt.h is supposed to be visible outside the Tcl core. If there *is*
- anything that extensions are actually using, we can open this up later
- on. [Patch 1055668]
-
- * doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446]
-
-2004-11-01 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinFile.c (FromCTime, TclpUtime): Replaced a call to the
- Posix 'utime' function with calls to Windows-API equivalents, to avoid
- a bug where the VC++ versions misconvert times across a Daylight
- Saving Time boundary. [Bug 926106]
- * win/tclWinInt.h (TclWinProcs):
- * win/tclWin32Dll.c (asciiProcs, unicodeProcs): Removed now-unused
- reference to 'utime'.
- * tests/cmdAH.test (cmdAH-24.12): Added test case for the above bug.
-
-2004-11-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Make INST_EQ and friends
- handle NaN correctly in all cases. [Bug 761471]
-
- * generic/tclNamesp.c (NamespaceInscopeCmd): Make the error message
- generation the same as in NamespaceEvalCmd().
- (Tcl_Import): Rationalized to use Tcl_EvalObjv().
-
-2004-10-31 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/io.test (io-40.3): Convert umask2 test constraint into a form
- that most people will be able to satisfy.
-
- * tests/cmdAH.test (cmdAH-8.45): Removed broken test constraint. It
- didn't do what it was intended to do, and it implied the other correct
- constraint. [Bug 1053908]
-
- * generic/tclCmdIL.c (InfoGlobalsCmd):
- * tests/info.test (info-8.4): Strip leading global-namespace
- specifiers from the pattern argument. [Bug 1057461]
-
-2004-10-30 Kevin Kenny <kennykb@acm.org>
-
- * generic/clock.c: Replaced WIN32 macro with __WIN32__. [Bug 1054357].
- Thanks to David Gravereaux for the patch.
- * win/tclWinFile.c: Removed a long-standing bug that causes incorrect
- conversion between file time and UTC time if the file time is recorded
- in a different Daylight Saving Time status than the current one. [Bug
- 926106]
-
-2004-10-29 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Correct reaction to errors in the
- obsolete processCmdLineArgsHook. [Bug 1055673]
- * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.7
- * unix/Makefile.in:
- * tests/all.tcl: Update to use [tcltest::configure].
-
-2004-10-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * library/tm.tcl (::tcl::tm::*): Use the core proc engine to generate
- the wrong-num-args error messages for the path ensemble.
-
- Ensembles can now (sometimes) rewrite the error messages of their
- subcommands so they appear more like the arguments that the user
- passed to the ensemble. Below is a description of changes involved in
- doing this.
-
- * tests/namespace.test (namespace-50.*): Tests of ensemble subcommand
- error message rewriting.
- * generic/tclProc.c (TclObjInterpProc): Make procedures implement
- their wrong-num-args message using Tcl_WrongNumArgs instead of
- something baked-at-home.
- * generic/tclNamesp.c (TclIsEnsemble, NsEnsembleImplementationCmd):
- Added test of ensemble-hood (available to rest of core) and made
- ensembles set up the rewriting for Tcl_WrongNumArgs to take advantage
- of.
- * generic/tclInt.h (Interp.ensembleRewrite): Extra fields.
- * generic/tclIndexObj.c (Tcl_WrongNumArgs): Add knowledge of what is
- going on in ensembles' command rewriting so this command can generate
- the right error message itself.
- * generic/tclBasic.c (Tcl_CreateInterp, TclEvalObjvInternal): Added
- code to initialize (as empty) the rewriting fields and reset them when
- we leak outside an ensemble implementation.
-
-2004-10-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_START_CMD):
- * tests/execute.test (execute-8.3): fix for execution stack corruption
- [Bug 1055676]. Credit dgp for detective work and fix.
-
-2004-10-27 Don Porter <dgp@users.sourceforge.net>
-
- * tests/socket.test (socket-13.1): Balanced [makeFile] and
- [removeFile] commands.
-
- * tests/clock.test: Correct duplicate test names.
- * tests/namespace.test:
- * tests/string.test:
- * tests/io.test (io-50.4): Use namespace variables.
-
-2004-10-27 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclInt.decls: The following 9 functions were moved from
- * generic/tclInt.h: tclInt.h to the private/int Stubs table for
- * generic/tclIntDecls.h: use by the test suite. As tclTest.obj is
- * generic/tclStubInit.c: linked to the shell, these functions need
- "blessed" status so as to always be exported from the library. Being
- placed in the Stubs table guarantees this [Bug 1054748]:
- TclpObjRemoveDirectory, TclpObjCopyDirectory,
- TclpObjCreateDirectory, TclpObjDeleteFile,
- TclpObjCopyFile, TclpObjRenameFile,
- TclpObjStat, TclpObjAccess,
- TclpOpenFileChannel
-
- * tests/registry.test: Fixed test files to load the correct
- * tests/winDde.test: registry and dde packages by using the info
- * win/Makefile.in: from makefiles to tell tcltest where to load
- * win/makefile.vc: them from. This avoids grabbing the wrong
- package from $auto_path which might be the install point rather than
- the dev location. Kudos to Jennifer Hom for adding -load and
- -loadfile to the tcltest package. [Bug 926088]
-
- * win/tclWinThrd.c (TclFinalizeLock): release the critical section
- before deleting it. [Bug 731778]
-
- * generic/tcl.h: Removed the file level 'extern "C" {' and the
- coresponding closing block as it serves no purpose given that all the
- function prototypes have the proper extern usage already.
-
- * unix/tclAppInit.c: When built as tcltest, TclThread_Init was
- * win/tclAppInit.c: getting called twice. First by Tcltest_Init,
- then again in Tcl_AppInit. The call from Tcl_AppInit is now removed.
-
-2004-10-27 Andreas Kupries <andreask@activestate.com>
-
- * tests/tm.test: Expanded on the testsuite entered by Donal.
- * library/tm.tcl: Even found bugs, these have been corrected.
-
-2004-10-26 Kevin Kenny <kennykb@acm.org>
-
- * tests/format.test (format-19.1): Additional regression test for [Bug
- 868489].
-
-2004-10-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/*.n: Many small general documentation fixes.
-
-2004-10-26 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclPipe.c (TclCleanupChildren): bad cast of resolvedPid
- caused PIDs on win95 to go negative. winpipe-4.2 brought this to the
- surface. Fixed with sprintf in place of TclFormatInt. Thanks to hgiese
- [Patch 767676]
-
-2004-10-26 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::Defaults): Added a second [file dirname]
- around the location of the executable. This fixes [Bug 1038705].
- Instable of a bogus "foo/bin/lib" we now have the correct "foo/lib" as
- a base path for modules.
-
-2004-10-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test
- * tests/subst.test (subst-12.3-5): More tests for Bug 1036649.
-
- * unix/Makefile.in (install-libraries): Updated the installation of
- the http, msgcat, and tcltest packages to install as Tcl Modules on
- Unix systems. Other platform Makefiles still need updating. [Patch
- 1054370]
-
- * tests/basic.test: Added missing constraints.
- * tests/compile.test:
- * tests/fileSystem.test:
-
- * tests/init.test (init-2.8): Updated to not rely on http package.
-
-2004-10-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclVar.c: removed more direct references to the VAR flags,
- replaced with access macros.
-
-2004-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/expr.n: Clarified that non-num/non-bool literals require
- quoting. [Bug 1027849]. Also listed booleans as acceptable values.
-
-2004-10-26 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (FreeScan): Fixed a bug that caused relative days
- of the week in free-form [clock scan] to be evaluated in the wrong
- time zone.
- * tests/clock.test (clock-31.[456]): Made sure that there isn't an
- env(TZ) or env(TCL_TZ) lying around that will override the time zone
- that we're trying to establish with the simulated registry.
- Both problems reported as [Bug 1054101].
-
-2004-10-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/string.n (map): Rewrote to clarify that we don't just map single
- characters. [Bug 1048005]
- * doc/info.n (procs): Clarified that the pattern argument may have
- namespace separators in it. [Bug 1047928]
-
- * tests/cmdAH.test (cmdAH-8.45): Simplify in the hope that the reasons
- for [Bug 1053908] will become clearer.
-
-2004-10-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode):
- Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer
- needed for protection because routines like Tcl_SetErrorCode() and
- Tcl_AddErrorInfo() can no longer re-enter bytecode execution.
-
- * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a
- missing -errorinfo option when code == TCL_ERROR causes the errorInfo
- field to get reset.
-
- * tests/thread.test (thread-4.4): Test depended on a ::errorInfo value
- initialized to "". Added code to test to setup that requirement.
-
- * library/auto.tcl: Purged Tcl's script library of all
- * library/clock.tcl: remaining references to global vars
- * library/init.tcl: ::errorInfo and ::errorCode.
-
- * generic/tclMain.c (Tcl_Main): Updated to make use of
- TclGetReturnOptions instead of ::errorInfo variable.
-
- * generic/tclInterp.c (tclInit): Bug fix. Access dict variables with
- [dict get], not array syntax.
-
-2004-10-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/tm.test: Rewrote the tests to actually perform syntax checks
- on the public API. Added a new test (currently failing) to indicate
- that the test suite is not complete yet.
- * library/tm.tcl (path): Rewrote to turn this command into an ensemble
- to make it faster and simpler.
-
-2004-10-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclTrace.c: defined new macros to get/set the flags of
- variables. The only files that still access the flag values directly
- are tclCompCmds.c, tclCompile.c, tclProc.c and tclVar.c
-
-2004-10-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_LogCommandInfo,Tcl_AddObjErrorInfo): Shift
- the initialization of errorCode to NONE to more central location.
-
- * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors):
- Rewrite to build on the new TclGet/SetReturnOptions routines.
-
- * generic/tclResult.c (TclGetReturnOptions): Add call to
- Tcl_AddObjErrorInfo to be sure error fields are initialized.
-
- * generic/tclResult.c (TclTransferResult): Rewrite to build on the new
- TclGet/SetReturnOptions routines.
-
-2004-10-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/tm.n: Tightened up the documentation.
- * tests/tm.test: Created (with partially dummy content) so TIP#189 can
- be marked Final.
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make ensembles
- cut their implementations out of error traces. This is the right thing
- to do more often than not.
-
-2004-10-22 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Fixed a typo where the fallback time zone became
- ::localtime instead of :localtime. Fixed a bug where time zone names
- containing hyphens could not be loaded.
- * tests/clock.test: Added regression test cases that covers both bugs.
- Thanks to Todd M. Helfter <tmh@jumpgate.itsp.purdue.edu> for finding
- these bugs.
-
-2004-10-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TclCompEvalObj, Tcl_ExprObj):
- * generic/tclProc.c (TclProcCompileProc): Always call object
- freeIntRepProc's in the same way.
-
-2004-10-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: fixed bug in commit of 2004-07-23, which was
- causing a leak of Proc structures and failure of compile-12.1. Two
- lines were 'zombies' from the previous way localVarNames worked.
- Credit dgp for finding this.
-
-2004-10-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (Interp):
- * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
- * generic/tclResult.c (GetKeys,ReleaseKeys,etc.): Moved the key values
- of the return options dictionary out of private fields of the Interp
- struct and into thread-static values managed in tclResult.c.
-
- * generic/tclCmdAH.c (Tcl_CatchObjCmd, Tcl_ErrorObjCmd): Updated to
- call the new TclGet/SetReturnOptions routines to do much of their
- work.
-
- * generic/tclInt.h (TclGetReturnOptions,TclSetReturnOptions):
- * generic/tclResult.c (TclGetReturnOptions,TclSetReturnOptions): New
- utility routines to get/set the return options of an interp. Intent is
- that these routines will be converted to public routines after TIP
- approval.
-
- * generic/tclCmdMZ.c (TclProcessReturn,TclMergeReturnOptions):
- * generic/tclResult.c (TclProcessReturn,TclMergeReturnOptions): Move
- internal utility routines from tclCmdMZ.c to tclResult.c.
-
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp):
- * generic/tclResult.c (TclTransferResult): Rework so that
- iPtr->returnOpts can be NULL when there are no special options.
-
- * generic/tclResult.c (TclRestoreInterpState): Plug potential memory
- leak.
-
-2004-10-21 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclBasic.c: Various changes to [clock format] that,
- * generic/tclClock.c: together, make it roughly twice as fast
- * generic/tclInt.h: while all tests in the test suite
- * library/clock.tcl: continue to pass.
-
-2004-10-20 Andreas Kupries <andreask@activestate.com>
-
- * win/Makefile.in (install-msgs): Fixed a problem with the
- * win/Makefile.in (install-tzdata): installation of timezone data and
- message catalogs. They used the installed tcl library directory, not
- the source library. Before it was installed. Switched to source lib
- dir. Thanks to Kevin for the help in figuring this out.
-
-2004-10-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug
- where the returned (char *) from Tcl_GetStringResult(interp) continued
- to be used without copying or refcounting, while activity on the
- interp continued. That's not safe, and recent changes demonstrated the
- lack of safety with failing tests thread-4.3 and thread-4.5.
-
-2004-10-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclDictObj.c (DictWithCmd): Make sure all paths (that are
- not themselves error paths) do not lose the result code.
-
-2004-10-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (Tcl*InterpState): New internal routines
- * generic/tclResult.c (Tcl*InterpState): TclSaveInterpState,
- TclRestoreInterpState, and TclDiscardInterpState are superior
- replacements for Tcl_(Save|Restore|Discard)Result. Intent is that
- these routines will be converted to public routines after TIP
- approval. Interfaces for these routines were shamelessly stolen from
- Itcl.
-
- * generic/tclBasic.c (TclEvalObjvInternal):
- * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd):
- * generic/tclIOGT.c (ExecuteCallback):
- * generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces):
- Callers of Tcl_*Result updated to call the new routines. The calls
- were relocated in several cases to perform save/restore operations
- only when needed.
-
- * generic/tclEvent.c (HandleBgErrors):
- * generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that
- were eliminated because they appeared to serve no useful purpose,
- typically saving/restoring an error message, only to throw it away.
-
-2004-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
- * generic/tclCmdAH.c (Tcl_CatchObjCmd):
- * generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn):
- * generic/tclCompCmds.c (TclCompileReturnCmd):
- * generic/tclExecute.c (TclCompEvalObj):
- * generic/tclInt.h (Interp):
- * generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of
- the -level and -code information in private fields of the Interp
- struct, rather than in a DictObj. This should significantly improve
- performance of TclUpdateReturnInfo.
-
-2004-10-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclResult.c: removed unused variable [Bug 1048588]. Thanks
- to Daniel South.
-
-2004-10-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (TclProcessReturn): Now that primary
- * generic/tclProc.c (TclUpdateReturnInfo): storage for the
- errorInfo and errorCode values are internal fields, we can set them at
- the time of the [return] command, and not have to wait until the
- specified number of "-level"s have popped.
-
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
- (TclEvalObjvInternal, Tcl_LogCommandInfo, TclAddObjErrorInfo):
- * generic/tclCmdAH.c (Tcl_CatchObjCmd):
- * generic/tclEvent.c (BgError, ErrAssocData, Tcl_BackgroundError)
- (HandleBgErrors, BgErrorDeleteProc):
- * generic/tclExecute.c (TclCreateExecEnv, TclDeleteExecEnv):
- * generic/tclIOUtil.c (comments only):
- * generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS):
- * generic/tclInterp.c ([tclInit]):
- * generic/tclMain.c (comments only):
- * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
- (TclTeardownNamespace):
- * generic/tclProc.c (TclUpdateReturnInfo):
- * generic/tclResult.c (Tcl_ResetResult, TclTransferResult):
- * generic/tclTrace.c (CallVarTraces):
- Reworked management of the "errorInfo" data of an interp. That
- information is now primarily stored in a new private (Tcl_Obj *) field
- of the Interp struct, rather than using a global variable ::errorInfo
- as the primary storage. The ERR_IN_PROGRESS flag bit value is no
- longer required to manage the value in its new location, and is
- removed. Variable traces are established to support compatibility for
- any code expecting the ::errorInfo variable to hold the information.
-
- ***POTENTIAL INCOMPATIBILITY***
- Code that sets traces on the ::errorInfo variable may notice a
- difference in timing of the firing of those traces. Code that uses the
- value ERR_IN_PROGRESS.
-
-2004-10-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP#217 IMPLEMENTATION
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Add -indices option from James
- Salsman. [Patch 1017532]
-
- * generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of
- glob matching that let us avoid scanning through hash tables.
- * generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd):
- (InfoVarsCmd): Use this to speed up some [info] subcommands.
-
-2004-10-12 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Campo_Grande:
- * library/tzdata/America/Cuiaba:
- * library/tzdata/America/Sao_Paulo
- * library/tzdata/America/Argentina/Mendoza:
- * library/tzdata/America/Argentina/San_Juan:
- Synchronized to Olson's 'tzdata2004e'.
-
-2004-10-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP#201 AND TIP#212 IMPLEMENTATIONS
-
- * doc/dict.n, doc/expr.n: Documentation for new functionality.
- * tests/expr.test: Basic tests of 'in' and 'ni' behaviour.
- * tests/dict.test (dict-21.*,dict-22.*): Tests for [dict update] and
- [dict with].
- * generic/tclExecute.c (TclExecuteByteCode): Implementation of the
- INST_LIST_IN and INST_LIST_NOT_IN bytecodes.
- * generic/tclParseExpr.c (GetLexeme): Parse the 'in' and 'ni'
- operators for TIP#201.
- * generic/tclDictObj.c (DictUpdateCmd,DictWithCmd): Core of
- implementation of TIP#212; docs and tests still to do...
-
-2004-10-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTest.c (TestsetobjerrorcodeCmd): Simplified.
-
-2004-10-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c:
- * generic/tclFileSystem.h:
- * generic/tclIOUtil.c:
- * generic/tclPathObj.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c:
- * tests/fileName.test:
- * tests/winFCmd.test: code reorganization for better generic/platform
- code splitting [Bug 925620] removing the need for several #ifdef's,
- and tests and fix for an unreported Windows glob problem ('glob -dir
- C: -tails *').
-
-2004-10-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * *.3: Convert CONST to const and VOID to void so we document how
- people should actually use the Tcl API and not the compatability hacks
- that it has to have.
-
- * doc/man.macros, *.3: Update .AS macro so it can know how wide to
- make the third column of the argument list. Update documentation for C
- API (only users) to take advantage of this.
-
- * doc/FileSystem.3: Formatting fixes for greater documentation
- clarity.
-
-2004-10-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclFileName.c (DoGlob, TclGlob): Stop messy sharing of
- interpreter result and instead use a private object for collecting the
- result of the glob. This simplifies TclGlob quite a lot.
- * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): Simplify by removing
- some nesting. Also standardize variable names.
- (FsAddMountsToGlobResult): Force updates to the list to be done
- in-place, putting a side-condition of non-shared-ness on the resultPtr
- argument to Tcl_FSMatchInDirectory, but everything would have broken
- before if that was shared *anyway*.
-
- * generic/tclEncoding.c (LoadTableEncoding): Removed reference to Tcl
- interpreter; it wasn't needed as direct object use is more efficient.
-
- * generic/tclPathObj.c: Made this file follow the style rules in the
- Engineering Manual more closely, and also take advantage of the
- internal object manipulation macros more.
-
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reorganized to have fewer
- magic flag variables and to separate the code that scans for a match
- from the code that processes a match body.
-
-2004-10-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c:
- * generic/tclBinary.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompExpr.c:
- * generic/tclDictObj.c:
- * generic/tclEncoding.c:
- * generic/tclExecute.c:
- * generic/tclFCmd.c:
- * generic/tclHistory.c:
- * generic/tclIndexObj.c:
- * generic/tclInterp.c:
- * generic/tclIO.c:
- * generic/tclIOCmd.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclPkg.c:
- * generic/tclResult.c:
- * generic/tclScan.c:
- * generic/tclTimer.c:
- * generic/tclTrace.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixPipe.c:
- * win/tclWinDde.c:
- * win/tclWinFCmd.c:
- * win/tclWinPipe.c:
- * win/tclWinReg.c:
- It is a poor practice to directly set or append to the value of the
- objResult of an interp, because that value might be shared, and in
- that circumstance a Tcl_Panic() will be the result. Searched for
- example of this practice and replaced with safer alternatives, often
- using the Tcl_AppendResult() routine that dkf just rehabilitated.
- * library/dde/pkgIndex.tcl: Bump to dde 1.3.1
- * library/reg/pkgIndex.tcl: Bump to registry 1.1.5
-
-2004-10-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/SetResult.3: Made Tcl_AppendResult non-deprecated; better that
- people use it than most of the common alternatives!
- * generic/tclResult.c (Tcl_AppendResultVA): Make this work better with
- Tcl_Objs. [Patch 1041072]
- (Tcl_SetResult, Tcl_AppendElement): Change string to stringPtr to
- avoid C++ keywords.
-
-2004-10-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclObjInvoke): More simplification of the
- TclObjInvoke routine toward unification with the rest of the
- evaluation stack.
-
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
- (TclEvalObjvInternal, Tcl_LogCommandInfo):
- * generic/tclCmdAH.c (Tcl_CatchObjCmd):
- * generic/tclEvent.c (BgError, Tcl_BackgroundError, HandleBgErrors):
- * generic/tclInt.h (Interp, ERROR_CODE_SET):
- * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
- (TclTeardownNamespace):
- * generic/tclResult.c (Tcl_ResetResult, Tcl_SetObjErrorCode)
- (TclTransferResult):
- * generic/tclTrace.c (CallVarTraces):
- Reworked management of the "errorCode" data of an interp. That
- information is now primarily stored in a new private (Tcl_Obj *) field
- of the Interp struct, rather than using a global variable ::errorCode
- as the primary storage. The ERROR_CODE_SET flag bit value is no longer
- required to manage the value in its new location, and is removed.
- Variable traces are established to support compatibility for any code
- expecting the ::errorCode variable to hold the information.
-
- ***POTENTIAL INCOMPATIBILITY***
- Code that sets traces on the ::errorCode variable may notice a
- difference in timing of the firing of those traces.
-
- * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
- workaround. That bug is now fixed.
-
-2004-10-04 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test (clock-34.*): Removed an antibug that forced
- comparison of [clock scan] results with the :localtime time zone. Now
- that [clock scan] uses the current time zone instead, the antibug
- caused several tests to fail. [Bug 1038554]
-
-2004-10-04 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclParseExpr.c (GetLexeme): Ensure that the 'eq' and 'ne'
- operators are followed by non-alphabetic characters so lexemes can't
- run together. [Bug 884830]
-
- * doc/DictObj.3, doc/dict.n: Clarified that a dictionary is not
- order-preserving. [Bug 1032243] Also added another example to show off
- more ways of using a dictionary and a few other formatting
- improvements.
-
-2004-10-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclDictObj.c (TraceDictPath, Tcl_DictObjPutKeyList): Add
- support for automatic creation of dictionary paths since that is what
- everyone seems to actually expect of the API! [Bug 1037235]
- (Tcl_DictObjNext): Make calling this after Tcl_DictObjDone non-fatal
- as that simplifies a number of internal APIs. This doesn't break any
- existing working code as it is a case which previously caused a panic.
-
-2004-10-02 Don Porter <dgp@users.sourceforge.net>
-
- * tests/namespace.test (namespace-8.7): Another test for save/restore
- of ::errorInfo and ::errorCode during global namespace teardown.
-
-2004-10-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclProc.c (TclObjGetFrame, Tcl_UplevelObjCmd):
- * generic/tclVar.c (Tcl_UpvarObjCmd): Cache stackframe level
- references in the level object for speed.
-
-2004-09-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_CreateInterp):
- * generic/tclInt.h (Interp): Removed the flag bit value
- EXPR_INITIALIZED. It was set during interp creation and never tested.
- Whatever purpose it had is in the past.
-
- * generic/tclBasic.c (Tcl_EvalObjEx): Removed the flag bit value
- * generic/tclInt.h (Interp): USE_EVAL_DIRECT. It was used
- * generic/tcLTest.c (TestevalexObjCmd): only in the testing command
- * tests/parser.test (parse-9.2): [testevalex] and nothing in
- the test suite made use of the capability it enabled.
-
- * generic/tclBasic.c (Tcl_AddObjErrorInfo): More re-organization
- * generic/tclCmdAH.c (Tcl_ErrorObjCmd): of the management of
- * generic/tclCmdMZ.c (TclProcessReturn): the errorCode value.
- * tests/error.test (error-6.4-9):
-
- * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified
- * tests/namespace.test (namespace-8.5,6): the save/restore of
- ::errorInfo and ::errorCode during global namespace teardown. Revised
- the comment to clarify why this is done, and added tests that will
- fail if this is not done.
-
- * generic/tclResult.c (TclTransferResult): Added safety checks so that
- unexpected undefined ::errorInfo or ::errorCode will not lead to a
- segfault.
-
- * generic/tclTrace.c (TclCallVarTraces): Save/restore the flag values
- * tests/var.test (var-16.1): that define part of the
- interpreter state during variable traces. [Bug 1038021].
-
-2004-09-30 Miguel Sofer <msofer@users.sf.net>
-
- * tests/subst.test (12.1-2): added tests for [Bug 1036649]
-
-2004-09-29 Don Porter <dgp@users.sourceforge.net>
-
- * tests/basic.test (49.*): New tests for TCL_EVAL_GLOBAL.
-
-2004-09-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclVar.c (TclObjLookupVar, TclObjLookupVar):
- (TclObjUnsetVar2, SetArraySearchObj):
- * generic/tclUtil.c (SetEndOffsetFromAny):
- * generic/tclStringObj.c (Tcl_SetStringObj):
- (Tcl_SetUnicodeObj, SetStringFromAny):
- * generic/tclResult.c (ResetObjResult):
- * generic/tclRegexp.c (Tcl_GetRegExpFromObj):
- * generic/tclPathObj.c (TclFSMakePathRelative, SetFsPathFromAny):
- (TclFSMakePathFromNormalized, Tcl_FSNewNativePath):
- * generic/tclObj.c (TclFreeObj, Tcl_SetBooleanObj, SetBooleanFromAny):
- (Tcl_SetDoubleObj, SetDoubleFromAny, Tcl_SetIntObj):
- (SetIntOrWideFromAny, Tcl_SetLongObj, SetWideIntFromAny):
- (Tcl_SetWideIntObj, TclSetCmdNameObj, SetCmdNameFromAny):
- * generic/tclNamesp.c (SetNsNameFromAny, MakeCachedEnsembleCommand):
- * generic/tclListObj.c (Tcl_SetListObj, SetListFromAny):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):
- * generic/tclDictObj.c (SetDictFromAny):
- * generic/tclCompile.c (TclInitByteCodeObj):
- * generic/tclBinary.c (Tcl_SetByteArrayObj, SetByteArrayFromAny):
- * generic/tclInt.h (TclFreeIntRep): Factorize out deletion of object
- internal representation to a shared macro, so simplifying much code.
-
-2004-09-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TclObjInvoke): fix for bogus gcc warning about
- uninitialised variable.
-
-2004-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed internal routines TclInvoke,
- * generic/tclInt.decls: TclGlobalInvoke, TclObjInvokeGlobal and the
- * tests/basic.test: portion of TclObjInvoke that handles calls
- without TCL_INVOKE_HIDDEN enabled. None of this code is called any
- longer within the core, and the superior public interface,
- Tcl_EvalObjv, is available for any external callers.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclEvent.c (HandleBgErrors): Updated [bgerror] invocations
- to make use of Tcl_Obj based routines, dropping the calls to
- TclGlobalInvoke()
-
-2004-09-27 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c:
- * generic/tclFileSystem.h:
- * generic/tclIOUtil.c:
- * generic/tclPathObj.c:
- * tests/cmdAH.test:
- * tests/fileSystem.test:
- * tests/winFCmd.test: fix to bad error message with 'cd' on windows,
- when permissions are inadequate [Bug 1035462] and to treatment of a
- volume-relative pwd on Windows [Bug 1018980].
-
- * doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug
- 935853]
-
-2004-09-27 Kevin Kenny <kennykb@acm.org>
-
- * compat/strftime.c (Removed):
- * generic/tclClock.c (removed TclClockOldscanObjCmd):
- * generic/tclDate.c (Regenerated):
- * generic/tclGetDate.y:
- * generic/tclInt.decls (removed TclGetDate and TclpStrftime):
- * generic/tclInt.h (removed TclGetDateInfo):
- * generic/tclIntDecls.h (Regenerated):
- * generic/tclStubInit.c (Regenerated):
- * library/clock.tcl:
- * unix/tclUnixTime.c (removed TclpStrftime):
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.bc:
- * win/tcl.dsp:
- Continued refactoring of [clock] for TIP 173 changes. Broke the
- free-form parser apart so that the Bison parser is responsible for
- only parsing, while clock.tcl handles relative times like "next
- Thursday", "next January". This change is needed to make timezones
- other than :localtime and :Etc/UTC work with free-form scanning. This
- change closes out the issue identified as being "for another day" in
- my log message of 2004-09-08. The refactored code also eliminates the
- last known references to TclpStrftime and TclGetDate, so those
- routines (including compat/strftime.c) have been removed. The
- refactoring also has the benefit that all storage in the Bison parser
- is now on the C stack, eliminating any need for mutex protection
- around [clock scan]. Also, changed the Makefiles so that 'make
- gendate' is available on Windows as well as Unix.
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Removed some grubby
- * generic/tclObj.c (SetBooleanFromAny): work-around code that was
- needed only because of Bug 868489.
-
- * generic/tclBasic.c (TclObjInvoke): Removed three unused variables to
- silence a compiler warning in VC++.
-
-2004-09-27 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3: fix to small typo.
-
-2004-09-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclInt.h:
- * generic/tclProc.c:
- * tests/compExpr-old.test:
- * tests/compExpr.test:
- * tests/expr.test:
- * tests/for.test:
- * tests/if.test:
- * tests/incr.test:
- * tests/while.test:
- Report compilation errors at runtime, [Patch 1033689] by dgp.
-
-2004-09-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/dltest/Makefile.in (clean): Fixup make clean rule so that it
- does not delete all files when SHLIB_SUFFIX is set to the empty string
- in a static build. [Bug 1016726]
-
-2004-09-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrections to the 2004-09-21 commit
- * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit
- * generic/tclNamesp.c: caused Tk test send-10.7 to fail. Added
- * tests/namespace.test (25.7,8): tests in the Tcl test suite
- * tests/pkg.test (2.25,26): to catch this error without the aid
- of Tk in the future.
-
- * generic/tclCmdAH.c (Tcl_ExprObjCmd): Simplified the TclObjCmdProc
- of [expr] with a call to Tcl_ConcatObj.
-
-2004-09-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (TclProcessReturn): Support the -errorline
- * generic/tclCompile.c (TclCompileScript): option to [return].
- * tests/compile.test (16.23.*): Use that capability to defer reporting
- * tests/misc.test (1.2): of parse errors until runtime. Updated
- tests to reflect change. [Bug 1032805]
-
-2004-09-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_START_CMD):
- * tests/proc.test (7.2-3): fix for [Bug 729692] was incorrect whenever
- a loop exception was returned.
-
-2004-09-22 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Montevideo: Updated to reflect
- ftp://elsie.nci.nih.gov/pub/tzdata2004d.tar.gz. (Changes to
- Asia/Jerusalem were in the comments only.) [Routine maintenance - no
- bug] Spanish-language description of the change at
- http://www.presidencia.gub.uy/decretos/2004091502.htm
-
-2004-09-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Tolerate [append] syntax errors
- * tests/appendComp.test (8.1): at compile time, and allow runtime to
- raise the error (or succeed if a redefined [append] allows).
-
- * generic/tclBasic.c: Reworked management of the interp flag
- * generic/tclCompile.c: ERR_ALREADY_LOGGED, to reduce its exposure.
- * generic/tclExecute.c: Still left several referebces that are just
- * generic/tclNamesp.c: too nice on performace to do away with. These
- changes also resolve an inconsistency in the ::errorInfo values
- produced by [namespace eval x error foo bar] and [namespace eval x
- {error foo bar}].
-
- * generic/tclExecute.c (TclCompEvalObj): Simplified the
- TclCompEvalObj routine. Much housekeeping now reliably happens
- elsewhere. [Patch 1031949]
-
-2004-09-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/interp.n: Tighten up wording on how [interp eval] and [interp
- invokehidden] operate w.r.t. stack frames. [Bug 926590]
-
-2004-09-20 Don Porter <dgp@users.sourceforge.net>
-
- * tests/error.test (error-6.2,3): Added more tests to verify
- ::errorCode setting by/after a [catch].
-
-2004-09-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdAH.c: removed outdated comment [Bug 1029518].
-
-2004-09-18 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c: Dde package can load into a safe interp. Claim
- this fact for the Tcl_StaticPackage() call when the shell is built
- with the TCL_USE_STATIC_PACKAGES option.
-
-2004-09-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that
- large shifts end up shifting correctly. [Bug 868467]
-
- * doc/FileSystem.3, doc/OpenFileChnl.3: More documentation fixes from
- Mikhail Kolesnitchenko. [Patch 1022527]
- * doc/*: Standardize highlighting of symbols defined in tcl.h
-
-2004-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_AddObjErrorInfo, Tcl_LogCommandInfo):
- * generic/tclCmdAH.c ([catch], [error]):
- * generic/tclCmdMZ.c ([return]):
- * generic/tclProc.c (TclUpdateReturnInfo):
- * generic/tclResult.c (Tcl_SetErrorCodeVA, Tcl_SetObjErrorCode)
- (TclTransferResult): Refactored so that all errorCode setting flows
- through Tcl_SetObjErrorCode(). This greatly reduces the number of
- different places in the code that need to know details about an
- internal bitflag field of the Interp struct. Also places errorCode
- setting in one place for easier future mods.
-
-2004-09-17 Kevin B.Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Revised tclGetDate.y to use bison instead of
- * generic/tclGetDate.y: yacc to build the parser, eliminating all the
- * generic/tclInt.h: complicated hackery involving 'sed'
- * unix/Makefile.in: postprocessing. Rebuilt the parser.
-
-2004-09-14 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (ClockOldscanObjCmd): Silenced a compiler warning
- (long passed as a param where unsigend long was expected). 'Unsigned
- long' is wrong, but the fix is really to change the signature of
- TclGetDate to return a structure of its 'yy' variables and then do the
- remaining work inside clock.tcl. But, as I said on 2004-09-08, that's
- a job for another day. [Bug 1027993]
-
-2004-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * doc/interp.n:
- * generic/tclInterp.c (TclPreventAliasLoop, AliasCreate):
- * tests/interp.test (17.4-6, 19.3-4): fixing problems with renaming of
- aliases [Bugs 707104 1026493]. Fix designed by dgp.
-
-2004-09-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Add token field
- to internal rep of EnsembleCmdRep structure so that we can check it to
- see if the subcommand object is really being used with the same
- ensemble. [Bug 1026903]
-
-2004-09-11 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (TclMktimeObjCmd): Corrected a bad check for
- error return from 'mktime'.
- * generic/tclObj.c (Tcl_GetIntFromObj): Corrected a problem where
- demoting a wide to an int failed on a big-endian machine. [Bug
- 1026125].
- * tests/clock.test (clock-43.1): Added regression test for error
- return from 'mktime'.
-
-2004-09-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_CONCAT1): fix for [Bug 1025834]; avoid
- unnecessary string copies.
-
-2004-09-10 David Gravereaux <davyrgvy@pobox.com>
-
- * tests/tcltest.test: tcltest-12.3-4 needed to have
- ::tcltest::loadScript set to empty in their -setup
-
-2004-09-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value
- parsing code so that values do not flip so easily between numeric
- representations. Thanks to KBK for this! [Bug 868489]
-
- * generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set
- ::errorCode on error. [Bug 1025359]
-
-2004-09-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tcl.h: Micro formatting fixes.
- * generic/tclIOGT.c: Channel version fixed, must be 3, to have
- wideseekProc. Thanks to David Graveraux <davygrvy@pobox.com>.
-
-2004-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved
- longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY
- flag revealed by testing the 2004-09-09 commits against Itcl.
- TCL_NAMESPACE_ONLY now acts as specified in the pre-function comment,
- forcing resolution in the passed in context namespace. It has been
- incorrectly forcing resolution in the interp's current namespace.
-
-2004-09-10 Kevin Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Fixed a bug where %z always put a plus sign on
- the time zone in :localtime.
- * tests/clock.test: Added test case for the above bug.
-
-2004-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation
- for concatting an empty string. This enables replacing the idiom 'K $x
- [set x {}]' by '$x[set x {}]' for fastest execution.
-
-2004-09-09 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinConsole.c: Calls to WriteFile and WriteConsoleA changed to
- WriteConsole for simplicity.
-
-2004-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c (Tcl_ForgetImport): Corrected faulty
-
- * tests/namespace.test: logic that relied exclusively on string
- matching and failed in the presence of [rename]s. [Bug 560297] Also
- corrected faulty prevention of [namespace import] cycles. [Bug 1017299]
-
-2004-09-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_CreateInterp): Removed obsolete field
- for storing the string-based command procedure of built-in commands.
- We no longer have any string-based built-in commands!
-
-2004-09-08 Kevin B. Kenny <kennykb@acm.org>
-
- * compat/strftime.c (_conv): Corrected a problem where hour 0 would
- format as a blank format group with %k.
- * doc/clock.n: Corrected a buglet in the header information. [Bug
- 1024058]
- * generic/tclClock.c (TclClockMktimeObjCmd): Fixed a bug where the
- month was scanned incorrectly in -timezone :localtime.
- * tests/clock.test (clock-34.*,clock-40.1, clock-41.1): Adjusted the
- clock-34.* test cases so that the consistency check is performed in
- :localtime rather than the current time zone. This change allows
- dealing with issues where the C library has a different idea of DST
- conversion than Tcl. (Real fix would be to break TclGetDate into
- separate parser and time converter, and do the time conversion in
- clock.tcl. That's for another day.) Added regression test case for the
- bug where month was scanned incorrectly in -timezone :localtime. [Bug
- 1023779] Added regression test case for %k at the zero hour.
-
-2004-09-07 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: some quoting needed to be removed as it was
- breaking with VC7. [Bug 1023150]
-
-2004-09-07 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Documented the default -format, and changed references
- to a (nonexistent) msgcat command to refer to the msgcat package. [Bug
- 1023870]
- * generic/tclTimer.c: Removed a premature optimisation that attempted
- to store the assoc data in the client data; the optimisation caused a
- bug that [after] would overwrite its imports. [Bug 1016167]
- * library/clock.tcl (InitTZData, ClearCaches): Changed so that the
- in-memory time zone :UTC (and its aliases) always gets reinitialised,
- in case tzdata is absent. [Bug 1019537, 1023779]
- * library/tzdata/*: Regenerated.
- * tests/clock.test (clock-31.*, clock-39.1): Corrected a problem where
- the 'system' locale tests fail on a non-English Windows machine. [Bug
- 1023761]. Added a test to make sure that alias time zones load
- correctly. [Bug 1023779].
- * tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be
- more resilient on an overloaded system, if [after 200] sleeps for 300
- ms or longer.
- * tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time
- zone names were written incorrectly, causing them to fail to load at
- run time. [Bug 1023779].
- * win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on Win64 -
- assuming that HAL vendors now do a better job of keeping the
- performance counters synchronized among CPU's. [Bug 1020445]
-
-2004-09-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/tclvars.n, doc/tcltest.n, doc/tclsh.1, doc/safe.n, doc/expr.n
- * doc/WrongNumArgs.3, doc/Utf.3, doc/TraceVar.3, doc/Thread.3
- * doc/TCL_MEM_DEBUG.3, doc/SubstObj.3, doc/StdChannels.3
- * doc/SetResult.3, doc/RegExp.3, doc/RegConfig.3, doc/RecEvalObj.3
- * doc/PrintDbl.3, doc/ParseCmd.3, doc/Panic.3, doc/ObjectType.3
- * doc/Object.3, doc/Namespace.3, doc/Interp.3, doc/IntObj.3
- * doc/Hash.3, doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3
- * doc/Encoding.3, doc/DoubleObj.3, doc/DictObj.3, doc/CrtTimerHdlr.3
- * doc/CrtObjCmd.3, doc/CrtMathFnc.3, doc/CrtCommand.3, doc/CrtChannel.3
- * doc/ChnlStack.3, doc/ByteArrObj.3, doc/AssocData.3, doc/Alloc.3:
- More documentation fixes from Mikhail Kolesnitchenko. [Patch 1022527]
-
-2004-09-03 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixFCmd.c: Stop NULL interp arguments from triggering a
- crash when an error happens. [Bug 1020538]
-
-2004-09-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545]
-
-2004-09-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/makefile.vc: clock.tcl needs to be installed.
-
-2004-09-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinReg.c (BroadcastValue): WIN64 cast corrections
-
- * win/tclWinDde.c (DdeClientWindowProc):
- (DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections
-
- * win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium),
- until we have it, just return unknown. [Bug 1020445]
-
-2004-09-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/regsub.n, doc/RegConfig.3, doc/Environment.3:
- * doc/CrtChannel.3, doc/safe.n: Use correct abbreviations.
-
-2004-08-31 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/trace.n, doc/socket.n, doc/registry.n, doc/pid.n:
- * doc/namespace.n, doc/msgcat.n, doc/lsort.n, doc/lsearch.n:
- * doc/linsert.n, doc/info.n, doc/http.n, doc/history.n:
- * doc/format.n, doc/file.n, doc/exec.n, doc/dde.n, doc/clock.n:
- * doc/catch.n, doc/binary.n: More spelling and grammar fixes from
- Mikhail Kolesnitchenko. [Patch 1018486]
-
-2004-08-31 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * generic/tclIOUtil.c: Clarified documentation regarding ability of a
- filesystem to say that it doesn't support a given operation using the
- EXDEV posix error code (copyFileProc, renameFileProc, etc), and
- updated one piece of code to ensure correct behaviour when an
- operation is not supported [Bug 1017072]
-
- * tests/fCmd.test: fix to test suite problem [Bug 1002884]
-
-2004-08-31 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in (install-libraries): portable sh fix.
-
-2004-08-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from
- crashing when its map and input string are the same object.
-
-2004-08-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (FindEnsemble): Factor out the code to convert a
- command name into an ensemble configuration and add support for
- ignoring [namespace import] link chains. [Bug 1017022]
- (NamespaceWhichCmd): Rework to use newer option parsing API.
-
-2004-08-27 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: added customization of default module path roots
- via TCL_MODULE_PATH makefile variable.
- * macosx/Makefile: add platform standard locations to default module
- path roots. [Patch 942881]
-
- * tests/env.test: macosx fixes.
-
-2004-08-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/timer.test (timer-10.1): Test for Bug 1016167.
- * generic/tclTimer.c: Workaround for situation when a [namespace
- import] causes the objv[0] value to be something other than what
- Tcl_AfterObjCmd expects. [Bug 1016167].
-
-2004-08-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Use the ensemble
- command token to get the name of the ensemble for passing to the
- -unknown handler instead of relying on objv[0], which may contain
- useless info in the presence of [namespace import]. Problem found by
- Don Porter when investigating [Bug 1016167].
-
-2004-08-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclProc.c: The routine TclProcInterpProc was a
- * generic/tclTestProcBodyObj.c: specific instance of the general
- service already provided by TclObjInvokeProc. Removed
- TclProcInterpProc and TclGetInterpProc from the code...
-
- * generic/tclInt.decls: ...and from the internal stubs table.
- * generic/tclIntDecls.h
- * generic/tclStubInit.c
-
-2004-08-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/string.n: Added clarifying note.
-
-2004-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Updated [tcl_findLibrary] search path to
- include any [<pkg>::pkgconfig get scriptdir,runtime] directory, as
- well as the $::auto_path. [RFE 695441]
-
-2004-08-21 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test (clock-38.1): Changed TZ setting to specify CET in
- excruciating detail to deal with systems that lack the Posix defaults
- for DST changes (and to be formally correct with the change dates for
- CET).
-
-2004-08-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the
- %ld conversion works correctly on 64-bit platforms. [Bug 1011860]
-
-2004-08-19 Kevin Kenny <kennykb@acm.org>
-
- * library/clock.tcl (format): Changed default timezone format from
- alphabetic to numeric to produce scannable times in more locales.
- * tests/clock.test (clock-37.1): Removed now-unused 'needPST'
- constraint and the comments that refer to it.
-
-2004-08-18 Andreas Kupries <andreask@activestate.com>
-
- * library/init.tcl: Integrated TIP #189. We source a separate file
- (see below), instead of inlining the contents of that file. This
- should beeasier to maintain, and easier to backport/install in 8.4
- installations.
-
- Note: Usage of Tcl Modules is restricted to non-safe interps. It
- cannot be loaded into a safe interp.
-
- * library/tm.tcl: New file, the v2 reference implementation for TIP
- #189, Tcl Modules.
-
- * doc/tm.n: New file, documentation for Tcl Modules, based on the TIP.
-
- * unix/mkLinks: Regenerated.
- * win/makefile.vc: Added tm.tcl to list of files to install.
-
-2004-08-18 Kevin Kenny <kennykb@acm.org>
-
- * tests/httpd (httpdRespond): Corrected an abuse of the [clock]
- command that caused test failures for some values of [clock clicks].
-
- * doc/clock.n
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_HideUnsafeCommands):
- * generic/tclClock.c (all):
- * generic/tclInt.h:
- * generic/tclInterp.c (CreateSlave):
- * library/clock.tcl: (new file)
- * library/init.tcl (clock):
- * library/msgs/*.msg:(new files)
- * library/tzdata/*:
- * library/tzdata/*/*:
- * library/tzdata/*/*/*: (new files)
- * tools/installData.tcl: (new file)
- * tools/loadICU.tcl: (new file)
- * tools/makeTestCases.tcl: (new file)
- * tools/tclZIC.tcl: (new file)
- * unix/Makefile.in:
- * unix/configure: (regenerated)
- * unix/tcl.m4:
- * tests/clock.test (all):
- * win/Makefile.in:
- * win/Makefile.vc:
- Implementation of TIPs #173 and #209.
-
- The [clock] command is now a Tcl ensemble, with most of its
- functionality written in Tcl and callouts to C code only to access
- low-level functions such as localtime, mktime and tzset.
-
- In addition to the functionality changes called out in the two TIPs,
- it is worth noting that the [clock] command in a safe slave
- interpreter is now an alias to the [clock] command in the master, and
- that [clock] is otherwise not expected to function entirely correctly
- in safe interps. C code that simply does Tcl_MakeSafe needs to be
- aware that [clock] may need special handling. (It appears unlikely
- that such code actually exists.)
-
- One incompatibility of note is that if the time zone cannot be
- determined from the TZ, TCL_TZ environment variables, or from the
- Windows control panel, so that the C library must be used for date and
- time conversions, then times outside the range of time_t will fail;
- they used to return bad data silently.
-
- Many thanks to all the many people who assisted with testing,
- debugging, criticism of the specification, and localisation. Deserving
- of particular mention are Joe English, Clif Flynt, Donal K. Fellows,
- Jeff Hobbs, Cameron Laird, Arjen Markus, Reinhard Max, Christopher
- Nelson, Steve Offutt, Donald G. Porter, Pascal Scheffers, Peter da
- Silva and Richard Suchenwirth-Bauersachs.
-
- *** POTENTIAL INCOMPATIBILITY ***
-
-2004-08-16 Miguel Sofer <msofer@users.sf.net>
-
- * doc/SetVar.3:
- * generic/tclTest.c (TestseterrorcodeCmd):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/result.test (result-4.*, result-5.*): [Bug 1008314] detected
- and fixed by dgp.
-
-2004-08-13 Don Porter <dgp@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl: Added checks to prevent [mclocale]
- * tests/msgcat.test: from registering filesystem paths to possibly
- malicious code to be evaluated by a later [mcload].
-
-2004-08-10 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the
- returned thread ID since broken on 64-bit systems (Cray). Thanks to
- Rob Ratcliff for reporting the bug.
-
-2004-08-03 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (MakeCachedEnsembleCommand): Initialize the
- epoch field cached in the subcommand. [Bug 989298]
- (NsEnsembleImplementationCmd): Plug a leak (thanks to Miguel Sofer for
- spotting it with valgrind) and reduce the number of goto labels to
- make the code clearer.
-
-2004-08-02 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl (pkg_mkIndex): Updated [pkg_mkIndex] to make
- use of [glob -directory $dir -tails] and return options.
-
- TIP#207 IMPLEMENTATION
-
- * doc/interp.n: Added support for a -namespace option to the
- * generic/tclBasic.c: [interp invokehidden] command. Also added an
- * generic/tclInt.h: internal routine TclObjInvokeNamespace() and
- * generic/tclInterp.c: corrected the flag names TCL_FIND_ONLY_NS and
- * generic/tclNamesp.c: TCL_CREATE_NS_IF_UNKNOWN that are passed to the
- * generic/tclTrace.c: internal routine TclGetNamespaceForQualName().
- * tests/interp.test: [Patch 981841]
-
- * generic/tclLiteral.c (TclCleanupLiteralTable): Corrected
- * tests/compile.test (compile-12.4): flawed deletion of literal
- internal reps that could lead to accessing of freed memory. Thanks to
- Kevin Kenny for test case and fix [Bug 1001997].
-
-2004-07-30 Don Porter <dgp@users.sourceforge.net>
-
- * tests/safe.test (safe-2.1): Disabled senseless test. [Bug 999612]
-
- * library/auto.tcl (auto_reset): Removed "protected" list of commands
- from [auto_reset]. All entries in the auto_index can be re-loaded.
- * library/package.tcl: Updated comment to reflect 2004-07-28 commit.
-
- * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalize so
- that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause
- deadlock. [Patch 999084 fixes Tk Bug 714956]
-
-2004-07-30 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure:
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS
- to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var.
- * unix/Makefile.in: added MAC_OSX_OBJS variable.
-
-2004-07-29 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl: [::pkg::create] is now an alias. Test safe-2.1
- will now fail until Bug 999612 is corrected.
-
-2004-07-28 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl: Moved private command
- * library/tclIndex: [pkg_compareExtension] into ::tcl::Pkg.
- * tests/pkg_mkIndex.test: Also moved implementation of
- [::pkg::create] to [::tcl::Pkg::Create].
-
-2004-07-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/io.test: Make io-61.1 create file as binary to pass on Win32
-
-2004-07-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: simplify tclLocalVarNameType, removing the
- reference to the corresponding proc. The reference is now seen as
- unnecessary, and it may cause leaking circular references under some
- circumstances (see for example [Bug 994838]).
-
-2004-07-22 Don Porter <dgp@users.sourceforge.net>
-
- * tests/eofchar.data (removed): Test io-61.1 now generates its own
- * tests/io.test: file of test data as needed.
-
-2004-07-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclEvent.c: Correct threaded obj allocator to
- * generic/tclInt.h: fully cleanup on exit and allow for
- * generic/tclThreadAlloc.c: reinitialization. [Bug 736426]
- * unix/tclUnixThrd.c: (mistachkin, kenny)
- * win/tclWinThrd.c:
-
-2004-07-21 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclBasic.c (DeleteInterpProc):
- * generic/tclLiteral.c (TclCleanupLiteralTable):
- * generic/tclInt.h: added a TclCleanupLiteralTable function, called
- from DeleteInterpProc, that frees internal representations of shared
- literals early when an interpreter is being deleted. This change
- corrects a number of memory mismanagement issues in the cases where
- the internal representation of one literal contains a reference to
- another, and avoids conditions such as resolved variable names
- referring to procedure and namespace contexts that no longer exist.
- [Bug 994838]
-
-2004-07-20 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in:
- * win/Makefile.in: added 'install-private-headers' makefile target to
- allow optionally installing private tcl headers. [FR 922727]
-
- * macosx/Makefile: use new 'install-private-headers' target to install
- private headers into framework. [FR 922727]
-
- * unix/tclUnixFile.c (NativeMatchType): added support for readonly
- matching of user immutable files (where available).
-
- * macosx/tclMacOSXBundle.c: dynamically acquire address for
- CFBundleOpenBundleResourceMap symbol, since it is only present in full
- CoreFoundation on Mac OS X and not in CFLite on pure Darwin.
-
-2004-07-19 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock.
- Fixes [Bug 987967]
-
-2004-07-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to rare 'cd' infinite loop in normalization
- with vfs [Bug 991420].
- * tests/fileSystem.test: added test for above bug.
-
- * doc/FileSystem.3: clarified documentation of posix error codes in
- 'remove directory' FS proc - 'EEXIST' is used to signify a non-empty
- directory error (bug reported against tclvfs).
-
-2004-07-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in, unix/tcl.m4: move (C|LD)FLAGS after their
- * unix/configure.in, unix/configure: _DEFAULT to allow for env setting
- to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and
- consolidate calls to limit redundancy in configure.
- (CFLAGS_WARNING): Remove -Wconversion
- (SC_ENABLE_THREADS): Set m4 to force threaded build when built against
- a threaded Tcl core.
-
-2004-07-16 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the
- generation of error messages and simplified by reusing data in a
- variable instead of retrieving the string again. Fixes [Bug 835289].
-
- * doc/OpenFileChnl.3: Added description of the behaviour of
- Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug
- 934511].
-
- * doc/CrtCommand.3: Added note that the arguments given to the command
- proc of a Tcl_CreateCommand are in utf8 since Tcl 8.1. Closing [Patch
- 414778].
-
- * doc/ChnlStack.3: Removed the declaration that the interp argument to
- Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by
- Marco Maggi <marcomaggi@users.sourceforge.net>.
-
- * tests/socket.test: Accepted two new testcases by Stuart Casoff
- <stwo@users.sourceforge.net> checking that -server and -async don't go
- together [Bug 796534].
-
- * unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's
- patch for [Bug 990500], properly closing the notifier thread when its
- exits.
-
-2004-07-15 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's
- patch for [Bug 990453], closing leakage of mutexes. They were not
- destroyed properly upon finalization.
-
-2004-07-15 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in
- * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the
- * generic/tclIO.c (Tcl_Close): close callbacks are
- run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive
- call of 'close' in the close-callbacks. This is a possible error made
- by implementors of virtual filesystems based on 'tclvfs', thinking
- that they have to close the channel in the close handler for the
- filesystem.
-
-2004-07-14 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c:
- * generic/tclIO.h:
- * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of
- the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel
- drivers it introduced. This has become possible due to Expect gaining
- a BlockModeProc and now handling blockingg and non-blocking modes
- correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough
- version of Expect is used.
-
- * doc/CrtChannel.3: Added warning about usage of a channel without a
- BlockModeProc.
-
-2004-07-15 Andreas Kupries <andreask@pliers.activestate.com>
-
- * generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old
- depreceated newline syntax, to ensure that only "nonewline" is
- accepted. [Tcl SF Bug 985869], reported by Joe Mistachkin
- <mistachkin@users.sourceforge.net>.
-
-2004-07-15 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclEvent.c (Tcl_Finalize): stuffed memory leak incurred by
- re-initializing of TSD slots after the last call to
- TclFinalizeThreadData (done from within Tcl_FinalizeThread()). We
- basically just repeat the TclFinalizeThreadData() once more before
- tearing down TSD keys in TclFinalizeSynchronization(). There should be
- more elaborate mechanism in place for handling such issues, based on
- thread cleanup handlers registered on the OS level. Such change
- requires much more work and would also require TIP because some
- visible parts of Tcl API would have to be modified. In the meantime,
- this will do.
-
- * generic/tclNotify.c (TclFinalizeNotifier): Added conditional
- notifier finalization based on the fact that an TclInitNotifier has
- been called for the current thread. This fixes the [Bug 770053] again.
- Hopefully this time w/o unwanted side-effects.
-
-2004-07-15 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclLiteral.c (TclReleaseLiteral): Removed unused variable
- 'codePtr' to silence a message from VC++.
-
-2004-07-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript):
- * generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523],
- which resurfaced with the latest changes. The previous strategy was to
- have special code in TclReleaseLiteral to handle the self-references
- generated by empty scripts. The new approach avoids the self-reference
- altogether, by having empty scripts return an unshared literal.
-
-2004-07-15 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclEvent.c (NewThreadProc): Backout of changes to fix the
- [Bug 770053]. See SF bugreport for more info.
-
-2004-07-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_EvalEx): leak fix by dgp, release
- objv[objectsUsed] on error.
-
-2004-07-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (Tcl_SubstObj): leak fix by dgp, release result
- on error.
-
-2004-07-11 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (BuildEnsembleConfig): Don't forget to clean out
- references when deleting the hash table.
- * generic/tclDictObj.c (Tcl_DictObjRemoveKeyList): Oops, forgot to
- delete value object when removing the hash entry. [Bug 989093 in part]
-
-2004-07-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC): fixed leak of expandNestList objs when
- there is an error while an expansion is in progress (code added at
- checkForCatch).
-
-2004-07-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to 'cd' bug when vfs is active [tclvfs Bug
- 986944] - this bug recently introduced by some threading fixes. Need
- to work out how to add tests for this.
-
-2004-07-10 Kevin Kenny <kennykb@acm.org>
-
- * tests/clock.test (clock-2.11): Changed the test so that it isn't an
- infinite loop when run under valgrind on a slow virtual machine.
- Thanks to Miguel Sofer for the bug report. Also put in code to restore
- env(LC_TIME) after tests complete, silencing a warning from 'make
- TESTFLAGS="-debug 1" test'.
-
-2004-07-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (DeleteInterpProc): reverted the modification of
- 3 days ago, as the leak of [Bug 983660] is now handled by the change
- in TclCleanupByteCode.
- * generic/tclCompile.c (TclCleanupByteCode): let each bytecode remove
- its references to literals at interp deletion, without updating the
- dying literal table.
- * generic/tclLiteral.c (TclDeleteLiteralTable): with the above change
- to TclCleanupByteCode, this function now removes a single reference to
- the literal object and cleans up its own structures.
-
-2004-07-08 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWinInit.c (AppendEnvironment): Silenced a compilation warning
- about a type mismatch.
-
-2004-07-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript): fix for [Bug 458361].
- Single-word scripts are compiled with an unshared cmdName to avoid
- shimmering between bytecode and cmdName reps.
-
-2004-07-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (TclMergeReturnOptions): Simplified logic and
- removed potential memory leak. [Bug 986257].
-
-2004-07-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/man2help2.tcl (setTabs, IPmacro): Added support for the more
- advanced *roff macros used in Tk's doc/bind.n
-
- * generic/tclObj.c (TclInitObjSubsystem): Declare all current object
- types.
-
-2004-07-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/cmdMZ.test (cmdMZ-return-2.17): Added a test that a word
- containing backslash-quoted value is treated correctly.
-
- * generic/tclCompile.c (TclWordKnownAtCompileTime): [Bug 986196]
- Corrected flaw above and the flaw that caused TCL_TOKEN_SIMPLE_WORDs
- to have their original word value copied ( "{a b}" ) rather than the
- actual value ( "a b" ). Thanks to Kevin Kenny for report and tests.
-
-2004-07-06 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/cmdMZ.test (cmdMZ-return-2.15,cmdMZ-return-2.16): Added a test
- that a return code containing spaces is correctly returned.
-
-2004-07-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/man2html2.tcl (IPmacro, setTabs): Added support for the more
- advanced *roff macros used in Tk's doc/bind.n
-
-2004-07-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (DeleteInterpProc): fix for [Bug 983660], found
- by pspjuth. Tear down the global namespace before freeing the interp
- handle, to allow the bytecodes to free their non-shared literals.
- * generic/tclLiteral.c (TclReleaseLiteral): moved special code for
- self-ref so that it is also used for non-shared literals. Possible bug
- found by inspection.
-
-2004-07-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (ExprRoundFunc):
- * tests/expr-old.test (39.1): added support for wide integers to
- round(); [Bug 908375], reported by Hemang Lavana.
-
-2004-07-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.h:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c: Moved declaration of TclCompEvalObj() from
- tclCompile.h to the internal stubs table, for compiler
- experimentation.
-
-2004-07-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/regcomp.c (stid): correct minor pointer size error
-
- * generic/tclPipe.c (TclCreatePipeline): applied TIP #202 patch that
- * doc/exec.n, tests/exec.test: adds 2>@1 as a special case
- redirection of stderr to the result output.
-
-2004-07-02 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/io.test: Changed several tests to run the event loop rather
- than just calling [update] periodically, avoiding intermittent
- failures (usually in io-29.32) that stemmed from unreaped processes on
- Windows.
- * tests/winPipe.test (winpipe-1.11): Fixed a bug that caused test to
- fail if the path name of the working directory contained whitespace
- [Bug 678430]
-
-2004-07-01 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileSystem.test: Added test for [Bug 970529]
-
-2004-07-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * win/README.binary, win/README: Updated references to Tcl and Tk 8.4
- to point to 8.5 instead. Thanks to Theo Verelst for spotting this.
- * generic/tcl.h: Added note to help prevent those changes from getting
- missed in the future.
-
- * doc/Namespace.3, doc/load.n, doc/Limit.3: Typo fixes and remove
- duplicate documentation. [Bug 983146]
-
-2004-06-30 Don Porter <dgp@users.sourceforge.net>
-
- * tests/fileSystem.test: Minor correction to new fileSystem-9.X tests
- so that they clean up temporary directories correctly.
-
-2004-06-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/filename.n: clarified behaviour concerning trailing slashes in
- filenames [Bug 971976]
-
- * win/tclWinFile.c:
- * tests/fileSystem.test: fix and tests for [Bug 979879]
-
-2004-06-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP#188 IMPLEMENTATION
-
- * doc/string.n, tests/string.test: Add 'wideinteger' to things
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): that can be tested for with
- the [string is] subcommand. [Patch 940915, by Kevin Kenny]
-
-2004-06-29 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinInit.c: Corrected reference counting flaw in recent
- changes. Thanks to Pat Thoyts. [Bug 981893].
-
-2004-06-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWin32Dll.c: fix to compilation with VC++ 5.2
-
-2004-06-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * library/safe.tcl: Make sure that the temporary variable is local to
- the namespace and not inadvertently global. [Bug 981733]
-
-2004-06-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/unixNotfy.test: Modified constraints so that testing with a
- threaded tclsh (not tcltest) will not hang.
-
-2004-06-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclThreadStorage.c: Corrected type casting errors that led
- to calculation of a negative index value, thus accesses outside the
- threadStorageCache array, thus memory corruption. Crash observed on
- Mac OS X platform.
-
-2004-06-23 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclThread.c: Implements platform independent thread storage
- * generic/tclThreadStorage.c: mechanism and fixes associated bugs on
- platforms where there is limited thread local storage space
- (Win98/WinNT4). [Patch 976496]
-
- * generic/tclInt.decls:
- * generic/tclIntDecls.h: Added thread storage functions to the
- * generic/tclStubInit.c: internal stubs table.
-
- * unix/Makefile.in:
- * unix/configure:
- * unix/tcl.m4:
- * win/makefile.vc:
- * win/rules.vc:
- * win/Makefile.in: Modified the unix, VC++, and Cygwin build systems
- * win/configure: to include the new "tclThreadStorage.c" and the new
- * win/tcl.m4: USE_THREAD_STORAGE define.
-
-2004-06-23 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/io.test: Added -force to 18.1 and 18.2. This was failing on
- WinXP.
-
- * tests/winFCmd.test: Added a cleanup to winFCmd-16.11 to avoid a
- failure in 16.12.
-
- * tests/eofchar.data: Added -kb option to ensure a binary checkout to
- win32 systems. This fixes a failure in io-61.1
-
- * win/makefile.vc: fix for [Bug 977369] about launching tclsh to
- generate a tclConfig.sh with the nmake build system
-
-2004-06-23 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/winDde.test (createChildProcess): Added a 200-ms delay (with
- the event loop live) when shutting down the test DDE server process.
- With the delay in place, nuisance failures of tests winDde-4.2, -6.5,
- and -6.6 appear to be much less frequent. [Bug 957449]
-
-2004-06-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/*.test: Standardize use of platform constraints.
-
- * unix/tclUnixInit.c (GetStackSize, TclpCheckStackSpace):
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): Added code to check
- whether the C stack is about to be exceeded, from [Patch 746378] by
- Joe Mistachkin but with substantial revisions.
-
-2004-06-22 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows
- caused by missing TCL_THREAD_CREATE_RETURN.
-
- * tests/stack.test (stack-3.1): Corrected nuisance error in threaded
- builds.
-
-2004-06-22 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclEvent.c:
- * generic/tclInt.h:
- * unix/tclUnixNotfy.c:
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c: [Bug 770053]. See bug report for more information
- about what it does.
-
- * tests/unixNotfy.test: rewritten to use tcltest::threadReap to
- gracefully wait for the test thread to exit. Otherwise we got a race
- condition with main thread exiting before the test thread. This
- exposed the long-standing Tcl lib issue with resource
- garbage-collection on application exit.
-
-2004-06-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler)
- (TclpCheckStackSpace, _except_checkstackspace_handler)
- (TclWinCPUID, _except_TclWinCPUID_detach_handler):
- * win/tclWinChan.c (Tcl_MakeFileChannel)
- (_except_makefilechannel_handler):
- * win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler)
- (DoCopyFile, _except_docopyfile_handler):
- Rework pushing of exception handler function pointer so that compiling
- with gcc -O3 works. Remove empty function call to avoid compiler
- warning. Mark the DllMain function as noinline to avoid compiler error
- from duplicated asm labels in generated code.
-
-2004-06-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclThreadAlloc.c (Ptr2Block): Rewrote so as to maximize the
- chance of detecting and reporting a memory inconsistency without
- relying on things being consistent. [Bug 975895]
-
-2004-06-18 Don Porter <dgp@users.sourceforge.net>
-
- * tests/load.test: Relaxed strictness of error message matching
- for test load-2.3 so that it will pass on Mac OSX.
-
- * generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings.
- * generic/tclInt.h: Updated TclpFindExecutable() so that failed
- * generic/tclUtil.c: attempts to find the executable are saved
- * unix/tclUnixFile.c: just as successful finds are. [Patch 966053]
- * unix/tclUnixTest.c:
-
-2004-06-18 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/winFCmd.test (winFCmd-16.12): Changed test to compute the
- target directory, so as not to fail if the user's HOME isn't the root.
-
-2004-06-19 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: autoconf 2.5 fixes in Darwin section.
- * unix/configure: autoconf-2.57
-
-2004-06-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixInit.c (localeTable): Added some more locale to encoding
- mapping info from Jim Huang <jserv@kaffe.org>
-
- * generic/tclInt.h (PendingObjData,TclFreeObjMacro,etc):
- * generic/tclObj.c (TclFreeObj): Added scheme for making TclFreeObj()
- avoid blowing up the C stack when freeing up very large object trees.
- [Bug 886231]
-
- * win/tclWinInit.c (SetDefaultLibraryDir): Fix logic, simplify and add
- comments.
-
-2004-06-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclObj.c: Added missing space in panic message.
-
- * win/tclWinInit.c: Inform [tclInit] about the default library
- directory via the ::tclDefaultLibrary variable. This should correct a
- problem with my 2004-06-11 commit. Better solutions still in the
- works. Thanks to Joe Mistachkin for pointing out the breakage.
-
-2004-06-16 Don Porter <dgp@users.sourceforge.net>
-
- * doc/library.n: Moved variables ::auto_oldpath and
- * library/auto.tcl: ::unknown_pending into ::tcl namespace.
- * library/init.tcl: [Bugs 808319, 948794]
-
-2004-06-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/binary.n: Added some notes to the documentation of the 'a'
- format to address the point raised in [RFE 768852].
-
-2004-06-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclConfig.sh.in (TCL_EXTRA_CFLAGS): set to @CFLAGS@, which is
- the configure-time CFLAGS. Addendum to m4 change on 2004-05-26.
-
-2004-06-14 Kevin Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Corrected compilation flags for tclPkgConfig.c so
- that it doesn't require Stubs.
- * generic/tclBasic.c (Tcl_CreateInterp): Removed comment stating that
- TclInitEmbeddedConfigurationInformation needs Stubs; with the change
- above, the comment is now erroneous.
-
-2004-06-11 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Encoding.3: Removed bogus claims about tcl_libPath.
-
- * generic/tclInterp.c (Tcl_Init): Stopped setting the
- tcl_libPath variable. [tclInit] can get all its directories without it.
-
- * tests/unixInit.test: Modified test code that made use of
- tcl_libPath variable.
-
- * unix/tclUnixInit.c: Stopped setting the tclDefaultLibrary variable,
- execept on the Mac OS X platform with HAVE_CFBUNDLE. In that
- configuration we should seek some way to make use of the TIP 59
- facilities and get rid of that usage of tclDefaultLibrary as well.
-
- * generic/tclInterp.c: Updated [tclInit] to make $env(TCL_LIBRARY) an
- absolute path, and to include the scriptdir,runtime configuration value
- on the search path for init.tcl.
-
- * unix/tclUnixInit.c: The routines Tcl_Init() and TclSourceRCFile()
- * win/tclWinInit.c: had identical implementations for both win and
- * generic/tclInterp.c: unix. Moved to a single generic implementation.
- * generic/tclMain.c:
- * library/init.tcl:
- * generic/tclInitScript.h (removed):
- * unix/Makefile.in:
- * win/tcl.dsp:
-
- * unix/configure.in: Updated TCL_PACKAGE_PATH value to handle
- * win/configure.in: --libdir configuration.
-
- * unix/configure.in: autoconf-2.57
- * win/configure.in:
-
- * generic/tclBasic.c (Tcl_CreateInterp): Moved call to
- TclInitEmbeddedConfigurationInformation() earlier in
- Tcl_CreateInterp() so that other parts of interp creation and
- initialization may access and use the config values.
-
-2004-06-11 Kevin Kenny <kennykb@acm.org>
-
- * win/tclAppInit.c: Restored the 'setargv' procedure when compiling
- with mingw. Apparently, the command line parsing in mingw doesn't work
- as well as that in vc++, and the result was (1) that winPipe-8.19
- failed, and (2) that 'make test' would work at all only with
- TESTFLAGS='-singleproc 1'. [Bug 967195]
-
-2004-06-10 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclIOUtil.c: removed forceful setting of the private cached
- current working directory rep from within the Tcl_FSChdir(). We
- delegate this task to the Tcl_FSGetCwd() which does this task anyway.
- The relevant code is still present but disabled temporarily until the
- change proves correct. The Tcl test suite passes all test with the
- given change so I suppose it is good enough.
-
-2004-06-10 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixInit.c (TclpInitLibraryPath): Disabled addition of
- * win/tclWinInit.c (TclpInitLibraryPath): relative-to-executable
- directories to the library search path. A first step in reform of
- Tcl's startup process.
-
- ***POTENTIAL INCOMPATIBILITY***
- Attempts to directly run ./tclsh or ./tcltest out of a build directory
- will either fail, or will make use of an installed script library in
- preference to the one in the source tree. Use `make shell` or `make
- runtest` instead.
-
- * tests/unixInit.test: Modified tests to suit above changes.
-
- * generic/tclPathObj.c: Corrected [file tail] results when operating
- on a path produced by TclNewFSPathObj(). [Bug 970529]
-
-2004-06-09 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclIOUtil.c: partially corrected [Bug 932314]. Also
- corrected return values of Tcl_FSChdir() to reflect those of the
- underlying platform-specific call. Originally, return codes were mixed
- with those of Tcl.
-
-2004-06-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:
- * generic/tclExecute.c: handle warning [Bug 969066]
-
-2004-06-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclHash.c (RebuildTable): Move declaration of variable so it
- is only declared when it is used. [Bug 969068]
-
-2004-06-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n: Added correct option to example. [Bug 968219]
-
-2004-06-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw
- build works again.
- * generic/tclDecls.h: Changes to the tests for clock
- * generic/tclInt.decls: frequency in Tcl_WinTime so
- * generic/tclIntDecls.h: that any clock frequency is
- * generic/tclIntPlatDecls.h: accepted provided that all
- * generic/tclPlatDecls.h: CPU's in the system share a
- * generic/tclStubInit.c: common chip, and hence,
- * tests/platform.test (platform-1.3): presumably, a common clock.
- * win/tclWin32Dll.c (TclWinCPUID): This change necessitated a
- * win/tclWinTest.c (TestwincpuidCmd) small burst of assembly code
- * win/tclWinTime.c (Tcl_GetTime): to read CPU ID information,
- which was added as TclWinCPUID in the internal Stubs. To test this
- code in the common case of a single-processor machine, a
- 'testwincpuid' command was added to tclWinTest.c, and a test case in
- platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for
- reporting this bug. [Bug 976722]
-
-2004-06-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Restored #include <stdio.h> to tcl.h,
- rejecting the "fix" for "Bug" 945570. Tcl_FSSeek() needs the values of
- SEEK_SET, etc. and too many extensions rely on tcl.h providing stdio.h
- for them.
-
-2004-06-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFile.c (TclpFindExecutable): when using GetModuleFileNameA
- (Win9x), convert from CP_ACP to WCHAR then convert back to utf8.
- Adjunct to 2004-04-07 fix.
-
-2004-06-02 David Gravereaux <davygrvy@pobox.com>
-
- * tests/winPipe.test (winpipe-6.1): blocking set to 1 before closing
- to ensure we get an exitcode. The windows pipe channel driver doesn't
- differentiate between a blocking and non-blocking close just yet, but
- will soon. Part of [Bug 947693]
-
-2004-06-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n: fix to documentation of 'file volumes' (Bug 962435)
-
-2004-06-01 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: check for either MSDEVDIR or MSVCDIR being in the
- environment, for VC7. [Bug 942214]
-
- * generic/tclIO.c (Tcl_SetChannelOption): -buffersize wasn't
- understanding hexidecimal notation nor was reporting number conversion
- errors. The behavior to silently ignore settings outside the
- acceptable range of Tcl_SetChannelBufferSize (<10 or >1M) is
- unchanged. This silent ignoring behavior might be up for review soon.
-
-2004-05-30 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c:
- * win/tclWinPort.h: Reworked the win implementation of Tcl_WaitPid to
- support exitcodes in the 'signed short' range. Even though this range
- is non-portable, it is valid on windows. Detection of exception codes
- are now more accurate. Previously, an application that exited with
- ExitProcess((DWORD)-1); was improperly reported as exiting with
- SIGABRT.
-
-2004-05-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c: Added comments describing the purposes of each
- function in the limit implementation and rewrote the names of some
- non-public functions for greater clarity of purpose.
- * doc/interp.n: Added note about what happens when a limited
- interpreter creates a slave interpreter.
- * doc/Limit.3: Added manual page for the resource limit subsystem's C
- API. [Bug 953903]
-
-2004-05-29 Joe English <jenglish@users.sourceforge.net>
-
- * doc/global.n, doc/interp.n, doc/lrange.n: Fix minor markup errors.
-
-2004-05-28 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/*.n: Added examples to many (too many to list) more man pages.
-
-2004-05-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c:
- * generic/tclVar.c: using (ptrdiff_t) instead of (int) casting to
- correct compiler warnings [Bug 961657], reported by Bob Techentin.
-
-2004-05-27 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test: Added a single test for the presence of %G in
- [clock format], and conditioned out the clock-10.x series if they're
- all going to fail because of a broken strftime() call. [Bug 961714]
-
-2004-05-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclHash.c (CompareStringKeys): Added #ifdef to allow people
- to instruct this function to use strcmp(). [FRQ 951168]
-
- * generic/tclVar.c: Moved declarations into #if guards so they only
- happen when required.
- * unix/tclUnixPort.h: Guard declaration of strtod() so it is only
- enabled when we don't have a declaration in stdlib.h
- * unix/tclUnixThrd.c (Tcl_CreateThread): Added declarations
- * unix/tclUnixTest.c (AlarmHandler): and casts so that
- * unix/tclUnixChan.c (TtyModemStatusStr): all functions are
- * generic/tclScan.c (Tcl_ScanObjCmd): defined before use
- * generic/tclDictObj.c (InvalidateDictChain): and no cross-type
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): uses are performed.
-
- The overall effect is to make building with gcc with the additional
- flags -Wstrict-prototypes -Wmissing-prototypes produce no increase in
- the total number of warnings (except for main(), which is undeclared
- for traditional reasons.)
-
-2004-05-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in: Rework configure ordering to TCL_LINK_LIBS,
- * unix/tcl.m4: ENABLE_SHARED, CONFIG_CFLAGS, & ENABLE_SYMBOLS
- * unix/configure: before TCL_EARLY_FLAGS and TCL_64BIT_FLAGS
- * unix/configure.in: (about 400 lines earlier) in configure.in. This
- forces CFLAGS configuration to be done before many tests, which is
- needed for 64-bit builds and may affect other builds. Also make
- CONFIG_CFLAGS append to CFLAGS directly instead of using EXTRA_CFLAGS,
- and have LDFLAGS append to any existing value. [Bug 874058]
- * unix/dltest/Makefile.in: change EXTRA_CFLAGS to DEFS
-
-2004-05-26 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Correction to debug prints and testing
- * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected
- * tests/tcltest.test: double increment of numTestFiles in
- -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1
- behavior. Corrected tcltest-25.3 to not falsely report a failure in
- tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926]
-
-2004-05-25 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/http.n (http::config): add -urlencoding option (default utf-8)
- * library/http/http.tcl: that specifies encoding conversion of
- * library/http/pkgIndex.tcl: args for http::formatQuery. Previously
- * tests/http.test: undefined, RFC 2718 says it should be
- utf-8. 'http::config -urlencoding {}' returns previous behavior, which
- will throw errors processing non-latin-1 chars. Bumped http package to
- 2.5.0.
-
-2004-05-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (DeleteScriptLimitCallback): Move all deletion
- of script callback hash table entries to happen here so the entries
- are correctly removed at the right time. [Bug 960410]
-
-2004-05-25 Miguel Sofer <msofer@users.sf.net>
-
- * docs/global.n: added details for qualified variable names [Bug
- 959831]
-
-2004-05-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_FindNamespaceVar):
- * tests/namespace.test (namespace-17.10-12): reverted commit of
- 2004-05-23 and removed the tests, as it interferes with the varname
- resolver and there are apps that break (AlphaTk). A fix will have to
- wait for Tcl9.
-
- * generic/tclVar.c: Caching of namespace variables disabled: no simple
- way was found to avoid interfering with the resolver's idea of
- variable existence. A cached varName may keep a variable's name in the
- namespace's hash table, which is the resolver's criterion for
- existence.
-
- * tests/namespace.c (namespace-17.10): testing for interference
- between varname caching and name resolver.
-
-2004-05-25 Kevin Kenny <kennykb@acm.org>
-
- * tests/winFCmd.test: Correct test for the presence of a CD-ROM so
- that it doesn't misdetect some other sort of filesystem with a
- write-protected root as being a CD-ROM drive. [Bug 918267]
-
-2004-05-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/winPipe.test: Protect against path being set
- * tests/unixInit.test: Unset path when done.
- * tests/unload.test (unload-3.1): Verify [pkgb_sub] does not exist.
- Delete interps when done.
- * tests/stringComp.test: stop re-use of string.test test names
- * tests/regexpComp.test: stop re-use of regexp.test test names
- * tests/namespace.test (namespace-46.3): Verify [p] does not exist.
- * tests/http.test: Clear away the custom [bgerror] when done.
- * tests/io.test: Take care to use namespace variables.
- * tests/autoMkindex.test (autoMkindex-5.2): Use variable "result"
- that gets cleaned up.
- * tests/exec.test: Clean up the "path" array.
- * tests/interp.test (interp-9.3): Initialize res, so prior values
- cannot make the test fail.
- * tests/execute.test (execute-8.1): Updated to remove the trace set
- on ::errorInfo. When left in place, that trace can cause later tests
- to fail.
-
-2004-05-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclBasic.c: Removed references to Tcl_RenameCommand from
- * generic/tcl.h: comments. [Bug 848440, second part]
-
- * tests/fCmd.test: Rewrote tests that failed consistently on NFS so
- they either succeed (through slightly more liberal matching of the
- results) or are constrained to not run. [Bug 931312]
-
- * doc/bgerror.n: Use idiomatic open flags for working with log
- files. [Bug 959602]
-
-2004-05-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to
- properly have tclIntType used for smaller values. This corrects [TclX
- Bug 896727] and any other 3rd party extension that created math
- functions but was not yet WIDE_INT aware in them.
-
-2004-05-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (TclInitLimitSupport): Made limits work on
- platforms where sizeof(void*)!=sizeof(int). [Bug 959193]
-
-2004-05-24 Miguel Sofer <msofer@users.sf.net>
-
- * doc/set.n: accurate description of name resolution process,
- referring to namespace.n for details [Bug 959180]
-
-2004-05-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_FindNamespaceVar): [Bug 959052] fixed,
- insuring that no "zombie" variables are found.
- * generic/tclVar.c (TclLookupSimpleVar): comments re [Bug 736729]
- (predecessor of [Bug 959052]) removed.
- * tests/namespace.test: added tests 17.10-12
-
- The patch modifies non-documented behaviour, and passes every test in
- the testsuite. However, scripts relying on the old behaviour may
- break.
- Note that the only behaviour change concerns the creative writing of
- unset variables. More precisely, which variable will be created when
- neither a namespace variable nor a global variable by that name
- exists, as defined by [info vars]. The new behaviour is that the
- namespace resolution process deems a variable to exist exactly when
- [info vars] finds it - ie, either it has value, or else it was "fixed"
- by a call to [variable].
- Note: this patch was removed on 2002-05-25.
-
-2004-05-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclObjLookupVar, TclObjUnsetVar2): fix for new (in
- tcl8.4) exteriorisations of [Bug 736729] due to the use of
- tclNsVarNameType obj types. Reenabling the use of this objType ("VAR
- ref absolute" benchmark down to 66 ms, from 230). Added comments in
- TclLookupSimpleVar explaining my current understanding of [Bug
- 736729].
-
-2004-05-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: fix for [Bug 735335]. The use of tclNsVarNameType
- objs is still disabled, pending resolution of [Bug 736729].
-
-2004-05-21 Miguel Sofer <msofer@users.sf.net>
-
- * tests/namespace.test (namespace-41.3): removed the {knownBug}
- constraint: [Bug 231259] is closed since nov 2001, and the fix of [Bug
- 729692] (INST_START_CMD) makes the test succeed.
-
-2004-05-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TclExecuteByteCode): Move a few declarations a
- short distance so pre-C99 compilers can cope. Also fix so
- TCL_COMPILE_DEBUG path compiles...
-
-2004-05-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): reorganised TEBC
- automatic variables, defining them in tight blocks instead of at the
- function level. This has three purposes:
- - it simplifies the analysis of individual instructions
- - it is preliminary work to the non-recursive engine
- - it allows a better register allocation by the optimiser; under
- gcc3.3, this results in up to 10% runtime in some tests
-
-2004-05-20 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (TclLimitRemoveAllHandlers):
- * generic/tclBasic.c (DeleteInterpProc):
- * tests/interp.test (interp-34.7): Ensure that all limit callbacks are
- deleted when their interpreters are deleted. [Bug 956083]
-
-2004-05-19 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where
- there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The
- result was that the error code could be reset between a call to
- FindFirstFileEx and the check of its status return, leading to a
- bizarre error return of {POSIX unknown {No error}}. (Found in
- unplanned test - no incident logged at SourceForge.)
-
-2004-05-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/interp.test (interp-34.3): Rewrite this test to see if a time
- limit can catch a tight bytecode loop, a maximally aggressive
- denial-of-service attack.
- * generic/tclInterp.c (Tcl_LimitCheck): Fix the sense of checks to see
- whether a time limit has been extended.
-
- * tests/*.test: Many minor fixes, including ensuring that every test
- is run (so constraints control whether the test is doing anything) and
- making sure that constraints are always set using the API instead of
- poking around inside tcltest's internal datastructures. Also got rid
- of all trailing whitespace lines from the test suite!
-
-2004-05-19 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem
- * generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry
- 2001-09-26. The fix done at that time is incomplete. It is possible to
- get around it if the actual read operation is defered and not executed
- in the event handler itself. Instead of tracking if we are in an read
- caused by a synthesized fileevent we now track if the OS has delivered
- a true event = actual data and bypass the driver if a read finds that
- there is no actual data waiting. The flag is cleared by a short or
- full read.
-
- ***POTENTIAL INCOMPATIBILITY*** for channel drivers.
-
-2004-05-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix to (Bug 956063) in 'file dirname'.
- * tests/cmdAH.test: added test for this bug.
-
- * doc/FileSystem.3: better documentation of refCount requirements of
- some FS functions (Bug 956126)
-
-2004-05-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclTest.c (TestgetintCmd): Made the tests in get.test check
- * tests/get.test: Tcl_GetInt() since the core now
- avoids that function.
-
-2004-05-18 Kevin B. Kenny <kennykb@acm.org>
-
- * compat/strftime.c (_fmt, ISO8601Week):
- * doc/clock.n:
- * tests/clock.test: Major rework to the handling of ISO8601 week
- numbers. Now passes all the %G and %V test cases on Windows, Linux and
- Solaris [Bugs 500285, 500389, and 852944]
-
-2004-05-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/append.n, doc/upvar.n: Added example.
-
-2004-05-18 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: now generates a tclConfig.sh from Pat Thoyts [Patch
- 909911]
-
-2004-05-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n: Improve clarity (based on [Patch 955361] by Peter
- Spjuth)
-
- * tools/man2help2.tcl (macro,SHmacro): Added support for subsection
- (.SS) header macros.
-
- * doc/interp.n: Added user documentation for the TIP#143 resource
- limits and some examples.
-
- * generic/tclInterp.c (Tcl_LimitCheck, Tcl_LimitTypeReset): Reset the
- limit-exceeded flag when removing a limit.
-
-2004-05-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): added comments to
- classify the variables according to their use in TEBC.
-
-2004-05-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/global.n, doc/uplevel.n: Added an example.
-
- * tests/info.test (info-3.1): Corrected test result back to what it
- used to be in Tcl 7.* now that command counts are being correctly kept
-
- * generic/tclExecute.c (TEBC:INST_START_CMD): Make sure that the
- command-count is always advanced. Allows TIP#143 limits to tell that
- work is being done.
-
- * doc/list.n: Updated example to fit with the unified format.
- * doc/seek.n: Added some examples.
-
-2004-05-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * win/tclWinFile.c:
- * tests/cmdAH.test: fix to (Bug 954263) where 'file executable' was
- case-sensitive.
-
-2004-05-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek
- was wrong. [Bug 953374]
-
-2004-05-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): remove one level of
- indirection for compiledLocals addressing.
-
-2004-05-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored
- (DE)CACHE_STACK_INFO pair around the call - the user defined math
- function could cause a recursive call to TEBC.
-
-2004-05-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_DeleteInterp):
- * generic/tclExecute.c (INST_START_CMD): interp deletion now modifies
- the compileEpoch, eliminating the need for the check for interp
- deletion in INST_START_CMD.
-
-2004-05-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.h:
- * generic/tclCompile.c:
- * generic/tclExecute.c: changed implementation of {expand}, last
- chance while in alpha as ...
-
- ***POTENTIAL INCOMPATIBILITY***
- Scripts precompiled with ProComp under previous tcl8.5a versions may
- malfunction due to changed instruction numbers for
- INST_LIST_INDEX_IMM, INST_LIST_RANGE_IMM and INST_START_CMD.
-
-2004-05-14 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime
- * generic/tclIntDecls.h: from Unix-specific stubs to the generic
- * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs'
- * generic/tclStubInit.c:
- * unix/tclUnixPort.h:
-
- * generic/tclClock.c: Changed a buggy 'GMT' timezone specification
- to the correct 'GMT0'. [Bug 922848]
-
- * unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to
- unix/tclUnixTime.c where they belong.
-
- * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone,
- ThreadSafeGMTime [removed],
- ThreadSafeLocalTime [removed],
- SetTZIfNecessary, CleanupMemory):
- Restructured to make sure that the same mutex protects all calls to
- localtime, gmtime, and tzset. Added a check in front of those calls to
- make sure that the TZ env var hasn't changed since the last call to
- tzset, and repeat tzset if necessary. [Bug 942078] Removed a buggy
- test of the Daylight Saving Time information in 'gettimeofday' in
- favor of applying 'localtime' to a known value. [Bug 922848]
-
- * tests/clock.test (clock-3.14): Added test to make sure that changes
- to $env(TZ) take effect immediately.
-
- * win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer
- for 'localtime' and 'gmtime' calls.
-
-2004-05-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c:
- * generic/tclCompile.h: the math functions receive a pointer to top of
- the stack (tosPtr) instead of the execution environment (eePtr). First
- step towards a change in the execution stack management - it is now
- only used within TEBC.
-
-2004-05-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP#143 IMPLEMENTATION
-
- * generic/tclExecute.c (TclCompEvalObj, TclExecuteByteCode):
- * generic/tclBasic.c (TclEvalObjvInternal): Enable limit checking.
- * generic/tclInterp.c (Tcl_Limit*): Public limit API.
- * generic/tcl.decls:
- * tests/interp.test: Basic tests of command limits.
-
- * doc/binary.n: TIP#129 IMPLEMENTATION [Patch 858211]
- * generic/tclBinary.c: Note that the test suite probably has many more
- * tests/binary.test: failures now due to alterations in constraints.
-
-2004-05-12 Miguel Sofer <msofer@users.sf.net>
-
- Optimisations for INST_START_CMD [Bug 926164].
- * generic/tclCompile.c (TclCompileScript): avoid emitting
- INST_START_CMD as the first instruction in a bytecoded Tcl_Obj. It is
- not needed, as the checks are done before calling TEBC.
- * generic/tclExecute.c (TclExecuteByteCode): runtime peephole
- optimisation: check at INST_POP if the next instruction is
- INST_START_CMD, in which case we fall through.
-
-2004-05-11 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/split.n, doc/join.n: Updated examples and added more.
-
-2004-05-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/glob.n: documented behaviour of symbolic links with 'glob -types
- d' (Bug 951489)
-
-2004-05-11 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/scan.n: Updated the examples to be clearer about their relevance
- to the scan command.
-
-2004-05-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/scan.n: Added examples.
-
-2004-05-10 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c (BuildCommandLine): Moved non-obvious appending
- logic to outside the loop and added commentary for its purpose. Also
- use the existence of contents in the linePtr rather than the scratch
- DString post the append, as this more clear.
-
- (TclpCreateProcess): When under NT, with no console, and executing a
- DOS application, the path priming does not need an ending space as
- BuildCommandLine() will do this for us.
-
-2004-05-08 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c:
- * generic/tclIOUtil.c: remove some compiler warnings on MacOS X.
-
-2004-05-07 Chengye Mao <chengye.geo@yahoo.com>
-
- * win/tclWinPipe.c: refixed bug 789040 re-entered in rev 1.41. Let's
- be careful and don't re-enter previously fixed bugs.
-
-2004-05-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/format.n: Added examples.
-
-2004-05-07 Miguel Sofer <msofer@users.sf.net>
-
- * doc/unset.n: added upvar.n to the "see also" list
-
-2004-05-07 Reinhard Max <max@suse.de>
-
- * generic/tclEncoding.c:
- * tests/encoding.test: added support and tests for translating
- embedded null characters between real nullbytes and the internal
- representation on input/output [Bug 949905].
-
-2004-05-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c:
- * generic/tclIOUtil.c:
- * generic/tclFileSystem.h:
- * tests/fileSystem.test: fix for [Bug 943995], in which vfs-registered
- root volumes were not handled correctly as glob patterns in all
- circumstances.
-
-2004-05-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclObj.c (TclFreeObj): made TclFreeObj use the new macro
- TclFreeObjMacro(), so that the allocation and freeing of Tcl_Obj is
- defined in a single spot (the macros in tclInt.h), with the exception
- of the TCL_MEM_DEBUG case.
- The #ifdef logic for the corresponding macros has been reformulated to
- make it clearer.
-
-2004-05-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/break.n, doc/continue.n, doc/for.n, doc/while.n: More examples.
-
-2004-05-05 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (unixInit-2.10): Test correction for Mac OSX.
- Be sure to consistently compare normalized path names. Thanks to
- Steven Abner (tauvan). [Bug 948177]
-
-2004-05-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no
- such API. [Bug 848440]
-
-2004-05-05 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinSock.c (SocketEventProc) : connect errors should fire both
- the readable and writable handlers because this is how it works on
- UNIX [Bug 794839]
-
- * generic/tclEncoding.c (TclFinalizeEncodingSubsystem):
- FreeEncoding(systemEncoding); moved to before the hash table iteration
- as it was causing a double free attempt under some conditions.
-
- * win/coffbase.txt: Added the tls extension to the list of preferred
- load addresses.
-
-2004-05-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/fileSystem.test (filesystem-1.39): replace 'file volumes'
- * tests/fileName.test (filename-12.9,10): lindex with direct C:/
- hard-coded because A:/ was being used and that is empty for most.
-
- * tests/winFCmd.test (winFCmd-16.12): test volumerelative $HOME
-
-2004-05-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclAlloc.c: Make sure Tclp*Alloc* routines get
- * generic/tclInt.h: declared in the TCL_MEM_DEBUG and
- * generic/tclThreadAlloc.c: TCL_THREADS configuration. [Bug 947564]
-
- * tests/tcltest.test: Test corrections for Mac OSX. Thanks to Steven
- Abner (tauvan). [Bug 947440]
-
-2004-05-04 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclEvent.c (TclSetLibraryPath): Suppress a warning.
-
-2004-05-03 Andreas Kupries <andreask@activestate.com>
-
- * Applied [Patch 868853], fixing a mem leak in TtySetOptionProc.
- Report and Patch provided by Stuart Cassoff <stwo@users.sf.net>.
-
-2004-05-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclCreateProc): comments corrected.
-
-2004-05-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript): setting the compilation
- namespace outside of the loop.
-
-2004-05-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:
- * generic/tclInt.h: reverted fix for [Bug 926445] of 2004-04-02,
- restoring TCL_ALIGN to the header file. Todd Helfter reported that the
- macro is required by tbcload.
-
-2004-05-03 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWin32Dll.c (TclpCheckStackSpace):
- * tests/stack.test (stack-3.1): Fix for undetected stack overflow in
- TclReExec on Windows. [Bug 947070]
-
-2004-05-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl: Corrected unique prefix matching of
- interactive command completion in [unknown]. [Bug 946952]
-
-2004-05-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclObjInvokeProc):
- * tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc
- names in error messages [Bug 942757]
-
-2004-04-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/glob.n, doc/incr.n, doc/set.n: More examples.
- * doc/if.n, doc/rename.n, doc/time.n:
-
-2004-04-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Replaced Kevin Kenny's temporary
- * generic/tclThreadAlloc.c: fix for Bug 945447 with a cleaner,
- more permanent replacement.
-
-2004-04-30 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclThreadAlloc.c: Added a temporary (or so I hope!)
- inclusion of "tclWinInt.h" to avoid problems when compiling on
- Win32-VC++ with --enable-threads. [Bug 945447]
-
-2004-04-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/puts.n: Added a few examples.
-
-2004-04-29 Don Porter <dgp@users.sourceforge.net>
-
- * tests/execute.test (execute-8.2): Avoid crashes when there is
- limited system stack space (threads-enabled).
-
-2004-04-28 Miguel Sofer <msofer@users.sf.net>
-
- * doc/global.n:
- * doc/upvar.n:
- * generic/tclVar.c (ObjMakeUpvar):
- * tests/upvar.test (upvar-8.11):
- * tests/var.test (var-3.11): Avoid creation of unusable variables:
- [Bug 600812] [TIP 184].
-
-2004-04-28 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n: Fixed fault in documentation of -index option [943448]
-
-2004-04-26 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixFCmd.c (TclpObjNormalizePath): Corrected improper
- positioning of returned checkpoint. [Bug 941108]
-
-2004-04-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/open.n, doc/close.n: Updated (thanks to David Welton) to be
- clearer about pipeline errors and added example to open(n) that shows
- simple pipeline use. [Patches 941377,941380]
-
- * doc/DictObj.3: Added warning about the use of Tcl_DictObjDone and an
- example of use of iteration. [Bug 940843]
-
- * doc/Thread.3: Reworked to remove references to testing interfaces
- and instead promote the use of the Thread package. [Patch 932527]
- Also reworked and reordered the page for better readability.
-
-2004-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Removed obsolete declarations and #include's.
- * generic/tclInt.h: [Bugs 926459, 926486]
-
-2004-04-24 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWin32Dll.c (DllMain): Added DisableThreadLibraryCalls() for
- the DLL_PROCESS_ATTACH case. We're not interested in knowing about
- DLL_THREAD_ATTACH, so disable the notices.
-
-2004-04-24 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclPort.h:
- * macosx/Makefile:
- * unix/Makefile.in: followup on tcl header reform [FR 922727]: removed
- use of relative #include paths in tclPort.h to allow installation of
- private headers outside of tcl source tree; added 'unix' dir to
- compiler header search path; add newly required tcl private headers to
- Tcl.framework on Mac OSX.
-
-2004-04-23 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851].
- When changing the eofchar we have to zap the related flags to prevent
- them from prematurely aborting the next read.
-
-2004-04-25 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix to [Bug 940281]. Tcl_FSJoinPath will now
- always return a valid Tcl_Obj when the input is valid.
- * generic/tclIOUtil.c: fix to [Bug 931823] for a more consistent
- Tcl_FSPathSeparator() implementation which allows filesystems not to
- implement their Tcl_FSFilesystemSeparatorProc if they wish to use the
- default '/'. Also fixed associated memory leak seen with, e.g., tclvfs
- package.
- * doc/FileSystem.3: documented Tcl_FSJoinPath return values more
- clearly, and Tcl_FSFilesystemSeparatorProc requirements.
-
-2004-04-23 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWin32Dll.c: Removed my mistake from 4/19 of adding an exit
- handler to TclWinInit. TclWinEncodingsCleanup called from
- TclFinalizeFilesystem does the Tcl_FreeEncoding for us.
-
- * win/tclWinChan.c (Tcl_MakeFileChannel): Case for CloseHandle
- returning zero and not throwing a
- RaiseException(EXCEPTION_INVALID_HANDLE) now being done.
-
-2004-04-22 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep
- of the pathPtr object to TclGetLibraryPath called from another thread
- was ineffective if the original's stringrep had been invalidated as
- what happens when it gets muted to a list.
-
- * win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) is called
- from the stack frame of DllMain's PROCESS_DETACH, the wait operation
- should timeout and continue.
-
- * generic/tclInt.h:
- * generic/tclThread.c:
- * generic/tclEvent.c:
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock
- and joinLock mutexes can be recovered during Tcl_Finalize.
-
-2004-04-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/switch.n: Reworked the examples to be more systematically named
- and to cover some TIP#75 capabilities.
-
- * doc/cd.n: Documentation clarification from David Welton.
-
- * doc/exec.n: Added some examples, Windows ones from Arjen Markus and
- Unix ones by myself.
-
-2004-04-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/Hash.3: Added note to Tcl_{First,Next}HashEntry docs that
- deleting the element they return is supported (and is in fact the only
- safe update you can do to the structure of a hashtable while an
- iteration is going over it.)
-
- * doc/bgerror.n: Added example from David Welton. [Patch 939473]
-
- * doc/after.n: Added examples from David Welton. [Patch 938820]
-
-2004-04-19 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWin32Dll.c: Added an exit handler in TclWinInit() so
- tclWinTCharEncoding could be freed during Tcl_Finalize().
-
- * generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in
- TclFinalizeEncodingSubsystem because its ref count was incremented in
- TclInitEncodingSubsystem.
-
-2004-04-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/read.n: Added example from David Welton. [Patch 938056]
-
-2004-04-19 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclObj.c (Tcl_GetDoubleFromObj) Corrected "short circuit"
- conversion of int to double. Reported by Jeff Hobbs on the Tcl'ers
- Chat.
-
-2004-04-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lreplace.n, doc/lrange.n, doc/llength.n: More examples for
- * doc/linsert.n, doc/lappend.n: the documentation.
-
-2004-04-16 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3: Corrected documentation of Tcl_FSUtime, and the
- corresponding filesystem driver Tcl_FSUtimeProc. [Bug 935838]
-
-2004-04-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/socket.n: Added example from [Patch 936245].
- * doc/gets.n: Added example based on [Patch 935911].
-
-2004-04-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclClock.c (Tcl_ClockObjCmd): Minor fault in a [clock
- clicks] error message.
-
-2004-04-07 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CE is
- also a unicode platform.
- * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
- * generic/tclInt.h: Correct handling of UTF
- * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
- * win/tclWinFile.c (TclpFindExecutable): "clean", allowing the
- * win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from paths
- that contain multi-byte chars on Windows [Bug 920667]
-
- * win/configure: define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC,
- * win/configure.in: TCL_LIB_SPEC, TCL_PACKAGE_PATH in tclConfig.sh.
-
-2004-04-06 Don Porter <dgp@users.sourceforge.net>
-
- Patch 922727 committed. Implements three changes:
-
- * generic/tclInt.h: Reworked the Tcl header files into a clean
- * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h
- * win/tclWinInt.h: and every C source file should #include
- * win/tclWinPort.h: at most one of those files to satisfy its
- declaration needs. tclWinInt.h and tclWinPort.h also better organized
- so that tclWinPort.h includes the Windows implementation of
- cross-platform declarations, while tclWinInt.h makes declarations that
- are available on Windows only.
-
- * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h
- * generic/tclMath.h (removed): header file. The internal Tcl
- * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a
- * win/tcl.dsp: #include <math.h> directly,
- and file external to Tcl needing libm should do the same.
-
- * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file.
- * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days
- * win/makefile.vc (TCLOBJS): gone by.
- * win/tcl.dsp:
- * win/tclWinMtherr.c (removed):
-
- End Patch 922727.
-
- * tests/unixInit.test (unixInit-3.1): Default encoding on Darwin
- systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808]
-
-2004-04-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/cmdAH.test (cmdAH-18.2): Added constraint because
- access(...,X_OK) is defined to be permitted to be meaningless when
- running as root, and OSX exhibits this. [Bug 929892]
-
-2004-04-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:
- * generic/tclInt.h: removed the macro TCL_ALIGN() from tclInt.h,
- replaced by the static macro ALIGN() in tclCompile.c [Bug 926445]
-
-2004-04-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.h: removed redundant #ifdef _TCLINT [Bug 928415],
- reported by tauvan.
-
-2004-04-02 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: Corrected constraint typos: "nonRoot" ->
- "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353]
-
-2004-04-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Removed obsolete tclBlockTime* declarations. [Bug
- 926454]
-
-2004-04-01 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Fix to privately reported vfs bug with 'glob
- -type d -dir . *' across a vfs boundary. No tests for this are
- currently possible without effectively moving tclvfs into Tcl's test
- suite.
-
-2004-03-31 Don Porter <dgp@users.sourceforge.net>
-
- * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457]
- * library/msgcat/msgcat.tcl: Updated internals to make use of [dict]s
- to store message catalog data and to use [source -encoding utf-8] to
- access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE
- 811459] Corrected [mcset] to be able to successfully set a translation
- to the empty string. [mcset $loc $src {}] was incorrectly set the $loc
- translation of $src back to $src. Also changed [ConvertLocale] to
- minimally require a non-empty "language" part in the locale value. If
- not, an error raised prompts [Init] to keep looking for a valid locale
- value, or ultimately fall back on the "C" locale. [Bug 811461].
- * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.4.1.
-
-2004-03-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclHash.c (HashStringKey): Cleaned up. This function is not
- faster, but it is a little bit clearer.
- * generic/tclLiteral.c (HashString): Applied logic from HashObjKey.
- * generic/tclObj.c (HashObjKey): Rewrote to fix fault which hashed
- every single-character object to the same hash bucket. The new code is
- shorter, simpler, clearer, and (happily) faster.
-
-2004-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC): reverting to the previous method for
- async tests in TEBC, as the new method turned out to be too costly.
- Async tests now run every 64 instructions.
-
-2004-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: New instruction code INST_START_CMD that
- * generic/tclCompile.h: allows checking the bytecode's validity
- * generic/tclExecute.c: [Bug 729692] and the interp's readyness
- * tests/interp.test (18.9): [Bug 495830] before running the command.
- * tests/proc.test (7.1): It also changes the mechanics of the async
- * tests/rename.test (6.1): tests in TEBC, doing it now at command
- start instead of every 16 instructions.
-
-2004-03-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: Fix to Windows glob where the pattern is a
- * generic/tclIOUtil.c: volume relative path or a network share [Bug
- * tests/fileName.test: 898238]. On windows 'glob' will now return
- * tests/fileSystem.test: the results of 'glob /foo/bar' and 'glob
- \\foo\\bar' as 'C:/foo/bar', i.e. a correct absolute path (rather than
- a volume relative path).
-
- Note that the test suite does not test commands like
- 'glob //Machine/Shared/*' (on a network share).
-
-2004-03-30 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fix to filename bugs recently
- * tests/fileName.test: introduced [Bug 918320].
-
-2004-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c (Tcl_Main, StdinProc): Append newline only
- * tests/basic.test (basic-46.1): to incomplete scripts
- as part of multi-line script construction. Do not add an extra
- trailing newline to the complete script. [Bug 833150]
-
-2004-03-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript): corrected possible segfault
- when a compilation returns TCL_OUTLINE_COMPILE after having grown the
- compile environment [Bug 925121].
-
-2004-03-27 Miguel Sofer <msofer@users.sf.net>
-
- * doc/array.n: added documentation for trace-realted behaviour of
- 'array get' [Bug 449893]
-
-2004-03-26 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bumped version number to 8.5a2 to distinguish
- * tools/tcl.wse.in: HEAD of CVS development from the recent 8.5a1
- * unix/configure.in: release.
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf-2.57
- * win/configure:
-
-2004-03-26 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fix to Windows-only volume relative path
- * tests/fileSystem.test: normalization. [Bug 923568]. Also fixed
- another volume relative bug found while testing.
-
-2004-03-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Fix messed up
- handling of strncmp result which just happened to work in some libc
- implementations. [Bug 922752]
-
-2004-03-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/StringObj.3: Inverted the sense of the documentation of how the
- bytes parameter is documented to match behaviour. [Bug 921464]
-
-2004-03-19 Kevin B. Kenny <kennykb@acm.org>
-
- * compat/strtoll.c:
- * compat/strtoull.c:
- * generic/tclIntDecls.h:
- * generic/tclMain.c:
- * generic/tclObj.c:
- * win/tclWinDde.c:
- * win/tclWinReg.c:
- * win/tclWinTime.c: Made HEAD build on Windows VC++ again.
-
-2004-03-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclIntDecls.h: Made HEAD build on Solaris again by applying
- fix recommended by Don Porter.
-
-2004-03-18 Reinhard Max <max@suse.de>
-
- * generic/tclIntDecls.h: Removed TclpTime_t. It wasn't really needed,
- * generic/tclInt.h: but caused warnings related to
- * generic/tclInt.decls: strict aliasing with GCC 3.3.
- * generic/tclClock.c:
- * generic/tclDate.c:
- * generic/tclGetDate.y:
- * win/tclWinTime.c:
- * unix/tclUnixTime.c:
-
- * generic/tclNamesp.c: Added temporary pointer variables to work
- * generic/tclStubLib.c: around warnings related to
- * unix/tclUnixChan.c: strict aliasing with GCC 3.3.
-
- * unix/tcl.m4: Removed -Wno-strict-aliasing.
-
-2004-03-18 Daniel Steffen <das@users.sourceforge.net>
-
- Removed support for Mac OS Classic platform [Patch 918142]
-
- * README:
- * compat/string.h:
- * doc/Encoding.3:
- * doc/FileSystem.3:
- * doc/Init.3:
- * doc/Macintosh.3 (removed):
- * doc/OpenFileChnl.3:
- * doc/OpenTcp.3:
- * doc/SourceRCFile.3:
- * doc/Thread.3:
- * doc/clock.n:
- * doc/exec.n:
- * doc/fconfigure.n:
- * doc/file.n:
- * doc/filename.n:
- * doc/glob.n:
- * doc/open.n:
- * doc/puts.n:
- * doc/resource.n (removed):
- * doc/safe.n:
- * doc/source.n:
- * doc/tclvars.n:
- * doc/unload.n:
- * generic/README:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclAlloc.c:
- * generic/tclBasic.c:
- * generic/tclCmdAH.c:
- * generic/tclDate.c:
- * generic/tclDecls.h:
- * generic/tclFCmd.c:
- * generic/tclFileName.c:
- * generic/tclGetDate.y:
- * generic/tclIOCmd.c:
- * generic/tclIOUtil.c:
- * generic/tclInitScript.h:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclMain.c:
- * generic/tclMath.h:
- * generic/tclNotify.c:
- * generic/tclPathObj.c:
- * generic/tclPlatDecls.h:
- * generic/tclPort.h:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * generic/tclThreadJoin.c:
- * library/auto.tcl:
- * library/init.tcl:
- * library/package.tcl:
- * library/safe.tcl:
- * library/tclIndex:
- * mac/AppleScript.html (removed):
- * mac/Background.doc (removed):
- * mac/MW_TclAppleScriptHeader.h (removed):
- * mac/MW_TclAppleScriptHeader.pch (removed):
- * mac/MW_TclBuildLibHeader.h (removed):
- * mac/MW_TclBuildLibHeader.pch (removed):
- * mac/MW_TclHeader.h (removed):
- * mac/MW_TclHeader.pch (removed):
- * mac/MW_TclHeaderCommon.h (removed):
- * mac/MW_TclStaticHeader.h (removed):
- * mac/MW_TclStaticHeader.pch (removed):
- * mac/MW_TclTestHeader.h (removed):
- * mac/MW_TclTestHeader.pch (removed):
- * mac/README (removed):
- * mac/bugs.doc (removed):
- * mac/libmoto.doc (removed):
- * mac/morefiles.doc (removed):
- * mac/porting.notes (removed):
- * mac/tclMac.h (removed):
- * mac/tclMacAETE.r (removed):
- * mac/tclMacAlloc.c (removed):
- * mac/tclMacAppInit.c (removed):
- * mac/tclMacApplication.r (removed):
- * mac/tclMacBOAAppInit.c (removed):
- * mac/tclMacBOAMain.c (removed):
- * mac/tclMacChan.c (removed):
- * mac/tclMacCommonPch.h (removed):
- * mac/tclMacDNR.c (removed):
- * mac/tclMacEnv.c (removed):
- * mac/tclMacExit.c (removed):
- * mac/tclMacFCmd.c (removed):
- * mac/tclMacFile.c (removed):
- * mac/tclMacInit.c (removed):
- * mac/tclMacInt.h (removed):
- * mac/tclMacInterupt.c (removed):
- * mac/tclMacLibrary.c (removed):
- * mac/tclMacLibrary.r (removed):
- * mac/tclMacLoad.c (removed):
- * mac/tclMacMath.h (removed):
- * mac/tclMacNotify.c (removed):
- * mac/tclMacOSA.c (removed):
- * mac/tclMacOSA.r (removed):
- * mac/tclMacPanic.c (removed):
- * mac/tclMacPkgConfig.c (removed):
- * mac/tclMacPort.h (removed):
- * mac/tclMacProjects.sea.hqx (removed):
- * mac/tclMacResource.c (removed):
- * mac/tclMacResource.r (removed):
- * mac/tclMacSock.c (removed):
- * mac/tclMacTclCode.r (removed):
- * mac/tclMacTest.c (removed):
- * mac/tclMacThrd.c (removed):
- * mac/tclMacThrd.h (removed):
- * mac/tclMacTime.c (removed):
- * mac/tclMacUnix.c (removed):
- * mac/tclMacUtil.c (removed):
- * mac/tcltkMacBuildSupport.sea.hqx (removed):
- * tests/all.tcl:
- * tests/binary.test:
- * tests/cmdAH.test:
- * tests/cmdMZ.test:
- * tests/fCmd.test:
- * tests/fileName.test:
- * tests/fileSystem.test:
- * tests/interp.test:
- * tests/io.test:
- * tests/ioCmd.test:
- * tests/load.test:
- * tests/macFCmd.test (removed):
- * tests/osa.test (removed):
- * tests/resource.test (removed):
- * tests/socket.test:
- * tests/source.test:
- * tests/unload.test:
- * tools/cvtEOL.tcl (removed):
- * tools/genStubs.tcl:
- * unix/Makefile.in:
- * unix/README:
- * unix/mkLinks:
- * unix/tcl.spec:
- * win/README.binary:
- * win/tcl.dsp:
-
-2004-03-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n: Improved examples on the advanced capabilities of
- lsearch (with the right options, set element removal can be done)
- following discussion on tkchat.
-
-2004-03-16 Don Porter <dgp@users.sourceforge.net>
-
- * doc/catch.n: Compiled [catch] no longer fails to catch syntax
- errors. Removed the claims in the documentation that it does.
- * doc/return.n: Updated example to use [dict merge].
-
-2004-03-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure, unix/tcl.m4: add -Wno-strict-aliasing for GCC to
- suppress useless type puning warnings.
-
-2004-03-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/file.n: *roff formatting fix. [Bug 917171]
-
-2004-03-15 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinNotify.c: Fixed a mistake where the return value of
- MsgWaitForMultipleObjectsEx for "a message is in the queue" wasn't
- accurate. I removed the check on the case result==(WAIT_OBJECT_0 + 1)
- This was having the error of falling into GetMessage and waiting there
- by accident, which wasn't alertable through Tcl_AlertNotifier. I'll do
- some more study on this and try to find-out why.
-
-2004-03-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- IMPLEMENTATION OF TIP#163
- * generic/tclDictObj.c (DictMergeCmd): This is based on work by Joe
- * tests/dict.test (dict-20.*): English in Tcl [FRQ 745851]
- * doc/dict.n: but not exactly.
-
-2004-03-10 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclGetDate.y (TclGetDate): Fix so that [clock scan
- <timeOfDay> -gmt true] uses the GMT base date instead of the local
- one. [Bug 913513]
- * tests/clock.test: Added test cases for wrong ISO8601 week number
- [Bug 500285] and wrong GMT base date [Bug 913513]. Several tests still
- fail on Windows, and these are actual faults in [clock scan]. Fix is
- still pending.
- * generic/tclDate.c: Regenerated.
-
-2004-03-08 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: Fix to 'glob -path' near the root
- * tests/fileName.test: of the filesystem. [Bug 910525]
-
-2004-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (TclParseInit): Modified TclParseInit so
- * generic/tclTest.c ([testexprparser]): that Tcl_Parse initialization
- conforms to documented promised about what fields will not be
- modified by what Tcl_Parse* routines. [Bug 910595]
-
-2004-03-05 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Check for define of MWMO_ALERTABLE in winuser.h.
- * win/tclWinPort.h: If MWMO_ALERTABLE is not defined in winuser.h then
- define it. This is needed for Mingw.
-
-2004-03-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclTest.c: Modified TesteventObjCmd to use a
- Tcl_QueuePosition in place of an 'int' for the enumerated queue
- position, to avoid a compiler warning on SGI. [Bug 771960]
-
-2004-03-05 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/registry.test: Applied fix from [Patch 910174] to make the test
- for an English-language system include any country code, rather than
- just English-United States.1252. Thanks to Pat Thoyts for the changes.
-
-2004-03-04 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/registry.test: Applied fixed from [Bug 766159] to skip two
- tests on Win98 that depend on a Unicode registry (NT specific).
-
-2004-03-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (TclParseInit): Factored the common code
- * generic/tclParse.c (TclParseInit): for initializing a Tcl_Parse
- * generic/tclParseExpr.c: struct into one routine.
-
-2004-03-04 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/reg/pkgIndex.tcl: Added TIP #100 support to the
- * win/tclWinReg.c: registry package [patch 903831]
- This provides a Windows test of the TIP #100 mechanism and a sample to
- show how unloading an extension can be done.
-
-2004-03-04 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/dltest/pkgua.c: Fix minor syntax problems. [Bug 909288]
-
-2004-03-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.5a1 TAGGED FOR RELEASE ***
-
- * changes: updated for 8.5a1
-
-2004-03-03 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: default environment variable for VC++ is %MSDevDir%
- not %MSVCDir%, although vcvars32.bat sets both.
-
- * win/tclWinNotify.c (Tcl_WaitForEvent) : Allows an idling notifier to
- service "Asynchronous Procedure Calls" from its wait state. Only
- useful for extension authors who decide they might want to try
- "completion routines" with WriteFileEx(), as an example. From
- experience, I recommend that "completion ports" should be used instead
- as the execution of the callbacks are more managable.
-
-2004-03-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: update patchlevel to 8.5a1
- * generic/tcl.h:
- * tools/tcl.wse.in, tools/tclSplash.bmp:
- * unix/configure, unix/configure.in, unix/tcl.spec:
- * win/README.binary, win/configure, win/configure.in:
-
- * unix/tcl.m4: update HP-11 build libs setup
-
-2004-03-01 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow 64-bit enabling on
- IRIX64-6.5* systems. [Bug 218561]
- * unix/configure: autoconf-2.57
-
- * generic/tclTrace.c (TclCheckInterpTraces): The TIP 62
- * generic/tclTest.c (TestcmdtraceCmd): implementation introduced a
- * tests/trace.test (trace-29.10): bug by testing the CallFrame
- level instead of the iPtr->numLevels level when deciding what traces
- created by Tcl_Create(Obj)Trace to call. Added test to expose the
- error, and made fix. [FRQ 462580]
-
-2004-02-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileSystem.test: fix to Tcl Bug 905163.
- * tests/fileName.test: fix to Tcl Bug 904705.
-
- * doc/{various}.n: removed 'the the' typos.
-
-2004-02-26 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: fixed copyright year in Tcl.framework Info.plist
-
-2004-02-25 Don Porter <dgp@users.sourceforge.net>
-
- * tests/basic.test: Made several tests more robust to the
- * tests/cmdMZ.test: list-quoting of path names that might contain
- * tests/exec.test: Tcl-special chars like { or [. Should help us
- * tests/io.test: sort out [Bug 554068]
- * tests/pid.test:
- * tests/socket.test:
- * tests/source.test:
- * tests/unixInit.test:
-
-2004-02-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclLoad.c (Tcl_LoadObjCmd): Missing dereference caused
- segfault with non-loadable extension. [Bug 904307]
-
- * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very
- long hostnames. [Bug 888777]
-
-2004-02-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinDde.c: Removed some gcc warnings - except for the
- -Wconversion warning for GetGlobalAtomName. gcc is just wrong about
- this.
-
-2004-02-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- IMPLEMENTATION OF TIP#100 FROM GEORGIOS PETASIS
- * generic/tclLoad.c (Tcl_UnloadObjCmd): Implementation.
- * tests/unload.test: Test suite.
- * unix/dltest/pkgua.c: Helper for test suite.
- * doc/unload.n: Documentation.
- Also assorted changes (mostly small) to several other files.
-
-2004-02-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/regc_locale.c (cclass): Buffer was having its size reset
- instead of being released => memleak. [Bug 902562]
-
-2004-02-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclLoad.c (Tcl_LoadObjCmd): Fixed memory leak due to an
- improper error exit route.
-
-2004-02-20 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinSock.c (SocketThreadExitHandler): Don't call
- TerminateThread when WaitForSingleObject returns a timeout.
- Tcl_Finalize called from DllMain will pause all threads. Trust that
- the thread will get the close notice at a later time if it does ever
- wake up before being cleaned up by the system anyway.
-
-2004-02-17 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl: Changed -verbose default value to
- {body error} so that detailed information on unexpected errors in
- tests is provided by default, even after the fix for [Bug 725253]
-
-2004-02-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/unixInit.test (unixInit-7.1):
- * unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to
- prevent crash condition [Bug 772288]
-
-2004-02-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Bozo mistake in memory
- releasing order when in an error case. [Bug 898910]
-
-2004-02-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclTrace.c (TclTraceExecutionObjCmd)
- (TclTraceCommandObjCmd): fix possible mem leak in trace info.
-
-2004-02-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinInit.c (AppendEnvironment): Use the tail component of the
- passed in lib path instead of just blindly using lib+4. That worked
- when lib was "lib/..." but fails for other values. Thanks go to
- Patrick Samson for pointing this out.
-
-2004-02-10 David Gravereaux <davygrvy@pobox.com>
-
- * win/nmakehlp.c: better macro grepping logic.
-
-2004-02-07 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc:
- * win/rules.vc:
- * win/tcl.rc:
- * win/tclsh.rc: Added an 'unchecked' option to the OPTS macro so a
- core built with symbols can be linked to the non-debug enabled C
- run-time. As per discussion with Kevin Kenny. Called like this:
-
- nmake -af makefile.vc OPTS=unchecked,symbols
-
- This clarifies the meaning of the 'g' naming suffix to mean only that
- the binary requires the debug enabled C run-time. Whether the binary
- contains symbols or not is a different condition.
-
-2004-02-06 Don Porter <dgp@users.sourceforge.net>
-
- * doc/clock.n: Removed reference to non-existent [file ctime].
-
-2004-02-05 David Gravereaux <davygrvy@pobox.com>
-
- * docs/tclvars.n: Added clarification of the tcl_platform(debug) var
- that it only refers to the flavor of the C run-time, and not whether
- the core contains symbols.
-
-2004-02-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c (SkipToChar): Corrected CONST and type-casting
- issues that caused compiler warnings.
-
-2004-02-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (StoreStatData): Removed improper refcount
- decrement of the varName parameter. This error was causing segfaults
- following test cmdAH-28.7.
-
- * library/tcltest/tcltest.tcl: Corrected references to non-existent
- $name variable in [cleanupTests]. [Bug 833637]
-
-2004-02-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected parsing of single command
- line argument (option with missing value) [Bug 833910]
- * library/tcltest/pkgIndex.tcl: Bump to version 2.2.5.
-
-2004-02-02 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclIO.c (Tcl_Ungets): Fixes improper filling of the channel
- buffer. This is the buffer before the splice. [Bug 405995]
-
-2004-02-01 David Gravereaux <davygrvy@pobox.com>
-
- * tests/winPipe.test: more pass-thru commandline verifications.
- * win/tclWinPipe.c (BuildCommandLine): Special case quoting for '{'
- not required by the c-runtimes's parse_cmdline().
- * win/tclAppInit.c: Removed our custom setargv() in favor of the work
- provided by the c-runtime. [Bug 672938]
-
- * win/nmakehlp.c: defensive techniques to avoid static buffer
- overflows and a couple envars upsetting invokations of cl.exe and
- link.exe. [Bug 885537]
-
- * tests/winPipe.test: Added proof that BuildCommandLine() is not doing
- the "N backslashes followed a quote -> insert N * 2 + 1 backslashes
- then a quote" rule needed for the crt's parse_cmdline().
- * win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases.
-
-2004-01-30 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Use the -GZ compiler switch when building for
- symbols. This is supposed to emulate the release build better to avoid
- hiding problems that only show themselves in a release build.
-
-2004-01-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix to [Bug 883143] in file normalization
-
-2004-01-29 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n:
- * generic/tclFCmd.c
- * generic/tclTest.c
- * library/init.tcl
- * mac/tclMacFile.c
- * tests/fileSystem.test: fix to [Bug 886352] where 'file copy -force'
- had inconsistent behaviour wrt target files with insufficient
- permissions, particular from vfs->native fs. Behaviour of '-force' is
- now always consistent (and now consistent with behaviour of 'file
- delete -force'). Added new tests and documentation and cleaned up the
- 'simplefs' test filesystem.
-
- * generic/tclIOUtil.c
- * unix/tclUnixFCmd.c
- * unix/tclUnixFile.c
- * win/tclWinFile.c: made native filesystems more robust to C code
- which asks for mount lists.
-
- * generic/tclPathObj.c: fix to [Bug 886607] removing warning/error
- with some compilers.
-
-2004-01-28 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclObj.c (SetBooleanFromAny): Rewrite to do more efficient
- string->bool conversion.
- Many other minor whitespace/style fixes to this file too.
-
-2004-01-27 David Gravereaux <davygrvy@pobox.com>
-
- * win/nmakehlp.c: Use '.\nul' as the sourcefile name instead of 'nul'
- so VC 5.2 doesn't try searching the path for it and failing with a
- possible dialogbox popping up about having to add a CD to an empty
- drive. Also added a SetErrorMode() call to disable any dialogs that
- cl.exe or link.exe might create. [Bug 885537]
-
-2004-01-22 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n: clarified documentation of 'file system' [Bug 883825]
- * tests/fCmd.test: improved test result in failure case.
-
-2004-01-22 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileSystem.test: 3 new tests
- * generic/tclPathObj.c: fix to [Bug 879555] in file normalization.
- * doc/filename.n: small clarification to Windows behaviour with
- filenames like '.....', 'a.....', '.....a'.
-
- * generic/tclIOUtil.c: slight improvement to native cwd caching on
- Windows.
-
-2004-01-21 David Gravereaux <davygrvy@pobox.com>
-
- * doc/Panic.3: Mentions of 'panic' and 'panicVA' removed from the
- documentation.
-
-2004-01-21 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * generic/tcl.decls:
- * generic/tclCmdAH.c
- * generic/tclDecls.h
- * generic/tclFCmd.c
- * generic/tclFileName.c
- * generic/tclFileSystem.h
- * generic/tclIOUtil.c
- * generic/tclInt.decls
- * generic/tclInt.h
- * generic/tclIntDecls.h
- * generic/tclPathObj.c
- * generic/tclStubInit.c
- * generic/tclTest.c
- * mac/tclMacFile.c
- * tests/fileName.test
- * tests/fileSystem.test
- * tests/winFCmd.test
- * unix/tclUnixFile.c
- * win/tclWin32Dll.c
- * win/tclWinFCmd.c
- * win/tclWinFile.c
- * win/tclWinInt.h
-
- Three main issues accomplished: (1) cleaned up variable names in the
- filesystem code so that 'pathPtr' is used throughout. (2) applied a
- round of filesystem optimisation with better handling and caching of
- relative and absolute paths, requiring fewer conversions. (3)
- clarifications to the documentation, particularly regarding the
- acceptable refCounts of objects. Some new tests added. Tcl benchmarks
- show a significant improvement over 8.4.5, and on Windows typically a
- small improvement over 8.3.5 (Unix still appears to require
- optimisation). TCL_FILESYSTEM_VERSION_2 introduced, but for internal
- use only. There should be no public incompatibilities from these
- changes. Thanks to dgp for extensive testing.
-
-2004-01-19 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinPipe.c (Tcl_WaitPid): Fixed a thread-safety problem with
- the process list. The delayed cut operation after the wait was going
- stale by being outside the list lock. It now cuts within the lock and
- does a locked splice for when it needs to instead. [Bug 859820]
-
-2004-01-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c, generic/tclCompile.h: Two new opcodes,
- INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) of
- new type OPERAND_IDX4 which represents indexes into things like lists
- (and perhaps other things eventually.)
- * generic/tclExecute.c (TclExecuteByteCode): Implementation of the new
- opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with either front-
- or end-based simple indexing. INST_LIST_RANGE_IMM does an [lrange]
- with front- or end-based simple indexing for both the reference to the
- first and last items in the range.
- * generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode for
- the [lassign] command.
-
-2004-01-17 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinInit.c: added #pragma comment(lib, "advapi32.lib") when
- compiling under VC++ so we don't need to specify it when linking.
-
-2004-01-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Add more shimmering
- protection for when the list is also one of the variables.
-
- BASIC IMPLEMENTATION OF TIP#57
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Implementation of the
- [lassign] command that takes full advantage of Tcl's object API.
- * doc/lassign.n: New file documenting the command.
- * tests/cmdIL.test (cmdIL-6.*): Test suite for the command.
-
-2004-01-15 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinReg.c: Placed the requirement for advapi.lib into the
- object file itself with #pragma comment (lib, ...) when built with
- VC++. This will simplify linking for users of the static library.
-
- * win/rules.vc: Added new 'fullwarn' to the CHECKS commandline macro;
- sets $(FULLWARNINGS).
-
- * win/makefile.vc: Removed 'advapi.lib' from $(baselibs). Added new
- logic to crank-up the warning levels for both compile and link when
- $(FULLWARNINGS) is set. Some clean-up with how the resource files are
- built and how -DTCL_USE_STATIC_PACKAGES is sent when compiling the
- shells.
-
- * win/tclAppInit.c: Small change in how TCL_USE_STATIC_PACKAGES is
- used.
-
- * win/tcl.rc:
- * win/tclsh.rc: Some clean-up with how the resource files are built.
- Fixed 'OriginalFilename' problem that still thought a debug suffix was
- still 'd', now is 'g'.
-
-2004-01-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclDictObj.c (TraceDictPath, DictExistsCmd): Adjusted
- behaviour of [dict exists] so a failure to look up a dictionary along
- the path of dicts doesn't trigger an error. This is how it was
- documented to behave previously... [Bug 871387]
-
- * generic/tclDictObj.c: Assorted dict fixes from Peter Spjuth relating
- to [Bug 876170].
- (SetDictFromAny): Make sure that lists retain their ordering even when
- converted to dictionaries and back.
- (TraceDictPath): Correct object reference count handling!
- (DictReplaceCmd, DictRemoveCmd): Stop object leak.
- (DictIncrCmd,DictLappendCmd,DictAppendCmd,DictSetCmd,DictUnsetCmd):
- Simpler handling of reference counts when assigning to variables.
- * tests/dict.test (dict-19.2): Memory leak stress test
-
-2004-01-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Silence compiler warnings.
-
- Patch 876451: restores performance of [return]. Also allows forms such
- as [return -code error $msg] to be bytecompiled.
-
- * generic/tclInt.h: Factored Tcl_ReturnObjCmd() into two pieces:
- * generic/tclCmdMZ.c: TclMergeReturnOptions(), which can parse the
- options to [return], check their validity, and create the
- corresponding return options dictionary, and TclProcessReturn(), which
- takes that return options dictionary and performs the [return]
- operation.
-
- * generic/tclCompCmds.c: Rewrote TclCompileReturnCmd() to call
- TclMergeReturnOptions() at compile time so the return options
- dictionary is computed at compile time (when it is fully known). The
- dictionary is pushed on the stack along with the result, and the code
- and level values are included in the bytecode as operands. Also
- supports optimized compilation of un-[catch]ed [return]s from procs
- with default options into the INST_DONE instruction.
-
- * generic/tclExecute.c: Rewrote INST_RETURN instruction to retrieve
- the code and level operands, pop the return options from the stack,
- and call TclProcessReturn() to perform the [return] operation.
-
- * generic/tclCompile.h: New utilities include TclEmitInt4 macro
- * generic/tclCompile.c: and TclWordKnownAtCompileTime().
-
- End Patch 876451.
-
- * generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to management
- of the interp result by Tcl_GetIndexFromObj() exposed improper interp
- result management in the [glob] command procedure. Corrected by
- adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern. This stopped
- a segfault in test filename-11.36. [Bug 877677]
-
-2004-01-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs):
- Create fresh objects instead of using the one currently in the
- interpreter, which isn't guaranteed to be fresh and unshared. The cost
- for the core will be minimal because of the object cache, and this
- fixes [Bug 875395].
-
-2004-01-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompExpr.c (CompileLandOrLorExpr): cosmetic changes.
-
-2004-01-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompExpr.c (CompileLandOrLorExpr): new logic, fewer
- instructions. As a side effect, the instructions INST_LOR and
- INST_LAND are now never used.
- * generic/tclExecute.c (INST_JUMP*): small optimisation; fix a bug in
- debug code.
-
-2004-01-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenced
- to see if there are waiters else uninitialized datum is manipulated.
- [Bug 849007 789338 745068]
-
-2004-01-09 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tcl.h: Renamed and deprecated #defines moved to within the
- #ifndef TCL_NO_DEPRECATED block. This allows us to build Tcl to check
- for deprecated functions in use, such as panic() and Tcl_Ckalloc(). By
- request from DKF. Extensions that build with -DTCL_NO_DEPRECATED now
- have these macros as restricted.
- ***POTENTIAL INCOMPATIBILITY***
-
- * win/makefile.vc:
- * win/rules.vc: Added -DTCL_NO_DEPRECATED usage to makefile.vc.
- Called like this: nmake -af makefile.vc CHECKS=nodep
-
-2004-01-09 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem
- [Bug 873311]
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2005 b/tcl8.6/ChangeLog.2005
deleted file mode 100644
index 0d1d7cf..0000000
--- a/tcl8.6/ChangeLog.2005
+++ /dev/null
@@ -1,3822 +0,0 @@
-2005-12-30 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStubLib.c: Corrected a typo in "missing Stubs table
- pointer."
-
-2005-12-27 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tcl.decls: Destubbed TclTomMathInitializeStubs - it is in
- * generic/tcl.h: the stub library, not the main shared
- * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble.
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclStrToD.c:
-
- * generic/tclDecls.h:
- * generic/tclStubLib.c:
- * generic/tclStubInit.c: Regenerated.
-
- * generic/clock.tcl: Reverted to using the time zone abbreviation and
- not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a
- good long-term solution, but there may not be one.
-
- * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the
- square root, roughly doubling the speed of the routine. (This is a
- local change that needs to be communicated to Tom.)
-
- * win/Makefile.in: Corrected a bug where tommath_class.h and
- tommath_superclass.h were not installed, making it impossible for
- client code to compile against the tommath stubs.
-
- * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to
- Daylight Saving Time in Canada, plus redefinition of the Posix-style
- zones [e.g., EST5EDT] to be locale-independent.)
-
- * libtommath: Updated to Tom St.Denis's release 0.37.
-
-2005-12-20 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs
- and not ints, so they are less likely to wrap on 64-bit machines.
-
-2005-12-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: Modified [string is double] to use
- * tests/string.test: TclParseNumber() to parse trailing whitespace.
- Ensures consistency, and makes it easier to cleanup after invalid
- internal reps left behind by parsing [Bugs 1360532 1382287].
-
- * generic/tclParseExpr.c: Added TCL_PARSE_NO_WHITESPACE to
- * generic/tclScan.c: TclParseNumber() calls since [scan] and [expr]
- * tests/scan.test: parsing don't want spaces in parsed numbers.
-
- * generic/tclInt.h: Added TCL_PARSE_NO_WHITESPACE flag to the
- * generic/tclStrToD.c: TclParseNumber() interface.
-
-2005-12-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/Tcl.n: Clarify what is going on in variable substitution
- following thread on comp.lang.tcl.
-
-2005-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileDictCmd): Ensure that we only do an
- 'endCatch' when there's a preceding 'beginCatch'. [Bug 1382528] Many
- thanks to Anton Kovalenko for finding this and pointing out that it was
- a catch stack handling problem!
-
-2005-12-14 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclIOUtil.c: workaround gcc warning "comparison is always
- * generic/tclTest.c: false due to limited range of data type".
-
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcodeproj/project.pbxproj:
- * unix/Makefile.in: add new tclTomMath* files.
-
- * generic/tclBasic.c: replace panic with Tcl_Panic.
-
-2005-12-13 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tcl.decls: Added changes to export an additional stubs
- * generic/tclBasic.c: table to represent the 'libtommath' routines
- * generic/tclDecls.h: that Tcl uses and export them to callers.
- * generic/tclInt.decls: Reran 'genstubs'
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * generic/tclStubLib.c:
- * generic/tclTomMath.decls:
- * generic/tclTomMath.h:
- * generic/tclTomMathDecls.h:
- * generic/tclTomMathInterface.c:
- * generic/tommath.h:
- * tools/fix_tommath_h.tcl:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc:
-
- * generic/tclClock.c: Made changes to silence a number of compiler
- * generic/tclIO.c: warnings when building with mingw.
- * generic/tclIORChan.c:
- * generic/tclLink.c:
- * generic/tclListObj.c:
- * generic/tclObj.c:
- * generic/tclParseExpr.c:
- * generic/tclProc.c:
- * generic/tclTimer.c:
- * win/tclWinChan.c:
- * win/tclWinConsole.c:
- * win/tclWinDde.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinReg.c:
- * win/tclWinSock.c:
-
-2005-12-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclExecute.c (TEBC:DICT_FIRST,DICT_DONE): Only decrease the
- references to the dictionary once the iteration completes. Do this by
- storing the dict in the iterator context variable. [Bug 1379349] Thanks
- to Ulrich Ring and Tobias Hippler for finding this.
-
-2005-12-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tcl.m4, unix/configure: Fix sh quoting error reported in
- bash-3.1+ [Bug 1377619] (schafer)
-
-2005-12-12 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/mathfunc.n: Changed two examples from the incorrect 'tcl::math::'
- to 'tcl::mathfunc::' [Bug 1378818]
-
-2005-12-09 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Define MACHINE for gcc builds. The
- lack of a definition of this variable in the manifest file was causing
- a runtime error in wish built with gcc.
-
-2005-12-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end,
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find nothing
- at all. [Bug 1374778]
-
-2005-12-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in, win/makefile.vc: Add Win x64 and CE build support
- * win/tcl.m4, win/configure: CE still requires C code fixes.
-
- * generic/tcl.h: use struct __stat64 (not _stat64) for MSC_VER >= 1400
- (i.e. latest Platform SDK).
-
-2005-12-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/socket.n: Cross-referenced the socket documentation better to the
- fconfigure documentation on the topic of asynch sockets.
- * doc/fconfigure.n: Added keyword to documentation of -blocking option
- so that people looking for "asynch" can find it as well.
-
-2005-12-05 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure
- overrides that were originally copied from Darwin CVS (rdar://3693001)
-
-2005-12-05 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/tclZIC.tcl: Updated to reflect changes in calling sequence when
- GetJulianDateFromEraYearMonthDay moved to C.
- * library/tzdata: Regenerated from Olson's tzdata2005p.tar.gz - the
- 'systemv' changes appear not to affect Tcl's processing of the dates.
-
-2005-12-05 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure.in: move check for fts API to configure.in and run it
- * unix/tcl.m4: on all platforms, since Linux glibc2 and *BSDs
- also have this; using fts is more efficient than a recursive
- opendir/readdir.
- * unix/tclUnixFCmd.c (TraverseUnixTree): add support to fts code for
- platforms with stat64.
- * unix/configure:
- * unix/tclConfig.h.in: regen.
-
-2005-12-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure: Use fts file API on Darwin if available.
- * unix/tcl.m4: Addresses file delete issues in readdir noted
- * unix/tclUnixFCmd.c: in [Bug 1034337]. (steffen)
- Remove redundant stat call for each file in DoCopyFile. (steffen)
-
-2005-12-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c: Moved a tiny bit more of [clock format] from run
- * library/clock.tcl: time to compile time, and fixed a l10n bug in the
- process. [Bug 1371446]. Also, conditoned the call to SetupTimeZone to
- speed the common case where TZData($timezone) already exists, and
- achieved a puny speedup by making ::tcl::clock::getenv not throw
- errors.
- * unix/Makefile.in: Made some changes to support a 'make' command that
- is present on some antiquated versions of Solaris.
-
-2005-12-01 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Continued rationalizing the code, eliminating
- numerous redundant [mc] calls. Added another time boost by precompiling
- a [::format] command to do the bulk of the work of [clock format].
-
-2005-12-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/Makefile.in: Add remaining dependency info. While automated
- maintenance of this information would be good, having it at all is much
- better than a poke in the eye with a sharp stick...
-
-2005-12-01 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclClock.c: fix warning.
-
- * unix/tcl.m4 (Darwin): fix error when MACOSX_DEPLOYMENT_TARGET unset
- * unix/configure: regen.
-
-2005-11-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/Makefile.in: Add dependency information relating to tclCompile.h
- since when the list of opcodes changes it is usually useful to rebuild
- everything that depends on it (but which is nonetheless a small
- fraction of the total set of Tcl source files).
-
- ***POTENTIAL INCOMPATIBILITY*** for bytecode savers/loaders. See below
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Arrange for very simple
- [switch] invokations to be compiled into hash lookups into jump tables;
- only a very specific kind of [switch] can be safely compiled this way,
- but that happens to be the most common kind. This makes around 5-10%
- difference to the speed of execution of clock.test.
- * generic/tclExecute.c (TEBC:INST_JUMP_TABLE): New instruction to allow
- for jumps to locations looked up in a hashtable. Requires a new AuxData
- type, tclJumptableInfoType (supported by the functions DupJumptableInfo
- and FreeJumptableInfo in tclCompCmds.c) so anything that saves bytecode
- containing this *must* be updated!
-
-2005-11-30 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclClock.c: Fixed a bad refcount in previous commit that led
- to a corrupted heap. Also silenced a warning that some compilers gave
- about the excessively long constant for JULIAN_SEC_POSIX_EPOCH. Also
- fixed a bug where [clock format] would fail in the :localtime zone for
- times before the Posix Epoch. Thanks to Miguel Sofer for pointing out
- all of these. Also rationalized the code a little bit by moving parts
- of [clock scan] into C, eliminating some code that was duplicated in
- the C and Tcl layers.
-
-2005-11-29 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclBasic.c: Moved a big part of [clock format] down
- * generic/tclClock.c: to the C level in order to make it go faster.
- * generic/tclInt.h: Preliminary measurements suggest that it
- * generic/clock.tcl: more than doubles in speed with this change.
-
-2005-11-29 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to
- process REs that contain backreferences. This expensive mode of
- operation is only used if the RE would otherwise cause a compilation
- failure. [Bug 1366683]
-
-2005-11-28 Kevin Kenny <kennykb@acm.org>
-
- * tools/tclZIC.tcl (convertTimeOfDay): Corrected a typo that caused
- wrong DST transitions in any time zone where the transition is
- specified as local Standard Time (as opposed to wall-clock or UTC).
- (Also updated the code to be bignum-safe.)
- * tests/clock.test (clock-51.1): Added regression test for the above.
- * library/tzdata: Updated to Olson's 'tzdata2005o' (changes for Cuba,
- Nicaragua, Jordan, and Georgia) and regenerated. Thanks to Paul
- Mackerras for reporting this problem.
-
-2005-11-27 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
- add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to
- configure (flag can't be present twice, so can't be in both CFLAGS and
- LDFLAGS during configure), don't use -prebind when deploying on 10.4,
- define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542).
- (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete
- autoconf macros. Sync with tk/unix/tcl.m4.
-
- * unix/configure.in: fix obsolete autoconf macros, sync gratuitous
- formatting/ordering differences with tk/unix/configure.in.
-
- * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable
- linking the same as during configure (needed to avoid losing any linker
- relevant flags in CFLAGS, in particular flags that cannot be in
- LDFLAGS). Avoid concurrent linking of tclsh and compiling of
- tclTestInit.o or xtTestInit.o during parallel make.
- (checkstubs, checkdoc, checkexports): dependency and Darwin fixes
- (dist): add new macosx files.
-
- * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING
- on second NSAddImage only. [Bug 1204237]
- (TclGuessPackageName): should not be MODULE_SCOPE.
- (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for
- loading universal (fat) bundles from memory.
-
- * unix/tclUnixFCmd.c:
- * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes.
- (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API
- to enable copying of xattrs & ACLs by [file copy].
-
- * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE
- defines to support fat compiles of ppc and ppc64 at the same time,
- (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location
- of version numbers in macosx files.
-
- * generic/tclInt.h: clarify fat compile comment.
-
- * unix/tclUnixPort.h: add Darwin specifc configure overrides to support
- fat compiles, where configure runs only once for multiple architectures
- (replaces Darwin CVS fix by emoy, rdar://3693001).
-
- * macosx/tclMacOSXBundle.c:
- * macosx/tclMacOSXNotify.c:
- * unix/tclUnixNotfy.c:
- * unix/tclUnixPort.h: fix #include order to support compile time
- override of HAVE_COREFOUNDATION in tclUnixPort.h when building for
- ppc64
-
- * macosx/Tcl.pbproj/default.pbxuser (new file):
- * macosx/Tcl.pbproj/jingham.pbxuser:
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Tcl.xcode/default.pbxuser (new file):
- * macosx/Tcl.xcode/project.pbxproj (new file):
- * macosx/Tcl.xcodeproj/default.pbxuser (new file):
- * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated
- projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on
- 10.2, with native tcltest targets and support for universal (fat)
- compiles.
-
- * macosx/README: clarification/cleanup, document new Xcode projects and
- universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once).
-
- * unix/Makefile.in:
- * unix/aclocal.m4:
- * unix/configure.in:
- * unix/dltest/Makefile.in:
- * macosx/configure.ac (new file): add support for inclusion of
- unix/configure.in by macosx/configure.ac, allows generation of a config
- headers enabled configure script in macosx (required by Xcode
- projects).
-
- * macosx/GNUmakefile: rename from Makefile to avoid overwriting by
- configure run in tcl/macosx, add support for reusing configure cache,
- build target fixes, remove GENERIC_FLAGS override now handled by
- tcl.m4.
-
- * generic/tcl.decls: add Tcl_Main declaration as comment to avoid
- 'checkstubs' target complaining about it missing from stubs.
-
- * generic/regex.h:
- * generic/tclDate.c:
- * generic/tclEnv.c:
- * generic/tclGetDate.y:
- * generic/tclIOUtil.c:
- * generic/tclObj.c:
- * generic/tclStubInit.c:
- * generic/tclStubLib.c:
- * generic/tclPathObj.c:
- * generic/tclThreadAlloc.c:
- * generic/tclThreadStorage.c:
- * generic/tclTrace.c:
- * generic/tclVar.c:
- * generic/tommath.h:
- * tools/fix_tommath_h.tcl:
- * unix/tclUnixFCmd.c: ensure externally visible symbols not contained
- in stubs table are declared as MODULE_SCOPE (or as static if not used
- outside of own source file). These changes allow 'make checkstubs' to
- complete without error on Darwin with gcc 4.
-
- * generic/rege_dfa.c (getvacant):
- * generic/regexec.c (cfind):
- * generic/tclCompExpr.c (CompileSubExpr):
- * generic/tclNamesp.c (NamespaceEnsembleCmd):
- * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to
- silence gcc 4 warnings.
-
- * generic/tclExecute.c (TclExecuteByteCode): fix unused variable
- warning when NO_WIDE_TYPE is defined.
-
- * generic/regguts.h: only #define NDEBUG if not already #defined.
-
- * unix/tclUnixNotfy.c:
- * macosx/tclMacOSXNotify.c: sync whitespace & comments.
-
- * unix/tclUnixPort.h:
- * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex
- API.
-
- * unix/configure:
- * unix/tclConfig.h.in: regen.
-
-2005-11-21 Andreas Kupries <andreask@activestate.com>
-
- * unix/Makefile.in (install-libraries): Updated Makefile to new
- * win/Makefile.in (install-libraries): version of the http package.
- This fixes the ifneeded/provide mismatch reported when trying to
- require http. Should we maybe try to automatically extract the version
- number from the http code to prevent future breakage ?
-
- This follows the update of the version number by dgp on Nov 15 (No
- entry found in the ChangeLog).
-
-2005-11-20 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when
- Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure
- crashes wish"]
-
-2005-11-18 Miguel Sofer <msofer@users.sf.net>
-
- * tests/trace.test (trace-34.5): [Bug 1047286], added a second test
- illustrating the role of "ns in callStack" in the ns's visibility
- during deletion traces.
-
-2005-11-18 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Restored several missing lines near the %w format group
- so that %w and %W are documented with their actual behaviour. [Bug
- 1359183]
-
-2005-11-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we
- retrieve the next statePtr from it.
-
-2005-11-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c (GetBignumFromObj): replace NULL with
- tclEmptyStringRep to stop memcpy from complaining in a debug build
- (the corresponding branch is eliminated by the optimiser otherwise).
-
-2005-11-18 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch
- for [Bug 1359094]. This moves the retrieval of the next channel state
- to the end of the loop, as the called closeproc may close other
- channels, i.e. modify the list we are iterating, invalidating any
- pointer retrieved earlier.
-
-2005-11-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c: Restored the SetListFromAny routine to the
- * generic/tclObj.c: "list" Tcl_ObjType, and restored the
- Tcl_RegisterObjType() call for "list". This addresses the needs of some
- "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is
- that of the "list" Tcl_ObjType.
-
-2005-11-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * library/http/http.tcl (http::geturl): Improved syntactic validation
- of URLs, and better error messages in some cases. [Bug 1358369]
-
-2005-11-17 Miguel Sofer <msofer@users.sf.net>
-
- * tests/namespace.test: fix comment
-
-2005-11-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStrToD.c: More data in the "can't happen" Tcl_Panic to
- aid debugging.
-
- * generic/tclBasic.c (CallCommandTraces): Save/restore the interp
- result during traces to fix [Bug 1355342].
-
-2005-11-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * tests/namespace.test: fix for [Bug 1354540] and [Bug 1355942]. The
- new tests 7.3-6 and the modified 51.13 fail due to the unrelated [Bug
- 1355342]
-
- * tests/trace.test: added tests 20.13-16 for [Bug 1355342]
-
-2005-11-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken):
- * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for
- [Bug 1354540] - making sure that cached references to a command being
- deleted cannot be made reusable by a delete trace.
-
-2005-11-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_FindCommand): Do not find commands in dead
- namespaces on the path. Partial fix for [Bug 1354540].
-
-2005-11-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Revised TclParseNumber interface to enable
- * generic/tclScan.c: revision to the [scan] command implementation
- * generic/tclStrToD.c: to permit tests scan-4.44,55 to pass again.
- [Bug 1348067].
-
-2005-11-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken):
- * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early
- to insure that cached references to this command are invalidated.
- Partial fix for [Bug 1352734] - at least insures that namespace-51.13
- does not cause a panic. The test is still marked as knownbug, pending
- resolution of what is actually the correct return value ([Bug
- 1354540])
-
-2005-11-09 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclTimer.c: Changed [after] so that it behaves correctly
- * tests/timer.test: with negative arguments [Bug 1350293] and
- arguments that overflow a 32-bit word. [Bug 1350291]
-
-2005-11-08 Don Porter <dgp@users.sourceforge.net>
-
- * tests/compile.test: Updated tests with changed behavior
- * tests/execute.test: due to addition of bignums.
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/parseExpr.test:
- * tests/platform.test:
- * tests/string.test:
-
-2005-11-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130
- based on errors seen on OS X 10.3 with lots of links in a dir.
- [Bug 1034337 followup]
-
-2005-11-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/Makefile.in (gdb-test): Added a new target to make it easier to
- run the test suite inside a debugger.
-
-2005-11-08 Don Porter <dgp@users.sourceforge.net>
-
- * tests/compExpr-old.test: Updated tests with changed behavior due
- to addition of bignums.
-
- * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368]
-
- * generic/tclPkg.c: Corrected inconsistencies in the value returned
- * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned
- values will always agree with what is stored in the package database.
- This way repeated calls to Tcl_PkgRequire(Ex) have the same results.
- Thanks to Hemang Lavana. [Bug 1162286].
-
-2005-11-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclTrace.c (TraceVarEx): Factor out heart of Tcl_TraceVar2
- (TclTraceVariableObjCmd,TraceVarProc): Use the new internal API to
- arrange for the clientData to be cleaned up at the same time as the
- rest of the main trace record. This simplifies the code a bit at the
- same time.
-
-2005-11-07 Miguel Sofer <msofer@users.sf.net>
-
- * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug
- 1348775]. The recently added trace-8.9 test is now 13.4.
-
-2005-11-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/dict.test (dict-19.2): arrange for the stress testing code to
- only stress test the dict code and not the trace code as well. [Bug
- 1342858]
-
-2005-11-05 Miguel Sofer <msofer@users.sf.net>
-
- * tests/trace.test (trace-8.9): added test to detect leak, see [Bug
- 1348775].
-
-2005-11-04 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinPort.h: Applied [Patch 1267871] by Matt Newman for
- * win/tclWinPipe.c: extended error code support on Windows.
- * tests/exec.test: Tests for extended error codes.
- * generic/tclPipe.c: Permit long codes (platform macros permitting).
-
-2005-11-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBinary.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * generic/tclIOCmd.c:
- * generic/tclLink.c:
- * generic/tclTest.c:
- * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar,
- Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr
- argument - i.e., they will free a 0-refCount object if they failed to
- set the variable. Fixed all callers in the core.
-
-2005-11-04 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclGetDate.y: Added abbreviations for the Korean
- * library/clock.tcl: timezone. [Patch 1298737]
- * generic/tclDate.c: Regenerated.
-
- * tools/findBadExternals.tcl: Added this script, which locates external
- symbols that do not begin with 'Tcl' or 'tcl' and hence might be in
- conflict with other link libraries. Thanks to George Peter Staplin for
- the idea and the initial version of the script. [Bug 1263012]
-
- * unix/Makefile.in: Trimmed a bunch of fat out of the tommath/
- directory in 'make dist'. [RFE 1333318]
-
- * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to
- heidibr@users.sf.net for the patch. [Bug 1163896]. Removed the last
- vestiges of GNU dld from the Unix build [RFE 1071992].
-
- * unix/tclLoadDld.c: Removed.
- * unix/configure: Regenerated.
-
-2005-11-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclVar.c:
- * tests/trace.test: fix for [Bugs 1338280/1337229]; changed to use the
- same approach as the 8.4 patch in the ticket (i.e., removed the patch
- committed on 2005-31-10).
-
-2005-11-03 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWin32Dll.c: Applied [Patch 1256872] to provide unicode
- * win/tclWinConsole.c: support in the console on suitable systems.
- * win/tclWinInt.h: Patch by Anton Kovalenko
-
-2005-11-02 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- Applied [Patch 1096916] to support building with MSVC 8.
- * generic/regerror.c: Avoid use of reserved word.
- * generic/tcl.h: Select the right Tcl_Stat structure
- * generic/tclDate.c: Casts to handle 64 bit time_t case.
- * tests/env.test: Include essential envvar on Win32
- * win/nmakehlp.c: Handle new return codes.
- * win/makefile.vc: Use the selected options.
- * win/rules.vc: Check options are applicable
- * win/tclWinPort.h: Disable deprecated function warnings
- * win/tclWinSock.c: Provide default value to avoid warning.
- * win/tclWinTime.c: Add casts to handle 64bit time_t type.
-
-2005-11-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c (TclCheckExecutionTraces): Corrected mistaken
- assumption that all command traces are set at the script level.
- Report/fix from Jacques H. de Villiers. [Bug 1337941]
-
- * tests/unixNotfy.test (1.1,2): Update error message whitespace to
- match changes in code.
-
- * tests/expr-old.test (expr-32.52): Use int(.) to restrict result of
- left shift to the C long range.
-
- * expr.test (expr-46.13): Added test that illustrates shortcoming of
- [Patch 1340260].
-
-2005-10-31 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don.
- * tests/trace.test: fix duplicate test numbers
-
-2005-10-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * win/tclWinSerial.c (SerialSetOptionProc): Cleaned up option parsing
- to produce more informative error messages and separate error and
- non-error code paths better.
- * tests/ioCmd.test (iocmd-8-19): Updated.
-
-2005-10-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure
- that a second call with TCL_TRACE_DESTROYED does not lead to a second
- call to Tcl_EventuallyFree(). It is still true that that second call
- should not happen, so the bug is not completely fixed.
- * tests/trace.test (test-18.3-4): added tests for [Bug 1337229] and
- [Bug 1338280].
-
-2005-10-23 Vince Darley <vincentdarley@sourceforge.net>
-
- * generic/tclFileName.c: fix to memory leak in glob [Bug 1335006] Obj
- leak detection and patch by Eric Melbardis.
-
- * tests/fCmd.test:
- * win/tclWinFile.c: where appropriate windows API is available, try to
- set 'nlink' and 'ino' stat fields (previously they were always 0). [Bug
- 1325803]
-
-2005-10-22 Miguel Sofer <msofer@users.sf.net>
-
- * tests/foreach.test (foreach-8.1): added test for [Bug 1189274]
-
-2005-10-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INCR_*): fixed [Bug 1334570]. Obj leak
- detection and patch by Eric Melbardis.
-
-2005-10-21 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (RefineApproximation): Plugged a memory leak
- where two intermediate results were not freed on one return path. [Bug
- 1334461]. Thanks to Eric Melbardis for the patch.
-
-2005-10-21 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/binary.n: Clarify that virtually all code that uses the 'h'
- format in [binary scan] should be using the 'H' format instead. It is
- nearly always a bug to use the other!
-
-2005-10-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclListObj.c (TclLsetFlat):
- * tests/lset.test (lset-10.3): fixed handling of unshared lists with
- shared sublists, [Bug 1333036] reported by neuronstorm.
-
-2005-10-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIORChan.c (PassReceivedError,PassReceivedErrorInterp):
- Fix crash caused by passing -1 as the length to TclNewStringObj(). Only
- Tcl_NewStringObj (the function call, not the macro) handles that sort
- of thing correctly. This makes ioCmd.test pass again.
-
-2005-10-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclClock.c: Removed some dead code.
- * generic/tclCmdIL.c:
- * generic/tclCompCmds.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * generic/tclLiteral.c:
- * generic/tclParseExpr.c:
- * generic/tclScan.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2005-10-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclIORChan.c: General cleanup, removing checks that are
- unnecessary due to the general contracts of other functions in the
- core, converting to using ANSI declarations, etc. Note that nearly the
- whole file has changed, but it is often just cosmetic.
-
-2005-10-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed
- faulty peephole optimisation that can cause crashes, [Bug 1331475]
- reported by Aric Bills.
-
-2005-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Added optimization for I32L64 systems to avoid
- using bignums to perform int multiplies. The improvement shows up most
- dramatically in tclbench's matrix.bench.
-
-2005-10-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Restored some optimizations of the
- INST_INCR_SCALAR1_IMM opcode.
-
-2005-10-14 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated
- 2005-10-04 (see below). Look into [Bug 1323992] for detailed
- discussion.
-
- * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have
- been CRTIMPORT rather. This broke compilation of generic/tclMain.c and
- was probably introduced by mistake while applying the fix for [Bug
- 1256937] below.
-
-2005-10-14 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a
- couple of infelicitous do {...} while(0) constructs.
-
-2005-10-14 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tcl.h: Fix for [Bug 1256937] - correctly decorate
- * generic/tclMain.c: imported functions from msvcrt in static builds.
-
-2005-10-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/format.test: "Forward"-port of test updates relating to [Bug
- 1284178]. The bug itself was fixed by TIP#237.
-
-2005-10-13 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef
- TCL_THREADS changes done to de-activate pending event processing when
- channel is being closed/cutted.
-
-2005-10-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Removed obsolete use of NO_ERRNO_H.
- * tools/man2tcl.c:
- * unix/tcl.m4:
- * unix/tclConfig.h.in:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * compat/tclErrno.h: Removed obsolete file.
-
- * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when
- parsing "Na". [Bug 1325833]
-
-2005-10-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (GetNumberFromObj): Restored some lost
- optimizations for empty string values. We avoid cost of a call to
- TclParseNumber just to tell us an empty string isn't a number.
-
-2005-10-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not
- be combined with post-increment arguments. [Bug 1325099]
-
-2005-10-12 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several
- common cases inlined in hopes of gaining a little performance in [incr]
-
-2005-10-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c: New convenience macro CompileTokens().
-
-2005-10-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also
- added missing "break" to a switch that broke wide XOR operations.
-
-2005-10-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInterp.c (DeleteScriptLimitCallback)
- (SetScriptLimitCallback): Improve the interlocking between the script
- limit callback record and the hash table of current such records, to
- prevent crashes in callbacks that create callbacks.
- (Tcl_LimitSetTime): Reset the correct flag. Problem reported by
- Nicolas Castagne <castagne@imag.fr> on comp.lang.tcl
-
-2005-10-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Fixing errors in last commit. (Two commits, the
- second removes wrong comment).
-
-2005-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclStrToD.c:
- * generic/tclStringObj.c: Initialise variables to avoid compiler
- warnings ([Bug 1320818] among others).
-
-2005-10-08 Don Porter <dgp@users.sourceforge.net>
-
- TIP#237 IMPLEMENTATION
-
- [kennykb-numerics-branch] Resynchronized with the HEAD; at this
- checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and
- kennykb-numerics-branch contain identical code.
-
- [kennykb-numerics-branch] Merge updates from HEAD
-
- * generic/tclExecute.c: More performance macros and special handling of
- the wide integer type for performance on 32-bit systems.
-
-2005-10-07 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Macro GetNumberFromObj() is version of
- TclGetNumberFromObj() that saves a function call for common uses.
-
- * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on 32-bit
- systems. Being able to use 64-bit values without leaping to mp_int
- should help with performance.
-
- * generic/tclObj.c: Bug fixes in the #undef NO_WIDE_TYPE
- * generic/tclExecute.c: configuration.
-
- * generic/tclExecute.c: Improved performance of comparison opcodes and
- bitwise operations and removed yet more dead code.
-
-2005-10-07 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to
- * tests/fCmd.test (fCmd-20.2): account for NFS special files
- with a readdir rewind threshold. [Bug 1034337]
-
-2005-10-06 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Improved performance of INST_RSHIFT and
- INST_LSHIFT.
-
-2005-10-05 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV,
- INST_ADD, and INST_SUB and replaced a "goto... label" with a "break
- from loop" in TclIncrObj() and removed some dead code.
-
-2005-10-05 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied
- the patch provided by David Gravereaux.
-
- * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David
- Welton's patch for it, and added a note about wideSeekProc.
-
- * generic/tclIORChan.c (RcClose): Removed unreachable panic/return
- statements. This fixes the remainder of [Bug 1286256].
-
-2005-10-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/env.test (env-6.1):
- * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1
- * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET
- to existing USE_PUTENV define to account for various systems that have
- putenv(), but can't unset env vars with it. Note difference between
- Windows and Linux for actually unsetting the env var (use of '=').
- Correct the resizing of the environ array. We assume that we are in
- full ownership, but that's not correct.[Bug 979640]
-
-2005-10-04 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
- * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add
- native long integers. Also updated IllegalExprOperandType and the
- INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC
- sections for performance.
-
- * generic/tclBasic.c: Updated more callers to make use of
- TclGetNumberFromObj. Removed some dead code.
-
-2005-10-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708]
-
- * tests/http.test: do not URI encode -._~ according
- * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho)
-
- * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load
- only. [Bug 1204237]
-
- * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503]
-
- * tests/winFile.test (getuser): allow valid Windows usernames. [Bug
- 1311285]
-
- * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} in
- addition to {expand} for word expansion (make with
- -DALLOW_EMPTY_EXPAND).
-
-2005-10-04 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any
- outstanding timer for the channel. Also, prevents events still in the
- event queue from triggering on the current channel.
-
- * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if passed
- NULL argument.
-
-2005-10-03 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclBasic.c: Re-implemented ExprRoundFunc and
- ExprEntierFunc to use TclGetNumberFromObj.
-
- * generic/tclInt.h: Added new routine TclGetNumberFromObj to
- * generic/tclObj.c: provide efficient access to the actual
- internal rep of a numeric Tcl_Obj without conversions.
-
-2005-10-03 Kevin Kenny <kennykb@acm.org>
-
- * tools/loadICU.tcl: Changed the file names of message catalogs to
- lowercase.
- * tools/makeTestCases.tcl:
- * library/tzdata/*: Olson's tzdata2005n.tar.gz. Includes new DST
- rules for USA and a number of changes to other locales.
- * tests/clock.test: Regenerated for new US DST rules.
-
-2005-09-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c: Separate encoding conversion of command line
- arguments from list formatting. [Bug 1306162].
-
-2005-09-30 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclStringObj.c: Bug fix: Missing cast to large enough
- integral size before << operations led to broken [format %llx] results.
- Thanks to Robert Henry for reporting the bug.
-
-2005-09-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/mathfunc.n: implementation for TIP #255, expr min/max
- * library/init.tcl:
- * tests/info.test, tests/expr-old.test:
-
-2005-09-27 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tcl.h: Changed name of the new Tcl_Obj intrep field
- * generic/tclObj.c: from "bignumValue" to "ptrAndLongRep" as
- * generic/tclProc.c: described in TIP 237, and more suitable for
- other more general uses.
-
-2005-09-27 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/binary.test (binary-14.18): Added test for [Bug 1116542] though
- the bug itself was already fixed by unrelated changes.
-
-2005-09-26 Kevin Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merge updates from HEAD.
-
-2005-09-26 Kevin Kenny <kennykb@acm.org>
-
- * libtommath/: Updated to release 0.36.
- * generic/tommath.h: Regenerated.
- * generic/tclTomMathInterface.h: Added ten missing aliases for mp_*
- functions to avoid namespace pollution in Tcl's exported symbols. [Bug
- 1263012]
-
-2005-09-23 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * unix/Makefile.in: Added -DMP_PREC=4 switch to all compiles so
- * win/Makefile.in: that minimum memory requirements of mp_int's
- * win/makefile.vc: will not be quite so large. [Bug 1299153].
-
- * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803].
- * generic/tclObj.c:
-
-2005-09-20 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Revise TclIncrObj() to call
- Tcl_GetBignumAndClearObj.
-
- * generic/tcl.decls: Add Tcl_GetBignumAndClearObj.
- * generic/tclObj.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2005-09-16 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclInt.h: Added TclBNInitBigNumFromWideInt() so
- * generic/tclTomMathInterface.c: that every caller isn't required to
- duplicate the sign logic to use the unsigned interface.
-
- * generic/tclBasic.c: Reduce the number of places where Tcl intrudes
- * generic/tclExecute.c: into the internal format details of the mp_int
- * generic/tclObj.c: struct.
- * generic/tclStrToD.c:
- * generic/tcLStringObj.c:
-
- * generic/tclTomMath.h: Added mp_cmp_d to routines from libtommath
- * unix/Makefile.in: used by Tcl.
- * win/Makefile.in:
- * win/makefile.vc:
-
- * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a
- has the value -d, then the value &c computed should be zero, but
- mp_add_d was producing an inconsistent zero value with a sign field of
- MP_NEG, something like a value of -0, which other routines in
- libtommath can't handle.
-
- * generic/tclExecute.c: Dropped all creation of "bigOne" values and
- just use tommath routines that accept the value "1" directly.
-
-2005-09-15 Miguel Sofer <msofer@users.sf.net>
-
- * doc/ParseCmd.3: copy/paste fix [Bug 1292427]
-
-2005-09-15 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merge updates from HEAD.
-
- * generic/tclStringObj.c (TclAppendFormattedObjs): Revision to
- eliminate one round of string copying.
-
- * generic/tclBasic.c: More callers of TclObjPrintf and
- * generic/tclCkalloc.c: TclFormatToErrorInfo.
- * generic/tclCmdMZ.c:
- * generic/tclExecute.c:
- * generic/tclIORChan.c:
- * generic/tclMain.c:
- * generic/tclProc.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c
-
- * unix/configure: autoconf-2.59
-
-2005-09-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to
- transparently open large files on RHEL 3. [Bug 1287638]
-
-2005-09-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to
- support "*" fields and needed to interpret precision limits on %s
- conversions as a maximum number of bytes, not Tcl_UniChars, to take
- from the (char *) argument.
-
- * generic/tclBasic.c: Updated several callers to use
- * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or
- * generic/tclCmdAH.c: TclObjPrintf().
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * generic/tclIORChan.c:
- * generic/tclIOUtil.c:
- * generic/tclNamesp.c:
- * generic/tclProc.c:
-
- * library/init.tcl: Keep [unknown] in sync with errorInfo
- formatting rules.
-
-2005-09-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: First caller of TclFormatToErrorInfo.
-
- * generic/tclInt.h: Using stdarg.h conventions, add more
- * generic/tclStringObj.c: fixed arguments to TclFormatObj() and
- TclObjPrintf(). Added new routine TclFormatToErrorInfo().
-
- * generic/tcl.h: Explicitly standardized on the use of stdarg.h
- * generic/tclBasic.c: conventions for functions with variable number
- * generic/tclInt.h: of arguments. Support for varargs.h has been
- * generic/tclPanic.c: implicitly gone for some time now. All
- * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources,
- * generic/tclStringObj.c: leaving only some deprecated #define's
- * tools/genStubs.tcl: in tcl.h for the sake of older extensions.
-
- * generic/tclDecls.h: make genstubs
-
- * doc/AddErrInfo.3: Replaced all documented requirement for use of
- * doc/Eval.3: TCL_VARARGS_START() with requirement for use of
- * doc/Panic.3: va_start().
- * doc/SetResult.3:
- * doc/StringObj.3:
-
-2005-09-12 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merge updates from HEAD.
-
- * generic/tclCmdAH.c: Added support for the "ll" width
- * generic/tclStringObj.c: specifier to [format].
-
- * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make
- sure %ld formats force the collection of a wide value, when the value
- could be a different long.
-
-2005-09-09 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (RcDecodeEventMask): Added missing type
- declaration for the parameter 'mask'. This fixes the [Bug 1286256]. The
- other warning can be removed only by removing the panic/return code.
-
-2005-09-09 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merge updates from HEAD.
-
-2005-09-09 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclStringObj.c: Added two missing casts to silence messages
- from MSVC6.
-
-2005-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: New internal routine TclObjPrintf()
- * generic/tclStringObj.c: is similar to TclFormatObj() but
- accepts arguments in non-Tcl_Obj format.
-
- * generic/tclInt.h: New internal routines TclFormatObj()
- * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer
- sprintf()-like means to append to Tcl_Obj. Work in progress toward
- [RFE 572392].
-
- * generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd
- directs the [format] command to be implemented in terms of the new
- TclAppendFormattedObjs() routine.
-
-2005-09-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- TIP#254 IMPLEMENTATION
-
- * generic/tclLink.c (LinkTraceProc,ObjValue): Added many new of C var
- * generic/tcl.h: to link to, making it
- * doc/LinkVar.3: easier to seamlessly
- * generic/tclTest.c (TestlinkCmd): couple C code and Tcl
- * tests/link.test: scripts in an
- application. [Patch 1242844]
-
-2005-09-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative
- * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect
- handling was producing byte sequences outside of Tcl's legal internal
- encoding. [Bug 1283976].
-
-2005-09-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInt.h (List): Added flag to keep track of whether a list
- * generic/tclListObj.c: with a string rep is provably canonical.
- * generic/tclUtil.c (Tcl_ConcatObj): Do efficient concatenation and
- * generic/tclBasic.c (Tcl_EvalObjEx): evaluation when the list is
- canonical, and not just when the list is pure. This should make the
- "pure list" hacking introduced in 8.3 much more robust.
-
-2005-09-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclObj.c (pendingObjDataKey): Added missing 'static' to stop
- symbol from leaking outside the Tcl library. [Bug 1263012]
-
-2005-09-02 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] must
- not accept any 0b or 0o prefixes. [scan $s %o] must continue to work
- even with KILL_OCTAL enabled.
-
- * generic/tclInt.h: Added TCL_PARSE_SCAN_PREFIXES to the flags
- * generic/tclStrToD.c: accepted by TclParseNumber.
-
-2005-09-01 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static
- modifier in declaration and definition of function.
-
- * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static
- modifier in declaration and definition of function.
-
- * generic/tclResult.c (ReleaseKeys): Synchronized use of static
- modifier in declaration and definition of function.
-
- * generic/tclListObj.c (NewListIntRep): Synchronized use of static
- modifier in declaration and definition of function.
-
- * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized
- use of static modifier in declaration and definition of function.
-
- * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of
- static modifier in declaration and definition of function.
-
- * generic/tclIORChan.c (RcNewHandle): Synchronized use of static
- modifier in declaration and definition of function.
-
-2005-09-01 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclObj.c: TclParseNumber calls meant to parse an integer
- value now pass the TCL_PARSE_INTEGER_ONLY flag.
-
- * generic/tclScan.c: Extended [scan] to accept the %lld, %llo, %llx,
- and %lli formats. Numeric scanning is now done via TclParseNumber calls
-
- * generic/tclInt.h: Extended TclParseNumber to accept new flag
- * generic/tclStrToD.c: values TCL_PARSE_INTEGER_ONLY,
- TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller
- more control over the parsing rules.
-
-2005-08-31 Vince Darley <vincentdarley@sourceforge.net>
-
- * doc/FileSystem.3:
- * unix/tclUnixFile.c:
- * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be
- called with a NULL interpreter, and fix the code so this is allowed.
- Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this
- with a NULL interpreter.
-
-2005-08-30 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclObj.c: Extended bignum support to include bignums so
- large they will not pack into a Tcl_Obj. When they outgrow Tcl's string
- rep length limits, a panic will result.
-
- * generic/tclTomMath.h: Added mp_sqrt to routines from
- * unix/Makefile.in: libtommath used by Tcl.
- * win/Makefile.in:
- * win/makefile.vc:
-
- * generic/tclBasic.c: Extended sqrt(.) so that range covers the
- entire double range, accepting as many bignums in the domain as that
- will allow.
-
-2005-08-29 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for
- [Bug 1189657]. Syncs the implementation to the specification (TIP #189)
-
-2005-08-29 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merge updates from HEAD.
-
- * generic/tclBasic.c: Restored round(.) to the Tcl 8.4 rules.
-
-2005-08-29 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero"
- * tests/expr.test (expr-46.*): behaviour to the "round" function.
- Added test cases for the behavior, including the awkward case of a
- number whose fractional part is 1/2-1/2ulp. [Bug 1275043]
-
-2005-08-26 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to
- {Cut,Splice}Channel for internal use, and created new public functions
- for Tcl_{Cut,Splice}Channel which walk the whole stack of
- transformations and invoke the necessary thread actions. Added code to
- Tcl_(Un)StackChannel to properly invoke the thread actions when pushing
- and popping transformations on/from a channel.
-
-2005-08-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (NamespaceEnsembleCmd): Reset the result after
- creating an ensemble to clear any result object sharing (potentially
- caused by delete traces) so that we can safely return the name of the
- ensemble. Previously, this caused crashes in Snit's test suite.
-
-2005-08-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and
- unsafe crashes from happening when working with very large string
- representations. [Bug 1267380]
-
- * generic/tclExecute.c (TEBC:INST_DICT_LAPPEND): Stop dropping a
- duplicated object on the floor, which was a memory leak (and a wrong
- result too). Thanks to Andreas Kupries for reporting this.
-
-2005-08-25 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merge updates from HEAD
-
- * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values
- produced incorrect results.
-
- * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management.
- [expr 0<<6] should be 0, not 6.
-
- * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf,
- non-NaN doubles, using bignums for the result as needed.
-
-2005-08-24 Andreas Kupries <andreask@activestate.com>
-
- TIP#219 IMPLEMENTATION
-
- * doc/SetChanErr.3: ** New File **. Documentation of the new channel
- API functions.
- * generic/tcl.decls: Stub declarations of the new channel API.
- * generic/tclDecls.h: Regenerated
- * generic/tclStubInit.c:
-
- * tclIORChan.c: ** New File **. Implementation of the reflected
- channel.
- * generic/tclInt.h: Integration of reflected channel and new error
- * generic/tclIO.c: propagation into the generic I/O core.
- * generic/tclIOCmd.c:
- * generic/tclIO.h:
- * library/init.tcl:
-
- * tests/io.test: Extended testsuite.
- * tests/ioCmd.test:
- * tests/chan.test:
- * generic/tclTest.c:
- * generic/tclThreadTest.c:
-
- * unix/Makefile.in: Integration into the build machinery.
- * win/Makefile.in:
- * win/Makefile.vc:
-
-2005-08-24 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of
- * tests/binary.test (binary-65.*) formatting floating point
- numbers with the largest and smallest possible significands, and added
- test cases for them.
-
-2005-08-24 Kevin Kenny <kennykb@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Corrected some TRACE bugs that prevented
- compilation with --enable-symbols=all.
- * generic/tclStrToD.c: Revised commentary to prepare for a renaming of
- the file, removed some dead code, and fixed a bug where
- TclBignumToDouble failed on huge negative numbers.
- * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint'
- to large/small significand tests.
- * tests/expr.test (expr-45.*) Added missing braces around expressions.
-
-2005-08-24 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclBasic.c: Revised implementation of the ceil(.) and
- * generic/tclInt.h: floor(.) math functions in light of the
- * generic/tclStrToD.c: revised comparison operators, so that it is
- always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple
- approach of "convert to double and call ceil() or floor()" could not
- guarantee that.
-
- * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when
- appropriate. Removed declarations of removed routines.
-
- * generic/tclExecute.c: Revised the type promotion rules of the
- comparison operators so that they form proper equivalence classes over
- the set of numeric strings.
-
-2005-08-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure.in:
- * win/configure: Regen.
- * win/configure.in: Update minimum autoconf version to 2.59.
-
-2005-08-23 Kevin Kenny <kennykb@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * generic/tclInt.h:
- * generic/tclObj.c (Tcl_GetBooleanFromObj, SetDoubleFromAny,
- Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj):
- * generic/tclParseExpr.c (GetLexeme):
- * generic/tclScan.c (Tcl_ScanObjCmd):
- * generic/tclStrToD.c (TclParseNumber):
- * tests/binary.test (binary-62.1-65.7):
- * tests/expr.test (expr-40.1-42.1):
- * scan.test (scan-14.1,14.2):
- Modified Tcl_ParseNumber to accept an argument to force interpretation
- as decimal, and modified [scan] to use it. Corrected a bug where Not a
- Number with hexadecimal information bits returned consistently
- incorrect values. #ifdef-ed out some code that is needed only for IBM
- hexadecimal floating point. Fixed bugs in code to handle the corner
- cases of smallest and largest significands. Added test cases to improve
- test coverage in generic/tclStrToD.c. Added test cases for 0b notation
- (TIP #114). Removed TclStrToD, and the static functions that it calls,
- which are now dead code (TclParseNumber now does all input
- floating-point conversions.)
-
-2005-08-23 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclStrToD.c: Bug fix: set shift magnitude properly whether
- we're expanding to mp_int type or not.
-
- * generic/tclExecute.c: Bug fix: ACCEPT_NAN under INST_UMINUS.
-
- * generic/tclStrToD.c: New macros TIP_114_FORMATS and KILL_OCTAL to
- configure acceptance of 0o and 0b numbers and rejection of "leading
- zero as octal".
-
- * generic/tclBasic.c: Re-used the guts of int(.) and wide(.) math
- functions to perform conversions in OldMathFuncProc.
-
- * generic/tclBasic.c: Support for ACCEPT_NAN.
- * generic/tclExecute.c:
-
- * generic/tclInt.decls: Restored TclExprFloatError to internal stubs
- * generic/tclBasic.c: table, and moved definition back to
- * generic/tclExecute.c: tclExecute.c from tclBasic.c to handle #undef
- ACCEPT_NAN.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclInt.h: New internal macros TclIsNaN and TclIsInfinite
- * generic/tclBasic.c: replace the IS_NAN and IS_INF macros scattered
- * generic/tclExecute.c: here and there.
- * generic/tclObj.c:
- * generic/tclStrToD.c:
- * generic/tclUtil.c:
-
-2005-08-22 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclConfig.h.in: autoheader-2.59.
-
-2005-08-22 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclInt.h: New ACCEPT_NAN macro to mark code that
- * generic/tclCmdAH.c: supports or disables accepting of the NaN
- * generic/tclExecute.c: value at various points.
- * generic/tclLink.c:
-
- * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed.
-
- * generic/tclTestObj.c: Disabled unused [testconvertobj] command.
-
- * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) and
- wide(.) to use the same guts, accepting all non-Inf doubles as
- arguments.
-
- * generic/tclInt.h: New routine TclInitBignumFromDouble.
- * generic/tclStrToD.c: Modified to return code and write error
- message.
-
- * generic/tclInt.h: TCL_WIDE_INT_IS_LONG implies NO_WIDE_TYPE.
- * generic/tclObj.c: Removed now unnecessary tests of the
- * generic/tclStrToD.c: TCL_WIDE_INT_IS_LONG definition.
-
- * generic/tclInt.h: New internal routine TclSetBignumIntRep
- * generic/tclObj.c: consolidates packing of bignum value into a
- * generic/tclStrToD.c: Tcl_Obj within one source code file.
-
- * tests/expr.test: Corrected the wideIs64bit constraint.
- * tests/format.test:
- * tests/scan.test:
-
-2005-08-21 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclInt.h: Moved TclParseInteger to tclUtil.c and
- * generic/tclParseExpr.c: made it static.
- * generic/tclUtil.c:
-
- * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made
- * generic/tclBasic.c: it static.
- * generic/tclExecute.c:
-
- * generitc/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclExecute.c: errno, IS_NAN, IS_INF, LLD no longer called in
- this file; dropped/disabled support for them.
-
- * generic/tclCompExpr.c: errno no longer used in these files;
- * generic/tclParseExpr.c: dropped support "hack" for it.
-
- * generic/tclStrToD.c: Disabled out of date support "hack" for errno.
-
- * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize errno
- to zero in OldMathFuncProc.
-
-2005-08-19 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to do
- less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc,
- ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised
- ExprSrandFunc error message.
-
- * generic/tclProc.c: Wrapped a few tclWideIntType uses in
- * generic/tclCmdMZ.c: #ifndef NO_WIDE_TYPE.
-
- * generic/tclInt.h: #define'd NO_WIDE_TYPE.
-
- * generic/tclVar.c: Replaced TclPtrIncrVar and TclPtrIncrWideVar
- * generic/tclInt.h: with TclPtrIncrObjVar and replaced TclIncrVar2
- * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New
- routines call on TclIncrObj to do the work.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclCmdIL.c: Rework Tcl_IncrObjCmd and the INST_*INCR*
- * generic/tclExecute.c: opcodes to use the new routines.
-
-2005-08-18 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Fixed string rep invalidation bug in
- * tests/dict.test (dict-11.17): INST_DICT_INCR_IMM rewrite.
-
- * generic/tclDictObj.c: DictIncrCmd rewrite to use TclIncrObj.
-
- * generic/tclInt.h: TclIncrObj static -> internal
- * generic/tclExecute.c:
-
-2005-08-17 George Peter Staplin <GeorgePS@XMission.com>
-
- * generic/tclBasic.c: eliminate a namespace clash caused by
- BuiltinFuncTable not being static.
-
- * generic/tclObj.c: fix a namespace clash caused by a missing
- static for pendingObjData.
-
-2005-08-17 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident
- that caused a (mostly harmless) double finalize of the load and
- filesystem subsystems.
- * tests/clock.test: Eliminated the bad test clock-43.1, and split
- clock-50.1 into two tests, with a more permissive check on the error
- message for an out-of-range value.
-
-2005-08-17 Kevin Kenny <kennykb@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclBasic.c (Tcl_Expr{Long,Double}{,Obj}): Updated to
- * generic/tclTest.c: deal with
- * tests/expr-old.test: bignums (well,
- * tests/expr.test: mostly).
- Added a missing "errno=0;" in ExprUnaryFunc so that spurious error
- returns aren't detected.
- Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very
- poor test coverage in those areas.
- * generic/tclParseExpr.c: Reworked parsing of numbers to call
- TclParseNumber rather than trying to do things locally.
- * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr
- does not include any trailing whitespace.
-
-2005-08-17 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: New routine TclIncrObj to centralize the
- increment operation needed in many places. Updated INST_DICT_INCR_IMM
- to make use of it.
-
-2005-08-16 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Made bit shifting opcodes and INST_MOD
- bignum-aware.
-
- * tests/scan.test: Making << bignum-aware means that repeated
- * tests/string.test: left shifting cannot turn a positive into a
- negative. Revised [int_range] and [largest_int] utility commands in the
- test suite that relied on that happening. Without revision they became
- infinite loops.
-
- * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware.
-
- * generic/tclTomMath.h: Added mp_or and mp_xor to routines from
- * unix/Makefile.in: libtommath used by Tcl.
- * win/Makefile.in:
- * win/makefile.vc:
-
-2005-08-15 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Updates from HEAD.
- * generic/tclExecute.c: More revisions to IllegalExprOperandType.
- Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according
- to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs.
-
- * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers.
- * generic/tclUtil.c:
- * generic/tclCompCmds.c:
-
- * generic/tclBasic.c: Rewrite of VerifyExprObjType().
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclExecute.c: Updated execution of comparison bytecodes to
- be bignum-aware, routing string compares through INST_STR_CMP.
-
-2005-08-14 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Updated execution of arithmetic bytecodes to
- be bignum-aware, and to allow calculations on NaN to produce a NaN
- result. INST_UMINUS updated to call mp_neg.
-
- * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to
- * unix/Makefile.in: routines from libtommath used by Tcl.
- * win/Makefile.in:
- * win/makefile.vc:
-
-2005-08-13 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclObj.c: Extended Bignum auto-narrowing to auto-narrow
- to tclWideIntType when appropriate; this helps keep things working as
- the bytecode execution code is migrated to supporting bignums.
-
- * generic/tclExecute.c: Major overhaul of IllegalExprOperandType.
- Changed several TclNewFooObj() calls to more logically appropriate
- ones. Added several TODO comments marking opportunies for future work.
- Made more use of the eePtr->constants. Made INST_UMINUS bignum aware.
-
-2005-08-12 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as
- result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT
- from INST_UMINUS and simplify.
-
-2005-08-12 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (MktimeObjCmd):
- * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile)
- (ReadZoneinfoFile):
- * tests/clock.test (clock-50.1):
- Added functionality to read /etc/localtime if it exists, so that Tcl's
- time can track system time on Linux even if TZ is not set. Changed
- ::tcl::clock::Mktime to check for failure, and added a test case that
- mimics failure but is really success.
-
-2005-08-11 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take advantage
- of loss of "pure double" issues. Merged INST_UPLUS with
- INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure
- "double"s as well.
-
- * generic/tclStrToD.c: Restored conditional generation of
- tclWideIntType values by TclParseNumber so that Tcl's not completely
- broken while bignum calculation support is incomplete. The NO_WIDE_TYPE
- macro can be used to disable this.
-
- * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)]
- bignum-aware.
-
-2005-08-11 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclEvent.c: Eliminated the USE_THREAD_STORAGE option
- * generic/tclInt.h: (which is on in every build generated by
- * generic/tclThread.c: by the standard configurator).
- * generic/tclThreadStorage.c: Eliminated the code for thread specific
- * unix/configure: data without USE_THREAD_STORAGE and
- * unix/tcl.m4: radically refactored the code for
- * unix/tclConfig.h.in: USE_THREAD_STORAGE so that it has fewer
- * unix/tclUnixThrd.c: dependencies on the order of
- * win/configure: finalization. (Also, made 'make
- * win/Makefile.in: distclean' on Windows clean just a little
- * win/rules.vc: bit cleaner.)
- * win/tcl.m4:
- * win/tclWinThrd.c:
-
-2005-08-10 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclTomMath.h: Added mp_shrink, mp_to_unsigned_bin,
- * unix/Makefile.in: mp_to_unsigned_bin_n, and mp_unsigned_bin_size
- * win/Makefile.in: to routines from libtommath used by Tcl.
- * win/makefile.vc:
-
- * generic/tommath.h: make gentommath_h
-
- * generic/tclObj.c: Substantial rewrite to make all number parsing
- flow through TclParseNumber(). Also established the NO_WIDE_TYPE and
- BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different
- portions of the code.
-
- * generic/tclInt.h: Added NO_WIDE_TYPE #ifdefs
-
-2005-08-10 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and
- Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we can't
- unload DLL's until after their TSD keys are finalized. (Note that we'll
- still see aborts if an unloaded DLL has TSD - that still needs to be
- fixed.
-
- * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on
- * tests/expr.test (expr-3.8): 'unix' because they get
- stack overflows on Win32 threaded builds,
-
-2005-08-09 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix to [file rootname] bug in optimized code
- path reported on comp.lang.tcl.
-
-2005-08-08 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
-
- * generic/tclObj.c: Replaced some goto's with loops and started
- use of BIGNUM_AUTO_NARROW and NO_WIDE_TYPE.
-
-2005-08-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclThreadStorage.c: Stop exposing the guts of the thread
- storage system through the internal stubs table. Client code should
- always use the standard API.
-
-2005-08-05 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch]
- * generic/tclObj.c: Rewrote Tcl_GetDoubleFromObj().
-
-2005-08-05 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name
- for the cp1251 charset. Thanks to Victor Wagner for reporting this.
- [Bug 1252475]
-
-2005-08-05 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/makefile.vc: Removed unused file ldAout.tcl.
- * win/makefile.bc: [Bug 1244361]
-
- * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug
- 1246264]
-
- * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner
- * tests/expr.test (expr-38.1): case of applying 'abs' to the
- smallest 32-bit integer. [Bug 1241572]
-
-2005-08-04 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently
- missing word to complete a sentence.
-
- * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic
- message.
-
-2005-08-04 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Updated from HEAD
-
- * generic/tclObj.c: Rewrote Tcl_GetBooleanFromObj() and supporting
- routines to make use of TclParseNumber. This reduces the potential
- number of times a string value must be scanned.
-
- * generic/tclObj.c: Simplified routines that manage the typeTable.
- Deleted the UpdateStringOfBoolean() routine, that can never be called.
-
-2005-08-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Untangled some dependencies in the
- * generic/tclEvent.c: order of finalization routines.
- * generic/tclInt.h: [Bug 1251399]
- * generic/tclObj.c:
-
-2005-08-02 Don Porter <dgp@users.sourceforge.net>
-
- [kennykb-numerics-branch] Updated from HEAD
-
-2005-07-30 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for
- bugs/changes in behaviour in Mac OS X 10.4 Tiger.
-
-2005-07-29 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still
- have to take care with non-existant variables. [Bug 1247135]
-
-2005-07-28 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update link to msys_mingw8.zip.
-
-2005-07-28 Don Porter <dgp@users.sourceforge.net>
-
- * tests/compExpr-old.test: Still more conversion of "nonPortable"
- * tests/error.test: tests into tests with constraints that
- * tests/expr-old.test: describe the limits of their
- * tests/expr.test: portability. Also more consolidation
- * tests/fileName.test: of constraint synonyms.
- * tests/format.test: wideis64bit, 64bitInts => wideIs64bit
- * tests/get.test: wideIntegerUnparsed => wideIs32bit
- * tests/load.test: wideIntExpressions => wideBiggerThanInt
- * tests/obj.test:
- * tests/parseExpr.test: Dropped "roundOffBug" constraint that
- * tests/string.test: protected from buggy sprintf.
-
-2005-07-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to
- * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for
- * tests/exec.test (exec-19.1): files opened in a pipeline
- like ">>this". Note that Windows cannot support such access; there is
- no equivalent flag on the handle that can be set at the kernel-call
- level. The test is unix-specific in every way. [Bug 1245953]
-
-2005-07-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: Converted the $::tcl_precision value to be kept
- per-thread to prevent different threads from stomping on each others'
- formatting prescriptions.
-
- ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the
- value of ::tcl_precision will now have to set it in each thread.
-
- * tests/expr.test: Consolidated equivalent constraints into
- * tests/fileName.test: single definitions and (more precise) names:
- * tests/get.test: longis32bit, 32bit, !intsAre64bit => longIs32bit
- * tests/listObj.test: empty => emptyTest; winOnly => win
- * tests/obj.test: intsAre64bit => longIs64bit
- Also updated some "nonPortable" tests to use constraints that mark
- precisely what about them isn't portable, so the tests can run where
- they work.
-
- * library/init.tcl ([unknown]): Corrected return code handling in the
- portions of [unknown] that expand incomplete commands during
- interactive operations. [Bug 1214462].
-
-2005-07-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/configure.in: Check for a $prefix/share directory and add it the
- the package if found. This will check for Tcl packages in
- /usr/local/share when Tcl is configured with the default dist install.
- [Patch 1231015]
-
-2005-07-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use
- per-thread counter, rather than a process global one that required
- mutex protection. [RFE 1077194]
-
- * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that
- * tests/trace.test (trace-34.4): command delete traces fire
- while the command still exists. [Bug 1047286]
-
-2005-07-24 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH):
- * win/configure: Regen.
- * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search
- for tclsh on PATH and build and install locations into two macros.
- SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the
- name of the tclsh executable in the Tcl build directory. [Bug 1160114]
- [Patch 1244153]
-
-2005-07-23 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Updates to the Tcl script library to make use
- * library/history.tcl: of Tcl 8.4 features. Forward port of
- * library/init.tcl: appropriate portions of [Patch 1237755].
- * library/package.tcl:
- * library/safe.tcl:
- * library/word.tcl:
-
-2005-07-23 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/string.test: Add string is tests for functionality that was not
- tested.
- * win/README: Update msys + mingw URL. Remove old Cygwin + mingw info.
-
-2005-07-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for
- uninitialised variables.
-
-2005-07-23 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor
- to work correctly with wide values.
-
-2005-07-21 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler
- * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also
- added an instruction to support 'finally'-like clauses, exposed more of
- the dict guts to the rest of the core, and defined a few tests to
- exercise more obscure parts of the compiler's operation that were bugs
- during development.
-
-2005-07-21 Kevin B. Kenny <kennykb@acm.org>
-
- * library/ldAout.tcl (***REMOVED***): Removed support for ancient
- * unix/configure: BSD's, IRIX 4, RISCos and
- * unix/Makefile.in: Ultrix. Removed two files whose
- * unix/tcl.m4: code is used only on those
- * unix/tclLoadAout.c (***REMOVED***): antique platforms.
-
- ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those
- platforms; it is to be noted though, that an error in the installer has
- actually not caused a necessary file to be installed on those platforms
- in several releases, and nobody's complained.
-
-2005-07-16 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (RefineResult): Plugged a stupid memory leak in
- RefineResult (called from Tcl_StrToD). [Tk Bug 1227781]
-
-2005-07-15 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime):
- * library/clock.tcl (GuessWindowsTimeZone, ClearCaches):
- * tests/clock.test (clock-49.1, clock-49.2):
- Handle correctly the case where localtime() returns NULL to report a
- conversion error. Also handle the case where the Windows registry
- contains timezone values that can be mapped to a tzdata file name but
- the corresponding file does not exist or is corrupted, by falling back
- on a Posix timezone string instead; this last case will avoid calls to
- localtime() in starpacks on Windows. [Bug 1237907]
-
-2005-07-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompile.c: Update to follow style guidelines.
- (TclPrintInstruction): Reorganize to do better printing out of bytecode
- with far fewer "special hacks" for particular opcodes.
- * generic/tclCompile.h: Requires two new opcode types.
-
-2005-07-13 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the value
- * win/tclWinSock.c: returned by Tcl_GetHostName() ([info
- hostname]). Also re-order initialization of the value on Windows to
- favor GetComputerName() over gethostname() as a source of the
- information.
-
-2005-07-12 Kevin Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Updated from HEAD
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * generic/tclInt.h:
- * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny)
- (Tcl_GetIntFromObj, SetIntOrWideFromAny):
- * generic/tclStrToD.c (TclParseNumber, etc.):
- * tclTomMathInterface.c (TclBNInitBignumFromWideUInt):
- * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2):
-
- Initial attempt at an implementation of TIP #249, comprising a unified
- parser and modifications to the Tcl_Get*FromObj routines to use it.
- Further integration of the parser is necessary and planned.
-
-2005-07-12 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/lsearch.n: Clarify documentation of -exact option; wording was
- open to misinterpretation by non-English speakers.
-
-2005-07-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c: General style cleanup.
-
-2005-07-08 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide
- type integer division and modulus operations so that the smallest and
- largest integer values are handled properly. The divide operation is
- more efficient since it no longer does a modulus or negation and only
- checks for a remainder when the quotient will be a negative number.
- The modulus operation is now a bit more complex because of a number of
- special cases dealing with the smallest and largest integers.
- * tests/expr.test: Add test cases for division and modulus operations
- on the smallest and largest integer values for 32 and 64 bit types.
- [Patch 1230205]
-
-2005-07-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclLink.c: Simplified LinkTraceProc [Bug 1208108].
-
-2005-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Purged use of TCLTESTARGS [RFE 1161550].
-
- * generic/tclUtil.c: Converted TclFormatInt() into a macro.
- * generic/tclInt.decls: [RFE 1194015]
- * generic/tclInt.h:
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclNamesp.c: Allow for [namespace import] of a command
- * tests/namespace.test: over a previous [namespace import] of itself
- without throwing an error. [RFE 1230597]
-
-2005-07-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictForCmd, DictFilterCmd): Interlocking of
- dictionary internal representations is now done in the core of the dict
- iterator. Purge the last attempts at doing it at a higher level as they
- didn't work and were no longer needed.
-
-2005-07-01 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting
- on the condition variable when tearing down the notifier thread [Bug
- 1222872].
-
-2005-06-28 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): When parsing an integer
- operand for a unary minus expression operator, check for a wide integer
- that is actually LONG_MIN. If found, convert back to a long int type.
- * tests/expr.test: Add constraint for 32bit long int type and 64bit
- wide int type. Add tests that parse the smallest/largest long int and
- wide int values.
-
-2005-06-24 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclEvent.c (Tcl_Finalize):
- * generic/tclInt.h:
- * generic/tclPreserve.c (TclFinalizePreserve): Changed the finalization
- logic so that Tcl_Preserve finalizes after exit handlers run; a lot of
- code called from Tk's exit handlers presumes that Tcl_Preserve will
- still work even from an exit handler.
-
-2005-06-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Make file safe to re-[source] without
- destroying registered auto_mkindex_parser hooks.
-
-2005-06-23 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWinChan.c: More rewriting of __asm__ blocks that implement
- * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as
- forgiving of violations committed by the old code and caused panics.
- [Bug 1225957]
-
-2005-06-23 Daniel Steffen <das@users.sourceforge.net>
-
- * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept
- multi-digit patchlevels.
-
-2005-06-22 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to
- Pat Thoyts for discovery and fix.
-
-2005-06-22 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclInt.h: Changed the finalization
- * generic/tclEvent.c (Tcl_Finalize): logic to defer the
- * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe
- * unix/tclUnixPipe.c (TclFinalizePipes): management until after all
- * win/tclWinPipe.c (TclFinalizePipes): channels have been closed,
- in order to avoid a situation where the Windows PipeCloseProc2 would
- re-establish the exit handler after exit handlers had already run,
- corrupting the heap. [Bug 1225727] Also corrected a potential read of
- uninitialized memory in PipeClose2Proc [Bug 1225044]
-
-2005-06-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel
- Steffen. There are compilers (*) who error out on the redefinition of
- WORDS_BIGENDIAN. We have to undef the previous definition (on the
- command line) first to make this acceptable. (*): AIX native.
-
-2005-06-21 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclFileName.c: Changed [file split] and [file join] to treat
- Windows drive letters similarly to ~ syntax and make sure that they
- appear with "./" in front when they are in intermediate components of
- the path. [Bug 1194458]
- * tests/fileName.test: Added test for the above bug.
-
-2005-06-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Added missing walk of the list of active
- * generic/tclTrace.c: traces to cleanup references to traces being
- * generic/tclInt.h: deleted. [Bug 1201035] Made the walk of the
- * tests/trace.test (trace-34.*): active trace list aware of the
- direction of trace scanning, so the proper correction can be made.
- [Bug 1224585]
-
-2005-06-21 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Only enable the 'compile' special
- debugging feature when requested in configure.in; removes irrelevant
- junk from the configure files of extensions that use Tcl's tcl.m4.
-
-2005-06-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompile.h (INST_PUSH_RETURN_OPTIONS): New opcode to allow
- * generic/tclCompCmds.c (TclCompileCatchCmd): compilation of
- * generic/tclCompile.c: TIP#90 catch [Bug
- * generic/tclExecute.c (TclExecuteByteCode): 1219112]
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Ensure we spill to the
- command form in all cases where it generates an error.
-
-2005-06-20 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Generate an error if a mode
- argument like -exact is passed more than once to the switch command.
- The previous implementation silently accepted invalid switch
- invocations like [switch -exact -glob $str ...].
- * tests/for.test: Check some error cases when invoking continue and
- break inside a for loop next script.
- * tests/switch.test: Add checks for shortened version of a mode
- argument like -exact. Add test for more than one mode argument. Add
- test for odd case of passing a variable as a body script.
-
-2005-06-18 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with
- fat compiles on Darwin (i.e. ppc and i386 at the same time), the
- configure AC_C_BIGENDIAN check is not sufficient in this case because a
- single run of the compiler builds for two architectures with different
- endianness.
-
- * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
- ensure we can always relocate binaries with install_name_tool.
-
- * unix/configure: autoconf-2.59
-
-2005-06-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only
- * tests/format.test: insert 'l' modifier when it is needed.
-
-2005-06-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclTimer.c (AfterDelay): Split out the code to manage
- synchronous-delay [after] commands.
- * tests/interp.test (interp-34.10): Time limits and synch-delay [after]
- did not mix well... [Bug 1221395]
-
-2005-06-14 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Only delete a
- * tests/namespace.test (namespace-49.2): command from the hashtable on
- reentrant processing if it has not been already deleted; at least three
- deletes of the same command are possible. [Bug 1220058]
- * generic/tclTrace.c (TraceCommandProc): Remove bogus error message
- creation when traces trigger in situations where the command has
- already been deleted.
-
-2005-06-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176]
-
-2005-06-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c: Factor out some common idioms into named forms
- for greater clarity.
-
-2005-06-10 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n: Fold in the descriptive parts of the documentation for
- all the commands that [chan] builds on top of.
-
-2005-06-09 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFCmd.c: fix to race condition in file mkdir [Bug 1217375]
- * doc/glob.n: improve glob documentation [Bug 1190891]
-
-2005-06-09 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add
- mention of distinctly-relevant [namespace path] subcommand.
-
-2005-06-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Reduced the Tcl_ObjTypes "index",
- * generic/tclIndexObj.c: "ensembleCmd", "localVarName", and
- * generic/tclNamesp.c: "levelReference" to file static scope.
- * generic/tclProc.c:
- * generic/tclVar.c:
-
- * generic/tclObj.c: Restored registration of the "procbody"
- Tcl_ObjType, as required by the tclcompiler application.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2005-06-07 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c (Tcl_ChannelTruncateProc): Stop proliferation of
- * generic/tcl.h: channel type versions
- * doc/CrtChannel.3: following advice from AKu
-
- Bump patchlevel to a4 to distinguish from a3 release.
-
- * generic/tclInt.h (INTERP_TRACE_IN_PROGRESS): Add flag so the error
- * generic/tclIndexObj.c (Tcl_WrongNumArgs): messages from ensembles
- * generic/tclIOCmd.c (Tcl_ReadObjCmd): can be correct.
-
- TIP#208 IMPLEMENTATION
-
- * library/init.tcl: Create the chan ensemble.
- * tests/chan.test: Rudimentary test suite.
- * doc/chan.n: General documentation.
-
- TRUNCATION API (part of TIP#208)
- * generic/tcl.h, generic/tcl.decls: Declaration of the API.
- * doc/CrtChannel.3, doc/OpenFileChnl.3: Documentation of the API.
- * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl.
- * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of
- Tcl-level truncation API.
- * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation API
- implementation.
- * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of
- truncating driver.
-
- * win/tclWinChan.c (FileTruncateProc): Added implementation of file
- truncation for Windows.
- * tests/chan.test (chan-15.2): Added real test of truncation.
-
-2005-06-06 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWin32Dll.c: Corrected another buglet in the assembly code for
- stack probing on Win32/gcc. [Bug 1213678]
- * generic/tclObj,c: Added missing 'static' on definition of
- UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand
- (which HP-UX native 'cc' seems unable to handle). [Bug 1215775]
-
-2005-06-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- *** 8.5a3 TAGGED FOR RELEASE ***
-
- * unix/Makefile.in (dist): add libtommath
-
-2005-06-03 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * library/parray.tcl (parray): Only generate the sorted list of element
- names once. Thanks to Andreas Leitgeb for spotting this.
-
-2005-06-03 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: fixed 'embedded' target.
-
-2005-06-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var
- * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion
- when multiple Tcl source dirs exist.
-
-2005-06-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: For compatibility with earlier Tcl releases,
- * generic/tclResult.c: when a command procedure simply does a
- * generic/tclTest.c: "return TCL_RETURN;" we must interpret that
- * tests/result.test: the same as
- "return Tcl_SetReturnOptions(interp, Tcl_NewObj());" [Bug 1209759].
-
-2005-06-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of
- -nocase -glob [switch]es (only one we know how to compile).
-
- TIP#241 IMPLEMENTATION from Joe Mistachkin
-
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Implementation of -nocase
- option for [lsearch], [lsort] and [switch] commands.
- * win/tclWinPort.h: Win uses nonstandard function names...
- * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests
- * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs
-
- * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common
- case of [lindex] more efficiently.
-
- * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number
- of arguments to Tcl_JoinThread.
-
-2005-05-31 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/configure.in, unix/tcl.m4: Standardize generation of help
- messages to always use AC_HELP_STRING and always (except for --with-tcl
- and --with-tk, where the default is complex) say what the default is.
-
-2005-05-31 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixNotfy.c: the notifier thread is now created as joinable
- thread and it is properly joined in Tcl_FinalizeNotifier. This is an
- attempt to fix the [Bug 1082283].
-
-2005-05-30 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * win/tclWinThrd.c: Fixed [Bug 1204064]
-
-2005-05-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP #229 IMPLEMENTATION
-
- * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs)
- (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath):
- Implementation of the [namespace path] command and the command name
- resolution engine.
- * doc/info.n, doc/namespace.n: Doc updates.
- * tests/namespace.test (namespace-51.*): Test updates.
- * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers):
- * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure
- that people don't see stale paths.
- * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs.
- * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands].
-
-2005-05-26 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: moved & corrected EMBEDDED_BUILD check.
-
- * unix/configure.in: corrected framework finalization to softlink stub
- library to Versions/8.x subdir instead of Versions/Current.
- * unix/configure: autoconf-2.59
-
-2005-05-25 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast
-
-2005-05-25 Don Porter <dgp@users.sourceforge.net>
-
- TIP#182 IMPLEMENTATION [Patch 1165062]
-
- * doc/mathfunc.n: New built-in math function bool().
- * generic/tclBasic.c:
- * tests/expr.test:
- * tests/info.test:
-
-2005-05-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl: Updated [unknown] to be sure the [return]
- * tests/init.test: options from an auto-loaded command are seen
- correctly by the caller.
-
-2005-05-24 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars
- that need to be handled specially.
-
- * macosx/Makefile:
- * macosx/README:
- * macosx/Tcl-Info.plist.in (new file):
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/tclUnixInit.c: moved all Darwin framework build support from
- macosx/Makefile into the standard unix configure/make buildsystem, the
- macosx/Makefile is no longer required to build Tcl.framework (but its
- functionality is still available for backwards compatibility).
- * unix/configure: autoconf-2.59
-
- * generic/tclIOUtil.c (TclLoadFile):
- * generic/tclInt.h:
- * unix/tcl.m4:
- * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in
- addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's),
- and can be [load]ed from memory, e.g. directly from VFS without needing
- to be written out to a temporary location first. [Bug 1202209]
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a
- count > 1 to return a string with a float value instead of a rounded
- off integer. [Bug 1202178]
-
- * doc/expr.n:
- * doc/string.n: fixed roff syntax complaints from 'make html'.
-
-2005-05-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Corrected parser to recognize all
- boolean literals accepted by Tcl_GetBoolean, including prefixes like
- "y" and "f", and to allow "eq" and "ne" as function names in the proper
- context. [Bug 1201589].
-
-2005-05-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (TclEvalObjvInternal): Rewrite for greater
- clarity; although 'goto' is Bad, the contortions you have to go through
- to avoid it can be worse...
-
-2005-05-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing CFRelease
- of runLoopSource in Tcl_InitNotifier (reported by Zoran):
- CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the
- runLoopSource in Tcl_FinalizeNotifier.
-
-2005-05-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper around
- Tcl_ExprBooleanObj.
-
- * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping
- string-based Tcl_GetBoolean call, so that internal reps are kept for
- subsequent quick boolean operations.
-
- * generic/tclExecute.c: Dropped most special handling of the "boolean"
- Tcl_ObjType, since that type should now be rarely encountered.
-
- * doc/BoolObj.3: Rewrite of documentation dropping many details
- about the internals of Tcl_Objs. Shorter documentation focuses on the
- function and use of the routines.
-
- * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, so that
- * generic/tclObj.c: only string values like "yes" and "false" are
- * tests/obj.test: kept as the "boolean" Tcl_ObjType. The string
- values "0" and "1" are kept as "int" Tcl_ObjType, which also produce
- quick calls to Tcl_GetBooleanFromObj(). Since this internal change
- means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce
- a Tcl_Obj of type "boolean", the registration of the "boolean" type is
- also removed.
- ***POTENTIAL INCOMPATIBILITY***
- For callers of Tcl_GetObjType on the type name "boolean".
-
-2005-05-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclObj.c (TclInitObjSubsystem): Removed the
- * tests/listObj.test: registration of the Tcl_ObjType's "list",
- * tests/obj.test: "procbody", "index", "ensembleCommand",
- "localVarName", and "levelReference". The only reason to register a
- Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only
- reason for that is to retrieve a (Tcl_ObjType *) to pass to
- Tcl_ConvertToType(). None of the types above can support a
- Tcl_ConvertToType() call; they panic. Better not to offer something
- than to lead users into a panic.
- ***POTENTIAL INCOMPATIBILITY***
- For callers of Tcl_GetObjType on the type names listed above.
-
-2005-05-15 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION
- structures on HAVE_NO_SEH, to fix a bug in buildability on MSVC.
-
-2005-05-14 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls:
- * generic/tclTest.c:
- * generic/tclUtil.c:
- * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c
- to the MODULE_SCOPE tclPlatform global: renamed existing
- TclWinGetPlatform() accessor to TclGetPlatform() and moved it to
- generic code so that it can be used by on all platforms where
- MODULE_SCOPE is enforced.
-
- * macosx/tclMacOSXBundle.c:
- * unix/tclUnixInit.c:
- * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and
- added test of CoreFoundation availablility to allow building on ppc64,
- replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of
- Tiger or later OSSpinLockLock API.
-
- * unix/tclUnixNotfy.c:
- * unix/Makefile.in:
- * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is
- available, use new CFRunLoop based notifier: allows easy integration
- with other event loops on Mac OS X, in particular the TkAqua Carbon
- event loop is now integrated via a standard tcl event source (instead
- of TkAqua upon loading having to finalize the exsting notifier and
- replace it with its custom version). [Patch 1202052]
-
- * tests/unixNotfy.test: don't run unthreaded tests on Darwin since
- notifier may be using threads even in unthreaded core.
-
- * unix/tclUnixPort.h:
- * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during
- configure, as Darwin 7 and later realpath is threadsafe.
-
- * macosx/Makefile: enable configure caching.
-
- * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so
- that it can be included more than once without warnings from gcc4.0 (as
- happens e.g. when including both tclInt.h and tclPort.h)
-
- * macosx/tclMacOSXBundle.c:
- * unix/tclUnixChan.c:
- * unix/tclLoadDyld.c:
- * unix/tclUnixInit.c: fixed gcc 4.0 warnings.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: make genstubs
-
-2005-05-13 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWin32Dll.c: Further rework of the SEH logic. All
- EXCEPTION_REGISTRATION records are now in the activation record rather
- than pushed on the stack.
-
-2005-05-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration. It's
- * generic/tclBinary.c: believed this has not been working in a long
- * generic/tclExecute.c: time. Tcl needs math.h. [RFE 1200680]
- * unix/Makefile.in:
-
-2005-05-12 Kevin Kenny <kennykb@acm.org>
-
- * doc/mathfunc.n: Changed NAME line to match the name of the page.
-
-2005-05-11 Kevin Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Resynchronized with the HEAD; at this
- checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and
- kennykb-numerics-branch contain identical code.
-
-2005-05-11 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the
- code to cast 'char' to UCHAR explicitly when using ctype macros, to
- silence complaints from the Solaris compiler.
-
-2005-05-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c: add lint attr to enum to satisfy strictly
- compliant compilers that don't like trailing ,s.
-
- * tests/string.test: string-10.[21-30]
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent
- possible UMR in unichar cmp function for string map.
-
-2005-05-10 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted
- in reads of uninitialized memory when using 'd', 'q', or 'Q' format.
- * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle
- the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit
- in NaN from everyone else.
- * libtommath/tommath_superclass.h: Corrected C++-style comment.
-
-2005-05-10 Kevin Kenny <kennykb@acm.org>
-
- Merged all changes on kennykb-numerics-branch back into the HEAD.
- TIP's 132 and 232 are now Final.
-
-2005-05-10 Kevin Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged changes from HEAD.
-
-2005-05-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (ExponLong, ExponWide):
- * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0
- [Bug 1198892]
-
-2005-05-09 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
- * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked
- structured event handling to function even with -fomit-frame-pointers.
-
-2005-05-08 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
- * generic/tclStrToD.c: Made code more portable by finding a workaround
- for MSVC's 'volatile' issue that does not require conditional
- compilation.
- * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling
- from the GCC code since (a) bad code is generated by the instruction
- scheduling with -O2, and (b) it's not needed on any reasonably modern
- CPU.
-
-2005-05-07 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
- * generic/tclEvent.c: Moved initialization of tclStrToD.c's
- * generic/tclInt.h: static constants into a procedure called
- * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked
- locking protocol. Cleaned up an issue where MSVC ignored the
- 'volatile' specifier, causing incorrect comparison of an underflowed
- number against zero.
-
-2005-05-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add
- support for x86_64 Solaris cc builds.
-
-2005-05-05 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged with HEAD.
-
-2005-05-05 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinThrd.c: Corrected a compilation error on the
- --enable-threads configuration.
-
-2005-05-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.
- * generic/tclInt.h:
- * generic/tclUtil.c:
- * generic/tclIntDecls.h: `make genstubs`
- * generic/tclStubInit.c:
- * generic/tclBasic.c: Added callers of TclMatchIsTrivial where a
- * generic/tclCmdIL.c: search can be done more efficiently when it is
- * generic/tclCompCmds.c:recognized that a pattern match is really an
- * generic/tclDictObj.c: exact match. [Patch 1076088]
- * generic/tclIO.c:
- * generic/tclNamesp.c:
- * generic/tclVar.c:
-
- * generic/tclCompCmds.c: Factored common efficiency trick into a
- macro named CompileWord.
-
- * generic/tclCompCmds.c: Replaced all instance of
- * generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR.
- * generic/tclInt.h: Now that we've eradicated the mistaken
- * tests/appendComp.test: notion of a "compile-time error", we
- can use the TCL_ERROR return code to signal any failure to produce
- bytecode.
-
-2005-05-03 Don Porter <dgp@users.sourceforge.net>
-
- * doc/DString.3: Eliminated use of identifier "string" in Tcl's
- * doc/Environment.3: public C API to avoid conflict/confusion with
- * doc/Eval.3: the std::string of C++.
- * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3:
- * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3:
- * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c:
- * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c:
- * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c:
- * generic/tclUtil.c, unix/tclUnixChan.c:
-
- * generic/tclDecls.h: `make genstubs`
-
-2005-05-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.decls:
- * generic/tclBasic.c: Simplified implementation of Tcl_ExprString.
- * tests/expr-old.test:
-
- * generic/tclDecls.h: `make genstubs`
-
-2005-04-30 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes.
-
-2005-04-29 Don Porter <dgp@users.sourceforge.net>
-
- TIP#176 IMPLEMENTATION [Patch 1165695]
-
- * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index
- formats including end+integer and integer+/-integer.
-
- * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and
- [regsub] to accept all index formats known by TclGetIntForIndex.
-
- * doc/lindex.n: Updated docs to note new index formats.
- * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n:
- * doc/lset.n, doc/lsort.n, doc/regexp.n, doc/regsub.n, doc/string.n:
-
- * tests/cmdIL.test: Updated tests.
- * tests/compile.test, tests/lindex.test, tests/linsert.test:
- * tests/lrange.test, tests/lreplace.test, tests/lsearch.test:
- * tests/lset.test, tests/regexp.test, tests/regexpComp.test:
- * tests/string.test, tests/stringComp.test, tests/util.test:
-
-2005-04-28 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test (7.1): Alternative fix for the 2004-11-11 commit.
-
-2005-04-27 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl: Corrected flaw in interactive command
- * tests/main.test: auto-completion. [Bug 1191409].
-
- TIP#183 IMPLEMENTATION [Patch 577093]
-
- * generic/tclIOUtil.c (TclGetOpenModeEx): New routine.
- * generic/tclInt.h:
-
- * generic/tclIO.c (Tcl_OpenObjCmd): Support for "b" and
- * doc/open.n: "BINARY" in "access" argument to [open].
- * tests/ioCmd.test:
-
-2005-04-26 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the
- internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a
- NaN.
-
- * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent
- overflow/underflow behaviour that the merge of 2004-04-25 messed up.
- Thanks to Don Porter for calling attention to this bug. Also removed an
- uninitialised memory reference in this function that valgrind caught.
- Also changed to return TCL_ERROR on a pure NaN.
-
- * generic/tclStrToD.c (RefineResult): Added a test for the initial
- approximation being HUGE_VAL; this test avoids EDOM being returned from
- ldexp on some platforms on input values exceeding the floating point
- range.
-
- * tests/expr.test (expr-29.*, expr-30.*): Added further tests of
- overflow/underflow on input conversions.
-
-2005-04-25 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- [kennykb-numerics-branch] Merged with HEAD.
-
- * doc/CrtMathFunc.n: Revised documentation for TIP 232
-
-2005-04-25 Daniel Steffen <das@users.sourceforge.net>
-
- * compat/string.h: fixed memchr() protoype for __APPLE__ so that we
- build on Mac OS X 10.1 again.
-
- * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being
- finalized in unthreaded core (was testing for notifier initialization
- in current thread by checking thread id != 0 but thread id is always 0
- in untreaded core).
-
- * win/tclWinNotify.c (Tcl_WaitForEvent):
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for
- zero wait times (as specified in TIP 233).
-
- * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS
- from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS.
-
- * unix/tcl.m4 (Darwin): added configure checks for recently added
- linker flags -single_module and -search_paths_first to allow building
- with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD
- and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of
- symbols from libtclstub to avoid duplicate symbol warnings, added
- PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to
- __private_extern__.
- (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check.
-
- * unix/configure: autoconf-2.59
-
-2005-04-25 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * library/tzdata/America/Boise:
- * library/tzdata/America/Chicago:
- * library/tzdata/America/Denver
- * library/tzdata/America/Indianapolis:
- * library/tzdata/America/Los_Angeles:
- * library/tzdata/America/Louisville:
- * library/tzdata/America/Managua:
- * library/tzdata/America/New_York:
- * library/tzdata/America/Phoenix:
- * library/tzdata/America/Port-au-Prince:
- * library/tzdata/America/Indiana/Knox:
- * library/tzdata/America/Indiana/Marengo:
- * library/tzdata/America/Indiana/Vevay:
- * library/tzdata/America/Kentucky/Monticello:
- * library/tzdata/America/North_Dakota/Center:
- * library/tzdata/Asia/Tehran:
- Olson's tzdata2005i. Corrects exact time at which Standard Time was
- adopted in the US (generally, noon, Standard Time, rather than noon,
- Local Mean Time). Adopts new civil rules for Nicaragua and Iran.
-
-2005-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl: Use "ni" and "in" operators.
-
-2005-04-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fix for [Bug 1189274].
-
-2005-04-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclLiteral.c: Silence compiler warnings.
- * generic/tclObj.c: [Bug 1188863].
-
-2005-04-22 Don Porter <dgp@users.sourceforge.net>
-
- The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it
- into agreement with its docs. Further investigation reveals it was the
- docs that were incorrect.
-
- * doc/BoolObj.3: Corrections to the documentation of
- Tcl_GetBooleanFromObj to bring it into agreement with what this public
- interface has always done, including noting the difference in function
- between Tcl_GetBooleanFromObj and Tcl_GetBoolean.
-
- * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a
- wrapper around Tcl_GetBooleanFromObj (different function!).
-
- * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that
- was added yesterday. Revisions so that only Tcl_GetBoolean-approved
- values get the "boolean" Tcl_ObjType. This retains the fix for [Bug
- 1187123].
- * tests/string.test: Test string-23.0 for Bug 1187123.
-
- * generic/tclInt.h: Revert most recent change.
- * generic/tclBasic.c:
- * generic/tclCompCmds.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * tests/obj.test:
-
-2005-04-21 Don Porter <dgp@users.sourceforge.net>
-
- * doc/GetInt.3: Convert argument "string" to "str" to agree with code.
- Also clarified a few details on int and double formats.
- * generic/tclGet.c: Radical code simplification. Converted
- Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces
- code duplication, and the resulting potential for inconsistency.
-
- * generic/tclObj.c: Several changes:
-
- - Re-ordered error detection code so all values with trailing garbage
- receive a "not an integer" message instead of an "integer too large"
- message.
- - Removed inactive code meant to deal with strtoul* routines that fail
- to parse leading signs. All of them do, and if any are detected that
- do not, the correct fix is replacement with compat/strtoul*.c, not a
- lot of special care by the callers.
- - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep.
- - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with
- Tcl_GetBoolean, accepting only "0" and "1" and not other numeric
- strings. [Bug 1187123]
- - Added new private routine TclGetTruthValueFromObj to perform the more
- permissive conversion of numeric values to boolean that is needed by
- the [expr] machinery.
-
- * generic/tclInt.h (TclGetTruthValueFromObj): New routine.
- * generic/tclExecute.c: Updated callers to call new routine.
- * generic/tclBasic.c: Updated callers to call new routine.
- * generic/tclCompCmds.c: Updated callers to call new routine.
- * generic/tclDictObj.c: Updated callers to call new routine.
- * tests/obj.test: Corrected bad tests that actually expected
- values like "47" and "0xac" to be accepted as booleans.
-
- * generic/tclLiteral.c: Disabled the code that forces some literals
- into the "int" Tcl_ObjType during registration. We can re-enable it if
- this change causes trouble, but it seems more sensible to let Tcl's
- "on-demand" shimmering rule, and not try to pre-guess things.
-
-2005-04-20 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
- * doc/expr.n:
- * doc/mathfunc.n (new file): Revised documentation for TIP 232
-
-2005-04-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclGet.c (Tcl_GetInt): Corrected error that did not
- * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be
- recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869].
-
-2005-04-20 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclFileName.c: Silenced a compiler warning about '/*' within
- a comment.
-
-2005-04-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Added unsupported command
- * generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit
- * generic/tclInt.h: query/set of the encoding search path at
- * generic/tclInterp.c: the script level. Updated init.tcl to make
- * library/init.tcl: use of the new command. Also updated several
- coding practices in init.tcl ("eq" for [string equal], etc.)
-
-2005-04-19 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (Initialize): Put initialization code into a proc
- to avoid inadvertently clobbering global variables. [Bug 1185933]
- * tests/clock.test (clock-48.1): Added regression test for the above
- bug.
- Thanks to Ulrich Ring for reporting this bug.
-
-2005-04-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak. [Bug
- 1084111]
-
-2005-04-16 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclIOUtil.c: force clenaup of the interp result in
- TclLoadFile(). Some implementations of TclpFindSymbol() will seed the
- interp result with error message when unable to find the requested
- symbol (this is not considered to be an error).
-
- Set of changes correcting huge memory waste (not a leak) when a thread
- exits. This has been introduced in 8.4.7 within an attempt to correctly
- cleanup after ourselves when Tcl library is being unloaded with the
- Tcl_Finalize() call.
-
- This fixes the [Bug 1178445]
-
- * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and
- TclFreeAllocCache()
-
- * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to
- explicitly call TclpFreeAllocCache with the NULL-ptr as argument
- signalling cleanup of private tsd key used only by the threading
- allocator.
-
- * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when
- being called with NULL argument. This is a signal for it to clean up
- the tsd key associated with the threading allocator.
-
- * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache
- and fixed to recognize when being called with NULL argument. This is a
- signal for it to clean up the tsd key associated with the threading
- allocator.
-
-2005-04-13 Don Porter <dgp@users.sourceforge.net>
-
- * tests/unixInit.test: Disabled obsolete tests and removed code
- * tests/encoding.test: that supported them.
- * generic/tclInterp.c:
-
- * library/init.tcl: Use auto-loading to bring in Tcl Module support
- * library/tclIndex: as needed. This reduces startup time by
- * library/tm.tcl: delaying this initialization to a later time.
-
-2005-04-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: missing semicolons caused failure to compile
- with TCL_COMPILE_DEBUG.
-
-2005-04-13 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit
- * tests/io.test: changed from ten bytes to one byte. Need for
- * tests/iogt.test: this change was proven by Ross Cartlidge
- <rossc@cisco.com> where [read stdin 1] was grabbing 10 bytes followed
- by starting a child process that was intended to continue reading from
- stdin. Even with -buffersize set to one, nine chars were getting lost
- by the buffersize over reading for the native read() caused by [read].
-
-2005-04-13 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed
- order of verifying candidate [encoding system] value, checking against
- a table in memory first before calling Tcl_GetEncoding and potentially
- scanning through the filesystem. Also ordered the table so that a
- binary search could be used within it. Improves startup time a bit more
- on some systems.
-
-2005-04-13 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.n: Added a missing '--' on several [switch] commands to
- improve performance of [clock format] and related operations. [FRQ
- 1182459]
-
-2005-04-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/fcopy.n: Improved documentation on copying binary files, added an
- example and mentioned the use of [file copy].
- * doc/fconfigure.n: Improved documentation of -encoding binary option.
- This is all following comments from Steve Manning <steve@manning.net>
- on comp.lang.tcl that the current documentation was not clear.
-
-2005-04-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c:Commented out the functions
- TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not
- debugging the compiler, as they are never called in that case.
-
-2005-04-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c: Corrected bad syntax of Tcl_Panic() call.
-
- * generic/tclUtil.c (TclGetProcessGlobalValue): More robust handling
- of bad TclInitProcessGlobalValueProc behavior; an immediate panic
- rather than a mysterious crash later.
-
- * generic/tclEncoding.c: Several changes to the way the
- encodingFileMap cache is maintained. Previously, it was attempted to
- keep the file map filled and up to date with changes in the encoding
- search path. This contributed to slow startup times since it required
- an expensive "glob" operation to fill the cache. Now the validity of
- items in the cache are checked at the time they are used, so the cache
- is permitted to fall out of sync with the encoding search path. Only
- [encoding names] and Tcl_GetEncodingNames() now pay the full expense.
- [Bug 1177363]
-
-2005-04-12 Kevin B. Kenny <kennykb@acm.org>
-
- * compat/strstr.c: Added default definition of NULL to accommodate
- building on systems with badly broken headers. [Bug 1175161]
-
-2005-04-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl
- 8.5 (on which it was dependent anyway). Also added a [package require]
- line to formalize the relationship.
-
-2005-04-11 Kevin Kenny <kennykb@users.sf.net>
-
- [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35.
-
- * generic/tclBasic.c: Attempted to repeat changes that applied to
- tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with
- (possibly) a few more uses of his new object creation macros. Also
- plugged a memory leak in TclObjInvoke. [Bug 1180368]
-
-2005-04-10 Kevin Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Montevideo:
- * library/tzdata/Asia/Almaty:
- * library/tzdata/Asia/Aqtau:
- * library/tzdata/Asia/Aqtobe:
- * library/tzdata/Asia/Baku:
- * library/tzdata/Asia/Jerusalem:
- * library/tzdata/Asia/Oral:
- * library/tzdata/Asia/Qyzylorda:
- * library/tzdata/Indian/Chagos:
- * library/tzdata/Indian/Cocos: Olson's tzdata2005h
-
-2005-04-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclObjInvoke): Plug memory leak. [Bug 1180368]
-
-2005-04-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs
-
-2005-04-09 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/README: updated requirements for OS & developer tool versions
- and other small fixes/cleanup.
-
- * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL return
- when getting index from an empty list.
-
- * unix/tcl.m4 (Darwin): added -single_module linker flag to
- TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS.
- * unix/configure: autoconf-2.59
-
-2005-04-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (TclGetEncodingFromObj): New function to
- * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a
- Tcl_Encoding value, as well as cache it in the internal rep of a new
- "encoding" Tcl_ObjType.
- * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call new
- function so that Tcl_Encoding's used by [encoding convert*] routines
- are not freed too quickly. [Bug 1077262]
-
-2005-04-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to
- handle the other form of [switch] and generate slightly simpler (but
- longer) code.
-
-2005-04-06 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/upvar.n, doc/unset.n, doc/tell.n, doc/tclvars.n, doc/subst.n:
- * doc/seek.n, doc/scan.n, doc/regsub.n, doc/registry.n, doc/regexp.n:
- * doc/read.n, doc/puts.n, doc/pkgMkIndex.n, doc/open.n, doc/lreplace.n:
- * doc/lrange.n, doc/load.n, doc/llength.n, doc/linsert.n, doc/lindex.n:
- * doc/lappend.n, doc/info.n, doc/gets.n, doc/format.n, doc/flush.n:
- * doc/fileevent.n, doc/file.n, doc/fblocked.n, doc/close.n:
- * doc/array.n, doc/Utf.3, doc/TraceVar.3, doc/StrMatch.3, doc/RegExp.3:
- * doc/PrintDbl.3, doc/OpenTcp.3, doc/OpenFileChnl.3, doc/Object.3:
- * doc/Notifier.3, doc/LinkVar.3, doc/IntObj.3, doc/Interp.3:
- * doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3, doc/CrtMathFnc.3:
- * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3:
- * doc/Backslash.3: Purge old .VS/.VE macro instances.
-
- * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really
- is (.IP and .TP are really just two ways of doing the same thing).
- Change below made this relevant.
- * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs
- in various *roff implementations. Also reworded the atom descriptions
- slightly.
-
-2005-04-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the
- * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with
- simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that
- those routines are better behaved wrt shimmering. [Patch 1177219]
-
-2005-04-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed
- up the freeing of simple Tcl_Obj [Patch 1174551]
-
-2005-04-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: small opts in obj handling
-
-2005-04-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: converted a few function calls to macros.
-
-2005-04-01 Miguel Sofer <msofer@users.sf.net>
-
- * doc/ListObj.3:
- * generic/tclBasic.c:
- * generic/tclCmdIL.c:
- * generic/tclConfig.c:
- * generic/tclExecute.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclListObj.c:
- * generic/tclStubInit.c:
- * generic/tclVar.c: Changed the internal representation of lists to
- (a) reduce the malloc/free calls at list creation (from 2 to 1), (b)
- reduce the cost of handling empty lists (we now never create a list
- internal rep for them), (c) allow refcounting of the list internal rep.
- The latter permits insuring that the pointers returned by
- Tcl_ListObjGetElements remain valid even if the object shimmers away
- from its original list type. This is [Patch 1158008]
-
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclObj.c:
- * generic/tclStringObj.c:
- (1) defined new internal macros for creating and setting frequently
- used obj types (int,long, wideInt, double, string). Changed TEBC to use
- eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr =
- Tcl_NewIntObj(i)'
- (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and
- "1", for use by TEBC.
- (3) slight reduction in cost of INST_START_CMD
-
-2005-03-31 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and
- branch" with "compute index into table"
-
-2005-03-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/FileSystem.3: Defined loadHandle argument. [Bug 1172401]
-
-2005-03-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tcl.m4, win/configure: do not require cygpath in macros to allow
- msys alone as an alternative.
-
-2005-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.h: Move the TclInterpReady() declaration from
- * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been done
- as part of the 1115904 bug fix on 2005-03-18.
-
- * generic/tclThreadTest.c: Stop providing the phony package
- "Thread 1.0" when the [::testthread] command is defined. It's never
- used by anything, and conflicts with loading the real "Thread" package.
-
-2005-03-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for
- immediate operand usage to permit leading space and sign characters.
- Restores more efficient bytecode for [incr x -1] that got lost in the
- CONST string reforms of Tcl 8.4. [Bug 1165671]
-
- * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limit
- * generic/tclParse.c (TclSubstTokens): testing in nested command
- * tests/basic.test (basic-46.4): substitutions within direct
- * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx)
- that got lost in the parser reforms of Tcl 8.1. Added tests for correct
- behavior. [Bug 1115904]
-
-2005-03-15 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c:
- * win/tclWinFile.c:
- * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures
- on reserved filenames like 'COM1:', etc.
-
-2005-03-15 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * unix/tcl.m4: Updated the OpenBSD configuration and regenerated
- * unix/configure: the configure script.
-
-2005-03-15 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged with HEAD.
-
- * generic/tclBasic.c (many):
- * generic/tclCompExpr.c (CompileMathFuncCall):
- * generic/tclCompile.h:
- * generic/tclExecute.c (many):
- * generic/tclParseExpr.c (ParsePrimaryExpr):
- * tests/compExpr-old.test:
- * tests/compExpr.test:
- * tests/compile.test:
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/for.test:
- * tests/parseExpr.test: Initial implementation of TIP #232.
-
- * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke
- --enable-symbols=mem build
- * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to
- allow NaN(7ffffffffffff).
-
-2005-03-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj
- ref passed to TRACE_WITH_OBJ).
-
-2005-03-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: fixed INST_RETURN's stack effect in
- tclInstructionTable (-1 instead of -2)
-
-2005-03-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c: removed debugging line
-
-2005-03-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistaken cast
- of ClientData to (TraceCommandInfo *) when not warranted. Thanks to
- Yuri Victorovich for the report. [Bug 1153871]
- * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and
- * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface into
- private. Should be used only by internal workings of execution traces.
-
-2005-03-09 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged from HEAD.
-
- * doc/PrintDbl.3:
- * doc/tclVars.n: Documented new semantics for tcl_precision.
- * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for
- division-by-zero on IEEE-754 machines.
- * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in
- the range [1e-4 .. 1.) were printed incorrectly.
- * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for
- division by zero.
- * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for
- overflow in pow() to deal with infinities.
- * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test case
- for division by zero and for underflow on input conversions.
- * tests/parseExpr.test (parseExpr-16.11): Revised test case for
- overflow on input conversion.
- * tests/string.test (string-6.38 deleted): Removed test case for
- underflow on input conversion, which is no longer an error.
- * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c
-
-2005-03-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/makefile.vc: clarify necessary defined vars that can come from
- MSVC or the Platform SDK.
-
-2005-03-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/string.n: Minor typo. [Bug 1158247]
-
-2005-03-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed
- the peephole opt in INST_POP so that it is not used when
- TCL_COMPILE_DEBUG is defined.
-
-2005-03-04 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
-
- * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating
- point values as infinities and zeroes.
- * generic/tclExecute.c: Changed [expr] to be permissive about
- infinities, allowing them to propagate.
- * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about
- over/underflow.
- * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about
- over/underflow.
- * generic/tclParseExpr.c: Made [expr] permissive about input numbers
- out of range.
-
-2005-03-03 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
-
- * generic/tclInt.h:
- * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN):
- * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of
- TclDoubleDigits so that it accepts a pointer to the signum of the
- argument, and returns the signum via that pointer. Added very hacky
- code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be
- done other than as a hack until C9x; C89 simply doesn't deal with the
- concept of -0.0). Added output conversion of tagged NaN values.
- * generic/tclBinary.c (FormatNumber): Changed to allow [binary format]
- to handle NaN.
- * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make
- sure that NaN's can be scanned and formatted.
- * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified so
- that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized.
-
-2005-03-02 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23.
-
- * generic/tclExecute.c: Broadened test for NaN to work on Windows.
- * generic/tclInt.h:
- * generic/tclStrToD.c (Tcl_DoubleDigits):
- * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added
- Tcl_DoubleDigits to format 'double' numbers with the minimum number of
- significant digits to yield correct rounding. Modified tcl_precision
- to accept 0 as a precision (meaning "minimum digits"), and made 0 the
- default. [TIP #132]
- * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj.
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build.
- * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to
- test 'odd'.
- * generic/tommath.h: Regenerated.
- * tests/binary.test:
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/scan.test: Corrected a number of tests that depended on
- tcl_precision, and removed the {eformat} condition from tests that no
- longer require it.
- * tests/util.test: Corrected a number of tests that depended on
- tcl_precision, and removed the {eformat} condition from tests that no
- longer require it. Added a series of tests for correct rounding in
- Tcl_PrintDouble. [TIP #132].
-
-2005-03-01 David N. Welton <davidw@dedasys.com>
-
- * doc/CrtSlave.3: Changed to Tcl_Object to Tcl_Obj in the man page.
-
-2005-02-24 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid
- * tests/tcltest.test: failed attempts to [source] a directory, and
- similar matters. Thanks to "mpettigr". [Bug 1119798]
-
- * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2005-02-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605]
-
-2005-02-17 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not
- Tcl_UniCharLen.
-
-2005-02-16 Miguel Sofer <msofer@users.sf.net>
-
- * doc/variable.n: fix for [Bug 1124160], variables are detected by
- [info vars] but not by [info locals].
-
-2005-02-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into
- * unix/tcl.m4: SHLIB_LD). Combine AIX-* and AIX-5 branches in
- * unix/configure: SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+
- and HP-UX-11. autoconf-2.59 gen'd.
-
-2005-02-11 Miguel Sofer <msofer@users.sf.net>
-
- * tests/basic.test (basic-26.3): new test
-
-2005-02-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (Tcl_EvalObjEx):
- * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV
- in the pure-list branch, in case the list shimmers away. Fix for [Bug
- 1119369], reported by Peter MacDonald.
-
-2005-02-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix for test failures introduced on 2005-01-17
- [Bug 1119092]
-
-2005-02-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/binary.n: Made the documentation of sign bit masking and [binary
- scan] consistent. [Bug 1117017]
-
-2005-02-08 David N. Welton <davidw@dedasys.com>
-
- * doc/CrtChannel.3: Typo: return->returns.
-
-2005-02-06 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
-
- * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the
- FPU precision on gcc+x86. Enabled fast conversion of floats with small
- exponents now that precision is correct.
- * tests/expr.test: Corrected test for the smallest representible value
- to the right IEEE values.
-
-2005-02-06 David N. Welton <davidw@dedasys.com>
-
- * doc/Thread.3: One-word grammar fix.
-
-2005-02-05 David N. Welton <davidw@dedasys.com>
-
- * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread.
-
- * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath
- documentation.
-
- * generic/tclPathObj.c: Cleaned up typo in comment.
-
-2005-02-03 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
-
- * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code
- to ensure that 'ldexp' is never called with a value that will underflow
- * tests/expr.test: Added tests for the smallest representible value,
- and rounding between it and zero. (The tests reflect current
- behaviour; plan is to change the specification of Tcl so that input
- conversion of doubles underflows silently.)
-
-2005-02-02 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the
- framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if
- it is not the correct type. If the body of the proc is not of the
- compiled byte code type then the code will crash. This was discovered
- while tracking down a crash in Itcl, that crash is fixed by Itcl patch
- 1115085.
-
-2005-02-01 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Merged with HEAD as of today.
-
- * generic/tclInt.decls: Changed numbers of new stubs to resolve a
- conflict.
- * generic/tclInt.h: Added new TclStrToD routine that replaces the
- native 'strtod' throughout Tcl.
- * generic/tclCmdMZ (Tcl_StringObjCmd):
- * generic/tclGet.c (Tcl_GetDouble):
- * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny):
- * generic/tclParseExpr.c (GetLexeme):
- * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native
- 'strtod' with a TclStrToD routine that performs correct rounding and
- handles denormals.
- * generic/tclStrToD.c: (new file)
- New scanning function for extracting 'double' from a string that rounds
- correctly, and handles denormals and infinities.
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc:
- Added tclStrToD.c and the tommath routines that support it.
-
- These changes represent a partial implementation of TIP #132. Output
- conversion of floating point numbers, and proper handling of infinities
- within expressions, still need to be addressed.
-
-2005-02-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (TclCompEvalObj): Removed stray statement left
- behind in prior code reorganization.
-
-2005-01-31 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure: autoconf-2.57
-
-2005-01-30 Joe English <jenglish@users.sourceforge.net>
-
- * unix/configure.in: Restored two double-evals that were removed in the
- DBGX purge; these are still needed on some platforms to account for
- TCL_TRIM_DOTS. [Bug 1112654]
-
- * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need
- to find someone with autoconf 2.57.
-
-2005-01-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build support.
- [Bug 1021871]
-
-2005-01-28 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/expr-old.test (expr-old-37.2): Added test for [Bug 1109484]
-
-2005-01-27 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble)
- (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484]
-
-2005-01-26 Andreas Kupries <andreask@activestate.com>
-
- TIP#218 IMPLEMENTATION
-
- * generic/tclDecls.h: Regenerated from tcl.decls.
- * generic/tclStubInit.c:
-
- * doc/CrtChannel.3: Documentation of extended API,
- * generic/tcl.decls: extended testsuite, and
- * generic/tcl.h: implementation. Removal of old
- * generic/tclIO.c: driver-specific TclpCut/Splice
- * generic/tclInt.h: functions. Replaced with generic
- * tests/io.test: thread-action calls through the
- * unix/tclUnixChan.c: new hooks. Update of all builtin
- * unix/tclUnixPipe.c: channel drivers to version 4.
- * unix/tclUnixSock.c: Windows drivers extended to
- * win/tclWinChan.c: manage thread state in a thread
- * win/tclWinConsole.c: action handler.
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
-
-2005-01-25 Don Porter <dgp@users.sourceforge.net>
-
- * library/auto.tcl: Updated [auto_reset] to clear auto-loaded
- commands in namespaces other than :: and to clear auto-loaded commands
- that do not happen to be procs. [Bug 1101670]
- ***POTENTIAL INCOMPATIBILITY***
-
-2005-01-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic
- library in /usr/lib etc instead of linking to static library earlier in
- search path. [Bug 956908] Removed obsolete references to Rhapsody.
- * unix/configure: autoconf-2.57
-
-2005-01-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclStubInit.c: Regenerated the stubs support code from the
- * generic/tclDecls.h: modified tcl.decls (TIP #233, see below).
-
- * doc/GetTime.3: Implemented TIP #233, i.e. the
- * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'.
- * generic/tcl.h: Declared, implemented, and documented the
- * generic/tclInt.h: specified new API functions. Moved the
- * unix/tclUnixEvent.c: native (OS) access to time information
- * unix/tclUnixNotfy.c: into standard handler functions. Inserted
- * unix/tclUnixTime.c: hooks calling on the handlers where native
- * win/tclWinNotify.c: access was done before, and where scaling
- * win/tclWinTime.c: between domains (real/virtual) is required.
-
-2005-01-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclThread.c: Typo police. Fixed some nits
- * generic/tclCmdAH.c: in header comments of functions.
- * generic/tclBasic.c: (Missing --).
- * generic/tclFileName.c:
-
-2005-01-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/FileSystem.3: Add missing ARGUMENTS section definitions for
- arguments to Tcl_FSLink. [Bug 1106272]
-
-2005-01-21 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch]
-
- * unix/Makefile.in: Updated Makefile to build libtommath on Unix as
- well as Windows. [Bug 1106865]
-
- * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning
- about a mismatched 'const'.
-
-2005-01-20 Kevin B. Kenny <kennykb@acm.org>
-
- [kennykb-numerics-branch] Development checkpoint.
-
- * compat/strtoll.c: Reverted to HEAD.
- * compat/strtoull.c:
- * doc/Ensemble.3:
- * generic/tclBasic.c:
- * generic/tclCmdIL.c:
- * generic/tclNamesp.c:
- * generic/tclPathObj.c:
- * generic/tclPort.h:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.m4:
- * win/configure:
- * win/configure.in:
- * win/rules.vc:
- * win/tcl.m4:
-
- * generic/tcl.h: Added declarations for bignum types, and for a
- 'bignumValue' in the Tcl_Obj structure.
- * generic/tclInt.h: Added declarations of interface procedures for
- memory allocation in libtommath.
-
- * generic/tcl.decls: Added new interface to bignum objects.
- * generic/tclInt.decls: Added internal stubs for bignum routines used
- by the test code in tclTestObj.c.
-
- * generic/tclDecls/h: Regen.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.h:
-
- * tools/fix_tommath_h.tcl: (New file) Script to edit
- libtommath/tommath.h and produce generic/tommath.h so that storage
- classes, allocation routines, and data types conform to Tcl's
- conventions.
- * generic/tommath.h: (New file) Generated by the above.
-
- * generic/tclTomMath.h: (New file) Additional declarations to be
- included in tommath.h when building Tcl.
-
- * generic/tclTomMathInterface.c: (New file) Small 'glue' routines
- adapting tommath's API to Tcl.
-
- * libtommath/bn_fast_s_mp_mul_digs.c:
- * libtommath/bn_mp_mul_d.c:
- * libtommath/bn_mp_read_radix.c:
- * libtommath/tommath.h: Applied suggested changes from Tom St Denis
- that correct an off-by-one error in single-digit multiplication
- (leading to a pointer smash if uncorrected) and change the string
- argument to 'mp_read_radix' from 'char*' to 'const char*'.
-
- * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient
- memory is requested even if the number has a single digit.
-
- * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the
- input string contains an invalid character.
-
- * generic/tclObj.c: Added accessor functions for bignums.
- * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise the
- accessor functions for bignums.
-
- * win/Makefile.in: Added rules for making libtommath.
-
-2005-01-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- TIP#235 IMPLEMENTATION
-
- * doc/Ensemble.3: Documentation for the new public API.
- * generic/tclNamesp.c (Tcl_CreateEnsemble,...): Rename of
- * generic/tcl.decls: existing API into TIPped form.
-
-2005-01-19 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to
- remove a FileInfo from the thread local list before deallocating it.
- This should have been done via an earlier call to Tcl_CutChannel, but I
- was running into a crash in the next call to Tcl_CutChannel during the
- I/O finalization stage.
-
-2005-01-18 Kevin Kenny <kennykb@acm.org>
-
- * library/tzdata/GMT+0:
- * library/tzdata/GMT-0:
- * library/tzdata/GMT0:
- * library/tzdata/Greenwich:
- * library/tzdata/Navajo:
- * library/tzdata/Universal:
- * library/tzdata/Zulu:
- * library/tzdata/America/Asuncion:
- * library/tzdata/America/Rosario:
- * library/tzdata/Asia/Jerusalem:
- * library/tzdata/Brazil/Acre:
- Routine update per Olson's tzdata2005c. Removed links to links
- (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST
- rules and "best guess" at this year's Israeli rules.
-
-2005-01-17 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix for glob failure on Windows shares [Bug
- 1100542].
-
- * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not
- a good idea. [Bug 1101678]
-
-2005-01-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tests/compile.test (compile-17.1): Document known issue with binding
- time of compiled command interpretations in [expr].
-
- * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that
- we don't need to hard-code attribute indexes. [Bug 1100671]
-
-2005-01-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/string.n: Removed the term 'set' from the documentation of the
- [string trim] commands, as it caused confusion.
-
-2005-01-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case
- when the --with-tcl/--with-tk arguments point to the config scripts
- themselves and not their directory. If this is the case, they now
- complain but keep working. [FRQ 951247]
- * unix/configure: autoconf-2.57
-
-2005-01-10 Joe English <jenglish@users.sourceforge.net>
-
- * unix/Makefile.in, unix/configure.in, unix/tcl.m4,
- * unix/tclConfig.sh.in, unix/dltest/Makefile.in:
- Remove ${DBGX}, ${TCL_DBGX} from Tcl build system [Patch 1081595].
- * unix/configure: regenerated
-
-2005-01-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to
- make clashes with types in standard C headers less of a problem. [Bug
- 1098829]
-
-2005-01-09 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and
- related #ifdeffery (see [Bug 1095909]).
- * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R.
- * unix/configure: Regenerated.
-
-2005-01-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * library/http/http.tcl (http::mapReply): Significant performance
- enhancement by using [string map] instead of [regsub]/[subst], and
- update version requirement to Tcl8.4. [Bug 1020491]
-
-2005-01-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode
- control comment to prevent problems with old versions of man. [Bug
- 1085127]
-
-2005-01-05 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/winDde.test: Fixed broken test result.
-
-2005-01-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInt.h, generic/tclPort.h: Move the #include of tclConfig.h
- *first* before any reference to tcl.h so that the build configuration
- is loaded before the first reference to any system headers. Issue
- reported by Art Haas on tcl-core.
-
-2005-01-04 Don Porter <dgp@users.sourceforge.net>
-
- * tests/fCmd.test (fCmd-18.10): Added notNetworkFilesystem constraint.
- [Bug 456665]
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2007 b/tcl8.6/ChangeLog.2007
deleted file mode 100644
index 5995956..0000000
--- a/tcl8.6/ChangeLog.2007
+++ /dev/null
@@ -1,5921 +0,0 @@
-2007-12-31 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: Clarified meaning of dictionary values following
- discussion on comp.lang.tcl.
-
-2007-12-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c: More [lsort] data handling streamlines. The
- function MergeSort is gone, essentially inlined into Tcl_LsortObjCmd.
- It is not a straight inlining, two loops over all lists elements where
- merged in the process: the linked list elements are now built and
- merged into the temporary sublists in the same pass.
-
-2007-12-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c: More [lsort] data handling streamlines. Extra
- mem reqs of latest patches removed, restored to previous mem profile.
- Improved -unique handling, now eliminating repeated elems immediately
- instead of marking them to avoid reinsertion at the end.
-
-2007-12-23 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c (TclCompileRegexpCmd): TCL_REG_NOSUB cannot
- * tests/regexp.test (regexp-22.2): be used because it
- * tests/regexpComp.test: [Bug 1857126] disallows backrefs.
-
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c: Speed patch for lsort. [Patch 1856994]
-
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): Avoid
- calling SelectObjFromSublist when there are no sublists.
-
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Preallocate a listObj of
- sufficient length for the sorted list instead of growing it. Second
- commit replaces calls to Tcl_ListObjAppenElement with direct access to
- the internal rep.
-
-2007-12-19 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5.0 TAGGED FOR RELEASE ***
-
- * changes: Updated for 8.5.0 release.
-
-2007-12-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): update switch -regexp
- * tests/switch.test-14.*: compilation to pass
- the cflags to INST_REGEXP (changed on 12-07). Added tests for switch
- -regexp compilation (need more). [Bug 1854399]
-
-2007-12-18 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.0 release.
-
-2007-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regguts.h, generic/regc_color.c, generic/regc_nfa.c:
- Fixes for problems created when processing regular expressions that
- generate very large automata. An enormous number of thanks to Will
- Drewry <wad_at_google.com>, Tavis Ormandy <taviso_at_google.com>,
- and Tom Lane <tgl_at_sss.pgh.pa.us> from the Postgresql crowd for
- their help in tracking these problems down. [Bug 1810264]
-
-2007-12-17 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.0 release.
-
-2007-12-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclAlloc.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclThreadAlloc.c: Fix alignment for memory returned by
- TclStackAlloc; insure that all memory allocators align to 16-byte
- boundaries on 64 bit platforms [Bug 1851832, 1851524]
-
-2007-12-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c (FsAddMountsToGlobResult): fix the tail
- conversion of vfs mounts. [Bug 1602539]
-
- * win/README: updated notes
-
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/winFile.test: Fixed tests for win2k with long machine name
-
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/nmakehlp.c: Support compilation with MSVC9 for AMD64.
- * win/makefile.vc:
-
-2007-12-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/trace.n: Clarified documentation of enterstep and leavestep
- traces, including adding example. [Bug 614282, 1701540, 1755984]
-
-2007-12-12 Don Porter <dgp@users.sourceforge.net>
-
- * doc/IntObj.3: Update docs for the Tcl_GetBignumAndClearObj() ->
- Tcl_TakeBignumFromObj() revision [TIP 298]. Added docs for the
- Tcl_InitBignumFromDouble() routine. [Bug 1446971]
-
- * changes: Updated for 8.5.0 release.
-
-2007-12-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (TclReToGlob): reduce escapes in conversion
- when not necessary
-
- * generic/tclInt.decls: move TclByteArrayMatch and TclReToGlob
- * generic/tclIntDecls.h: to tclInt.h from stubs.
- * generic/tclStubInit.c: Add flags var to TclByteArrayMatch for
- * generic/tclInt.h: future extensibility
- * generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch.
- * doc/StrMatch.3: It is compatible with existing usage.
- * generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch
- * generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj):
- * generic/tclRegexp.c (Tcl_RegExpExecObj):
- * generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj
- * tests/string.test (11.9.* 11.10.*): more tests
-
-2007-12-10 Joe English <jenglish@users.sourceforge.net>
-
- * doc/string.n, doc/UniCharIsAlpha.3: Fix markup errors.
- * doc/CrtCommand.3, doc/CrtMathFnc.3, doc/FileSystem.3,
- * doc/GetStdChan.3, doc/OpenFileChnl.3, doc/SetChanErr.3,
- * doc/eval.n, doc/filename.n: Consistency: Move "KEYWORDS" section
- after "SEE ALSO".
-
-2007-12-10 Daniel Steffen <das@users.sourceforge.net>
-
- * tools/genStubs.tcl: fix numerous issues handling 'macosx',
- 'aqua' or 'x11' entries interleaved
- with 'unix' entries [Bug 1834288]; add
- genStubs::export command
- [Tk FR 1716117]; cleanup formatting.
-
- * generic/tcl.decls: use new genstubs 'export' command to
- * generic/tclInt.decls: mark exported symbols not in stubs
- * generic/tclTomMath.decls: table [Tk FR 1716117]; cleanup
- formatting.
-
- * generic/tclDecls.h: regen with new genStubs.tcl.
- * generic/tclIntDecls.h: [Bug 1834288]
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c:
-
-2007-12-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/io.test, tests/chanio.test (io-73.1): Make sure to invalidate
- * generic/tclIO.c (SetChannelFromAny): internal rep only after
- validating channel rep. [Bug 1847044]
-
-2007-12-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/expr.n, doc/mathop.n: Improved the documentation of the
- operators. [Bug 1823622]
-
- * generic/tclBasic.c (builtInCmds): Corrected list of hidden and
- * doc/interp.n (SAFE INTERPRETERS): exposed commands so that the
- documentation and reality now match. [Bug 1662436]
-
-2007-12-07 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP):
- * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE
- compile flags at compile time, and use TCL_REG_NOSUB.
-
- * generic/tclIOCmd.c (FinalizeIOCmdTSD, Tcl_PutsObjCmd): cache
- stdout channel object for [puts $str] calls.
-
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
-
- * README: Remove mention of dead comp.lang.tcl.announce
- newsgroup. [Bug 1846433]
-
- * unix/README: Mention the stub library created by `make` and warn
- about the effect of embedded paths in the installed binaries.
- Thanks to Larry Virden. [Bug 1794084]
-
- * doc/AddErrInfo.3: Documentation for the new routines in TIP 270.
- * doc/Interp.3:
- * doc/StringObj.3:
-
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
-
- * doc/namespace.n: Documentation for zero-argument form of
- [namespace import] (TIP 261) [Bug 1596416]
-
-2007-12-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.h: add TclGetChannelFromObj decl
- (TclMatchIsTrivial): simplify TclMatchIsTrivial to remove ] check.
-
-2007-12-06 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
-
- * generic/tclBasic.c (Tcl_CreateInterp): Simplify the setting up of
- * generic/tclIOCmd.c (TclInitChanCmd): the [chan] ensemble. This
- * library/init.tcl: gets rid of quite a bit of
- code and makes it possible to understand the whole with less effort.
-
- * generic/tclCompCmds.c (TclCompileEnsemble): Ensure that the right
- number of tokens are copied. [Bug 1845320]
-
- * generic/tclNamesp.c (TclMakeEnsemble): Added missing release of a
- DString. [Bug 1845397]
-
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIO.h: Create Tcl_Obj for Tcl channels to reduce
- * generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New
- * generic/tclIOCmd.c: TclGetChannelFromObj for internal use.
- * generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid
- EOL translation when not linebuffered or using lf. [Bug 1845092]
-
-2007-12-05 Miguel Sofer <msofer@users.sf.net>
-
- * tests/stack.test: made the tests for stack overflow not care
- about which mechanism caused the error (interp's recursion limit
- or C-stack depth detector).
-
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure, win/tcl.m4 (LIBS_GUI): mingw needs -lole32
- -loleaut32 but not msvc for Tk's [send]. [Bug 1844749]
-
-2007-12-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
- when -exact and -integer/-real are mixed. [Bug 1844789]
-
-2007-12-03 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixChan.c (CreateSocketAddress): Add extra #ifdef-fery to
- make code compile on BSD 5. [Bug 1618235, again]
-
-2007-12-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Bump tcltest to version 2.3.0 so that
- * library/tcltest/pkgIndex.tcl: we release a stable tcltest with a
- * unix/Makefile.in: stable Tcl.
- * win/Makefile.in:
-
-2007-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure, win/tcl.m4 (LIBS_GUI): remove ole32.lib oleaut32.lib
-
-2007-12-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Adjusted the [switch]
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): command so that when
- passed two arguments, no check for options are performed. This is OK
- since in the two-arg case, detecting an option would definitely lead
- to a syntax error. [Patch 1836519]
-
-2007-11-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/makefile.vc: add ws2_32.lib to baselibs
- * win/configure, win/tcl.m4: add ws2_32.lib / -lws2_32 to build.
- * win/tclWinSock.c: remove dyn loading of winsock, assume that it is
- always available now.
-
-2007-11-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclWinSock.c (InitializeHostName): Correct error in
- buffer length tracking. After gethostname() writes into a buffer,
- convert only the written string to internal encoding, not the whole
- buffer.
-
-2007-11-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclConfig.c: Corrected failure of the [::foo::pkgconfig]
- command to clean up registered configuration data when the query
- command is deleted from the interp. [Bug 983501]
-
- * generic/tclNamesp.c (Tcl_SetEnsembleMappingDict): Added checks
- that the dict value passed in is in the format required to make the
- internals of ensembles work. [Bug 1436096]
-
- * generic/tclIO.c: Simplify test and improve accuracy of error
- message in latest changes.
-
-2007-11-28 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclIO.c: -eofchar must support no eofchar.
-
-2007-11-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp, add
- comments.
-
-2007-11-27 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinSock.c: Add mising encoding conversion of the [info
- hostname] value from the system encoding to Tcl's internal encoding.
-
- * doc/chan.n: "Fix" the limitation on channel -eofchar
- * doc/fconfigure.n: values to single byte characters by
- * generic/tclIO.c: documenting it and making it fail loudly.
- * tests/chan.test: Thanks to Stuart Cassoff for contributing the
- fix. [Bug 800753]
-
-2007-11-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * unix/tclUnixInit.c:
- * unix/tclUnixThrd.c: Fix stack checking via workaround for bug in
- glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks to
- Sergei Golovan (aka Teo) for detecting the bug and helping diagnose
- and develop the fix.
-
-2007-11-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict
- append] compiler which caused strange stack corruption. [Bug 1837392]
-
-2007-11-23 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c: Fixed a problem with reflected channels. 'chan
- postevent' is defined to work only from within the interpreter
- containing the handler command. Sensible, we want only handler
- commands to use it. It identifies the channel by handle. The channel
- moves to a different interpreter or thread. The interpreter containing
- the handler command doesn't know the channel any longer. 'chan
- postevent' fails, not finding the channel any longer. Uhm.
-
- Fixed by creating a second per-interpreter channel table, just for
- reflected channels, where each interpreter remembers for which
- reflected channels it has the handler command. This info does not move
- with the channel itself. The table is updated by 'chan create', and
- used by 'chan postevent'.
-
- * tests/ioCmd.test: Updated the testsuite.
-
-2007-11-23 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data for
- * tests/var.test (var-14.2): [array names $var -glob $ptn]
-
-2007-11-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdMZ.c (String*Cmd, TclInitStringCmd): Rebuilt [string]
- * generic/tclCompCmds.c (TclCompileString*Cmd): as an ensemble.
-
-2007-11-22 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (Dict*Cmd,TclInitDictCmd): Rebuilt the [dict]
- * generic/tclCompCmds.c (TclCompileDict*Cmd): command as an ensemble.
-
-2007-11-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Rewrote the [string] and
- * generic/tclDictObj.c (Tcl_DictObjCmd): [dict] implementations to be
- ready for conversion to ensembles.
-
- * tests/string.test (string-12.22): Flag shimmering bug found in
- [string range].
-
-2007-11-21 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileEnsemble): Rewrote the ensemble
- compiler to remove many of the limitations. Can now compile scripts
- that use unique prefixes of subcommands, and which have mappings of a
- command to multiple words (provided the first is a compilable command
- of course).
-
-2007-11-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclNamesp.c (TclMakeEnsemble): Factor out the code to set up
- a core ensemble from a table of information about subcommands, ready
- for reuse within the core.
-
- * generic/various: Start to return more useful Error codes, currently
- mainly on assorted lookup failures.
-
-2007-11-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c: Changed the underlying implementation of the
- hash table used in dictionaries to additionally keep all entries in
- the hash table in a linked list, which is only ever added to at the
- end. This makes iteration over all entries in the dictionary in
- key insertion order a trivial operation, and so cleans up a great deal
- of complexity relating to dictionary representation and stability of
- iteration order.
-
- ***POTENTIAL INCOMPATIBILITY***
- For any code that depended on the (strange) old iteration order.
-
- * generic/tclConfig.c (QueryConfigObjCmd): Correct usage of
- Tcl_WrongNumArgs.
-
-2007-11-19 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5b3 TAGGED FOR RELEASE ***
-
- * README: Bump version number to 8.5b3.
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
- * changes: Updated for 8.5b3 release.
-
-2007-11-19 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/America/Campo_Grande:
- * library/tzdata/America/Caracas:
- * library/tzdata/America/Cuiaba:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Sao_Paulo:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Tehran: Olson's tzdata2007i imported.
-
-2007-11-18 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): Fix read
- traces not firing on non-existent array elements. [Bug 1833522]
-
-2007-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (TclInitInfoCmd): Rename the implementation
- commands for [info] to be something more "expected".
-
- * generic/tclCompCmds.c (TclCompileInfoExistsCmd): Compiler for the
- [info exists] subcommand.
- (TclCompileEnsemble): Cleaned up version of ensemble compiler that was
- in TclCompileInfoCmd, but which is now much more generally applicable.
-
- * generic/tclInt.h (ENSEMBLE_COMPILE): Added flag to allow for cleaner
- turning on and off of ensemble bytecode compilation.
-
- * generic/tclCompile.c (TclCompileScript): Add the cmdPtr to the list
- of arguments passed to command compilers.
-
-2007-11-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler.
- [Bug 1810038]
-
- * generic/regc_nfa.c: Corrected looping logic in fixempties() to
- avoid wasting time walking a list of dead states. [Bug 1832612]
-
-2007-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL
- interp to Tcl_SetEnsemble* functions.
-
- * doc/re_syntax.n: Try to make this easier to read. It's still a very
- difficult manual page!
-
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow people to turn off the -rpath
- option to their linker if they so desire. This is a configuration only
- recommended for (some) vendors. Relates to [Patch 1231022].
-
-2007-11-15 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWin32Dll.c: Prefer UINT_PTR to DWORD_PTR when casting
- pointers to integer types for greater portability. [Bug 1831253]
-
-2007-11-15 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add new chanio.test.
- * macosx/Tcl.xcode/project.pbxproj:
-
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Ensure that we get our
- count in our INST_START_CMD calls right, even when there's a failure
- to compile a command directly.
-
- * generic/tclNamesp.c (Tcl_SetEnsembleSubcommandList)
- (Tcl_SetEnsembleMappingDict): Special code to make sure that
- * generic/tclCmdIL.c (TclInitInfoCmd): [info exists] is compiled
- right while not allowing changes to the ensemble to cause havok.
-
- * generic/tclCompCmds.c (TclCompileInfoCmd): Simple compiler for the
- [info] command that only handles [info exists].
-
- * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): New
- instructions to allow the testing of whether a variable exists.
-
-2007-11-14 Andreas Kupries <andreask@activestate.com>
-
- * tests/chanio.test: New file. This is essentially a duplicate of
- 'io.test', with all channel commands converted to their 'chan xxx'
- notation.
- * tests/io.test: Fixed typo in test description.
-
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/regc*.c: Eliminate multi-char collating element code
- completely. Simplifies the code quite a bit. If people still want the
- full code, it will remain on the 8.4 branch. [Bug 1831425]
-
-2007-11-13 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c (TclCompileRegexpCmd): clean up comments, only
- free dstring on OK from TclReToGlob.
- (TclCompileSwitchCmd): simplify TclReToGlob usage.
-
-2007-11-14 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/regc*.c: #ifdef/comment out the code that deals with
- multi-character collating elements, which have never been supported.
- Cuts the memory consumption of the RE compiler. [Bug 1831425]
-
-2007-11-13 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd, TclCompileRegexpCmd):
- Extend [switch] compiler to handle regular expressions as long as
- things are not too complex. Fix [regexp] compiler so that non-trivial
- literal regexps get fed to INST_REGEXP.
-
- * doc/mathop.n: Clarify definitions of some operations.
-
-2007-11-13 Miguel Sofer <msofer@users.sf.net>
-
- * unix/tclUnixInit.c: the TCL_NO_STACK_CHECK was being incorrectly
- undefined here; this should be set (or not) in the compile options, it
- is used elsewhere and needs to be consistent.
-
-2007-11-13 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * unix/tcl.m4: Added autoconf goo to detect and make use of
- * unix/configure.in: getaddrinfo and friends.
- * unix/configure: (regenerated)
-
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixCompat.c (TclpGetHostByName): The six-argument form of
- getaddressbyname_r() uses the fifth argument to indicate whether the
- lookup succeeded or not on at least one platform. [Bug 1618235]
-
-2007-11-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regcomp.c: Convert optst() from expensive no-op to a
- cheap no-op.
-
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixChan.c (CreateSocketAddress): Rewrote to use the
- thread-safe version of gethostbyname() by forward-porting the code
- used in 8.4, and added rudimentary support for getaddrinfo() (not
- enabled by default, as no autoconf-ery written). Part of fix for [Bug
- 1618235].
-
-2007-11-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros
- due to compiler warning. These cases won't save time either.
-
- * generic/tclUtil.c (TclReToGlob): add more comments, set interp
- result if specified on error.
-
-2007-11-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: New macro TclResetResult, new iPtr
- * generic/tclExecute.c: flag bit INTERP_RESULT_UNCLEAN:
- * generic/tclInt.h: shortcut for Tcl_ResetResult for the
- * generic/tclProc.c: "normal" case: TCL_OK, no return
- * generic/tclResult.c: options, no errorCode nor errorInfo,
- * generic/tclStubLib.c: return at normal level. [Patch
- * generic/tclUtil.c: 1830184]
-
- THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
- perfomance wins, which turn out to be tiny. Not worth the
- complication.
-
-2007-11-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCompCmds.c, generic/tclCompile.c, generic/tclCompile.h:
- * generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h:
- * generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully
- * generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the
- * tests/regexpComp.test: [Bug 1830166] simple cases. Also added
- TclReToGlob function to convert RE to glob patterns and use these in
- the possible cases.
-
-2007-11-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclResult.c (ResetObjResult): clarify the logic.
-
- * generic/tclBasic.c: Increased usage of macros to detect
- * generic/tclBinary.c: and take advantage of objTypes. Added
- * generic/tclClock.c: macros TclGet(Int|Long)FromObj,
- * generic/tclCmdAH.c: TclGetIntForIndexM & TclListObjLength,
- * generic/tclCmdIL.c: modified TclListObjGetElements.
- * generic/tclCmdMZ.c:
- * generic/tclCompCmds.c: The TclGetInt* macros are only a
- * generic/tclCompExpr.c: shortcut on platforms where 'long' is
- * generic/tclCompile.c: 'int'; it may be worthwhile to extend
- * generic/tclDictObj.c: their functionality to other cases.
- * generic/tclExecute.c:
- * generic/tclGet.c: As this patch touches many files it
- * generic/tclIO.c: has been recorded as [Patch 1830038]
- * generic/tclIOCmd.c: in order to facilitate reviewing.
- * generic/tclIOGT.c:
- * generic/tclIndexObj.c:
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * generic/tclListObj.c:
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclParse.c:
- * generic/tclProc.c:
- * generic/tclRegexp.c:
- * generic/tclResult.c:
- * generic/tclScan.c:
- * generic/tclStringObj.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2007-11-11 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixTime.c (TclpWideClicksToNanoseconds): Fix issues with
- * generic/tclInt.h: int64_t overflow.
-
- * generic/tclBasic.c: Fix stack check failure case if stack grows up
- * unix/tclUnixInit.c: Simplify non-crosscompiled case.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-11-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Fast path for INST_LIST_INDEX when the index
- is not a list.
-
- * generic/tclBasic.c:
- * unix/configure.in:
- * unix/tclUnixInit.c: Detect stack grwoth direction at compile time,
- only fall to runtime detection when crosscompiling.
-
- * unix/configure: autoconf 2.61
-
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * tests/interp.test:
- * unix/tclUnixInit.c:
- * win/tclWin32Dll.c: Restore simpler behaviour for stack checking, not
- adaptive to stack size changes after a thread is launched. Consensus
- is that "nobody does that", and so it is not worth the cost. Improved
- failure comments (mistachkin).
-
-2007-11-10 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWin32Dll.c: Rewrote the Windows stack checking algorithm to
- use information from VirtualQuery to determine the bound of the stack.
- This change fixes a bug where the guard page of the stack was never
- restored after an overflow. It also eliminates a nasty piece of
- assembly code for structured exception handling on mingw. It
- introduces an assumption that the stack is a single memory arena
- returned from VirtualAlloc, but the code in MSVCRT makes the same
- assumption, so it should be fairly safe.
-
-2007-11-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * unix/tclUnixInit.c:
- * unix/tclUnixPort.h:
- * win/tclWin32Dll.c: Modify the stack checking algorithm to recheck in
- case of failure. The working assumptions are now that (a) a thread's
- stack is never moved, and (b) a thread's stack can grow but not
- shrink. Port to windows - could be more efficient, but is already
- cheaper than it was.
-
-2007-11-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclResult.c (ResetObjResult): new shortcut.
-
- * generic/tclAsync.c:
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclUnixInit.c:
- * generic/tclUnixPort.h: New fields in interp (ekeko!) to cache TSD
- data that is accessed at each command invocation, access macros to
- replace Tcl_AsyncReady and TclpCheckStackSpace by much faster variants
- [Patch 1829248]
-
-2007-11-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.decls, generic/tclIntDecls.h: Use unsigned char for
- * generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch and
- don't allow a nocase option. [Bug 1828296]
- For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case.
-
- * generic/tclBinary.c (Tcl_GetByteArrayFromObj): check type before
- func jump (perf).
-
-2007-11-07 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclStubInit.c: Added TclByteArrayMatch
- * generic/tclInt.decls: for efficient glob
- * generic/tclIntDecls.h: matching of ByteArray
- * generic/tclUtil.c (TclByteArrayMatch): Tcl_Objs, used in
- * generic/tclExecute.c (TclExecuteByteCode): INST_STR_MATCH. [Bug
- 1827996]
-
- * generic/tclIO.c (TclGetsObjBinary): Add an efficient binary path for
- [gets].
- (DoWriteChars): Special case for 1-byte channel write.
-
-2007-11-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclEncoding.c: Version of the embedded iso8859-1 encoding
- handler that is faster (functions to do the encoding know exactly what
- they're doing instead of pulling it from a table, though the table
- itself has to be retained for use by shift encodings that depend on
- iso8859-1). [Patch 1826906], committing for dkf.
-
-2007-11-05 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclConfig.c (Tcl_RegisterConfig): Modified to not extend the
- config database if the encoding provided by the user is not found
- (venc == NULL). Scripts expecting the data will error out, however we
- neither crash nor provide bogus information. See [Bug 983509] for more
- discussion.
-
- * unix/tclUnixChan.c (TtyGetOptionProc): Accepted [Patch 1823576]
- provided by Stuart Cassof <stwo@users.sourceforge.net>. The patch adds
- the necessary utf/external conversions to the handling of the
- arguments of option -xchar which will allow the use of \0 and similar
- characters.
-
-2007-11-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclTest.c (TestSetCmd2):
- * generic/tclVar.c (TclObjLookupVarEx):
- * tests/set.test (set-5.1): Fix error branch when array name looks
- like array element (code not normally exercised).
-
-2007-11-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/tcltk-man2html.tcl (output-directive): Convert .DS/.DE pairs
- into tables since that is now all that they are used for.
-
- * doc/RegExp.3: Clarified documentation of RE flags. [Bug 1167840]
-
- * doc/refchan.n: Adjust internal name to be consistent with the file
- name for reduced user confusion. After comment by Dan Steffen.
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd, UniCharIsAscii): Remember, the
- NUL character is in ASCII too. [Bug 1808258]
-
- * doc/file.n: Clarified use of [file normalize]. [Bug 1185154]
-
-2007-10-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.5b2.1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5b2
- * unix/configure.in: release.
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2007-10-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/expr.n, doc/mathfunc.n: Improve documentation to try to make
- clearer what is going on.
-
- * doc/interp.n: Shorten the basic descriptive text for some interp
- subcommands so Solaris nroff doesn't truncate them. [Bug 1822268]
-
-2007-10-30 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (output-widget-options): Enhance the HTML
- generator so that it can produce multi-line option descriptions.
-
-2007-10-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclUtil.c (Tcl_ConcatObj): optimise for some of the
- concatenees being empty objs. [Bug 1447328]
-
-2007-10-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclEncoding.c (TclInitEncodingSubsystem): Hard code the
- iso8859-1 encoding, as it's needed for more than just text (especially
- binary encodings...) Note that other encodings rely on the encoding
- being a table encoding (!) so we can't use more efficient encoding
- mapping functions.
-
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/regc_lex.c (lexescape): Close off one of the problems
- mentioned in [Bug 1810264].
-
-2007-10-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_FindCommand): insure that FQ command names
- are searched from the global namespace, ie, bypassing resolvers of the
- current namespace. [Bug 1114355]
-
- * doc/apply.n: fixed example [Bug 1811791]
- * doc/namespace.n: improved example [Bug 1788984]
- * doc/AddErrInfo.3: typo [Bug 1715087]
- * doc/CrtMathFnc.3: fixed Tcl_ListMathFuncs entry [Bug 1672219]
-
- * generic/tclCompile.h:
- * generic/tclInt.h: moved declaration of TclSetCmdNameObj from
- tclCompile.h to tclInt.h, reverting linker [Bug 1821159] caused by
- commit of 2007-10-11 (both I and gcc missed one dep).
-
- * generic/tclVar.c: try to preserve Tcl_Objs when doing variable
- lookups by name, partially addressing [Bug 1793601].
-
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl (make-man-pages, htmlize-text)
- (process-text): Make the man->HTML scraper work better.
-
-2007-10-26 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5b2 TAGGED FOR RELEASE ***
-
- * changes: Updated for 8.5b2 release.
-
- * doc/*.1: Revert doc changes that broke
- * doc/*.3: `make html` so we can get the release
- * doc/*.n: out the door.
-
- * README: Bump version number to 8.5b2.
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2007-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/man2help2.tcl, tools/man2tcl.c: Made some of the tooling code
- to do man->other formats work better with current manpage set. Long
- way still to go.
-
-2007-10-25 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclThread.c: Added TclpMasterLock/Unlock arround calls to
- ForgetSyncObject in Tcl_MutexFinalize and Tcl_ConditionFinalize to
- prevent from garbling the internal lists that track sync objects. [Bug
- 1726873]
-
-2007-10-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/man2html2.tcl (macro): Added support for converting the new
- macros into HTML.
-
- * doc/man.macros (QW,PQ,QR,MT): New macros that hide the ugly mess
- needed to get proper GOOBE quoting in the manual pages.
- * doc/*.n, doc/*.3, doc/*.1: Lots of changes to take advantage of the
- new macros.
-
-2007-10-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: Fix comments.
- * generic/tclExecute.c:
-
-2007-10-18 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: sort the dep list for a more humanly readable
- output.
-
-2007-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (TclMergeReturnOptions): Make sure any -code
- values get pulled out of the dictionary, even if they are integer
- valued.
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Added code to more
- optimally compile [return -level 0 $x] to "push $x". [RFE 1794073]
-
- * compat/tmpnam.c (removed): The routine tmpnam() is no longer
- * unix/Makefile.in: called by Tcl source code. Remove autogoo the
- * unix/configure.in: supplied a replacement version on systems
- * win/tcl.dsp: where the routine was not available. [RFE
- 1811848]
-
- * unix/configure: autoconf-2.59
-
- * generic/tcl.h: Remove TCL_LL_MODIFIER_SIZE. [RFE 1811837]
-
-2007-10-17 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: Improved defense from malformed object list
- infile.
-
-2007-10-17 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tools/man2html2.tcl: Convert .DS/.DE into HTML tables, not
- preformatted text.
-
-2007-10-17 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompExpr.c: Moved a misplaced declaration that blocked
- compilation on VC++.
- * generic/tclExecute.c: Silenced several VC++ compiler warnings about
- converting 'long' to 'unsigned short'.
-
-2007-10-16 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: removed old dependency cruft that is no longer
- needed.
-
-2007-10-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOCmd.c: Revise [open] so that it interprets leading
- zero strings passed as the "permissions" argument as octal numbers,
- even if Tcl itself no longer parses integers in that way.
-
- * unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so
- that it interprets leading zero strings as octal numbers, even if Tcl
- itself no longer parses integers in that way.
-
- * generic/tclCompExpr.c: Corrections to code that produces
- * generic/tclUtil.c: extended "bad octal" error messages.
-
- * tests/cmdAH.test: Test revisions so that tests pass whether or
- * tests/cmdIL.test: not Tcl parses leading zero strings as octal.
- * tests/compExpr-old.test:
- * tests/compExpr.test:
- * tests/compile.test:
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/incr.test:
- * tests/io.test:
- * tests/lindex.test:
- * tests/link.test:
- * tests/mathop.test:
- * tests/parseExpr.test:
- * tests/set.test:
- * tests/string.test:
- * tests/stringComp.test:
-
-2007-10-15 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: Produces usable output. Include path problem
- * win/makefile.vc: fixed. Never fight city hall when it comes to
- levels of quoting issues.
-
-2007-10-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (Tcl_ParseBraces): fix for possible read after
- the end of buffer. [Bug 1813528] (Joe Mistachkin)
-
-2007-10-14 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl (new): Initial stab at generating automatic
- * win/makefile.vc: dependencies.
-
-2007-10-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Mine all version information from headers.
- * win/rules.vc: Sync tcl and tk and bring extension versions
- * win/nmakehlp.c: closer together. Try and avoid using tclsh to do
- substitutions as we may cross compile.
- * win/coffbase.txt: Added offsets for snack dlls.
-
-2007-10-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Fixed my bad spelling mistakes from years back.
- Dedependency, duh! Rather funny.
-
-2007-10-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: Correct [string is (wide)integer] failure
- * tests/string.test: to report correct failindex values for
- non-decimal integer strings. [Bug 1805887]
-
- * compat/strtoll.c (removed): The routines strtoll() and strtoull()
- * compat/strtoull.c (removed): are no longer called by the Tcl source
- * generic/tcl.h: code. (Their functionality has been replaced
- * unix/Makefile.in: by TclParseNumber().) Remove outdated comments
- * unix/configure.in: and mountains of configury autogoo that
- * unix/tclUnixPort.h: allegedly support the mythical systems where
- * win/Makefile.in: these routines might not have been available.
- * win/makefile.bc:
- * win/makefile.vc:
- * win/tclWinPort.h:
-
- * unix/configure: autoconf-2.59
-
-2007-10-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c: remove superfluous #include of tclCompile.h
-
-2007-10-08 George Peter Staplin <georgeps@xmission.com>
-
- * doc/Hash.3: Correct the valid usage of the flags member for the
- Tcl_HashKeyType. It should be 0 or more of the flags mentioned.
-
-2007-10-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29 to
- make macro more warning-robust in unbraced if code.
-
-2007-10-02 Don Porter <dgp@users.sourceforge.net>
-
- [core-stabilizer-branch]
-
- * README: Bump version number to 8.5.0
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2007-10-02 Andreas Kupries <andreask@activestate.com>
-
- * library/tclIndex: Added 'tcl::tm::path' to the tclIndex. This fixes
- [Bug 1806422] reported by Don Porter.
-
-2007-09-25 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclProc.c (Tcl_DisassembleObjCmd): Define a command,
- ::tcl::unsupported::disassemble, which can disassemble procedures,
- lambdas and general scripts.
- * generic/tclCompile.c (TclDisassembleByteCodeObj): Split apart the
- code to print disassemblies of bytecode so that there is reusable code
- that spits it out in a Tcl_Obj and then that code is used when doing
- tracing.
-
-2007-09-20 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5b1 TAGGED FOR RELEASE ***
-
- * changes: updates for 8.5b1 release.
-
-2007-09-19 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5b1
- * generic/tcl.h: Merge from core-stabilizer-branch.
- * library/init.tcl: Stabilizing toward 8.5b1 release now done on
- * tools/tcl.wse.in: the HEAD. core-stabilizer-branch is now
- * unix/configure.in: suspended.
- * unix/tcl.spec:
- * win/configure.in:
-
-2007-09-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclStubLib.: Replaced isdigit with internal implementation.
-
-2007-09-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStubLib.c: Remove C library calls from Tcl_InitStubs() so
- * win/makefile.vc: that we don't need the C library linked in to
- libtclStub.
-
-2007-09-17 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Add crt flags for tclStubLib now it uses C-library
- functions.
-
-2007-09-17 Joe English <jenglish@users.sourceforge.net>
-
- * tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable' to build
- shared libraries on current NetBSDs. [Bug 1749251]
- * unix/configure: regenerated (autoconf-2.59).
-
-2007-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Update `make dist` so that tclDTrace.d is
- included in the source code distribution.
-
- * generic/tcl.h: Revised Tcl_InitStubs() to restore Tcl 8.4
- * generic/tclPkg.c: source compatibility with callers of
- * generic/tclStubLib.c: Tcl_InitStubs(interp, TCL_VERSION, 1). [Bug
- 1578344]
-
-2007-09-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclTrace.c (Tcl_TraceObjCmd, TraceExecutionObjCmd)
- (TraceCommandObjCmd, TraceVariableObjCmd): Generate literal values
- * generic/tclNamesp.c (NamespaceCodeCmd): more efficiently using
- * generic/tclFCmd.c (CopyRenameOneFile): TclNewLiteralStringObj
- * generic/tclEvent.c (TclSetBgErrorHandler): macro.
-
-2007-09-15 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: replace all direct references to compiler by ${CC} to
- enable CC overriding at configure & make time; run
- check for visibility "hidden" with all compilers;
- quoting fixes from TEA tcl.m4.
- (SunOS-5.1x): replace direct use of '/usr/ccs/bin/ld' in SHLIB_LD by
- 'cc' compiler driver.
- * unix/configure: autoconf-2.59
-
-2007-09-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclBasic.c (Tcl_CreateObjCommand): Only invalidate along the
- namespace path once; that is enough. [Bug 1519940]
-
-2007-09-14 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclDTrace.d (new file): Add DTrace provider for Tcl; allows
- * generic/tclCompile.h: tracing of proc and command entry &
- * generic/tclBasic.c: return, bytecode execution, object
- * generic/tclExecute.c: allocation and more; with
- * generic/tclInt.h: essentially zero cost when tracing
- * generic/tclObj.c: is inactive; enable with
- * generic/tclProc.c: --enable-dtrace configure arg
- * unix/Makefile.in: (disabled by default, will only
- * unix/configure.in: enable if DTrace is present). [Patch
- 1793984]
-
- * macosx/GNUmakefile: Enable DTrace support.
- * macosx/Tcl-Common.xcconfig:
- * macosx/Tcl.xcodeproj/project.pbxproj:
-
- * generic/tclCmdIL.c: Factor out core of InfoFrameCmd() into
- internal TclInfoFrame() for use by DTrace
- probes.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-09-12 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Perform missing updates of the tcltest Tcl
- * win/Makefile.in: Module installed filename that should have
- been part of the bump to tcltest 2.3b1. Thanks Larry Virden.
-
-2007-09-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc, win/rules.vc, win/nmakehlp.c: Use nmakehlp to
- substitute values for tclConfig.sh (helps cross-compiling).
-
-2007-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Accept underscores and colons in
- * library/tcltest/pkgIndex.tcl: constraint names. Properly handle
- constraint expressions that return non-numeric boolean results like
- "false". Bump to tcltest 2.3b1. [Bug 1772989; RFE 1071322]
- * tests/info.test: Disable fragile tests.
-
- * doc/package.n: Restored the functioning of [package require
- * generic/tclPkg.c: -exact] to be compatible with Tcl 8.4. [Bug
- * tests/pkg.test: 1578344]
-
-2007-09-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictCmd-update):
- * generic/tclCompile.c (tclInstructionTable):
- * generic/tclExecute.c (INST_DICT_UPDATE_END): fix stack management in
- compiled [dict update]. [Bug 1786481]
-
- ***POTENTIAL INCOMPATIBILITY***
- Scripts that were precompiled on earlier versions of 8.5 and use [dict
- update] will crash. Workaround: recompile.
-
-2007-09-11 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c: Corrected an off-by-one error in the setting
- of MaxBaseWide for certain powers. [Bug 1767293 - problem reported in
- comments when bug was reopened]
-
-2007-09-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var being
- unlinked. [Bug 1740631] (maros)
-
-2007-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: fix tclInstructionTable entry for
- dictUpdateEnd
-
- * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable
- before jumping to checkForCatch.
-
-2007-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * doc/package.n: Restored the document parallel syntax of the
- * generic/tclPkg.c: [package present] and [package require]
- * tests/pkg.test: commands. [Bug 1723675]
-
-2007-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from the
- * generic/tclNamesp.c: registered set. Revised the management of the
- * generic/tclObj.c: intrep of that Tcl_ObjType. Revised the
- * tests/obj.test: TclGetNamespaceFromObj() routine to return
- TCL_ERROR and write a consistent error message when a namespace is not
- found. [Bug 1588842. Patch 1686862]
-
- ***POTENTIAL INCOMPATIBILITY***
- For callers of Tcl_GetObjType() on the name "nsName".
-
- * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers.
- * generic/tclProc.c:
-
- * tests/apply.test: Updated tests to expect new consistent
- * tests/namespace-old.test: error message when a namespace is not
- * tests/namespace.test: found.
- * tests/upvar.test:
-
- * generic/tclCompCmds.c: Use the new INST_REVERSE instruction
- * tests/mathop.test: to correct the compiled versions of math
- operator commands. [Bug 1724437]
-
- * generic/tclCompile.c: New bytecode instruction INST_REVERSE to
- * generic/tclCompile.h: reverse the order of N items at the top of
- * generic/tclExecute.c: stack.
-
- * generic/tclCompCmds.c (TclCompilePowOpCmd): Make a separate
- routine to compile ** to account for its different associativity.
-
-2007-09-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710] fixed
- correctly, reverted fix of 2007-05-01.
-
-2007-09-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): Plug a hole that
- * generic/tclExecute.c (TEBC,INST_DICT_UPDATE_END): allowed a careful
- * tests/dict.test (dict-21.16,21.17,22.11): attacker to craft a dict
- containing a recursive link to itself, violating one of Tcl's
- fundamental datatype assumptions and causing a stack crash when the
- dict was converted to a string. [Bug 1786481]
-
-2007-09-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEvent.c ([::tcl::Bgerror]): Corrections to Tcl's
- * tests/event.test: default [interp bgerror] handler so that when
- it falls back to a hidden [bgerror] in a safe interp, it gets the
- right error context data. [Bug 1790274]
-
-2007-09-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclInitCompiledLocals): the refCount of resolved
- variables was being managed without checking if they were Var or
- VarInHash: itcl [Bug 1790184]
-
-2007-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (Tcl_GetReturnOptions): Take care that a
- * tests/init.test: non-TCL_ERROR code doesn't cause existing
- -errorinfo, -errorcode, and -errorline entries to be omitted.
- * generic/tclEvent.c: With -errorInfo no longer lost, generate more
- complete ::errorInfo when calling [bgerror] after a non-TCL_ERROR
- background exception.
-
-2007-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c (Tcl_Init): Removed constraint on ability
- to define a custom [tclInit] before calling Tcl_Init(). Until now the
- custom command had to be a proc. Now it can be any command.
-
- * generic/tclInt.decls: New internal routine TclBackgroundException()
- * generic/tclEvent.c: that for the first time permits non-TCL_ERROR
- exceptions to trigger [interp bgerror] handling. Closes a gap in TIP
- 221. When falling back to [bgerror] (which is designed only to handle
- TCL_ERROR), convert exceptions into errors complaining about the
- exception.
-
- * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call
- * generic/tclIO.c: TclBackgroundException().
- * generic/tclIOCmd.c:
- * generic/tclTimer.c:
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2007-09-06 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcode/project.pbxproj: discontinue unmaintained support
- * macosx/Tcl.xcode/default.pbxuser: for Xcode 1.5; replace by Xcode2
- project for use on Tiger (with Tcl.xcodeproj to be used on Leopard).
-
- * macosx/Tcl.xcodeproj/project.pbxproj: updates for Xcode 2.5 and 3.0.
- * macosx/Tcl.xcodeproj/default.pbxuser:
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcode/default.pbxuser:
- * macosx/Tcl-Common.xcconfig:
-
- * macosx/README: document project changes.
-
-2007-09-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed support for the unmaintained
- * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug
- * unix/Makefile.in: 1264623]
-
-2007-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: It's unreliable to count on the release
- manager to remember to `make genstubs` before `make dist`. Let the
- Makefile remember the dependency for us.
-
- * unix/Makefile.in: Corrections to `make dist` dependencies to be
- sure that macosx/configure gets generated whenever it does not exist.
-
-2007-09-03 Kevin B, Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/America/Grand_Turk:
- * library/tzdata/America/Port-au-Prince:
- * library/tzdata/America/Indiana/Petersburg:
- * library/tzdata/America/Indiana/Tell_City:
- * library/tzdata/America/Indiana/Vincennes:
- * library/tzdata/Antarctica/McMurdo:
- * library/tzdata/Australia/Adelaide:
- * library/tzdata/Australia/Broken_Hill:
- * library/tzdata/Australia/Currie:
- * library/tzdata/Australia/Hobart:
- * library/tzdata/Australia/Lord_Howe:
- * library/tzdata/Australia/Melbourne:
- * library/tzdata/Australia/Sydney:
- * library/tzdata/Pacific/Auckland:
- * library/tzdata/Pacific/Chatham: Olson's tzdata2007g.
-
- * generic/tclListObj.c (TclLindexFlat):
- * tests/lindex.test (lindex-17.[01]): Added code to detect the error
- when a script does [lindex {} end foo]; an overaggressive optimisation
- caused this call to return an empty object rather than an error.
-
-2007-09-03 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclObj.c (TclInitObjSubsystem): restore registration of the
- "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that
- access the tclWideIntType Tcl_ObjType; add setFromAnyProc for
- tclWideIntType.
-
-2007-09-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/lsearch.n: Added note that order of results with the -all option
- is that of the input list. It always was, but this makes it crystal.
-
-2007-08-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Added fflush() calls following all callers of
- * generic/tclExecute.c: TclPrintByteCodeObj() so that tcl_traceCompile
- output is less likely to get mangled when writes to stdout interleave
- with other code.
-
-2007-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Use a table lookup in ParseLexeme() to
- determine lexemes with single-byte representations.
-
- * generic/tclBasic.c: Used unions to better clarify overloading of
- * generic/tclCompExpr.c: the fields of the OpCmdInfo and
- * generic/tclCompile.h: TclOpCmdClientData structs.
-
-2007-08-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Call TclCompileSyntaxError() when
- expression syntax errors are found when compiling expressions. With
- this in place, convert TclCompileExpr to return void, since there's no
- longer any need to report TCL_ERROR.
- * generic/tclCompile.c: Update callers.
- * generic/tclExecute.c:
-
- * generic/tclCompCmds.c: New routine TclCompileSyntaxError()
- * generic/tclCompile.h: to directly compile bytecodes that report a
- * generic/tclCompile.c: syntax error, rather than (ab)use a call to
- TclCompileReturnCmd. Also, undo the most recent commit that papered
- over some issues with that (ab)use. New routine produces a new opcode
- INST_SYNTAX, which is a minor variation of INST_RETURN_IMM. Also a bit
- of constification.
-
- * generic/tclCompile.c: Move the deallocation of local LiteralTable
- * generic/tclCompExpr.c: entries into TclFreeCompileEnv().
- * generic/tclExecute.c: Update callers.
-
- * generic/tclCompExpr.c: Force numeric and boolean literals in
- expressions to register with their intreps intact, even if that means
- overwriting existing intreps in already registered literals.
-
-2007-08-25 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Added code to handle
- * tests/expr.test (expr-23.48-53) integer exponentiation
- that results in 32- and 64-bit integer results, avoiding calls to wide
- integer exponentiation routines in this common case. [Bug 1767293]
-
- * library/clock.tcl (ParseClockScanFormat): Modified code to allow
- * tests/clock.test (clock-60.*): case-insensitive matching
- of time zone and month names. [Bug 1781282]
-
-2007-08-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Register literals found in expressions
- * tests/compExpr.test: to restore literal sharing. Preserve numeric
- intreps when literals are created for the first time. Correct memleak
- in ExecConstantExprTree() and add test for the leak.
-
-2007-08-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: replaced copy loop that tripped some compilers
- with memmove. [Bug 1780870]
-
-2007-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl ([auto_load_index]): Delete stray "]" that created
- an expr syntax error (masked by a [catch]).
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Added crash protection
- to handle callers other than TclCompileScript() failing to meet the
- initialization assumptions of the TIP 280 code in CompileWord().
-
- * generic/tclCompExpr.c: Suppress the attempt to convert to
- numeric when pre-compiling a constant expresion indicates an error.
-
-2007-08-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC): disable the new shortcut to frequent
- INSTs for debug builds. REVERTED (collision with alternative fix)
-
-2007-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c: Corrected the logic of dropping the last
- * tests/main.test: newline from an interactively typed command.
- [Bug 1775878]
-
-2007-08-21 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/thread.test: thread-4.4: clear ::errorInfo in the thread as a
- message is left here from init.tcl on windows due to no tcl_pkgPath.
-
-2007-08-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_SUB): fix usage of the new macro for
- overflow detection in sums, adapt to subtraction. Lengthy comment
- added.
-
-2007-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (Overflowing, TclIncrObj, TclExecuteByteCode):
- Encapsulate Miguel's last change in a more mnemonic macro.
-
-2007-08-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: changed the check for overflow in sums,
- reducing objsize, number of branches and cache misses (according to
- cachegrind). Non-overflow for s=a+b:
- previous
- ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0))
- now
- (((a^s) >= 0) || ((a^b) < 0))
- This expresses: "a and s have the same sign or else a and b have
- different sign".
-
-2007-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/interp.n (RESOURCE LIMITS): Added text to better explain why
- time limits are described using absolute times. [Bug 1752148]
-
-2007-08-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: improved localVarNameType caching to leverage
- the new availability of Tcl_Obj in variable names, avoiding string
- comparisons to verify that the cached value is usable.
-
- * generic/tclExecute.c: check the two most frequent instructions
- before the switch. Reduces both runtime and obj size a tiny bit.
-
-2007-08-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added a "constant" field to the OpNode
- struct (again "free" due to alignment requirements) to mark those
- subexpressions that are completely known at compile time. Enhanced
- CompileExprTree() and its callers to precompute these constant
- subexpressions at compile time. This resolves the issue raised in [Bug
- 1564517].
-
-2007-08-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclIOUtil.c (TclGetOpenModeEx): Only set the O_APPEND flag
- * tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a'
- mode and not for 'a+'. [Bug 1773127]
-
-2007-08-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INVOKE*): peephole opt, do not get the
- interp's result if it will be pushed/popped.
-
-2007-08-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Use fully qualified variable names for
- * tests/thread.test: ::errorInfo and ::errorCode so that string
- * tests/trace.test: reported to variable traces are fully
- qualified in agreement with Tcl 8.4 operations.
-
-2007-08-14 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclLoadDyld.c: use dlfcn API on Mac OS X 10.4 and later; fix
- issues with loading from memory on intel and 64bit; add debug messages
-
- * tests/load.test: add test load-10.1 for loading from vfs.
-
- * unix/dltest/pkga.c: whitespace & comment cleanup, remove
- * unix/dltest/pkgb.c: unused pkgf.c.
- * unix/dltest/pkgc.c:
- * unix/dltest/pkge.c:
- * unix/dltest/pkgf.c (removed):
- * unix/dltest/pkgua.c:
- * macosx/Tcl.xcodeproj/project.pbxproj:
-
-2007-08-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Provide DECACHE/CACHE protection to the
- * tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040]
-
-2007-08-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_SplitObjCmd): use TclNewStringObj macro
- instead of calling the function.
-
- * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneeded memset
- to 0 of all allocated objects.
-
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: remove redundant ops in TclNewStringObj macro.
-
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was causing a
- leak.
-
-2007-08-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Revise CompileExprTree() to use the
- OpNode mark field scheme of tree traversal. This eliminates the need
- to use magic values in the left and right fields for that purpose.
- Also stop abusing the left field within ParseExpr() to store the
- number of arguments in a parsed function call. CompileExprTree() now
- determines that for itself at compile time. Then reorder code to
- eliminate duplication.
-
-2007-08-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclCreateProc): better comments on the required
- varflag values when loading precompiled procs.
-
- * generic/tclExecute.c (INST_STORE_ARRAY):
- * tests/trace.test (trace-2.6): whole array write traces on compiled
- local variables were not firing. [Bug 1770591]
-
-2007-08-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via
- procPtr. codePtr->procPtr == NULL exposed by tbcload.
-
-2007-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected failure to compile/link in the
- -DNO_WIDE_TYPE configuration.
-
- * generic/tclExecute.c: Corrected improper use of bignum arguments to
- * tests/expr.test: *SHIFT operations. [Bug 1770224]
-
-2007-08-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: remove comments refering to VAR_SCALAR, as that
- flag bit does not exist any longer.
- * generic/tclProc.c (InitCompiledLocals): removed optimisation for
- non-resolved case, as the function is never called in that case.
- Renamed the function to InitResolvedLocals to calrify the point.
-
- * generic/tclInt.decls: Exporting via stubs to help xotcl adapt to
- * generic/tclInt.h: VarReform.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2007-08-07 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclEnv.c: improve environ handling on Mac OS X (adapted
- * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
-
- * unix/Makefile.in: add support for compile flags specific to
- object files linked directly into executables.
-
- * unix/configure.in (Darwin): only use -seg1addr flag when prebinding;
- use -mdynamic-no-pic flag for object files linked directly into exes;
- support overriding TCL_PACKAGE_PATH/TCL_MODULE_PATH in environment.
-
- * unix/configure: autoconf-2.59
-
-2007-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/parseExpr.test: Update source file name of expr parser code.
-
- * generic/tclCompExpr.c: Added a "mark" field to the OpNode
- struct, which is used to guide tree traversal. This field costs
- nothing since alignement requirements used the memory already.
- Rewrote ConvertTreeToTokens() to use the new field, which permitted
- consolidation of utility routines CopyTokens() and
- GenerateTokensForLiteral().
-
-2007-08-06 Kevin B. Kenny <kennykb@users.sf.net>
-
- * generic/tclGetDate.y: Added a cast to the definition of YYFREE to
- silence compiler warnings.
- * generic/tclDate.c: Regenerated
- * win/tclWinTest.c: Added a cast to GetSecurityDescriptorDacl call
- to silence compiler warnings.
-
-2007-08-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.decls: Exporting via stubs to help itcl adapt to
- * generic/tclInt.h: VarReform. Added localCache initialization
- * generic/tclIntDecls.h: to TclInitCompiledLocals (which only exists
- * generic/tclProc.c: for itcl).
- * generic/tclStubInit.c:
- * generic/tclVar.c:
-
-2007-08-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318]
-
-2007-08-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclInt.h: Added a TclOffset macro ala Tk_Offset to
- * generic/tclVar.c: abstract out 'offsetof' which may not be
- * generic/tclExceute.c: defined (eg: msvc6).
-
-2007-08-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry
- Virden.
-
-2007-07-31 Miguel Sofer <msofer@users.sf.net>
-
- * doc/Hash.3:
- * generic/tclHash.c:
- * generic/tclObj.c:
- * generic/tclThreadStorage.c: (changes part of the patch below)
- Stop Tcl_CreateHashVar from resetting hPtr->clientData to NULL after
- calling the allocEntryProc for a custom table.
-
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclCmdIL.c:
- * generic/tclCompCmds.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclHash.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * generic/tclThreadStorage.c:
- * generic/tclTrace.c:
- * generic/tclVar.c: VarReform [Patch 1750051]
-
- *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
- Extensions that access internals defined in tclInt.h and/or
- tclCompile.h may lose both binary and source compatibility. The
- relevant changes are:
- 1. 'struct Var' is completely changed, all acceses to its internals
- (either direct or via the TclSetVar* and TclIsVar* macros) will
- malfunction. Var flag values and semantics changed too.
- 2. 'struct Bytecode' has an additional field that has to be
- initialised to NULL
- 3. 'struct Namespace' is larger, as the varTable is now one pointer
- larger than a Tcl_HashTable. Direct access to its fields will
- malfunction.
- 4. 'struct CallFrame' grew one more field (the second such growth with
- respect to Tcl8.4).
- 5. API change for the functions TclFindCompiledLocal, TclDeleteVars
- and many internal functions in tclVar.c
-
- Additionally, direct access to variable hash tables via the standard
- Tcl_Hash* interface is to be considered as deprecated. It still works
- in the present version, but will be broken by further specialisation
- of these hash tables. This concerns especially the table of array
- elements in an array, as well as the varTable field in the Namespace
- struct.
-
-2007-07-31 Miguel Sofer <msofer@users.sf.net>
-
- * unix/configure.in: allow use of 'inline' in Tcl sources. [Patch
- * win/configure.in: 1754128]
- * win/makefile.vc: Regen with autoconf 2.61
-
-2007-07-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tclUnixInit.c (TclpSetVariables): Use the thread-safe getpwuid
- replacement to fill the tcl_platform(user) field as it is not subject
- to spoofing. [Bug 681877]
-
- * unix/tclUnixCompat.c: Simplify the #ifdef logic.
-
- * unix/tclUnixChan.c (FileWatchProc): Fix test failures.
-
-2007-07-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this
- file clearer.
-
-2007-07-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOvI, GetCommandSource):
- * generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd):
- * generic/tclInt.h:
- * generic/tclTrace.c (TclCheck(Interp|Execution)Traces):
- Removed the need for TEBC to inspect the command before calling TEOvI,
- leveraging the TIP 280 infrastructure. Moved the generation of a
- correct nul-terminated command string away from the trace code, back
- into TEOvI/GetCommandSource.
-
-2007-07-20 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Fixed bug in 'platform::patterns'
- * library/platform/pkgIndex.tcl: where identifiers not matching
- * unix/Makefile.in: the special linux and solaris forms would not
- * win/Makefile.in: get 'tcl' as an acceptable platform added to
- * doc/platform.n: the result. Bumped package to version 1.0.3 and
- * doc/platform_shell.n: updated documentation and Makefiles. Also
- fixed bad version info in the documentation of platform::shell.
-
-2007-07-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c: In contexts where interp and parsePtr->interp
- might be different, be sure to use the latter for error reporting.
- Also pulled the interp argument back out of ParseTokens() since we
- already had a parsePtr->interp to work with.
-
-2007-07-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Removed unused arguments and variables
-
-2007-07-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c (ParseExpr): While adding comments to
- explain the operations of ParseExpr(), made significant revisions to
- the code so it would be easier to explain, and in the process made the
- code simpler and clearer as well.
-
-2007-07-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: More commentary.
- * tests/parseExpr.test: Several tests of syntax error messages
- to check that when expression substrings are truncated they leave
- visible the context relevant to the reported error.
-
-2007-07-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Factored out, corrected, and commented
- common code for reporting syntax errors in LEAF elements.
-
-2007-07-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileWhileCmd):
- * generic/tclCompile.c (TclCompileScript):
- Corrected faulty avoidance of INST_START_CMD when the first opcode in
- a script is within a loop (as produced by 'while 1'), so that the
- corresponding command is properly counted. [Bug 1752146]
-
-2007-07-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added a "parseOnly" flag argument to
- ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an
- end goal of filling a Tcl_Parse with Tcl_Tokens representing the
- parsed expression, or TclCompileExpr() with the goal of compiling and
- executing the expression. In the latter case, more aggressive
- conversion of QUOTED and BRACED lexeme to literals is done. In the
- former case, all such conversion is avoided, since Tcl_Token
- production would revert it anyway. This enables simplifications to the
- GenerateTokensForLiteral() routine as well.
-
-2007-07-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added a field for operator precedence
- to be stored directly in the parse tree. There's no memory cost to
- this addition, since that memory would have been lost to alignment
- issues anyway. Also, converted precedence definitions and lookup
- tables to use symbolic constants instead of raw number for improved
- readability, and continued extending/improving/correcting comments.
- Removed some unused counter variables. Renamed some variables for
- clarity and replaced some cryptic logic with more readable macros.
-
-2007-07-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Revision so that the END lexeme never
- gets inserted into the parse tree. Later tree traversal never reaches
- it since its location in the tree is not variable. Starting and
- stopping with the START lexeme (node 0) is sufficient. Also finished
- lexeme code commentary.
-
- * generic/tclCompExpr.c: Added missing creation and return of
- the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
-
-2007-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl (unknown): Corrected inconsistent error message
- in interactive [unknown] when empty command is invoked. [Bug 1743676]
-
-2007-07-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (SetNsNameFromAny):
- * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary
- ckfree/ckalloc when the old structs can be reused.
-
-2007-07-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached
- * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512]
-
-2007-07-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Revised #define values so that there
- is now more expansion room to define more BINARY operators.
-
-2007-07-02 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclHash.c (CompareStringKeys): Always use the strcmp()
- version; the operation is functionally equivalent, the speed is
- identical (up to measurement limitations), and yet the code is
- simpler. [FRQ 951168]
-
-2007-07-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Removed TCL_PRESERVE_BINARY_COMPATIBILITY and
- * generic/tclHash.c: any code enabled when it is set to 0. We will
- * generic/tclStubInit.c: always want to preserve binary compat
- of the structs that appear in the interface through the 8.* series of
- releases, so it's pointless to drag around this never-enabled
- alternative.
-
- * generic/tclIO.c: Removed dead code.
- * unix/tclUnixChan.c:
-
- * generic/tclCompExpr.c: Removed dead code, old implementations
- * generic/tclEvent.c: of expr parsing and compiling, including the
- * generic/tclInt.h: routine TclFinalizeCompilation().
-
-2007-06-30 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug a memory leak caused by a
- missing Tcl_DecrRefCount on an error path. [Bug 1717186]
-
-2007-06-30 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclThread.c: Prevent RemeberSyncObj() from growing the sync
- object lists by reusing already free'd slots, if possible. See
- discussion on Bug 1726873 for more information.
-
-2007-06-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/DictObj.3 (Tcl_DictObjDone): Improved documentation of this
- function to make it clearer how to use it. [Bug 1710795]
-
-2007-06-29 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclAlloc.c: on Darwin, ensure memory allocated by
- * generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to
- 16 byte boundaries (as is the case with the Darwin system malloc).
-
- * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free.
- * generic/tclDate.c: bison 1.875e
-
- * generic/tclBasic.c (TclEvalEx): fix warnings.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: better support for renamed tcl
- * macosx/Tcl.xcodeproj/default.pbxuser: source dir; add 10.5 SDK build
- * macosx/Tcl-Common.xcconfig: config; remove tclMathOp.c.
-
- * macosx/README: document Tcl.xcodeproj changes.
-
-2007-06-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed dead code, including the
- * generic/tclExecute.c: entire file tclMathOp.c.
- * generic/tclInt.h:
- * generic/tclMathOp.c (removed):
- * generic/tclTestObj.c:
- * win/tclWinFile.c:
-
- * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c.
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.vc:
-
-2007-06-28 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclBasic.c: Silence constness warnings for TclStackFree
- * generic/tclCompCmds.c: when building with msvc.
- * generic/tclFCmd.c:
- * generic/tclIOCmd.c:
- * generic/tclTrace.c:
-
-2007-06-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (UnsetVarStruct): fix possible segfault.
-
-2007-06-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Corrected broken trace reversal logic in
- * generic/tclTest.c: TclCheckInterpTraces that led to infinite loop
- * tests/trace.test: when multiple Tcl_CreateTrace traces were set
- and one of them did not fire due to level restrictions. [Bug 1743931]
-
-2007-06-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclEvalEx): Moved some arrays from the C
- stack to the Tcl stack.
-
-2007-06-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (UnsetVarStruct): more streamlining.
-
-2007-06-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Safety checks to avoid crashes in the
- TclStack* routines when called with an incompletely initialized
- interp. [Bug 1743302]
-
-2007-06-25 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more
- streamlining.
-
-2007-06-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclDeleteCompiledLocalVars): removed inlining that
- ended up not really optimising (limited benchmarks). Now calling
- UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better
- benchmarks do show a difference).
-
- * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last
- commit.
-
-2007-06-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logic
- slightly clearer, eliminated some duplicated code.
-
- *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users)
- The core never builds VAR_LINK variable to have traces. Such a
- "monster", should one exist, will now have its unset traces called
- *before* it is unlinked.
-
-2007-06-23 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation
- APIs after fork() on systems where that would lead to an abort().
-
-2007-06-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Revised TclStackRealloc() signature to better
- * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc.
-
- * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced
- ckrealloc based allocations with TclStackRealloc allocations.
-
- * generic/tclCmdIL.c: More conversions to use TclStackAlloc.
- * generic/tclScan.c:
-
-2007-06-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Move most instances of the Tcl_Parse struct
- * generic/tclCompExpr.c: off the C stack and onto the Tcl stack. This
- * generic/tclCompile.c: is a rather large struct (> 3kB).
- * generic/tclParse.c:
-
-2007-06-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOvI): Made sure that leave traces
- * generic/tclExecute.c (INST_INVOKE): that were created during
- * tests/trace.test (trace-36.2): execution of an originally
- untraced command do not fire [Bug 1740962], partial fix.
-
-2007-06-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tcl.h, generic/tclCompile.h, generic/tclCompile.c: Remove
- references in comments to obsolete {expand} notation. [Bug 1740859]
-
-2007-06-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: streamline namespace vars deletion: only compute
- the variable's full name if the variable is traced.
-
-2007-06-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.decls: Revised the interfaces of the routines
- * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them
- easier for callers to use (or more precisely, harder to misuse).
- TclStackFree now takes a (void *) argument which is the pointer
- intended to be freed. TclStackFree will panic if that's not actually
- the memory the call will free. TSA/TSF also now tolerate receiving
- (interp == NULL), in which case they simply fall back to be calls to
- Tcl_Alloc/Tcl_Free.
-
- * generic/tclIntDecls.h: make genstubs
-
- * generic/tclBasic.c: Updated callers
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclFCmd.c:
- * generic/tclFileName.c:
- * generic/tclIOCmd.c:
- * generic/tclIndexObj.c:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclProc.c:
- * generic/tclTrace.c:
- * unix/tclUnixPipe.c:
-
-2007-06-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/tcltk-man2html.tcl: revamp of html doc output to use CSS,
- standardized headers, subheaders, dictionary sorting of names.
-
-2007-06-18 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/tcltk-man2html.tcl: clean up copyright merging and output.
- clean up coding constructs.
-
-2007-06-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL.c (InfoFrameCmd):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd):
- * generic/tclCompile.c (TclInitCompileEnv):
- * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the
- CmdFrame off the C stack and onto the Tcl stack.
-
- * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stack and
- onto the Tcl stack, between the catch and the execution stacks
-
-2007-06-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame off
- the C stack and onto the Tcl stack.
-
-2007-06-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (TclObjInterpProcCore): Minor fixes to make
- * generic/tclExecute.c (TclExecuteByteCode): compilation debugging
- builds work again. [Bug 1738542]
-
-2007-06-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of a
- chain of if's for a modest performance gain and a little more clarity.
-
-2007-06-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c: Simplified [variable] compiler and executor.
- * generic/tclExecute.c: Missed updates to "there is always a valid
- frame".
-
- * generic/tclCompile.c: reverted TclEvalObjvInternal and INST_INVOKE
- * generic/tclExecute.c: to essentially what they were previous to the
- * generic/tclBasic.c: commit of 2007-04-03 [Patch 1693802] and the
- subsequent optimisations, as they break the new trace tests described
- below.
-
- * generic/trace.test: added tests 36 to 38 for dynamic trace creation
- and addition. These tests expose a change in dynamics due to a recent
- round of optimisations. The "correct" behaviour is not described in
- docs nor TIP 62.
-
-2007-06-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.decls: Modif to the internals of TclObjInterpProc
- * generic/tclInt.h: to reduce stack consumption and improve task
- * generic/tclIntDecls.h: separation. Changes the interface of
- * generic/tclProc.c: TclObjInterpProcCore (patching TclOO
- simultaneously).
-
- * generic/tclProc.c (TclObjInterpProcCore): simplified obj management
- in wrongNumArgs calls.
-
-2007-06-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: SetByteCodeFromAny() can no longer return any
- * generic/tclExecute.c: code other than TCL_OK, so remove code that
- * generic/tclProc.c: formerly handled exceptional codes.
-
-2007-06-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclCompEvalObj): missed update to "there is
- always a valid frame".
-
- * generic/tclProc.c (TclObjInterpProcCore): call TEBC directly instead
- of going through TclCompEvalObj - no need to check the compilation's
- freshness, this has already been done. This improves speed and should
- also provide some relief to [Bug 1066755].
-
-2007-06-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclBasic.c (Tcl_CreateInterp): Turn the [info] command into
- * generic/tclCmdIL.c (TclInitInfoCmd): an ensemble, making it easier
- for third-party code to plug into.
-
- * generic/tclIndexObj.c (Tcl_WrongNumArgs):
- * generic/tclNamesp.c, generic/tclInt.h (tclEnsembleCmdType): Make
- Tcl_WrongNumArgs do replacement correctly with ensembles and other
- sorts of complex replacement strategies.
-
-2007-06-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: comments added to explain iPtr->numLevels
- management.
-
- * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj and
- * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of
- structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr
- is NULL for fully qualified names.
-
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Further TEOvI split, creating a new
- * generic/tclCompile.h: TclEvalObjvKnownCommand() function to handle
- * generic/tclExecute.c: commands that are already known and are not
- traced. INST_INVOKE now calls into this function instead of inlining
- parts of TEOvI. Same perf, better isolation.
-
- ***POTENTIAL INCOMPAT*** There is a subtle issue with the timing of
- execution traces that is changed here - first change appeared in my
- commit of 2007-04-03 [Patch 1693802], which caused some divergence
- between compiled and non-compiled code.
- ***THIS CHANGE IS UNDER REVIEW***
-
-2007-06-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: updated links. [Bug 1715081]
-
- * generic/tclExecute.c (TclExecuteByteCode): restore support for
- INST_CALL_BUILTIN_FUNC1 and INST_CALL_FUNC1 bytecodes to support 8.4-
- precompiled sources (math functions). [Bug 1720895]
-
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclvar.c: new macros TclGetCurrentNamespace() and
- TclGetGlobalNamespace(); Tcl_GetCommandFromObj and
- TclGetNamespaceFromObj rewritten to make the logic clearer; slightly
- faster too.
-
-2007-06-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INVOKE): isolated two vars to the small
- block where they are actually used.
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): rewritten to make the
- logic clearer; slightly faster too.
-
- * generic/tclBasic.c: Split TEOv in two, by separating a processor
- for non-TCL_OK returns. Also split TEOvI in a full version that
- handles non-existing and traced commands, and a separate shorter
- version for the regular case.
-
- * generic/tclBasic.c: Moved the generation of command strings for
- * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in
- TclCheck[Interp|Execution]Traces(). Also insured that the strings are
- properly NUL terminated at the correct length. [Bug 1693986]
-
- ***POTENTIAL INCOMPATIBILITY in internal API***
- The functions TclCheckInterpTraces() and TclCheckExecutionTraces() (in
- internal stubs) used to be noops if the command string was NULL, this
- is not true anymore: if the command string is NULL, they generate an
- appropriate string from (objc,objv) and use it to call the traces. The
- caller might as well not call them with a NULL string if he was
- expecting a noop.
-
- * generic/tclBasic.c: Extend usage of TclLimitReady() and
- * generic/tclExecute.c: (new) TclLimitExceeded() macros.
- * generic/tclInt.h:
- * generic/tclInterp.c:
-
- * generic/tclInt.h: New TclCleanupCommandMacro for core usage.
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclObj.c:
-
-2007-06-09 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in.
-
-2007-06-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed [string first] and
- * doc/string.n: [string last] so that they have clearer descriptions
- for those people who know the adage about needles and haystacks. This
- follows suggestions on comp.lang.tcl...
-
-2007-06-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c: fix for uninit read. [Bug 1732414]
-
-2007-06-06 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add settings for Fix&Continue.
-
- * unix/configure.in (Darwin): add plist for tclsh; link the
- * unix/Makefile.in (Darwin): Tcl and tclsh plists into
- * macosx/Tclsh-Info.plist.in (new): their binaries in all cases.
- * macosx/Tcl-Common.xcconfig:
-
- * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds.
- * unix/configure: autoconf-2.59
-
-2007-06-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY to
- * generic/tclInt.h: control the timing with which the global
- * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get
- * generic/tclProc.c: updated after an error. This keeps more
- * generic/tclResult.c: precise compatibility with Tcl 8.4.
- * tests/result.test (result-6.2): [Bug 1649062]
-
-2007-06-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h:
- * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
-
-2007-06-03 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning.
-
-2007-05-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed code that dealt with
- * generic/tclCompile.c: TCL_TOKEN_EXPAND_WORD tokens representing
- * generic/tclCompile.h: expanded literal words. These sections were
- mostly in place to enable [info frame] to discover line information in
- expanded literals. Since the parser now generates a token for each
- post-expansion word referring to the right location in the original
- script string, [info frame] gets all the data it needs.
-
- * generic/tclInt.h: Revised the parser so that it never produces
- * generic/tclParse.c: TCL_TOKEN_EXPAND_WORD tokens when parsing an
- * tests/parse.test: expanded literal word; that is, something like
- {*}{x y z}. Instead, generate the series of TCL_TOKEN_SIMPLE_WORD
- tokens to represent the words that expansion of the literal string
- produces. [RFE 1725186]
-
-2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
- pthread_join exit return code storage. [Bug 1712723]
-
-2007-05-22 Don Porter <dgp@users.sourceforge.net>
-
- [core-stabilizer-branch]
-
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
-
- * README: Bump version number to 8.5b1
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
-2007-05-18 Don Porter <dgp@users.sourceforge.net>
-
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
-
- * README: Bump version number to 8.5a7
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * generic/tclParse.c: Disable and remove the ALLOW_EXPAND sections
- * tests/info.test: that continued to support the deprecated
- * tests/mathop.test: {expand} syntax. Updated the few remaining
- users of that syntax in the test suite.
-
-2007-05-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclLimitReady): Created a macro version of
- Tcl_LimitReady just for TEBC, to reduce the amount of times that the
- bytecode engine calls out to external functions on the critical path.
- * generic/tclInterp.c (Tcl_LimitReady): Added note to remind anyone
- doing maintenance that there is a macro version to update.
-
-2007-05-17 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.decls: workaround 'make checkstubs' failures from
- tclStubLib.c MODULE_SCOPE revert. [Bug 1716117]
-
-2007-05-16 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclStubLib.c: Change Tcl_InitStubs(), tclStubsPtr, and the
- auxilliary stubs table pointers back to public visibility.
-
- These symbols need to be exported so that stub-enabled extensions may
- be statically linked into an extended tclsh or Big Wish with a
- dynamically-linked libtcl. [Bug 1716117]
-
-2007-05-15 Don Porter <dgp@users.sourceforge.net>
-
- * win/configure: autoconf-2.59 (FC6 fork)
-
- * library/reg/pkgIndex.tcl: Bump to registry 1.2.1 to account for
- * win/configure.in: [Bug 1682211] fix.
- * win/makefile.bc:
- * win/tclWinReg.c:
-
-2007-05-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPc from
- tclInt.h now they are in the internal stubs table.
-
-2007-05-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, so
- make sure it is also always declared (with MODULE_SCOPE).
-
-2007-05-09 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: fix warning when building threaded with -DPURIFY.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugUnthreaded' &
- * macosx/Tcl.xcodeproj/default.pbxuser: 'DebugLeaks' configs and env
- var settings needed to run the 'leaks' tool.
-
-2007-05-07 Don Porter <dgp@users.sourceforge.net>
-
- [Tcl Bug 1706140]
-
- * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so
- * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted()
- * generic/tclTrace.c (Trace*Proc): for themselves, and do not
- * generic/tclUtil.c (TclPrecTraceProc): rely on (frequently buggy)
- setting of the TCL_INTERP_DESTROYED flag by the trace core.
-
- * generic/tclVar.c: Update callers of TclCallVarTraces to not pass
- in the TCL_INTERP_DESTROYED flag. Also apply filters so that public
- routines only pass documented flag values down to lower level routines
-
- * generic/tclTrace.c (TclCallVarTraces): The setting of the
- TCL_INTERP_DESTROYED flag is now done entirely within the
- TclCallVarTraces routine, the only place it can be done right.
-
-2007-05-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (ExtraFrameInfo): Create a new mechanism for
- * generic/tclCmdIL.c (InfoFrameCmd): conveying what information needs
- to be added to the results of [info frame] to replace the hack that
- was there before.
- * generic/tclProc.c (Tcl_ApplyObjCmd): Use the new mechanism for the
- [apply] command, the only part of Tcl itself that needs it (so far).
-
- * generic/tclInt.decls (TclEvalObjEx, TclGetSrcInfoForPc): Expose
- these two functions through the internal stubs table, necessary for
- extensions that need to integrate deeply with TIP#280.
-
-2007-05-05 Donal K. Fellows <dkf@users.sf.net>
-
- * win/tclWinFile.c (TclpGetUserHome): Squelch type-pun warnings in
- * win/tclWinInit.c (TclpSetVariables): Win-specific code not found
- * win/tclWinReg.c (AppendSystemError): during earlier work on Unix.
-
-2007-05-04 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclIO.c (TclFinalizeIOSubsystem): Added an initializer to
- silence a spurious gcc warning about use of an uninitialized
- variable.
- * tests/encoding.test: Modified so that encoding tests happen in a
- private namespace, to avoid polluting the global one. This problem was
- discovered when running the test suite '-singleproc 1 -skip exec.test'
- because the 'path' variable in encoding.test conflicted with the one
- in io.test.
- * tests/io.test: Made more of the working variables private to the
- namespace.
-
-2007-05-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclTest.c (SimpleMatchInDirectory): Corrected a refcount
- imbalance that affected the filesystem-[147]* tests in the test suite.
- Thanks to Don Porter for the patch. [Bug 1710707]
- * generic/tclPathObj.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):
- Corrected several memory leaks that caused refcount imbalances
- resulting in memory leaks on Windows. Thanks to Joe Mistachkin for the
- patch.
-
-2007-05-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclPtrSetVar): fixed leak whenever newvaluePtr had
- refCount 0 and was used for appending (but not lappending). Thanks to
- mistachkin and kbk. [Bug 1710710]
-
-2007-05-01 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclIO.c (DeleteChannelTable): Made changes so that
- DeleteChannelTable tries to close all open channels, not just the
- first. [Bug 1710285]
- * generic/tclThread.c (TclFinalizeSynchronization): Make sure that TSD
- blocks get freed on non-threaded builds. [Bug 1710825]
- * tests/utf.test (utf-25.1--utf-25.4): Modified tests to clean up
- after the 'testobj' extension to avoid spurious reports of memory
- leaks.
-
-2007-05-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict map,
- a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709]
-
-2007-04-30 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: add 'tclsh' dependency to install targets that
- rely on tclsh, fixes parallel 'make install' from empty build dir.
-
-2007-04-30 Andreas Kupries <andreask@gactivestate.com>
-
- * generic/tclIO.c (FixLevelCode): Corrected reference count
- mismanagement of newlevel, newcode. Changed to allocate the Tcl_Obj's
- as late as possible, and only when actually needed. [Bug 1705778, leak
- K29]
-
-2007-04-30 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Corrected
- reference count mismanagement on the name of the source file in the
- TIP 280 code. [Bug 1705778, leak K02 among other manifestations]
-
-2007-04-25 Donal K. Fellows <dkf@users.sf.net>
-
- *** 8.5a6 TAGGED FOR RELEASE ***
-
- * generic/tclProc.c (TclObjInterpProcCore): Only allocate objects for
- error message generation when associated with argument names that are
- really used. [Bug 1705778, leak K15]
-
-2007-04-25 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclIOUtil.c (Tcl_FSChdir): Changed the memory management so
- that the path returned from Tcl_FSGetNativePath is not duplicated
- before being stored as the current directory, to avoid a memory leak.
- [Bug 1705778, leak K01 among other manifestations]
-
-2007-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c (ParseExpr): Revised to be sure that an
- error return doesn't prevent all literals getting placed on the
- litList to be returned to the caller for freeing. Corrects some
- memleaks. [Bug 1705778, leak K23]
-
-2007-04-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist;
- copy license.terms to dist macosx dir; fix autoheader bits.
-
-2007-04-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclListObj.c: reverting [Patch 738900] (committed on
- 2007-04-20). Causes some Tk test breakage of unknown importance, but
- the impact of the patch itself is likely to be so small that it does
- not warrant investigation at this time.
-
-2007-04-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictKeysCmd): Rewrote so that the lock on the
- internal representation of a dict is only set when necessary. [Bug
- 1705778, leak K04]
- (DictFilterCmd): Added code to drop the lock in the trivial match
- case. [Bug 1705778, leak K05]
-
-2007-04-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclBinary.c: Addressed several code paths where the error
- return from the 'binary format' command leaked the result buffer.
- * generic/tclListObj.c (TclLsetFlat): Fixed a bug where the new list
- under construction was leaked in the error case. [Bug 1705778, leaks
- K13 and K14]
-
-2007-04-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in (dist): add platform library package to src dist
-
-2007-04-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c (ParseExpr): Memory leak in error case; the
- literal Tcl_Obj was not getting freed. [Bug 1705778, leak #1 (new)]
-
- * generic/tclNamesp.c (Tcl_DeleteNamespace): Corrected flaw in the
- flag marking scheme to be sure that global namespaces are freed when
- their interp is deleted. [Bug 1705778]
-
-2007-04-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Plugged six memory leaks
- in bignum arithmetic.
- * generic/tclIOCmd.c (Tcl_ReadObjCmd): Plugged a leak of the buffer
- object if the physical read returned an error and the bypass area had
- no message.
- * generic/tclIORChan.c (TclChanCreateObjCmd): Plugged a leak of the
- return value from the "initialize" method of a channel handler.
- (All of the above under [Bug 1705778])
-
-2007-04-23 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclCkalloc.c: fix warnings from gcc build configured with
- * generic/tclCompile.c: --enable-64bit --enable-symbols=all.
- * generic/tclExecute.c:
-
- * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()
- * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
-
- * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic.
-
- * macosx/Tcl-Common.xcconfig: enable more warnings.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugMemCompile' build
- configuration that calls configure with --enable-symbols=all; override
- configure check for __attribute__((__visibility__("hidden"))) in Debug
- configuration to restore availability of ZeroLink.
-
- * macosx/tclMacOSXNotify.c: fix warnings.
-
- * macosx/tclMacOSXFCmd.c: const fixes.
-
- * macosx/Tcl-Common.xcconfig: fix whitespace.
- * macosx/Tcl-Debug.xcconfig:
- * macosx/Tcl-Release.xcconfig:
- * macosx/README:
-
- * macosx/GNUmakefile: fix/add copyright and license refs.
- * macosx/tclMacOSXBundle.c:
- * macosx/Tcl-Info.plist.in:
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcodeproj/project.pbxproj:
-
- * unix/configure.in: install license.terms into Tcl.framework.
- * unix/configure: autoconf-2.59
-
-2007-04-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c (UnsetVarStruct): Make sure the
- TCL_INTERP_DESTROYED flags gets passed to unset trace routines so they
- can respond appropriately. [Bug 1705778, leak #9]
-
-2007-04-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclFreeCompileEnv): Tip 280's new field
- extCmdMapPtr was not being freed. [Bug 1705778, leak #1]
-
-2007-04-23 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompCmds.c (TclCompileUpvarCmd): Plugged a memory leak in
- 'upvar' when compiling (a) upvar outside a proc, (b) upvar with a
- syntax error, or (c) upvar where the frame index is not known at
- compile time.
- * generic/tclCompExpr.c (ParseExpr): Plugged a memory leak when
- parsing expressions that contain syntax errors.
- * generic/tclEnv.c (ReplaceString): Clear memory correctly when
- growing the cache to avoid reads of uninitialised data.
- * generic/tclIORChan.c (TclChanCreateObjCmd, FreeReflectedChannel):
- Plugged two memory leaks.
- * generic/tclStrToD.c (AccumulateDecimalDigit): Fixed a mistake where
- we'd run beyond the end of the 'pow10_wide' array if a number begins
- with a string of more than 'maxpow10_wide' zeroes.
- * generic/tclTest.c (Testregexpobjcmd): Removed an invalid access
- beyond the end of 'objv' in 'testregexp -about'.
- All of these issues reported under [Bug 1705778] - detected with the
- existing test suite, no new regression tests required.
-
-2007-04-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclDeleteNamespaceVars): fixed access to freed
- memory detected by valgrind: Tcl_GetCurrentNamespace was being
- called after freeing root CallFrame (on interp deletion).
-
-2007-04-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclListObj.c (SetListFromAny): avoid discarding internal
- reps of objects converted to singleton lists. [Patch 738900]
-
-2007-04-20 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Corrected a silly error (transposed 'uppercase' and
- 'lowercase' in clock.n. [Bug 1656002]
- Clarified that [clock scan] does not recognize a locale's alternative
- calendar.
- Deleted an entirely superfluous (and also incorrect) remark about the
- effect of Daylight Saving Time on relative times in [clock scan]. [Bug
- 1582951]
- * library/clock.tcl: Corrected an error in skipping over the %Ey field
- on input.
- * library/msgs/ja.msg:
- * tools/loadICU.tcl: Corrected several localisation faults in the
- Japanese locale (most notably, incorrect dates for the Emperors'
- eras). Many thanks to SourceForge user 'nyademo' for pointing this out
- and developing a fix. [Bug 1637471]
- * generic/tclPathObj.c: Corrected a 'const'ness fault that caused
- bitter complaints from MSVC.
- * tests/clock.test (clock-40.1, clock-58.1, clock-59.1): Corrected a
- test case that depended on ":localtime" being able to handle dates
- prior to the Posix epoch. [Bug 1618445] Added a test case for the
- dates of the Japanese emperors. [Bug 1637471] Added a regression test
- for military time zone input conversion. [Bug 1586828]
- * generic/tclGetDate.y (MilitaryTable): Fixed an ancient bug where the
- military NZA time zones had the signs reversed. [Bug 1586828]
- * generic/tclDate.c: Regenerated.
- * doc/Notifier.3: Documented Tcl_SetNotifier and Tcl_ServiceModeHook.
- Quite against my better judgment. [Bug 414933]
- * generic/tclBasic.c, generic/tclCkalloc.c, generic/tclClock.c:
- * generic/tclCmdIL.c, generic/tclCmdMZ.c, generic/tclFCmd.c:
- * generic/tclFileName.c, generic/tclInterp.c, generic/tclIO.c:
- * generic/tclIOUtil.c, generic/tclNamesp.c, generic/tclObj.c:
- * generic/tclPathObj.c, generic/tclPipe.c, generic/tclPkg.c:
- * generic/tclResult.c, generic/tclTest.c, generic/tclTestObj.c:
- * generic/tclVar.c, unix/tclUnixChan.c, unix/tclUnixTest.c:
- * win/tclWinLoad.c, win/tclWinSerial.c: Replaced commas in varargs
- with string concatenation where possible. [Patch 1515234]
- * library/tzdata/America/Tegucigalpa:
- * library/tzdata/Asia/Damascus: Olson's tzdata 2007e.
-
-2007-04-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regcomp.c, generic/regc_cvec.c, generic/regc_lex.c,
- * generic/regc_locale.c: Improve the const-correctness of the RE
- compiler.
-
-2007-04-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_LSHIFT): fixed a mistake introduced in
- version 1.266 ('=' became '=='), which effectively turned the block
- that handles native shifts into dead code. This explains why the
- testsuite did not pick this mistake. Rewrote to make the intention
- clear.
-
- * generic/tclInt.h (TclDecrRefCount): change the order of the
- branches, use empty 'if ; else' to handle use in unbraced outer
- if/else conditions (as already done in tcl.h)
-
- * generic/tclExecute.c: slight changes in Tcl_Obj management.
-
-2007-04-17 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Fixed the naming of
- ::tcl::clock::ReadZoneinfoFile because (yoicks!) it was in the global
- namespace.
- * doc/clock.n: Clarified the cases in which legacy time zone is
- recognized. [Bug 1656002]
-
-2007-04-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fixed checkInterp logic [Bug 1702212]
-
-2007-04-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * various (including generic/tclTest.c): Complete the purge of K&R
- function definitions from manually-written code.
-
-2007-04-15 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompCmds.c: added a cast to silence a compiler error on
- VC2005.
- * library/clock.tcl: Restored unique-prefix matching of keywords on
- the [clock] command. [Bug 1690041]
- * tests/clock.test: Added rudimentary test cases for unique-prefix
- matching of keywords.
-
-2007-04-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: removed some code at INST_EXPAND_SKTOP that
- duplicates functionality already present at checkForCatch.
-
-2007-04-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: new macros OBJ_AT_TOS, OBJ_UNDER_TOS,
- OBJ_AT_DEPTH(n) and CURR_DEPTH that remove all direct references to
- tosPtr from TEBC (after initialisation and the code at the label
- cleanupV_pushObjResultPtr).
-
-2007-04-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c: moved all exceptDepth management to the
- macros - the decreasing half was managed by hand.
-
-2007-04-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclInt.h (TclNewLiteralStringObj): New macro to make
- allocating literal string objects (i.e. objects whose value is a
- constant string) easier and more efficient, by allowing the omission
- of the length argument. Based on [Patch 1529526] (afredd)
- * generic/*.c: Make use of this (in many files).
-
-2007-04-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile (tclInstructionTable): Fixed bugs in description
- of dict instructions.
-
-2007-04-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile (tclInstructionTable): Fixed bug in description
- of INST_START_COMMAND.
-
- * generic/tclExecute.c (TEBC): Small code reduction.
-
-2007-04-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC):
- * generic/tclNamespace.c (NsEnsembleImplementationCmd):
- * generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx)
- (TclObjInterpProcCore, ProcCompileProc): Code reordering to reduce
- branching and improve branch prediction (assume that forward branches
- are typically not taken).
-
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: INST_INVOKE optimisation. [Patch 1693802]
-
-2007-04-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoRead trace
- routines so they guarantee the ::errorCode and ::errorInfo variable
- always appear to exist. [Bug 1693252]
-
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.decls: Moved TclGetNamespaceFromObj() to the
- * generic/tclInt.h: internal stubs table; regen.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2007-04-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Added bytecode compilers for the variable
- * generic/tclCompCmds.c: linking commands: 'global', 'variable',
- * generic/tclCompile.h: 'upvar', 'namespace upvar' [Patch 1688593]
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclVar.c:
-
-2007-04-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Replace arrays on the C stack and ckalloc
- * generic/tclExecute.c: calls with TclStackAlloc calls to use memory
- * generic/tclFCmd.c: on Tcl's evaluation stack.
- * generic/tclFileName.c:
- * generic/tclIOCmd.c:
- * generic/tclIndexObj.c:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclTrace.c:
- * unix/tclUnixPipe.c:
-
-2007-04-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript, TclPrintInstruction):
- * generic/tclExecute.c (TclExecuteByteCode): Changed the definition of
- INST_START_CMD so that it knows how many commands start at the current
- location. This makes the interpreter command counter correct without
- requiring a large number of instructions to be issued. (See my change
- from 2007-01-19 for what triggered this.)
-
-2007-03-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c:
- * generic/tclCompExpr.c:
- * generic/tclCompCmds.c: Replace arrays on the C stack and
- ckalloc calls with TclStackAlloc calls to use memory on Tcl's
- evaluation stack.
-
- * generic/tclCmdMZ.c: Revised [string to* $s $first $last]
- implementation to reduce number of allocs/copies.
-
- * tests/string.test: More [string reverse] tests.
-
-2007-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: optimise the lookup of elements of indexed
- arrays.
-
-2007-03-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (Tcl_ApplyObjCmd):
- * tests/apply.test (9.3): Fixed Tcl_Obj leak on error return; an
- unneeded ref to lambdaPtr was being set and not released on an error
- return path.
-
-2007-03-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_REVERSE): Implement the actual [string
- reverse] command in terms of the new TclStringObjReverse() routine.
-
- * generic/tclInt.h (TclStringObjReverse): New internal routine
- * generic/tclStringObj.c (TclStringObjReverse): that implements the
- [string reverse] operation, making use of knowledge/surgery of the
- String intrep to minimize the number of allocs and copies needed to do
- the job.
-
-2007-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_MAP): Replace ckalloc calls with
- TclStackAlloc calls.
-
-2007-03-24 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * win/tclWinThrd.c: Thread exit handler marks the current thread as
- un-initialized. This allows exit handlers that are registered later to
- re-initialize this subsystem in case they need to use some sync
- primitives (cond variables) from this file again.
-
-2007-03-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (DeleteInterpProc): pop the root frame pointer
- before deleting the global namespace [Bug 1658572]
-
-2007-03-23 Kevin B. Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Added code to keep a Cygwin path name from leaking
- into LIBRARY_DIR when doing 'make test' or 'make runtest'.
-
-2007-03-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Replaced arrays on the
- C stack and ckalloc calls with TclStackAlloc calls to use memory on
- Tcl's evaluation stack.
-
- * generic/tclExecute.c: Revised GrowEvaluationStack to take an
- argument specifying the growth required by the caller, so that a
- single reallocation / copy is the most that will ever be needed even
- when required growth is large.
-
-2007-03-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: More ckalloc -> ckrealloc conversions.
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclParse.c:
- * generic/tclPreserve.c:
- * generic/tclStringObj.c:
- * generic/tclUtil.c:
-
-2007-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEnv.c: Some more ckalloc -> ckrealloc replacements.
- * generic/tclLink.c:
-
-2007-03-20 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Rebuilt, despite Donal Fellows's comment when
- committing it that no rebuild was required.
- * generic/tclGetDate.y: According to Donal Fellows, "Introduce modern
- formatting standards; no need for rebuild of tclDate.c."
-
- * library/tzdata/America/Cambridge_Bay:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Inuvik:
- * library/tzdata/America/Iqaluit:
- * library/tzdata/America/Pangnirtung:
- * library/tzdata/America/Rankin_Inlet:
- * library/tzdata/America/Resolute:
- * library/tzdata/America/Yellowknife:
- * library/tzdata/Asia/Choibalsan:
- * library/tzdata/Asia/Dili:
- * library/tzdata/Asia/Hovd:
- * library/tzdata/Asia/Jakarta:
- * library/tzdata/Asia/Jayapura:
- * library/tzdata/Asia/Makassar:
- * library/tzdata/Asia/Pontianak:
- * library/tzdata/Asia/Ulaanbaatar:
- * library/tzdata/Europe/Istanbul: Upgraded to Olson's tzdata2007d.
-
- * generic/tclListObj.c (TclLsetList, TclLsetFlat):
- * tests/lset.test: Changes to deal with shared internal representation
- for lists passed to the [lset] command. Thanks to Don Porter for
- fixing this issue. [Bug 1677512]
-
-2007-03-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Revise the various expansion routines for
- CompileEnv fields to use ckrealloc() where appropriate.
-
- * generic/tclBinary.c (Tcl_SetByteArrayLength): Replaced ckalloc() /
- memcpy() sequence with ckrealloc() call.
-
- * generic/tclBasic.c (Tcl_CreateMathFunc): Replaced some calls to
- * generic/tclEvent.c (Tcl_CreateThread): Tcl_Alloc() with calls
- * generic/tclObj.c (UpdateStringOfBignum): to ckalloc(), which
- * unix/tclUnixTime.c (SetTZIfNecessary): better supports memory
- * win/tclAppInit.c (setargv): debugging.
-
-2007-03-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/regsub.n: Corrected example so that it doesn't recommend
- potentially unsafe practice. Many thanks to Konstantin Kushnir
- <chpock@gmail.com> for reporting this.
-
-2007-03-17 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinReg.c (GetKeyNames): Size the buffer for enumerating key
- names correctly, so that Unicode names exceeding 127 chars can be
- retrieved without crashing. [Bug 1682211]
- * tests/registry.test (registry-4.9): Added test case for the above
- bug.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIOUtil.c (Tcl_Stat): Reimplement workaround to avoid gcc
- warning by using local variables. When the macro argument is of type
- long long instead of long, the incorrect warning is not generated.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/Makefile.in: Fully qualify LIBRARY_DIR so that `make test` does
- not depend on working dir.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/parse.test: Add two backslash newline parse tests.
-
-2007-03-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_FOREACH_STEP4): Make private copy of
- * tests/foreach.test (foreach-10.1): value list to be assigned to
- variables so that shimmering of that list doesn't lead to invalid
- pointers. [Bug 1671087]
-
- * generic/tclEvent.c (HandleBgErrors): Make efficient private copy
- * tests/event.test (event-5.3): of the command prefix for the interp's
- background error handling command to avoid panics due to pointers to
- memory invalid after shimmering. [Bug 1670155]
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make efficient
- * tests/namespace.test (namespace-42.8): private copy of the
- command prefix as we invoke the command appropriate to a particular
- subcommand of a particular ensemble to avoid panic due to shimmering
- of the List intrep. [Bug 1670091]
-
- * generic/tclVar.c (TclArraySet): Make efficient private copy of
- * tests/var.test (var-17.1): the "list" argument to [array set] to
- avoid crash due to shimmering invalidating pointers. [Bug 1669489]
-
-2007-03-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix problems with declaration
- positioning and memory leaks. [Bug 1679072]
-
-2007-03-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Ensure that a list is
- correctly reversed even if its internal representation is shared
- without the object itself being shared. [Bug 1675044]
-
-2007-03-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL (Tcl_LsortObjCmd): changed fix to [Bug 1675116] to
- use the cheaper TclListObjCopy() instead of Tcl_DuplicateObj().
-
-2007-03-09 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/shell.tcl: Made more robust if an older platform
- * library/platform/pkgIndex.tcl: package is present in the inspected
- * unix/Makefile.in: shell. Package forget it to prevent errors. Bumped
- * win/Makefile.in: package version to 1.1.3, and updated the Makefiles
- installing it as Tcl Module.
-
-2007-03-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Handle tricky case with loss
- * tests/cmdIL.test (cmdIL-1.29): of list rep during sorting due
- to shimmering. [Bug 1675116]
-
-2007-03-09 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (ReadZoneinfoFile): Added Y2038 compliance to the
- code for version-2 'zoneinfo' files.
- * tests/clock.test (clock-56.3): Added a test case for Y2038 and
- 'zoneinfo'. Modified test initialisation to use the
- 'loadTestedCommands' function of tcltest to bring in the correct path
- for the registry library.
-
-2007-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c (TclLsetList): Rewrite so that the routine
- itself does not do any direct intrep surgery. Better isolates those
- things into the implementation of the "list" Tcl_ObjType.
-
-2007-03-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclListObj.c (TclLindexList, TclLindexFlat): Moved these
- functions to tclListObj.c from tclCmdIL.c to mirror the way that the
- equivalent functions for [lset]'s guts are arranged.
-
-2007-03-08 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Further tweaks to the Windows time zone table
- (restoring missing Mexican time zones). Added rudimentary handling of
- version-2 'zoneinfo' files. Update US DST rules so that zones such as
- 'EST5EDT' get the correct transition dates.
- * tests/clock.test: Added rudimentary test cases for 'zoneinfo'
- parsing. Adjusted several tests that depended on obsolete US DST
- transition rules.
-
-2007-03-07 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: ensure gcc version used by
- * macosx/Tcl.xcodeproj/default.pbxuser: Xcode and configure/make are
- * macosx/Tcl-Common.xcconfig: consistent and independent of
- gcc_select default and CC env var; fixes for Xcode 3.0.
-
- * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check
- * unix/configure: autoconf-2.59
-
-2007-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (TclLindex*): Rewrites to make efficient
- private copies of the list and indexlist arguments, so we can operate
- on the list elements directly with no fear of shimmering effects.
- Replaces defensive coding schemes that are otherwise required. End
- result is that TclLindexList is entirely a wrapper around
- TclLindexFlat, which is now the core engine of all [lindex]
- operations.
-
- * generic/tclObj.c (Tcl_AppendAllObjTypes): Converted to simpler
- list validity test.
-
-2007-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclRegexp.c (TclRegAbout): Generate information about a
- regexp as a Tcl_Obj instead of as a string, which is more efficient.
-
-2007-03-07 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Adjusted Windows time zone table to handle new US
- DST rules by locale rather than as Posix time zone spec.
- * tests/clock.test (clock-39.6, clock-49.2, testclock::registry):
- Adjusted tests to simulate new US rules.
- * library/tzdata/America/Indiana/Winamac:
- * library/tzdata/Europe/Istanbul:
- * library/tzdata/Pacific/Easter:
- Olson's tzdata2007c.
-
-2007-03-05 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/shell.tcl (::platform::shell::RUN): In the case of
- * library/platform/pkgIndex.tcl: a failure put the captured stderr
- * unix/Makefile.in: into the error message to aid in debugging. Bumped
- * win/Makefile.in: package version to 1.1.2, and updated the makefiles
- installing it as Tcl Module.
-
-2007-03-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclLink.c (LinkedVar): Added macro to conceal at least some
- of the pointer hackery.
-
-2007-03-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Added missing
- TclInvalidateStringRep() call when we directly manipulate the intrep
- of an unshared "list" Tcl_Obj. [Bug 1672585]
-
- * generic/tclCmdIL.c (Tcl_JoinObjCmd): Revised [join] implementation
- to append Tcl_Obj's instead of strings. [RFE 1669420]
-
- * generic/tclCmdIL.c (Info*Cmd): Code simplifications and
- optimizations.
-
-2007-03-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompile.c (TclPrintInstruction): Added a scheme to allow
- * generic/tclCompile.h (AuxDataPrintProc): aux-data to be printed
- * generic/tclCompCmds.c (Print*Info): out for debugging. For
- this to work, immediate operands referring to aux-data must be
- identified as such in the instruction descriptor table using
- OPERAND_AUX4 (all are always 4 bytes).
-
- * generic/tclExecute.c (TclExecuteByteCode): Rewrote the compiled
- * generic/tclCompCmds.c (TclCompileDictCmd): [dict update] so that it
- * generic/tclCompile.h (DictUpdateInfo): stores critical
- * tests/dict.test (dict-21.{14,15}): non-varying data in an
- aux-data value instead of a (shimmerable) literal. [Bug 1671001]
-
-2007-03-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (Tcl_LinsertObjCmd): Code simplifications
- and optimizations.
-
- * generic/tclCmdIL.c (Tcl_LreplaceObjCmd): Code simplifications
- and optimizations.
-
- * generic/tclCmdIL.c (Tcl_LrangeObjCmd): Rewrite in the same
- spirit; avoid shimmer effects rather than react to them.
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stop throwing away
- * tests/foreach.test (foreach-1.14): useful error information when
- loop variable sets fail.
-
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Rewrite to make an
- efficient private copy of the list argument, so we can operate on the
- list elements directly with no fear of shimmering effects. Replaces
- defensive coding schemes that are otherwise required.
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Rewrite to make
- efficient private copies of the variable and value lists, so we can
- operate on them without any special shimmer defense coding schemes.
-
-2007-03-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileForeachCmd): Prevent an unexpected
- * tests/foreach.test (foreach-9.1): infinite loop when the
- variable list is empty and the foreach is compiled. [Bug 1671138]
-
-2007-02-26 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (FreeReflectedChannel): Added the missing
- refcount release between NewRC and FreeRC for the channel handle
- object, spotted by Don Porter. [Bug 1667990]
-
-2007-02-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Removed surplus
- copying of the objv array that used to be a workaround for [Bug
- 404865]. That bug is long fixed.
-
-2007-02-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Use new interface in Tcl_EvalObjEx so that the
- recounting logic of the List internal rep need not be repeated there.
- Better encapsulation of internal details.
-
- * generic/tclInt.h: New internal routine TclListObjCopy() used
- * generic/tclListObj.c: to efficiently do the equivalent of [lrange
- $list 0 end]. After some experience with this, might be a good
- candidate for exposure as a public interface. It's useful for callers
- of Tcl_ListObjGetElements() who want to control the ongoing validity
- of the returned objv pointer.
-
-2007-02-22 Andreas Kupries <andreask@activestate.com>
-
- * tests/pkg.test: Added tests for the case of an alpha package
- satisfying a require for the regular package, demonstrating a corner
- case specified in TIP#280. More notes in the comments to the test.
-
-2007-02-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Added "const" specifiers in TclSockGetPort
- * generic/tclIntDecls.h: regenerated
- * generic/*.c:
- * unix/tclUnixChan.c
- * unix/tclUnixPipe.c
- * win/tclWinPipe.c
- * win/tclWinSock.c: Added many "const" specifiers in implementation.
-
-2007-02-20 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Typo fix. [Bug 1663539]
-
-2007-02-20 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclFileName.c: Handle extended paths on Windows NT and
- * generic/tclPathObj.c: above. These have a \\?\ prefix. [Bug
- * win/tclWinFile.c: 1479814]
- * tests/winFCmd.test: Tests for extended path handling.
-
-2007-02-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
- * unix/configure: autoconf-2.59
-
- * generic/tclIOUtil.c (Tcl_FSEvalFileEx): safe incr of objPtr ref.
-
-2007-02-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n, doc/clock.n, doc/eval.n, doc/exit.n, doc/expr.n:
- * doc/interp.n, doc/open.n, doc/platform_shell.n, doc/pwd.n:
- * doc/refchan.n, doc/regsub.n, doc/scan.n, doc/tclvars.n, doc/tm.n:
- * doc/unload.n: Apply [Bug 1610310] to fix typos. Thanks to Larry
- Virden for spotting them.
-
- * doc/interp.n: Partial fix of [Bug 1662436]; rest requires some
- policy decisions on what should and shouldn't be safe commands from
- the "new in 8.5" set.
-
-2007-02-13 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/fix_tommath_h.tcl: Further tweaking for the x86-64. The change
- is to make 'mp_digit' be an 'unsigned int' on that platform; since
- we're using only 32 bits of it, there's no reason to make it a 64-bit
- 'unsigned long.'
- * generic/tclTomMath.h: Regenerated.
-
-2007-02-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/re_syntax.n: Corrected description of 'print' class [Bug
- 1614687] and enhanced description of 'graph' class.
-
-2007-02-12 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/fix_tommath_h.tcl: Added code to patch out a check for
- __x86_64__ that caused Tommath to use __attributes(TI)__ for the
- mp_word type. Tetra-int's simply fail on too many gcc-glibc-OS
- combinations to be ready for shipment today, even if they work for
- some of us. This change allows reversion of das's change of 2006-08-18
- that accomplised the same thing on Darwin. [Bugs 1601380, 1603737,
- 1609936, 1656265]
- * generic/tclTomMath.h: Regenerated.
- * library/tzdata/Africa/Asmara:
- * library/tzdata/Africa/Asmera:
- * library/tzdata/America/Nassau:
- * library/tzdata/Atlantic/Faeroe:
- * library/tzdata/Atlantic/Faroe:
- * library/tzdata/Australia/Eucla:
- * library/tzdata/Pacific/Easter: Rebuilt from Olson's tzdata2007b.
-
-2007-02-09 Joe Mistachkin <joe@mistachkin.com>
-
- * win/nmakehlp.c: Properly cleanup after nmakehlp, including the
- * win/makefile.vc: vcX0.pch file.
-
-2007-02-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixInit.c (TclpCheckStackSpace): do stack size checks with
- unsigned size_t to correctly validate stackSize in the 2^31+ range.
- [Bug 1654104]
-
-2007-02-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: Corrected broken logic in Tcl_DeleteNamespace
- * tests/namespace.test: introduced in Patch 1577278 that caused
- [namespace delete ::] to be effective only at level #0. New test
- namespace-7.7 should prevent similar error in the future [Bug 1655305]
-
-2007-02-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: Corrected broken implementation of the
- * tests/namespace.test: TclMatchIsTrivial optimization on [namespace
- children $namespace $pattern].
-
-2007-02-04 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: use gcc4's __attribute__((__visibility__("hidden"))) if
- available to define MODULE_SCOPE effective on all platforms.
- * unix/configure.in: add caching to -pipe and zoneinfo checks.
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-02-03 Joe Mistachkin <joe@mistachkin.com>
-
- * win/rules.vc: Fix platform specific file copy macros for downlevel
- Windows.
-
-2007-01-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c: Added optimization case to TclTransferResult to
- cover common case where there's big savings over the fully general
- path. Thanks to Peter MacDonald. [Bug 1626518]
-
- * generic/tclLink.c: Broken linked float logic corrected. Thanks to
- Andy Goth. [Bug 1602538]
-
- * doc/fcopy.n: Typo fix. [Bug 1630627]
-
-2007-01-28 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: extract build settings that
- * macosx/Tcl.xcodeproj/default.pbxuser: were common to multiple
- * macosx/Tcl-Common.xcconfig (new file): configurations into external
- * macosx/Tcl-Debug.xcconfig (new file): xcconfig files; add extra
- * macosx/Tcl-Release.xcconfig (new file): configurations for building
- with SDKs and 64bit; convert legacy jam-based 'Tcl' target to native
- target with single script phase; correct syntax of build setting
- references to use $() throughout.
-
- * macosx/README: document new Tcl.xcodeproj configurations; other
- minor updates/corrections.
-
- * generic/tcl.h: update location of version numbers in macosx files.
-
- * macosx/Tcl.xcode/project.pbxproj: restore 'tcltest' target to
- * macosx/Tcl.xcode/default.pbxuser: working order by replicating
- applicable changes to Tcl.xcodeproj since 2006-07-20.
-
-2007-01-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and
- move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS
- to avoid errors about multiple -isysroot flags from some older gcc
- builds.
-
- * unix/configure: autoconf-2.59
-
-2007-01-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * compat/memcmp.c (memcmp): Reworked so that arithmetic is never
- performed upon void pointers, since that is illegal. [Bug 1631017]
-
-2007-01-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Reduce the frequency with
- which we issue INST_START_CMD, making bytecode both more compact and
- somewhat faster. The optimized case is where we would otherwise be
- issuing a sequence of those instructions; in those cases, it is only
- ever the first one encountered that could possibly trigger.
-
-2007-01-19 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2tcl.c: Include stdlib.h for exit() and improve comment
- detection.
- * win/nmakehlp.c: Update usage.
- * win/makefile.vc: Properly build man2tcl.c for MSVC8.
-
-2007-01-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXFCmd.c (TclMacOSXSetFileAttribute): on some versions
- of Mac OS X, truncate() fails on resource forks, in that case use
- open() with O_TRUNC instead.
-
- * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of
- OSSpinLock(Un)Lock API.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: ensure HOME and USER env vars
- * macosx/Tcl.xcodeproj/default.pbxuser: are defined when running
- testsuite from Xcode.
-
- * tests/env.test: add extra system env vars that need to be preserved
- on some Mac OS X versions for testsuite to work.
-
- * unix/Makefile.in: Move libtommath defines into configure.in to
- * unix/configure.in: avoid replicating them across multiple
- * macosx/Tcl.xcodeproj/project.pbxproj: buildsystems.
-
- * unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861]
- (Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS
- when present in CFLAGS to avoid discrepancies between what headers
- configure sees during preprocessing tests and compiling tests.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-01-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Make sure that when parsing
- an expanded literal fails, a correct bytecode sequence is still
- issued. [Bug 1638414]. Also make sure that the start of the expansion
- bytecode sequence falls inside the span of bytecodes for a command.
- * tests/compile.test (compile-16.24): Added test for [Bug 1638414]
-
-2007-01-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c: Added macros to make usage of ChannelBuffers
- clearer.
-
-2007-01-11 Joe English <jenglish@users.sourceforge.net>
-
- * win/tcl.m4(CFLAGS_WARNING): Remove "-Wconversion". This was removed
- from unix/tcl.m4 2004-07-16 but not from here.
- * win/configure: Regenerated.
-
-2007-01-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Fixes to work better on Win98. Read version numbers
- * win/nmakehlp.c: from package index file to avoid keeping numbers in
- * win/rules.vc: the makefile where they may become de-synchronized.
-
-2007-01-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regcomp.c (compile, freev): Define a strategy for
- * generic/regexec.c (exec): managing the internal
- * generic/regguts.h (AllocVars, FreeVars): vars of the RE engine to
- * generic/regcustom.h (AllocVars, FreeVars): reduce C stack usage.
- This will make Tcl as a whole much less likely to run out of stack
- space...
-
-2007-01-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileLindexCmd):
- * tests/lindex.test (lindex-9.2): Fix silly bug that ended up
- sometimes compiling list arguments in the wrong order. [Bug 1631364]
-
-2007-01-03 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Regenerated to recover a lost fix from patthoyts.
- [Bug 1618523]
-
-2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_GetsObj): Avoid checking for for the LF in a
- possible CRLF sequence when EOF has already been found.
-
-2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclEncoding.c (EscapeFromUtfProc): Clear the
- TCL_ENCODING_END flag when end bytes are written. This fix keep this
- method from writing escape bytes for an encoding like iso2022-jp
- multiple times when the escape byte overlap with the end of the IO
- buffer.
- * tests/io.test: Add test for escape byte overlap issue.
-
-2006-12-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixThrd.c (Tcl_GetAllocMutex, TclpNewAllocMutex): Add
- intermediate variables to shut up unwanted warnings. [Bug 1618838]
-
-2006-12-19 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.
-
- * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit
- -arch flag succeeds before enabling 64bit build.
- * unix/configure: autoconf-2.59
-
-2006-12-17 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/macOSXLoad.test (new file): add testing of .bundle loading and
- * tests/load.test: unloading on Darwin (in addition
- * tests/unload.test: to existing tests of .dylib
- loading).
- * macosx/Tcl.xcodeproj/project.pbxproj: add building of dltest
- binaries so that testsuite run from Xcode can use them; fix testsuite
- run script
- * unix/configure.in: add support for building dltest binaries as
- * unix/dltest/Makefile.in: .bundle (in addition to .dylib) on Darwin.
- * unix/Makefile.in: add stub lib dependency to dltest target.
- * unix/configure: autoconf-2.59
-
- * tests/append.test: fix cleanup failure when all tests are skipped.
-
- * tests/chan.test (chan-16.9): cleanup chan event handler to avoid
- causing error in event.test when running testsuite with -singleproc 1.
-
- * tests/info.test: add !singleTestInterp constraint to tests that fail
- when running testsuite with -singleproc 1. [Bug 1605269]
-
-2006-12-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/string.n: Fix example. [Bug 1615277]
-
-2006-12-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Now that the new internal structs are
- in use to support operator commands, might as well make them the
- default for [expr] as well and avoid passing every parsed expression
- through the inefficient Tcl_Token array format. This addresses most
- issues in [RFE 1517602]. Assuming no performance disasters result from
- this, much dead code supporting the other implementation might now be
- removed.
-
- * generic/tclBasic.c: Final step routing all direct evaluation forms
- * generic/tclCompExpr.c: of the operator commands through TEBC,
- * generic/tclCompile.h: dropping all the routines in tclMathOp.c.
- * generic/tclMathOp.c: Still needs Engineering Manual attention.
-
-2006-12-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Another step with all sorting operator
- * generic/tclCompExpr.c: commands now routing through TEBC via
- * generic/tclCompile.h: TclSortingOpCmd().
-
-2006-12-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Another step down the path of re-using
- * generic/tclCompExpr.c: TclExecuteByteCode to implement the TIP 174
- * generic/tclCompile.h: commands instead of using a mass of code
- * generic/tclMathOp.c: duplication. Now all operator commands that
- * tests/mathop.test: demand exactly one operation are implemented
- via TclSingleOpCmd and a call to TEBC.
-
- * generic/tclCompExpr.c: Revised implementation of TclInvertOpCmd to
- * generic/tclMathOp.c: perform a bytecode compile / execute sequence.
- This demonstrates a path toward avoiding mountains of code duplication
- in tclMathOp.c and tclExecute.c.
-
- * generic/tclCompile.h: Change TclExecuteByteCode() from static to
- * generic/tclExecute.c: MODULE_SCOPE so all files including
- tclCompile.h may call it.
-
- * generic/tclMathOp.c: More revisions to make tests pass.
- * tests/mathop.test:
-
-2006-12-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclNamesp.c (TclTeardownNamespace): Ensure that dying
- namespaces unstitch themselves from their referents. [Bug 1571056]
- (NsEnsembleImplementationCmd): Silence GCC warning.
-
- * tests/mathop.test: Full tests for & | and ^ operators
-
-2006-12-08 Daniel Steffen <das@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: use [info frame] for "-verbose line".
-
-2006-12-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Additional commits correct most
- * generic/tclExecute.c: failing tests illustrating bugs
- * generic/tclMathOp.c: uncovered in [Patch 1578137].
-
- * generic/tclBasic.c: Biggest source of TIP 174 failures was that
- the commands were not [namespace export]ed from the ::tcl::mathop
- namespace. More bits from [Patch 1578137] correct that.
-
- * tests/mathop.test: Commmitted several new tests from Peter Spjuth
- found in [Patch 1578137]. Many failures now demonstrate issues to fix
- in the TIP 174 implementation.
-
-2006-12-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/mathop.test: Added tests for ! ~ eq operators.
- * generic/tclMathOp.c (TclInvertOpCmd): Add in check for non-integral
- numeric values.
- * generic/tclCompCmds.c (CompileCompareOpCmd): Factor out the code
- generation for the chained comparison operators.
-
-2006-12-07 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/exec.test: Fixed line endings (caused win32 problems).
-
-2006-12-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Revised and consolidated into utility
- * tests/mathop.test: routines some of routines that compile
- the new TIP 174 commands. This corrects some known bugs. More to come.
-
-2006-12-06 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/expr.test (expr-47.12): Improved error reporting in hopes of
- having more information to pursue [Bug 1609936].
-
-2006-12-05 Andreas Kupries <andreask@activestate.com>
-
- TIP#291 IMPLEMENTATION
-
- * generic/tclBasic.c: Define tcl_platform element for pointerSize.
- * doc/tclvars.n:
-
- * win/Makefile.in: Added installation instructions for the platform
- * win/makefile.vc: package. Added the platform package.
- * win/makefile.bc:
- * unix/Makefile.in:
-
- * tests/platform.test:
- * tests/safe.test:
-
- * library/platform/platform.tcl:
- * library/platform/shell.tcl:
- * library/platform/pkgIndex.tcl:
-
- * doc/platform.n:
- * doc/platform_shell.n:
-
-2006-12-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c: When no requirements are supplied to a
- * tests/pkg.test: [package require $pkg] and [package unknown]
- is invoked to find a satisfying package, pass the requirement argument
- "0-" (which means all versions are acceptable). This permits a
- registered [package unknown] command to call [package vsatisfies
- $testVersion {*}$args] without any special handling of the empty $args
- case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was
- causing old TM versions to be provided in preference to newer TM
- versions. Thanks to Julian Noble for discovering the issue.
-
-2006-12-04 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#267 IMPLEMENTATION
-
- * generic/tclIOCmd.c (Tcl_ExecObjCmd): Added -ignorestderr option,
- * tests/exec.test, doc/exec.n: loosely from [Patch 1476191]
-
-2006-12-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added implementation for the
- CompileExprTree() routine that can produce expression bytecode
- directly from internal structures with no need to pass through the
- Tcl_Token array representation. Still disabled by default. #undef
- USE_EXPR_TOKENS to try it out.
-
-2006-12-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added expr parsing routines that
- produce a different set of internal structures representing the parsed
- expression, as well as routines that go on to convert those structures
- into the traditional Tcl_Token array format. Use of these routines is
- currently disabled. #undef PARSE_DIRECT_EXPR_TOKENS to enable them.
- These routines will only become really useful when more routines that
- compile directly from the new internal structures are completed.
-
-2006-12-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n: Clarification of [file pathtype] docs. [Bug 1606454]
-
-2006-12-01 Kevin B. Kenny <kennykb@acm.org>
-
- * libtommath/bn_mp_add.c: Corrected the effects of a
- * libtommath/bn_mp_div.c: bollixed 'cvs merge' operation
- * libtommath/bncore.c: that inadvertently committed some
- * libtommath/tommath_class.h: half-developed code.
-
- TIP#299 IMPLEMENTATION
-
- * doc/mathfunc.n: Added isqrt() function to docs
- * generic/tclBasic.c: Added isqrt() math function (ExprIsqrtFunc)
- * tests/expr.test (expr-47.*): Added tests for isqrt()
- * tests/info.test (info-20.2): Added isqrt() to expected math funcs.
-
-2006-12-01 Don Porter <dgp@users.sourceforge.net>
-
- * tests/chan.test: Correct timing sensitivity in new test. [Bug
- 1606860]
-
- TIP#287 IMPLEMENTATION
-
- * doc/chan.n: New subcommand [chan pending].
- * generic/tclBasic.c: Thanks to Michael Cleverly for proposal
- * generic/tclInt.h: and implementation.
- * generic/tclIOCmd.c:
- * library/init.tcl:
- * tests/chan.test:
- * tests/ioCmd.test:
-
- TIP#298 IMPLEMENTATION
-
- * generic/tcl.decls: Tcl_GetBignumAndClearObj -> Tcl_TakeBignumFromObj
- * generic/tclObj.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclExecute.c: Update callers.
- * generic/tclMathOp.c:
-
-2006-11-30 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata: Olson's tzdata2006p.
- * libtommath/bn_mp_sqrt.c: Fixed a bug where the initial approximation
- to the square root could be on the wrong side, causing failure of
- convergence.
-
-2006-11-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Added
- Tcl_DecrRefCount() on the objPtr argument to plug memory leaks. This
- makes the routine a consumer, which makes it easiest to use.
-
-2006-11-28 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: TIP #280 implementation.
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * tests/compile.test:
- * tests/info.test:
- * tests/platform.test:
- * tests/safe.test:
-
-2006-11-27 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclUnixChan.c (TclUnixWaitForFile):
- * tests/event.test (event-14.*): Corrected a bug where
- TclUnixWaitForFile would present select() with the wrong mask on an
- LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine
- for reporting and diagnosing. [Bug 1602208]
-
-2006-11-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (TclIncrObj): Correct failure to detect
- floating-point increment values. Thanks to William Coleda [Bug
- 1602991]
-
-2006-11-26 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/mathop.test, doc/mathop.n: More bits and pieces of the TIP#174
- implementation. Note that the test suite is not yet complete.
-
-2006-11-26 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389]
- * unix/configure: autoconf-2.59 [Bug 1230558]
-
-2006-11-25 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#174 IMPLEMENTATION
-
- * generic/tclMathOp.c (new file): Completed the implementation of the
- interpreted versions of all the tcl::mathop commands. Moved to a new
- file to make tclCompCmds.c more focused in purpose.
-
-2006-11-23 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (Tcl*OpCmd, TclCompile*OpCmd):
- * generic/tclBasic.c (Tcl_CreateInterp): Partial implementation of
- TIP#174; the commands are compiled, but (mostly) not interpreted yet.
-
-2006-11-22 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#269 IMPLEMENTATION
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the [string
- * tests/string.test (string-25.*): is list] command, based on
- * doc/string.n: work by Joe Mistachkin, with
- enhancements by Donal Fellows for better failindex behaviour.
-
-2006-11-22 Don Porter <dgp@users.sourceforge.net>
-
- * tools/genWinImage.tcl (removed): Removed two files used in
- * win/README.binary (removed): production of binary distributions
- for Windows, a task we no longer perform. [Bug 1476980]
- * generic/tcl.h: Remove mention of win/README.binary in comment
-
- * generic/tcl.h: Moved TCL_REG_BOSONLY #define from tcl.h to
- * generic/tclInt.h: tclInt.h. Only know user is Expect, which
- already #include's tclInt.h. No need to continue greater exposure.
- [Bug 926500]
-
-2006-11-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (Tcl_CreateInterp, TclHideUnsafeCommands):
- * library/init.tcl: Refactored the [chan] command's guts so that it
- does not use aliases to global commands, making the code more robust.
-
-2006-11-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_EXPON): Corrected crash on
- [expr 2**(1<<63)]. Was operating on cleared bignum Tcl_Obj.
-
-2006-11-16 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/apply.n, doc/chan.n: Added examples.
-
-2006-11-15 Don Porter <dgp@users.sourceforge.net>
-
- TIP#270 IMPLEMENTATION
-
- * generic/tcl.decls: New public routines Tcl_ObjPrintf,
- * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format,
- * generic/tclInt.h: Tcl_AppendLimitedToObj,
- Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal
- versions removed.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclBasic.c: Updated callers.
- * generic/tclCkalloc.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * generic/tclIORChan.c:
- * generic/tclIOUtil.c:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
- * generic/tclStrToD.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
- * tools/genStubs.tcl: Updated script to no longer produce the
- _ANSI_ARGS_ wrapper in generated declarations. Also revised to accept
- variadic prototypes with more than one fixed argument. (This is
- possible since TCL_VARARGS and its limitations are no longer in use).
- * generic/tcl.h: Some reordering so that macro definitions do
- not interfere with the now _ANSI_ARGS_-less stub declarations.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclTomMathDecls.h:
-
-2006-11-15 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/ChnlStack.3, doc/CrtObjCmd.3, doc/GetIndex.3, doc/OpenTcp.3:
- * doc/chan.n, doc/fconfigure.n, doc/fcopy.n, doc/foreach.n:
- * doc/history.n, doc/http.n, doc/library.n, doc/lindex.n:
- * doc/lrepeat.n, doc/lreverse.n, doc/pkgMkIndex.n, doc/re_syntax.n:
- Convert \fP to \fR so that man-page scrapers have an easier time.
-
-2006-11-14 Don Porter <dgp@users.sourceforge.net>
-
- TIP#261 IMPLEMENTATION
-
- * generic/tclNamesp.c: [namespace import] with 0 arguments
- introspects the list of imported commands.
-
-2006-11-13 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclThreadStorage.c (Tcl_InitThreadStorage):
- (Tcl_FinalizeThreadStorage): Silence a compiler warning about
- presenting a volatile pointer to 'memset'.
-
-2006-11-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: When [gets] on a binary channel needs to use
- the "iso8859-1" encoding, save a copy of that encoding per-thread to
- avoid repeated freeing and re-loading of it from the file system. This
- replaces the cached copy of this encoding that the platform
- initialization code used to keep in pre-8.5 releases.
-
-2006-11-13 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Fix gcc warnings about 'cast to/from
- * generic/tclEncoding.c: pointer from/to integer of different
- * generic/tclEvent.c: size' on 64-bit platforms by casting
- * generic/tclExecute.c: to intermediate types
- * generic/tclHash.c: intptr_t/uintptr_t via new PTR2INT(),
- * generic/tclIO.c: INT2PTR(), PTR2UINT() and UINT2PTR()
- * generic/tclInt.h: macros. [Patch 1592791]
- * generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclThreadStorage.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/configure.in:
- * unix/tclUnixChan.c:
- * unix/tclUnixPipe.c:
- * unix/tclUnixPort.h:
- * unix/tclUnixTest.c:
- * unix/tclUnixThrd.c:
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-11-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h, generic/tclInt.decls: Transfer TclPtrMakeUpvar and
- TclObjLookupVar to the internal stubs table.
-
-2006-11-10 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/fCmd.test (fCmd-6.26): fix failure when env(HOME) path
- contains symlinks.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: remove tclParseExpr.c; when
- running testsuite from inside Xcdoe, skip stack-3.1 (it only fails
- under those circumstances).
-
- * unix/tcl.m4 (Darwin): suppress linker arch warnings when building
- universal for both 32 & 64 bit and no 64bit CoreFoundation is
- available; sync with tk tcl.m4 change.
- * unix/configure.in: whitespace.
- * unix/configure: autoconf-2.59
-
-2006-11-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c (removed): Moved all the code of
- * generic/tclCompExpr.c: tclParseExpr.c into tclCompExpr.c.
- * unix/Makefile.in: This sets the stage for expr compiling to work
- * win/Makefile.in: directly with the full parse tree structures,
- * win/makefile.bc: and not have to pass through the information
- * win/makefile.vc: lossy format of an array of Tcl_Tokens.
- * win/tcl.dsp:
-
-2006-11-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- TIP#272 IMPLEMENTATION
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the
- * tests/string.test, tests/stringComp.test: [string reverse] command
- * doc/string.n: from TIP#272.
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Implementation of the
- * generic/tclBasic.c, generic/tclInt.h: [lreverse] command from
- * tests/cmdIL.test (cmdIL-7.*): TIP#272.
- * doc/lreverse.n:
-
-2006-11-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c, generic/tclPkg.c: Style & clarity rewrites.
-
-2006-11-07 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a
- hardwired default block size should the filesystem report a bogus
- value. [Bug 1586470]
-
-2006-11-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Changed Tcl_ObjPrintf() response to an
- invalid format specifier string. No longer panics; now produces an
- error message as output.
-
- TIP#274 IMPLEMENTATION
-
- * generic/tclParseExpr.c: Exponentiation operator is now right
- * tests/expr.test: associative. [Patch 1556802]
-
-2006-11-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOVI): fix por possible leak of a Command in
- the presence of execution traces that delete it.
-
- * generic/tclBasic.c (TEOVI):
- * tests/trace.test (trace-21.11): fix for [Bug 1590232], execution
- traces may cause a second command resolution in the wrong namespace.
-
-2006-11-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/event.test (event-11.5): Rewrote tests to stop Tcl from
- * tests/io.test (multiple tests): opening sockets that are
- * tests/ioCmd.test (iocmd-15.1,16,17): reachable from outside hosts
- * tests/iogt.test (__echo_srv__.tcl): where not necessary. This is
- * tests/socket.test (multiple tests): noticably annoying on some
- * tests/unixInit.test (unixInit-1.2): systems (e.g., Windows).
-
-2006-11-02 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: check autoconf/autoheader exit
- status and stop build if they fail.
-
-2006-11-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/ParseCmd.3, doc/Tcl.n, doc/eval.n, doc/exec.n:
- * doc/fconfigure.n, doc/interp.n, doc/unknown.n:
- * library/auto.tcl, library/init.tcl, library/package.tcl:
- * library/safe.tcl, library/tm.tcl, library/msgcat/msgcat.tcl:
- * tests/all.tcl, tests/basic.test, tests/cmdInfo.test:
- * tests/compile.test, tests/encoding.test, tests/execute.test:
- * tests/fCmd.test, tests/http.test, tests/init.test:
- * tests/interp.test, tests/io.test, tests/ioUtil.test:
- * tests/iogt.test, tests/namespace-old.test, tests/namespace.test:
- * tests/parse.test, tests/pkg.test, tests/pkgMkIndex.test:
- * tests/proc.test, tests/reg.test, tests/trace.test:
- * tests/upvar.test, tests/winConsole.test, tests/winFCmd.test:
- * tools/tclZIC.tcl:
- * generic/tclParse.c (Tcl_ParseCommand): Replace {expand} with {*}
- officially (TIP #293). Leave -DALLOW_EXPAND=0|1 option to keep
- {expand} syntax for transition users. [Bug 1589629]
-
-2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclBasic.c, generic/tclInterp.c, generic/tclProc.c: Silence
- warnings from gcc over signed/unsigned and TclStackAlloc().
- * generic/tclCmdMZ.c: Update to more compact and clearer coding style.
-
-2006-11-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c: Further revisions to produce the routines
- * generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that
- * generic/tclNamesp.c: accept (objc, objv) arguments rather than
- * generic/tclStringObj.c: any varargs stuff.
-
- * generic/tclBasic.c: Further revised TclAppendPrintToObj() and
- * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable
- * generic/tclCmdAH.c: to complete their formatting operations,
- * generic/tclCmdIL.c: rather than report an error message. This
- * generic/tclCmdMZ.c: means an interp argument for error message
- * generic/tclDictObj.c: recording is no longer needed, further
- * generic/tclExecute.c: simplifying the interface for callers.
- * generic/tclIORChan.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclParseExpr.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
- * generic/tclStringObj.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
-2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/winPipe.test (winpipe-4.[2345]): Made robust when run in
- directory with spaces in its name.
-
- * generic/tclCmdAH.c: Clean up uses of cast NULLs.
-
- * generic/tclInterp.c (AliasObjCmd): Added more explanatory comments.
-
- * generic/tclBasic.c (TclEvalObjvInternal): Rewrote so that comments
- are relevant and informative once more. Also made the unknown handler
- processing use the Tcl execution stack for working space, and not the
- general heap.
-
-2006-11-01 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixPort.h: ensure MODULE_SCOPE is defined before use, so
- that tclPort.h can once again be included without tclInt.h.
-
- * generic/tclEnv.c (Darwin): mark _environ symbol as unexported even
- when MODULE_SCOPE != __private_extern__.
-
-2006-10-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Refactored and renamed the routines
- * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and
- * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of routines
- * generic/tclCmdIL.c: TclAppendPrintfToObj, TclAppendFormatToObj,
- * generic/tclCmdMZ.c: TclObjPrintf, and TclObjFormat, with the
- * generic/tclDictObj.c: intent of making the latter list, plus
- * generic/tclExecute.c: TclAppendLimitedToObj and
- * generic/tclIORChan.c: TclAppendObjToErrorInfo, public via a revised
- * generic/tclIOUtil.c: TIP 270.
- * generic/tclInt.h:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclParseExpr.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
- * generic/tclStringObj.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
-2006-10-31 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c, generic/tcl.h, generic/tclInterp.c:
- * generic/tclNamesp.c: removing the flag bit TCL_EVAL_NOREWRITE, the
- last remnant of the callObjc/v fiasco. It is not needed, as it is now
- always set and checked or'ed with TCL_EVAL_INVOKE.
-
-2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: Fix for [Bug 1582769] - options conflict with VC2003.
-
-2006-10-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c, generic/tclNamesp.c, generic/tclProc.c:
- * generic/tclInt.h: Removed the callObjc and callObjv fields from the
- Interp structure. They did not function correctly and made other parts
- of the core amazingly complex, resulting in a substantive change to
- [info level] behaviour. [Bug 1587618]
- * library/clock.tcl: Removed use of [info level 0] for calculating the
- command name as used by the user and replace with a literal. What's
- there now is sucky, but at least appears to be right to most users.
- * tests/namespace.test (namespace-42.7,namespace-47.1): Reverted
- changes to these tests.
- * tests/info.test (info-9.11,info-9.12): Added knownBug constraint
- since these tests require a different behaviour of [info level] than
- is possible because of other dependencies.
-
-2006-10-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/tcltk-man2html.tcl (option-toc): handle any kind of options
- defined toc section (needed for ttk docs)
-
-2006-10-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOVI): insured that the interp's callObjc/v
- fields are restored after traces run, as they be spoiled. This was
- causing a segfault in tcllib's profiler tests.
-
-2006-10-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_MOD): Corrected improper testing of the
- * tests/expr.test: sign of bignums when applying Tcl's
- division rules. Thanks to Peter Spjuth. [Bug 1585704]
-
-2006-10-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (EnsembleImplementationCmd):
- * tests/namespace.test (47.7-8): reverted a wrong "optimisation" that
- completely broke snit; added two tests.
-
-2006-10-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (ObjInterpProcEx, TclObjInterpProcCore): Split the
- core of procedures to make it easier to build procedure-like code
- without going through horrible contortions. This is the last critical
- component to make advanced OO systems workable as simple loadable
- extensions. TOIPC is now in the internal stub table.
- (MakeProcError, MakeLambdaError): Refactored ProcessProcResultCode to
- be simpler, some of which goes to TclObjInterpProcCore, and the rest
- of which is now in these far simpler routines which just do errorInfo
- stack generation for different types of procedure-like entity.
- * tests/apply.test (apply-5.1): Updated to expect the more informative
- form of message.
-
-2006-10-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c (HasLocalVars): New macro to make various bits and
- pieces cleaner.
-
- * generic/tclNamesp.c (TclSetNsPath): Expose SetNsPath() through
- internal stubs table with semi-external name.
-
- * generic/tclInt.h (CallFrame): Add a field for handling context data
- for extensions (like object systems) that should be tied to a call
- frame (and not a command or interpreter).
-
- * generic/tclBasic.c (TclRenameCommand): Change to take CONST args;
- they were only ever used in a constant way anyway, so this appears to
- be a spot that was missed during TIP#27 work.
-
-2006-10-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (SetLambdaFromAny): minor change, eliminate
- redundant call to Tcl_GetString (thanks aku).
-
- * generic/tclInterp.c (ApplyObjCmd):
- * generic/tclNamesp.c (EnsembleImplementationCmd): replaced ckalloc
- (heap) with TclStackAlloc (execution stack).
-
-2006-10-24 Miguel Sofer <msofer@users.sf.net>
-
- * tests/info.test (info-9.11-12): tests for [Bug 1577492]
- * tests/apply.test (apply-4.3-5): tests for [Bug 1574835]
-
- * generic/tclProc.c (ObjInterpProcEx): disable itcl hacks for calls
- from ApplyObjCmd (islambda==1), as they mess apply's error messages
- [Bug 1583266]
-
-2006-10-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (ApplyObjCmd): fix wrong#args for apply by using
- the ensemble rewrite engine. [Bug 1574835]
- * generic/tclInterp.c (AliasObjCmd): previous commit missed usage of
- TCL_EVAL_NOREWRITE for aliases.
-
- * generic/tclBasic.c (TclEvalObjvInternal): removed redundant check
- for ensembles. [Bug 1577628]
-
- * library/clock.tcl (format, scan): corrected wrong # args messages to
- * tests/clock.test (3.1, 34.1): make use of the new rewrite
- capabilities of [info level]
-
- * generic/tcl.h: Lets TEOV update the iPtr->callObj[cv] new
- * generic/tclBasic.c: fields, except when the flag bit
- * generic/tclInt.h: TCL_EVAL_NOREWRITE is present. These values
- * generic/tclNamesp.c: are used by Tcl_PushCallFrame to initialise
- * generic/tclProc.c: the frame's obj[cv] fields, and allows
- * tests/namespace.test: [info level] to know and use ensemble
- rewrites. [Bug 1577492]
-
- ***POTENTIAL INCOMPATIBILITY***
- The return value from [info level 0] on interp alias calls is changed:
- previously returned the target command (including curried values), now
- returns the source - what was actually called.
-
-2006-10-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.h: Modified the Tcl call stack so there is
- * generic/tclBasic.c: always a valid CallFrame, even at level 0
- * generic/tclCmdIL.c: [Patch 1577278]. Most of the changes
- * generic/tclInt.h: involve removing tests for a NULL
- * generic/tclNamesp.c: iPtr->(var)framePtr. There is now a
- * generic/tclObj.c: CallFrame pushed at interp creation with a
- * generic/tclProc.c: pointer to it stored in iPtr->rootFramePtr.
- * generic/tclTrace.c: A second unused field in Interp is
- * generic/tclVar.c: hijacked to enable further functionality,
- currently unused (but with several FRQs depending on it).
-
- ***POTENTIAL INCOMPATIBILITY***
- Any user that includes tclInt.h and needs to determine if it is
- running at level 0 should change (iPtr->varFramePtr == NULL) to
- (iPtr->varFramePtr == iPtr->rootFramePtr).
-
-2006-10-23 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5a6
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2006-10-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.h, generic/tclHash.c: Tcl_FindHashEntry now calls
- Tcl_CreateHashEntry with a newPtr set to NULL: this would have caused
- a segfault previously and eliminates duplicated code. A macro has been
- added to tcl.h (only used when TCL_PRESERVE_BINARY_COMPATABALITY is
- not set - i.e., not by default).
-
-2006-10-20 Reinhard Max <max@tclers.tk>
-
- * unix/configure.in: Added autodetection for OS-supplied timezone
- * unix/Makefile.in: files and configure switches to override the
- * unix/configure: detected default.
-
-2006-10-20 Daniel Steffen <das@users.sourceforge.net>
-
- *** 8.5a5 TAGGED FOR RELEASE ***
-
- * tools/tcltk-man2html.tcl: add support for alpha & beta versions to
- useversion glob pattern. [Bug 1579941]
-
-2006-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * changes: 8.5a5 release date set
-
- * doc/Encoding.3: Missing doc updates (mostly Table of
- * doc/Ensemble.3: Contents) exposed by `make checkdoc`
- * doc/FileSystem.3:
- * doc/GetTime.3:
- * doc/PkgRequire.3:
-
-2006-10-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12
- commit: interp released too early. Spotted by mistachkin.
-
-2006-10-16 Miguel Sofer <msofer@users.sf.net>
-
- * tclProc.c (SetLambdaFromAny):
- * tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454],
- found by mjanssen.
-
-2006-10-16 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: Moved TIP#219 cleanup to DeleteInterpProc.
-
-2006-10-16 Daniel Steffen <das@users.sourceforge.net>
-
- * changes: updates for 8.5a5 release.
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): Darwin: fix for main
- thread, where pthread_get_stacksize_np() returns incorrect info.
-
- * macosx/GNUmakefile: don't redo prebinding of non-prebound binaires.
-
-2006-10-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c (ExactRequirement): Plugged memory leak. Also
- changed Tcl_Alloc()/Tcl_Free() calls to ckalloc()/ckfree() for easier
- memory debugging in the future. [Bug 1568373]
-
- * library/tcltest/tcltest.tcl: Revise tcltest bump to 2.3a1.
- * library/tcltest/pkgIndex.tcl: This permits more features to be
- * unix/Makefile.in: added to tcltest before we reach version 2.3.0
- * win/Makefile.in: best timed to match the release of Tcl 8.5.0.
- * win/makefile.vc: This also serves as a demo of TIP 268 features
-
-2006-10-13 Colin McCormack <coldstore@users.sf.net>
-
- * win/tclWinFile.c: corrected erroneous attempt to protect against
- NULL return from Tcl_FSGetNormalizedPath per [Bug 1548263] causing
- [Bug 1575837].
- * win/tclWinFile.c: alfredd supplied patch to fix [Bug 1575837]
-
-2006-10-13 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): on Darwin, use
- * unix/tcl.m4: pthread_get_stacksize_np() API to get thread stack size
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-10-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (ApplyObjCmd):
- * tests/interp.test (interp-14.5-10): made [interp alias] use the
- ensemble rewrite machinery to produce better error messages [Bug
- 1576006]
-
-2006-10-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/nmakehlp.c: Replaced all wnsprintf() calls with snprintf().
- wnsprintf was not in my shwlapi header file (VC++6)
-
-2006-10-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crash when
- argument version=NULL passed in.
-
-2006-10-10 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.5a5 release.
-
- * generic/tclNamespace.c (TclTeardownNamespace): After the
- commandPathSourceList of a namespace is cleared, set the
- commandPathSourceList to NULL so we don't try to walk the list a
- second time, possibly after it is freed. [Bug 1566526]
- * tests/namespace.test (namespace-51.16): Added test.
-
-2006-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * doc/UpVar.3: brough the docs in accordance to the code. Ever since
- 8.0, Tcl_UpVar(2)? accepts TCL_NAMESPACE_ONLY as a flag value, and
- var-3.4 tests for proper behaviour. The docs only allowed 0 and
- TCL_GLOBAL_ONLY. [Bug 1574099]
-
-2006-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * tests/*.test: updated all tests to refer explicitly to the global
- variables ::errorInfo, ::errorCode, ::env and ::tcl_platform: many
- were relying on the alternative lookup in the global namespace, that
- feature is tested specifically in namespace and variable tests.
-
- The modified testfiles are: apply.test, basic.test, case.test,
- cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
- event.test, expr.test, fileSystem.test, for.test, http.test, if.test,
- incr-old.test, incr.test, interp.test, io.test, ioCmd.test, load.test,
- misc.test, namespace.test, parse.test, parseOld.test, pkg.test,
- proc-old.test, set.test, switch.test, tcltest.test, thread.test,
- var.test, while-old.test, while.test.
-
-2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: [Bug 1571954] avoid /RTCc flag with MSVC8
-
-2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * doc/binary.n: TIP #275: Support unsigned values in binary
- * generic/tclBinary.c: command. Tests and documentation updated.
- * tests/binary.test:
-
-2006-10-05 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl: Fixed bug in TIP #189 implementation, now allowing
- '_' in module names.
-
-2006-10-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl (http::geturl): only do geturl url rfc 3986
- validity checking if $::http::strict is true (default true for 8.5).
- [Bug 1560506]
-
- * generic/tcl.h: note limitation on changing Tcl_UniChar size
- * generic/tclEncoding.c (UtfToUnicodeProc, UnicodeToUtfProc):
- * tests/encoding.test (encoding-16.1): fix alignment issues in
- unicode <> utf conversion procs. [Bug 1122671]
-
-2006-10-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (Tcl_LappendObjCmd):
- * tests/append.test(4.21-22): fix for longstanding [Bug 1570718],
- lappending nothing to non-list. Reported by lvirden
-
-2006-10-04 Kevin B. Kenny <kennykb@acm.org>
-
- * tzdata/: Olson's tzdata2006m.
-
-2006-10-01 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test (clock-49.2): Removed a locale dependency that
- caused a spurious failure in the German locale. [Bug 1567956]
-
-2006-10-01 Miguel Sofer <msofer@users.sf.net>
-
- * doc/Eval.3 (TclEvalObjv): added note on refCount management for the
- elements of objv. [Bug 730244]
-
-2006-10-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinFile.c: Handle possible missing define.
-
- * win/tclWinFile.c (TclpUtime): [Bug 1420432] file mtime fails for
- * tests/cmdAH.test: directories on windows
-
- * tests/winFile.test: Handle Msys environment a little differently in
- getuser function. [Bug 1567956]
-
-2006-09-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747] by
- dgp.
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclObj.c:
- * generic/tclStubInit.c: added an internal function TclObjBeingDeleted
- to provide info as to the reason for the loss of an internal rep. [FR
- 1512138]
-
- * generic/tclCompile.c:
- * generic/tclHistory.c:
- * generic/tclInt.h:
- * generic/tclProc.c: made Tcl_RecordAndEvalObj not call "history" if
- it has been redefined to an empty proc, in order to reduce the noise
- when debugging [FR 1190441]. Moved TclCompileNoOp from tclProc.c to
- tclCompile.c
-
-2006-09-28 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclPkg.c (CompareVersions): Bugfix. Check string lengths
- * tests/pkg.test: before comparison. The shorter string is the smaller
- number. Added testcases as well. Interestingly all existing test cases
- for vcompare compared numbers of the same length with each other. [Bug
- 1563836]
-
-2006-09-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclIO.c (Tcl_GetsObj): added two test'n'panic guards for
- possible NULL derefs, [Bug 1566382] and coverity #33.
-
-2006-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected error in INST_LSHIFT in the
- * tests/expr.test: calculation done to determine whether a shift
- in the (long int) type is possible. The calculation had literal value
- "1" where it needed a value "1L" to compute the correct result. Error
- detected via testing with the math::bigfloat package [Bug 1567222]
-
- * generic/tclPkg.c (CompareVersion): Flatten strcmp() results to
- {-1, 0, 1} to match expectations of CompareVersion() callers.
-
-2006-09-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/regc_color.c (singleton):
- * generic/regc_cvec.c (addmcce):
- * generic/regcomp.c (compile, dovec): the static function addmcce does
- nothing when called with two NULL pointers; the only call is by
- compile with two NULL pointers (regcomp.c #includes regc_cvec.c).
- Large parts (all?) the code for mcce (multi character collating
- element) that we do not use is ifdef'ed out with the macro
- REGEXP_MCCE_ENABLE.
- This silences coverity bugs 7, 16, 80
-
- * generic/regc_color.c (uncolorchain):
- * generic/regc_nfa.c (freearc): changed tests and asserts to
- equivalent formulation, designed to avoid an explicit comparison to
- NULL and satisfy coverity that 6 and 9 are not bugs.
-
-2006-09-27 Andreas Kupries <andreask@activestate.com>
-
- * tests/pkg.test: Added test for version comparison at the 32bit
- boundary. [Bug 1563836]
-
- * generic/tclPkg.c: Rewrote CompareVersion to perform string
- comparison instead of numeric. This breaks through the 32bit limit on
- version numbers. See code for details (handling of leading zeros,
- signs, etc.). un-CONSTed some arguments of CompareVersions,
- RequirementSatisfied, and AllRequirementsSatisfied. The new compare
- modifies the string (temporary string terminators). All callers use
- heap-allocated ver-intreps, so we are good with that. [Bug 1563836]
-
-2006-09-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclFileName.c (TclGlob): added a panic for a call with
- TCL_GLOBMODE_TAILS and pathPrefix==NULL. This would cause a segfault,
- as found by coverity #26.
-
-2006-09-26 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/Encoding.3: Added covariant 'const' qualifier for the
- * generic/tcl.decls: Tcl_EncodingType argument to
- * generic/tclEncoding.c: Tcl_CreateEncoding. [Further TIP#27 work.]
- * generic/tclDecls.h: Reran 'make genstubs'.
-
-2006-09-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Additional compiler flags and amd64 support.
- * win/nmakehlp.c:
- * win/rules.vc:
-
-2006-09-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: As 2006-09-22 commit from Donal K. Fellows
- demonstrates, "#define NULL 0" is just wrong, and as a quotable chat
- figure observed, "If NULL isn't defined, we're not using a C compiler"
- Improper fallback definition of NULL removed.
-
-2006-09-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tcl.h: More fixing which struct stat to refer to.
- * generic/tclGetDate.y: Some casts from time_t to int required.
- * generic/tclTimer.c: Tcl_Time structure members are longs.
- * win/makefile.vc: Support for varying compiler options
- * win/rules.vc: and build to platform-specific subdirs.
-
-2006-09-25 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (Tcl_StackChannel): Fixed [Bug 1564642], aka
- coverity #51. Extended loop condition, added checking for NULL to
- prevent seg.fault.
-
-2006-09-25 Andreas Kupries <andreask@activestate.com>
-
- * doc/package.n: Fixed nits reported by Daniel Steffen in the TIP#268
- changes.
-
-2006-09-25 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclNotify.c (Tcl_DeleteEvents): Simplified the code in hopes
- of making the invariants clearer and proving to Coverity that the
- event queue memory is managed correctly.
-
-2006-09-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNotify.c (Tcl_DeleteEvents): Make it clear what happens
- when the event queue is mismanaged. [Bug 1564677], coverity bug #10.
-
-2006-09-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (Tcl_ParseCommand): also return an error if
- start==NULL and numBytes<0. This is coverity's bug #20
-
- * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length
- strings. This is coverity's bugs #54-5
-
-2006-09-22 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end
- of the structure, for better backward compatibility.
-
-2006-09-22 Andreas Kupries <andreask@activestate.com>
-
- TIP#268 IMPLEMENTATION
-
- * generic/tclDecls.h: Regenerated from tcl.decls.
- * generic/tclStubInit.c:
-
- * doc/PkgRequire.3: Documentation of extended API, extended testsuite.
- * doc/package.n:
- * tests/pkg.test:
-
- * generic/tcl.decls: Implementation.
- * generic/tclBasic.c:
- * generic/tclConfig.c:
- * generic/tclInt.h:
- * generic/tclPkg.c:
- * generic/tclTest.c:
- * generic/tclTomMathInterface.c:
- * library/init.tcl:
- * library/package.tcl:
- * library/tm.tcl:
-
-2006-09-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclThreadTest.c (TclCreateThread): Use NULL instead of 0 as
- end-of-strings marker to Tcl_AppendResult; the difference matters on
- 64-bit machines. [Bug 1562528]
-
-2006-09-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: Dropped ParseInteger() routine. TclParseNumber
- covers the task just fine.
-
-2006-09-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclEvent.c (Tcl_VwaitObjCmd): Rewrite so that an exceeded
- limit trapped in a vwait cannot cause a dangerous dangling trace.
-
-2006-09-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_EXPON): Native type overflow detection
- * tests/expr.test: was completely broken. Falling back on use of
- bignums for all non-trivial ** calculations until
- native-type-constrained special cases can be done carefully and
- correctly. [Bug 1561260]
-
-2006-09-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl: Change " " -> "+" url encoding mapping
- * library/http/pkgIndex.tcl: to " " -> "%20" as per RFC 3986.
- * tests/http.test (http-5.1): bump http to 2.5.3
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2006-09-12 Andreas Kupries <andreask@activestate.com>
-
- * unix/configure.in (HAVE_MTSAFE_GETHOST*): Modified to recognize
- HP-UX 11.00 and beyond as having mt-safe implementations of the
- gethost functions.
- * unix/configure: Regenerated, using autoconf 2.59
-
- * unix/tclUnixCompat.c (PadBuffer): Fixed bug in calculation of the
- increment needed to align the pointer, and added documentation
- explaining why the macro is implemented as it is.
-
-2006-09-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: Updated to install http, tcltest and msgcat as
- * win/makefile.vc: Tcl Modules (as per Makefile.in).
- * win/makefile.vc: Added tommath_(super)class headers.
-
-2006-09-11 Andreas Kupries <andreask@activestate.com>
-
- * unix/Makefile.in (install-libraries): Fixed typo tcltest 2.3.9 ->
- 2.3.0.
-
-2006-09-11 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: make compatLock static and only declare it
- when it will actually be used; #ifdef parts of TSD that are not always
- needed; adjust #ifdefs to cover all possible cases; fix whitespace.
-
-2006-09-11 Andreas Kupries <andreask@activestate.com>
-
- * tests/msgcat.test: Bumped version in auxiliary files as well.
- * doc/msgcat.n:
-
-2006-09-11 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/Makefile.in: Bumped msgcat version to 1.4.2 to be
- * win/Makefile.in: consistent with dgp's commits of 2006-09-10.
-
-2006-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl: Removed some unneeded [uplevel]s.
-
-2006-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected INST_EXPON flaw that treated
- * tests/expr.test: $x**1 as $x**3. [Bug 1555371]
-
- * doc/tcltest.n: Bump to version tcltest 2.3.0 to
- * library/tcltest/pkgIndex.tcl: account for new "-verbose line"
- * library/tcltest/tcltest.tcl: feature.
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.vc:
-
- * library/msgcat/msgcat.tcl: Bump to version msgcat 1.4.2 to
- * library/msgcat/pkgIndex.tcl: account for modifications.
-
-2006-09-10 Daniel Steffen <das@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl (msgcat::Init): on Darwin, add fallback of
- * tests/msgcat.test: default msgcat locale to
- * unix/tclUnixInit.c (TclpSetVariables): current CFLocale
- identifier if available (via private ::tcl::mac::locale global, set at
- interp init when on Mac OS X 10.3 or later with CoreFoundation).
-
- * library/tcltest/tcltest.tcl: add 'line' verbose level: prints source
- * doc/tcltest.n: file line information of failing tests.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add new tclUnixCompat.c file;
- revise tests target to use new tcltest 'line' verbose level.
-
- * unix/configure.in: add descriptions to new AC_DEFINEs for MT-safe.
- * unix/tcl.m4: add caching to new SC_TCL_* macros for MT-safe wrappers
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-09-08 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: Added fallback to gethostbyname() and
- gethostbyaddr() if the implementation is known to be MT-safe
- (currently for Darwin 6 or later only).
-
- * unix/configure.in: Assume gethostbyname() and gethostbyaddr() are
- MT-safe starting with Darwin 6 (Mac OSX 10.2).
-
- * unix/configure: Regenerated with autoconf V2.59
-
-2006-09-08 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and
- CopyHostent. Also fixed bad var names in TclpGetHostByName.
-
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: Added fallback to MT-unsafe library calls if
- TCL_THREADS is not defined.
- Fixed alignment of arrays copied by CopyArray() to be on the
- sizeof(char *) boundary.
-
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixChan.c: Rewritten MT-safe wrappers to return ptrs to
- * unix/tclUnixCompat.c: TSD storage making them all look like their
- * unix/tclUnixFCmd.c: MT-unsafe pendants API-wise.
- * unix/tclUnixPort.h:
- * unix/tclUnixSock.c:
-
-2006-09-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixChan.c: Added TCL_THREADS ifdef'ed usage of MT-safe
- * unix/tclUnixFCmd.c: calls like: getpwuid, getpwnam, getgrgid,
- * unix/tclUnixSock.c: getgrnam, gethostbyname and gethostbyaddr.
- * unix/tclUnixPort.h: See [Bug 999544]
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/configure: Regenerated.
-
- * unix/tclUnixCompat.c: New file containing MT-safe implementation of
- some library calls.
-
-2006-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Removed much complexity that is no
- longer needed.
-
- * tests/main.text (Tcl_Main-4.4): Test corrected to not be
- timing sensitive to the Bug 1481986 fix. [Bug 1550858]
-
-2006-09-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/package.n: correct package example
-
-2006-08-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Corrected flawed logic for disabling
- the INST_TRY_CVT_TO_NUMERIC instruction at the end of an expression
- when function arguments contain operators. [Bug 1541274]
-
- * tests/expr-old.test: The remaining failing tests reported in
- * tests/expr.test: [Bug 1381715] are all new in Tcl 8.5, so
- there's really no issue of compatibility with Tcl 8.4 result to deal
- with. Fixed by updating tests to expect 8.5 results.
-
-2006-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Dropped the old expr parser.
-
-2006-08-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId
-
- * win/tclWinChan.c [Bug 819667] Improve logic for identifying COM
- ports.
-
- * generic/tclIOGT.c (ExecuteCallback):
- * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
- with more efficient Tcl_Eval(Obj)Ex
-
- * unix/Makefile.in (valgrindshell): add valgrindshell target and
- update default VALGRINDARGS. User can override, or add to it with
- VALGRIND_OPTS env var.
-
- * generic/tclFileName.c (DoGlob): match incrs with decrs.
-
-2006-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Use the "parent" field of orphan
- ExprNodes to store the closure of left pointers. This lets us avoid
- repeated re-scanning leftward for the left boundary of subexpressions,
- which in worst case led to near O(N^2) runtime.
-
-2006-08-29 Joe Mistachkin <joe@mistachkin.com>
-
- * unix/tclUnixInit.c: Fixed the issue (typo) that was causing
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): stack.test to fail on
- FreeBSD (and possibly other Unix platforms).
-
-2006-08-29 Colin McCormack <coldstore@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Added test for NULL return from
- * generic/tclPathObj.c: Tcl_FSGetNormalizedPath which was causing
- * unix/tclUnixFile.c: segv's per [Bug 1548263]
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
-
-2006-08-28 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Havana: Regenerated from Olson's
- * library/tzdata/America/Tegucigalpa: tzdata2006k.
- * library/tzdata/Asia/Gaza:
-
-2006-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Revised ObjPrintfVA to take care to
- * generic/tclParseExpr.c: copy only whole characters when doing
- %s formatting. This relieves callers of TclObjPrintf() and
- TclFormatToErrorInfo() from needing to fix arguments to character
- boundaries. Tcl_ParseExpr() simplified by taking advantage. [Bug
- 1547786]
-
- * generic/tclStringObj.c: Corrected TclFormatObj's failure to
- count up the number of arguments required by examining the format
- string. [Bug 1547681]
-
-2006-08-27 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclClock.c (ClockClicksObjCmd): Fix nested macro breakage
- with TCL_MEM_DEBUG enabled. [Bug 1547662]
-
-2006-08-26 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n:
- * generic/tclNamesp.c:
- * tests/upvar.test: bugfix, docs clarification and new tests for
- [namespace upvar] as follow up to [Bug 1546833], reported by Will
- Duquette.
-
-2006-08-24 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata: Regenerated, including several new files, from
- Olson's tzdata2006j.
- * library/clock.tcl:
- * tests/clock.test: Removed an early testing hack that allowed loading
- 'registry' from the build tree rather than an installed one. This is a
- workaround for [Bug 15232730], which remains open because it's a
- symptom of a deeper underlying problem.
-
-2006-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Minimal collection of new tests
- * tests/parseExpr.test: testing the error messages of the new
- expr parser. Several bug fixes and code simplifications that appeared
- during that effort.
-
-2006-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Revisions to complete the thread finalization
- of the cwdPathPtr. [Bug 1536142]
-
- * generic/tclParseExpr.c: Revised mistaken call to
- TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same
- additional info in error message.
-
- * tests/compExpr-old.test: Update existing tests to not fail with
- * tests/compExpr.test: the new expr parser.
- * tests/compile.test:
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/for.test:
- * tests/if.test:
- * tests/parseExpr.test:
- * tests/while.test:
-
-2006-08-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * win/Makefile.in (gdb): Make this target work so that debugging an
- msys build is possible.
-
-2006-08-21 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is
- already running (e.g. if Tcl_WaitForEvent was called recursively),
- re-run it in a custom run loop mode containing only the source for the
- notifier thread, otherwise wakeups from other sources added to the
- common run loop modes might get lost.
-
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin,
- pthread_cond_timedwait() appears to have a bug that causes it to wait
- forever when passed an absolute time which has already been exceeded
- by the system time; as a workaround, when given a very brief timeout,
- just do a poll on that platform. [Bug 1457797]
-
- * generic/tclClock.c (ClockClicksObjCmd): add support for Darwin
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): nanosecond resolution timer
- * generic/tclInt.h: to [clock clicks] and [time]
- * unix/configure.in (Darwin): when TCL_WIDE_CLICKS defined
- * unix/tclUnixTime.c (TclpGetWideClicks, TclpWideClicksToNanoseconds):
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * unix/tclUnixPort.h (Darwin): override potentially faulty configure
- detection of termios availability in all cases, since termios is known
- to be present on all Mac OS X releases since 10.0. [Bug 497147]
-
-2006-08-18 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for
- universal builds including x86_64, for 64-bit CoreFoundation on
- Leopard and for use of -mmacosx-version-min instead of
- MACOSX_DEPLOYMENT_TARGET
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/tcl.h: add fixes for building on Leopard and
- * unix/tclUnixPort.h: support for 64-bit CoreFoundation on Leopard
- * macosx/tclMacOSXFCmd.c:
-
- * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
- causes execve to fail intermittently. (rdar://4685553)
-
- * generic/tclTomMath.h: on Darwin 64-bit, for now disable use of
- 128-bit arithmetic through __attribute__ ((mode(TI))), as it leads to
- link errors due to missing fallbacks. (rdar://4685527)
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add x86_64 to universal build,
- switch native release targets to use DWARF with dSYM, Xcode 3.0
- changes
- * macosx/README: updates for x86_64 and Xcode 2.4.
-
- * macosx/Tcl.xcodeproj/default.pbxuser: add test suite target that
- * macosx/Tcl.xcodeproj/project.pbxproj: runs the tcl test suite at
- build time and shows clickable test suite errors in the GUI build
- window.
-
- * tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
-
- * unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
- needed when TCL_LIBRARY is defined to run only in that case.
-
- * generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
- comparison warning from gcc4 -Wextra.
-
- * unix/tclUnixChan.c (TclUnixWaitForFile): with timeout < 0, if
- select() returns early (e.g. due to a signal), call it again instead
- of returning a timeout result. Fixes intermittent event-13.8 failures.
-
-2006-08-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Revised the new set of expression
- * generic/tclParseExpr.c: parse error messages.
-
-2006-08-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Replace PrecedenceOf() function with
- prec[] static array.
-
-2006-08-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * library/clock.tcl (::tcl::clock::add): Added missing braces to
- clockval validation code. Pointed out on comp.lang.tcl.
-
-2006-08-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclNamesp.c: Improvements in buffer management to make
- namespace creation faster. Plus selected other minor improvements to
- code quality. [Patch 1352382]
-
-2006-08-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- Misc patches to make code more efficient. [Bug 1530474] (afredd)
- * generic/*.c, macosx/tclMacOSXNotify.c, unix/tclUnixNotfy.c,
- * win/tclWinThrd.c: Tidy up invokations of Tcl_Panic() to promote
- string constant sharing and consistent style.
- * generic/tclBasic.c (Tcl_CreateInterp): More efficient handling of
- * generic/tclClock.c (TclClockInit): registration of commands not
- in global namespace.
- * generic/tclVar.c (Tcl_UnsetObjCmd): Remove unreachable clause.
-
-2006-08-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Replace buffer copy in for loop with
- call to memcpy(). Thanks to afredd. [Patch 1530262]
-
-2006-08-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Make the wrong#args message
- a bit more consistent with those used elsewhere. [Bug 1534628]
-
- * generic/tclDictObj.c (DictForCmd): Stop crash when attempting to
- iterate over an invalid dictionary. [Bug 1531184]
-
- * doc/ParseCmd.3, doc/expr.n, doc/set.n, doc/subst.n, doc/switch.n:
- * doc/tclvars.n: Ensure that uses of [expr] in documentation examples
- are also good style (with braces) unless otherwise necessary. [Bug
- 1526581]
-
-2006-08-03 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixPipe.c (TclpCreateProcess): for USE_VFORK: ensure
- standard channels are initialized before vfork() so that the child
- doesn't potentially corrupt global state in the parent's address space
-
- * tests/compExpr-old.test: add 'oldExprParser' constraint to all tests
- * tests/compExpr.test: that depend on the exact format of the
- * tests/compile.test: error messages of the pre-2006-07-05
- * tests/expr-old.test: expression parser. The constraint is on by
- * tests/expr.test: default (i.e those tests still fail), but
- * tests/for.test: can be turned off by passing '-constraints
- * tests/if.test: newExprParser' to tcltest, which will skip
- * tests/parseExpr.test: the 196 failing tests in the testsuite that
- * tests/while.test: are caused by the new expression parser
- error messages.
-
-2006-07-31 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (ConvertLocalToUTCUsingC): Corrected a regression
- that caused dates before 1969 to be one day off in the :localtime time
- zone if TZ is not set. [Bug 1531530]
-
-2006-07-30 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (GetJulianDayFromEraYearMonthDay): Corrected
- several errors in converting dates before the Common Era [Bug 1426279]
- * library/clock.tcl: Corrected syntax errors in generated code for %EC
- %Ey, and %W format groups [Bug 1505383]. Corrected a bug in cache
- management for format strings containing [glob] metacharacters [Bug
- 1494664]. Corrected several errors in formatting/scanning of years
- prior to the Common Era, and added the missing %EE format group to
- indicate the era.
- * tools/makeTestCases.tcl: Added code to make sure that %U and %V
- format groups are included in the tests. (The code depends on %U and
- %V formatting working correctly when 'makeTestCases.tcl' is run,
- rather than making a completely independent check.) Added tests for
- [glob] metacharacters in strings. Added tests for years prior to the
- Common Era.
- * tests/clock.test: Rebuilt with new test cases for all the above.
-
-2006-07-30 Joe English <jenglish@users.sourceforge.net>
-
- * doc/AppInit.3: Fix typo [Bug 1496886]
-
-2006-07-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected flawed overflow detection in
- * tests/expr.test: INST_EXPON that caused [expr 2**64] to return
- 0 instead of the same value as [expr 1<<64].
-
-2006-07-24 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinSock.c: Correct un-initialized Tcl_DString. Thanks to
- afredd. [Bug 1518166]
-
-2006-07-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c:
- * tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803].
-
-2006-07-20 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent):
- create notifier thread lazily upon first call to Tcl_WaitForEvent()
- rather than in Tcl_InitNotifier(). Allows calling exeve() in processes
- where the event loop has not yet been run (Darwin's execve() fails in
- processes with more than one thread), in particular allows embedders
- to call fork() followed by execve(), previously the pthread_atfork()
- child handler's call to Tcl_InitNotifier() would immediately recreate
- the notifier thread in the child after a fork.
-
- * macosx/tclMacOSXFCmd.c (TclMacOSXCopyFileAttributes): add support
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): for weakly
- * unix/tclUnixInit.c (Tcl_GetEncodingNameFromEnvironment): importing
- symbols not available on OSX 10.2 or 10.3, enables binaires built on
- later OSX versions to run on earlier ones.
- * macosx/Tcl.xcodeproj/project.pbxproj: enable weak-linking; turn on
- extra warnings.
- * macosx/README: document how to enable weak-linking; cleanup.
- * unix/tclUnixPort.h: add support for weak-linking; conditionalize
- AvailabilityMacros.h inclusion; only disable realpath on 10.2 or
- earlier when threads are enabled.
- * unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin
- * unix/tclUnixInit.c (TclpInitPlatform): release check to use
- global initialized
- once
- * unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime
- Darwin release check to determine if realpath is threadsafe.
- * unix/configure.in: add check on Darwin for compiler support of weak
- * unix/tcl.m4: import and for AvailabilityMacros.h header; move
- Darwin specific checks & defines that are only relevant to the tcl
- build out of tcl.m4; restrict framework option to Darwin; clean up
- quoting and help messages.
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/regc_locale.c (cclass):
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclIOCmd.c (Tcl_ExecObjCmd):
- * generic/tclListObj.c (NewListIntRep):
- * generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj)
- (FreeBignum, Tcl_SetBignumObj):
- * generic/tclParseExpr.c (Tcl_ParseExpr):
- * generic/tclStrToD.c (TclParseNumber):
- * generic/tclStringObj.c (TclAppendFormattedObjs):
- * unix/tclLoadDyld.c (TclpLoadMemory):
- * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
- comparison and other warnings from gcc4 -Wextra.
-
-2006-07-13 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixPort.h: Added the inclusion of <AvailabilityMacros.h>.
- The missing header caused the upcoming #if conditions to wrongly
- exclude realpath, causing file normalize to ignore symbolic links in
- the path.
-
-2006-07-11 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called
- after all thread TSD has been garbage-collected.
-
-2006-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Completely new expression parser that
- builds a parse tree instead of operating with deep recursion. This
- corrects reports of stack-blowing crashes parsing long expressions
- [Bug 906201] and replaces a fundamentally O(N^2) algorithm with an
- O(N) one [RFE 903765]. The new parser is better able to generate error
- messages that clearly report both the nature and context of the syntax
- error [Bugs 1029267, 1381715]. For now, the code for the old parser is
- still present and can be activated with a "#define OLD_EXPR_PARSER
- 1". This is for the sake of a clean implementation patch, and for ease
- of benchmarking. The new parser is non-recursive, so much lighter in
- stack consumption, but it does use more heap, so there may be cases
- where parsing of long expressions that succeeded with the old parser
- will lead to out of memory panics with the new one. There are still
- more improvements possible on that point, though significant progress
- may require changes to the Tcl_Token specifications documented for the
- public Tcl_Parse*() routines.
- ***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the exact
- (usually terrible) error messages generated by the old parser. This
- includes a large number of tests in the test suite.
-
- * generic/tclInt.h: Replaced TclParseWhiteSpace() with
- * generic/tclParse.c: TclParseAllWhiteSpace() which is what
- * generic/tclParseExpr.c: all the callers really needed.
- Breaking whitespace runs at newlines is useful only to the command
- parsing function, and it can call the file scoped routine
- ParseWhiteSpace() to do that.
-
- * tests/expr-old.test: Removed knownBug constraints that masked
- * tests/expr.test: failures due to revised error messages.
- * tests/parseExpr.test:
-
-2006-06-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Changed default configuration to
- * generic/tclInt.decls: #undef USE_OBSOLETE_FS_HOOKS which disables
- * generic/tclTest.c: access to the Tcl 8.3 internal routines for
- hooking into filesystem operations. Everyone ought to have migrated to
- Tcl_Filesystems by now.
- ***POTENTIAL INCOMPATIBILITY*** for any code still stuck in the
- pre-Tcl_Filesystem era.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclStrToD.c: Removed dead code that permitted disabling of
- recognition of the new 0b and 0o numeric formats.
-
- * generic/tclExecute.c: Removed dead code that implemented alternative
- * generic/tclObj.c: design where numeric values did not
- automatically narrow to the smallest Tcl_ObjType required to hold them
-
- * generic/tclCmdAH.c: Removed dead code that was old implementation
- of [format].
-
-2006-06-14 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixPort.h (Darwin): support MAC_OS_X_VERSION_MAX_ALLOWED
- define from AvailabilityMacros.h: override configure detection and
- only use API available in the indicated OS version or earlier.
-
-2006-06-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/format.n, doc/scan.n: Added examples for converting between
- characters and their numeric interpretations following user prompting.
-
-2006-06-13 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
- Forte 6. [Bug 1503729]
-
-2006-06-06 Don Porter <dgp@users.sourceforge.net>
-
- * doc/GetStdChan.3: Added recommendation that each call to
- Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel().
-
-2006-06-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/Alloc.3: Added documentation of promise that Tcl_Realloc(NULL,x)
- is the same as Tcl_Alloc(x), as discussed in comp.lang.tcl. Also fixed
- nonsense sentence to say something meaningful.
-
-2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
- placement in unbraced outer if/else conditions. (jcw)
-
-2006-05-27 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c: implemented pthread_atfork() handler that
- * unix/tcl.m4 (Darwin): recreates CoreFoundation state and
- notifier thread in the child after a fork(). Note that pthread_atfork
- is available starting with Tiger only. Because vfork() is used by the
- core on Darwin, [exec]/[open] are not affected by this fix, only
- extensions or embedders that call fork() directly (such as TclX).
- However, this only makes fork() safe from corefoundation tcl with
- --disable-threads; as on all platforms, forked children may deadlock
- in threaded tcl due to the potential for stale locked mutexes in the
- child. [Patch 923072]
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tcl.m4 (SC_CONFIG_SYSTEM): Fixed quoting of command script to
- awk; it was a rarely used branch, but it was wrong. [Bug 1494160]
-
-2006-05-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/chan.n, doc/refchan.n: Tighten up the documentation to follow a
- slightly more consistent style with regard to argument capitalization.
-
-2006-05-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclProc.c (ProcCompileProc): When a bump of the compile
- epoch forces the re-compile of a proc body, take care not to overwrite
- any Proc struct that may be referred to on the active call stack. Note
- that the fix will not be effective for code that calls the private
- routine TclProcCompileProc() directly. [Bug 1482718]
-
-2006-05-13 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86]
-
-2006-05-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c (Tcl_Main): Corrected flaw that required
- * tests/main.test: (Tcl_Main-4.5): processing of one interactive
- command before passing control to the loop routine registered with
- Tcl_SetMainLoop(). [Bug 1481986]
-
-2006-05-04 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5a5
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * generic/tclBasic.c (ExprSrandFunc): Restore acceptance of wide/big
- * doc/mathfunc.n: integer values by srand(). [Bug 1480509]
-
-2006-04-26 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5a4 TAGGED FOR RELEASE ***
-
- * changes: Updates for another RC.
-
- * generic/tclBinary.c: Revised the handling of the Q and q format
- * generic/tclInt.h: specifiers for [binary] to account for the
- * generic/tclStrToD.c: "middle endian" floating point format used in
- Nokia N770.
-
-2006-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/DoubleObj.3: More doc updates for TIP 237.
- * doc/expr.n:
- * doc/format.n:
- * doc/mathfunc.n:
- * doc/scan.n:
- * doc/string.n:
-
- * generic/tclScan.c: [scan $s %u] is documented to accept only
- * tests/scan.test: decimal formatted integers. Fixed to match.
-
-2006-04-19 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c: Added code to support the "middle endian"
- floating point format used in the Nokia N770's software-based floating
- point. Thanks to Bruce Johnson for reporting this bug, originally on
- http://wiki.tcl.tk/15408.
- * library/clock.tcl: Fixed a bug with Daylight Saving Time and Posix
- time zone specifiers reported by Martin Lemburg in
- http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/9a8b15a4dfc0b7a0
- (and not at SourceForge).
- * tests/clock.test: Added test case for the above bug.
-
-2006-04-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/IntObj.3: Minor review fixes, including better documentation of
- the behaviour of Tcl_GetBignumAndClearObj.
-
-2006-04-17 Don Porter <dgp@users.sourceforge.net>
-
- * doc/IntObj.3: Documentation changes to account for TIP 237 changes.
- * doc/Object.3: [Bug 1446971]
-
-2006-04-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regc_locale.c (cclass): Redefined the meaning of [:print:]
- to be exactly UNICODE letters, numbers, punctuation, symbols and
- spaces (*not* whitespace). [Bug 1376892]
-
-2006-04-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Stop some interference between enter traces
- * tests/trace.test: and enterstep traces. [Bug 1458266]
-
-2006-04-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287]
- * tests/fileSystem.test: family of path normalization bugs.
-
-2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate
- readiness for reinitialization.
-
-2006-04-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): It seems there
- * tests/indexObj.test: are extensions that rely on the prior behavior
- * doc/GetIndex.3: that the empty string cannot succeed as a
- unique prefix matcher, so I'm restoring Donal Fellows's solution.
- Added mention of this detail to the documentation. [Bug 1464039]
-
- * tests/compExpr-old.test: Updated testmathfunctions constraint
- * tests/compExpr.test: to post-TIP-232 world.
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/info.test:
-
- * tests/indexObj.test: Corrected other test errors revealed by
- * tests/upvar.test: testing outside the tcltest application.
-
- * generic/tclPathObj.c: Revised fix for the [Bug 1379287] family of
- path normalization bugs.
-
-2006-04-06 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: removed TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
- define on Darwin. [Bug 1457515]
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-04-05 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinInit.c: More careful calls to Tcl_DStringSetLength()
- * win/tclWinSock.c: to avoid creating invalid DString states. Bump
- * win/tclWinDde.c: to version 1.3.2. [RFE 1366195]
- * library/dde/pkgIndex.tcl:
-
- * library/reg/pkgIndex.tcl: Bump to registry 1.2 because
- * win/tclWinReg.c: Registry_Unload() is a new public routine
- * win/Makefile.in: compared to the 1.1.* releases.
-
- * win/configure.in: Bump package version numbers.
- * win/configure: autoconf 2.59
-
-2006-04-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Allow empty
- strings to be matched by the Tcl_GetIndexFromObj machinery, in the
- same manner as any other key. [Bug 1464039]
-
-2006-04-03 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (ReadChars): Added check, panic and commentary to a
- piece of code which relies on BUFFER_PADDING to create enough space at
- the beginning of each buffer for the insertion of partial multibyte
- data at the beginning of a buffer. Commentary explains why this code
- is OK, and the panic is as a precaution if someone twiddled the
- BUFFER_PADDING into uselessness.
-
- * generic/tclIO.c (ReadChars): Temporarily suppress the use of
- TCL_ENCODING_END set when EOF was reached while the buffer we are
- converting is not truly the last buffer in the queue. Together with
- the Utf bug below it was possible to completely wreck the buffer data
- structures, eventually crashing Tcl. [Bug 1462248]
-
- * generic/tclEncoding.c (UtfToUtfProc): Stop accessing memory beyond
- the end of the input buffer when TCL_ENCODING_END is set and the last
- bytes of the buffer start a multi-byte sequence. This bug contributed
- to [Bug 1462248].
-
-2006-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: remove unused var and silence gcc warning
-
-2006-03-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\"
- path-as-escape issue.
-
-2006-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for another RC.
-
- * generic/tclPathObj.c: More fixes for path normalization when /../
- * tests/fileSystem.test: tries to go beyond root.[Bug 1379287]
-
- * generic/tclExecute.c: Revised INST_MOD implementation to do
- calculations in native types as much as possible, moving to mp_ints
- only when necessary.
-
-2006-03-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinPipe.c (TclpCreateProcess): change panics to Tcl errors
- and do proper refcounting of noe objPtr. [Bug 1194429]
-
- * unix/tcl.m4, win/tcl.m4: []-quote AC_DEFUN functions.
-
-2006-03-28 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcode/default.pbxuser: add '-singleproc 1' cli arg to
- * macosx/Tcl.xcodeproj/default.pbxuser: tcltest to ease test debugging
-
- * macosx/Tcl.xcode/project.pbxproj: removed $prefix/share from
- * macosx/Tcl.xcodeproj/project.pbxproj: TCL_PACKAGE_PATH as per change
- to unix/configure.in of 2006-03-13.
-
- * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin
- realpath() converting relative paths into absolute paths [Bug 1064247]
-
-2006-03-28 Vince Darley <vincentdarley@sourceforge.net>
-
- * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons
- (lesser part of [Bug 1064247])
-
-2006-03-27 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue)
-
-2006-03-27 Andreas Kupries <andreask@activestate.com>
-
- * doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made it the
- * generic/tcl.h: version where the "truncateProc" is defined at,
- * generic/tclIO.c: and moved all channel drivers of Tcl to v5.
- * generic/tclIOGT.c, generic/tclIORChan.c, unix/tclUnixChan.c:
- * unix/tclUnixPipe.c, win/tclWinChan.c, win/tclWinConsole.c:
- * win/tclWinPipe.c, win/tclWinSerial.c, win/tclWinSock.c:
-
-2006-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Merge INST_MOD computation in with the
- INST_?SHIFT instructions, which also operate only on two integral
- values. Also corrected flaw that made INST_BITNOT of wide values
- require mp_int calculations. Also corrected type that missed optimized
- handling of the tclBooleanType by the TclGetBooleanFromObj macro.
-
- * changes: Updates for another RC.
-
-2006-03-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrections to INST_EXPON detection of
- overflow to use mp_int calculations.
-
-2006-03-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Added a couple of missing
- casts to 'int' that were affecting compilablity on VC6.
-
-2006-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Reverted latest change [Bug 506653] since it
- reportedly killed test performance on Windows.
-
- * generic/tclExecute.c: Revised INST_EXPON implementation to do
- calculations in native types as much as possible, moving to mp_ints
- only when necessary.
-
-2006-03-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Merged INST_EXPON handling in with the other
- binary operators that operate on all number types (INST_ADD, etc.).
-
- * tests/env.test: With case preserved (see 2006-03-21 commit) be sure
- to do case-insensitive filtering. [Bug 1457065]
-
-2006-03-23 Reinhard Max <max@suse.de>
-
- * unix/tcl.spec: Cleaned up and completed the spec file. An RPM can
- now be built from the tcl source distribution with "rpmbuild -tb
- <tarball>"
-
-2006-03-22 Reinhard Max <max@suse.de>
-
- * tests/stack.test: Run the stack tests in subshells, so that they are
- reported as failed tests rather than bugs in the test suite if the
- recursion causes a segfault.
-
-2006-03-21 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for another RC.
-
- * generic/tclStrToD.c: One of the branches of AccumulateDecimalDigit
- * tests/parseExpr.test: did not. [Bug 1451233]
-
- * tests/env.test: Preserve case of saved env vars. [Bug 1409272]
-
-2006-03-21 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls: implement globbing for HFS creator & type
- * macosx/tclMacOSXFCmd.c:codes and 'hidden' flag, as documented in
- * tests/macOSXFCmd.test: glob.n; objectified OSType handling in [glob]
- * unix/tclUnixFile.c: and [file attributes]; fix globbing for
- hidden files with pattern==NULL arg. [Bug 823329]
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: make genstubs
-
-2006-03-20 Andreas Kupries <andreask@activestate.com>
-
- * win/Makefile.in (install-libraries): Generate tcl8/8.4 directory
- under Windows as well (cygwin Makefile). Related entry: 2006-03-07,
- dgp. This moved the installation of http from 8.2 to 8.4, partially. A
- fix of the required directory creation was done for unix on Mar 10,
- without entry in the Changelog. This entry is for the fix of the
- directory creation under Windows.
-
- * unix/installManPage: There is always one even more broken "sed".
- Moved the # comment starting character in the sed script to the
- beginning of their respective lines. The AIX sed will not recognize
- them as comments otherwise :( The actual text stays indented for
- better association with the commands they belong to.
-
-2006-03-20 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/cmdAH.test, tests/fCmd.test, tests/unixFCmd.test:
- * tests/winFCmd.test: Cleanup of some test constraint handling, and a
- few other minor issues.
-
-2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
-
- * generic/tclFileName.c:
- * doc/FileSystem.3:
- * tests/fileName.test: Fix to [Bug 1084705] so that 'glob -nocomplain'
- finally agrees with its documentation and doesn't swallow genuine
- errors.
-
- ***POTENTIAL INCOMPATIBILITY*** for scripts that assumed '-nocomplain'
- removes the need for 'catch' to deal with non-understood path names.
-
- Small optimisation to implementation of pattern==NULL case of TclGlob,
- and clarification to the documentation. [Tclvfs bug 1405317]
-
-2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
-
- * tests/fCmd.test: added knownBug test case for [Bug 1394972]
-
- * tests/winFCmd.test:
- * tests/tcltest.test: corrected tests to better account for behaviour
- of writable/non-writable directories on Windows 2000/XP. This, with
- the previous patches, closes [Bug 1193497]
-
-2006-03-17 Andreas Kupries <andreask@activestate.com>
-
- * doc/chan.n: Updated with documentation for the commands 'chan
- create' and 'chan postevent' (TIP #219).
-
- * doc/refchan.n: New file. Documentation of the command handler API
- for reflected channels (TIP #219).
-
-2006-03-17 Joe Mistachkin <joe@mistachkin.com>
-
- * unix/tclUnixPort.h: Include pthread.h prior to pthread_np.h [Bug
- 1444692]
-
- * win/tclWinTest.c: Corrected typo of 'initializeMutex' that prevented
- successful compilation.
-
-2006-03-16 Andreas Kupries <andreask@activestate.com>
-
- * doc/open.n: Documented the changed behaviour of 'a'ppend mode.
-
- * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be self-contained
- with regard to setup and cleanup. [Bug 681793]
-
- * generic/tclIOUtil.c (TclGetOpenMode): Added the flag O_APPEND to the
- list of POSIX modes used when opening a file for 'a'ppend. This
- enables the proper automatic seek-to-end-on-write by the OS. See [Bug
- 680143] for longer discussion.
-
- * tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the
- new handling of 'a'.
-
-2006-03-15 Andreas Kupries <andreask@activestate.com>
-
- * tests/socket.test: Extended the timeout in socket-11.11 from 10 to
- 40 seconds to allow for really slow machines. Also extended
- actual/expected results with value of variable 'done' to make it
- clearer when a test fails due to a timeout. [Bug 792159]
-
-2006-03-15 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/fCmd.test: add proper test constraints so the new tests don't
- run on Unix.
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclPipe.c (TclCreatePipeline): Modified the processing of
- pipebars to fail if the last bar is followed only by redirections.
- [Bug 768659]
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * doc/fconfigure.n: Clarified that -translation is binary is reported
- as lf when queried, because it is identical to lf, except for the
- special additional behaviour when setting it. [Bug 666770]
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * doc/clock.n: Removed double-quotes around section title NAME; not
- needed.
- * unix/installManpage: Reverted part to handle double-quotes in
- section NAME, chokes older sed installations.
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::Defaults): Fixed handling of environment
- variable TCLX.y_TM_PATH, bad variable reference. Thanks to Julian
- Noble. [Bug 1448251]
-
-2006-03-14 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: updated patch to deal with 'file writable' issues
- on Windows XP/2000.
- * generic/tclTest.c:
- * unix/tclUnixTest.c:
- * win/tclWinTest.c:
- * tests/fCmd.test: updated test suite to deal with correct permissions
- setting and differences between XP/2000 and 95/98 3 tests still fail;
- to be dealt with shortly
-
-2006-03-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Report error when an escape encoding is
- missing one of its sub-encodings. [Bug 506653]
-
- * unix/configure.in: Revert change from 2005-07-26 that sometimes
- * unix/configure: added $prefix/share to the tcl_pkgPath. See
- [Patch 1231015]. autoconf-2.59.
-
-2006-03-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (ObjInterpProcEx):
- * tests/apply.test (apply-5.1): Fix [apply] error messages so that
- they quote the lambda expression. [Bug 1447355]
-
-2006-03-10 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- -- Summary of changes fixing [Bug 1437595] --
-
- * generic/tclEvent.c: Cosmetic touches and identation
- * generic/tclInt.h: Added TclpFinalizeSockets() call.
-
- * generic/tclIO.c: Calls TclpFinalizeSockets() as part of the
- TclFinalizeIOSubsystem().
-
- * unix/tclUnixSock.c: Added no-op TclpFinalizeSockets().
-
- * win/tclWinPipe.c, win/tclWinSock.c: Finalization of sockets/pipes is
- now solely done in TclpFinalizeSockets() and TclpFinalizePipes() and
- not over the thread-exit handler, because the order of actions the Tcl
- generic core will impose may result in cores/hangs if the thread exit
- handler tears down corresponding subsystem(s) too early.
-
-2006-03-10 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: previous patch breaks tests, so removed.
-
-2006-03-09 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: fix to 'file writable' in certain XP directories.
- Thanks to fvogel and jfg. [Patch 1344540] Modified patch to make use
- of existing use of getSecurityProc.
-
-2006-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Complete missing bit of TIP 215 implementation
- * tests/incr.test:
-
-2006-03-07 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD, as per the
- other *BSD variants. [Bug 1334613]
- * unix/configure: Regenerated.
-
-2006-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Update in prep. for 8.5a4 release.
-
- * unix/Makefile.in: Package http 2.5.2 requires Tcl 8.4, so the
- * win/Makefile.in: *.tm installation has to be placed in an "8.4"
- directory, not an "8.2" directory.
-
-2006-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Revised handling of TCL_EVAL_* flags to
- * tests/parse.test: simplify TclEvalObjvInternal and to correct
- the auto-loading of alias targets (parse-8.12). [Bug 1444291]
-
-2006-03-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Revised yesterday's fix for [Bug 1379287] to
- work on Windows.
-
- * generic/tclObj.c: Compatibility support for existing code that
- calls Tcl_GetObjType("boolean").
-
-2006-03-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fix for failed normalization of paths
- * tests/fileSystem.test: with /../ that lead back to the root
- of the filesystem, like /foo/.. [Bug 1379287]
-
-2006-03-01 Reinhard Max <max@suse.de>
-
- * unix/installManPage: Fix the script for manpages that have quotes
- around the .SH arguments, as doctools produces them. [Bug 1292145]
- Some minor cleanups and improvements.
-
-2006-02-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrections to be sure that TCL_EVAL_GLOBAL
- * tests/namespace.test: evaluations act the same as [uplevel #0]
- * tests/parse.test: evaluations, even when execution traces or
- * tests/trace.test: invocations of [::unknown] are present. [Bug
- 1439836]
-
-2006-02-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrected a few bugs in how [namespace
- * tests/namespace.test: unknown] interacts with TCL_EVAL_* flags.
- [Patch 958222]
-
-2006-02-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORChan.c: Revised error message generation and handling
- * tests/ioCmd.test: of exceptional return codes in the channel
- reflection layer. [Bug 1372348]
-
-2006-02-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIndexObj.c: Disallow the "ambiguous" error message
- * tests/indexObj.test: when TCL_EXACT matching is requested.
- * tests/ioCmd.test:
-
-2006-02-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: Made several routines tolerant of
- * generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662]
- * generic/tclIOUtil.c:
-
-2006-02-09 Don Porter <dgp@users.sourceforge.net>
-
- TIP#215 IMPLEMENTATION
-
- * doc/incr.n: Revised [incr] to auto-initialize when varName
- * generic/tclExecute.c: argument is unset. [Patch 1413115]
- * generic/tclVar.c:
- * tests/compile.test:
- * tests/incr-old.test:
- * tests/incr.test:
- * tests/set.test:
-
- * tests/main.test (Tcl_Main-6.7): Improved robustness of
- command auto-completion test. [Bug 1422736]
-
-2006-02-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Encoding.3, doc/encoding.n: Updates due to review at request of
- Don Porter. Mostly minor changes.
-
-2006-02-08 Don Porter <dgp@users.sourceforge.net>
-
- TIP#258 IMPLEMENTATION
-
- * doc/Encoding.3: New subcommand [encoding dirs].
- * doc/encoding.n: New routine Tcl_GetEncodingNameFromEnvironment
- * generic/tcl.decls: Made public:
- * generic/tclBasic.c: TclGetEncodingFromObj
- * generic/tclCmdAH.c: -> Tcl_GetEncodingFromObj
- * generic/tclEncoding.c:TclGetEncodingSearchPath
- * generic/tclInt.decls: -> Tcl_GetEncodingSearchPath
- * generic/tclInt.h: TclSetEncodingSearchPath
- * generic/tclTest.c: -> Tcl_SetEncodingSearchPath
- * library/init.tcl: Removed commands:
- * tests/cmdAH.test: [tcl::unsupported::EncodingDirs]
- * tests/encoding.test: [testencoding path] (Tcltest)
- * unix/tclUnixInit.c: [Patch 1413934]
- * win/tclWinInit.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2006-02-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c: minor improvements to [apply]
- * tests/apply.test: new tests; apply-5.1 currently fails to indicate
- missing work in error reporting
-
-2006-02-01 Don Porter <dgp@users.sourceforge.net>
-
- TIP#194 IMPLEMENTATION
-
- * doc/apply.n: (New file) New command [apply]. [Patch 944803]
- * doc/uplevel.n:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclProc.c:
- * tests/apply.test: (New file)
- * tests/proc-old.test:
- * tests/proc.test:
-
- TIP#181 IMPLEMENTATION
-
- * doc/Namespace.3: New command [namespace unknown]. New public C
- * doc/namespace.n: routines Tcl_(Get|Set)NamespaceUnknownHandler.
- * doc/unknown.n: [Patch 958222]
- * generic/tcl.decls:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * tests/namespace.test:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- TIP#250 IMPLEMENTATION
-
- * doc/namespace.n: New command [namespace upvar]. [Patch 1275435]
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclVar.c:
- * tests/namespace.test:
- * tests/upvar.test:
-
-2006-01-26 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: Fixed silly bug in example. Thanks to Heiner Marxen
- <heiner.marxen@unsel.de> for catching this! [Bug 1415725]
-
-2006-01-26 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tclUnixChan.c (TclpOpenFileChannel): Tidy up and comment the
- mess to do with setting up serial channels. This (deliberately) breaks
- a broken FreeBSD port, indicates what we're really doing, and reduces
- the amount of conditional compilation sections for better maintenance.
-
-2006-01-25 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when
- to update the FP rounding mode on FreeBSD, taken from FreeBSD port.
-
-2006-01-23 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/string.test (string-12.21): Added test for [Bug 1410553] based
- on original bug report.
-
-2006-01-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclStringObj.c: fixed incorrect handling of internal rep in
- Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553]
-
- * generic/tclProc.c: fixed args handling for precompiled bodies [Bug
- 1412695]; thanks to Uwe Traum.
-
-2006-01-16 Reinhard Max <max@suse.de>
-
- * generic/tclPipe.c (FileForRedirect): Prevent nameString from being
- freed without having been initialized.
- * tests/exec.test: Added a test for the above.
-
-2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from
- core-8-4-branch. A freed pointer has been overwritten causing all
- sorts of coredumps.
-
-2006-01-12 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: fix to sharing violation [Bug 1366227]
-
-2006-01-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Moved Tcl_LogCommandInfo from tclBasic.c to
- * generic/tclNamesp.c: tclNamesp.c to get access to identifier with
- * tests/error.test (error-7.0): file scope. Added check for traces on
- ::errorInfo, and when present fall back to contruction of the stack
- trace in the variable so that write trace notification timings are
- compatible with earlier Tcl releases. This reduces, but does not
- completely eliminate the ***POTENTIAL INCOMPATIBILITY*** created by
- the 2004-10-15 commit. [Bug 1397843]
-
-2006-01-10 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure: add caching, use AC_CACHE_CHECK instead of
- * unix/configure.in: AC_CACHE_VAL where possible, consistent message
- * unix/tcl.m4: quoting, sync relevant tclconfig/tcl.m4 changes
- and gratuitous formatting differences, fix SC_CONFIG_MANPAGES with
- default argument, Darwin improvements to SC_LOAD_*CONFIG.
-
-2006-01-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
- * tests/namespace.test: commands were not reported by [info level].
- [Bug 1400572]
-
-2006-01-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclTrace.c: Stop exporting the guts of the trace command;
- nothing outside this file needs to see it. [Bug 971336]
-
-2006-01-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tcl.m4 (TCL_CONFIG_SYSTEM): Factor out the code to determine
- the operating system version number, as it was replicated in several
- places.
-
-2006-01-04 David Gravereaux <davygrvy@pobox.com>
-
- * win/tclAppInit.c: WIN32 native console signal handler removed. This
- was found to be interfering with TWAPI extension one. IMO, special
- services such as signal handlers should best be done with extensions
- to the core after discussions on c.l.t. about Roy Terry's tclsh
- children of a real windows service shell.
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" ***
- *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/ChangeLog.2008 b/tcl8.6/ChangeLog.2008
deleted file mode 100644
index 9c4e951..0000000
--- a/tcl8.6/ChangeLog.2008
+++ /dev/null
@@ -1,3796 +0,0 @@
-2008-12-31 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Set TCLLIBPATH in SHELL_ENV so that targets
- like `make shell` have access to builds of bundled packages.
-
-2008-12-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (Tcl_ZlibStreamPut): Plug a memory leak.
-
-2008-12-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ZlibStreamCmd): Fix compilation consistency. [Bug
- * generic/tcl.decls: 2470237]
-
- * generic/tclZlib.c (Tcl_ZlibStreamGet): Corrected the semantics of
- this function to be useful to the PNG implementation. If the argument
- object is empty, this gives the previous semantics.
- (Tcl_ZlibStreamChecksum): Corrected name to be less misleading; it
- only produced Adler-32 checksums when the stream was processing the
- right type of compressed data format.
- (Tcl_ZlibAdler32, Tcl_ZlibCRC32): Corrected types so that they work
- naturally with the results of Tcl_GetByteArrayFromObj().
- *** POTENTIAL INCOMPATIBILITY *** for all above changes, but very
- unlikely to be difficult for anyone to deal with.
-
-2008-12-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.decls: Tidy up the commenting style, adding markers for
- each of the big release points under TCT stewardship and noting the
- general purpose of each TIP that added C API. Overall effect is to
- make this file much more informative to read without having to spend
- effort correlating with TIPs and ChangeLogs.
-
-2008-12-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: Fix build of zlib objects with msvc
- * win/tcl.m4:
- * win/configure: autoconf-2.59
-
-2008-12-23 Donal K. Fellows <dkf@users.sf.net>
-
- * win/Makefile.in: Handle file extensions correctly. [Bug 2459725]
-
-2008-12-22 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- *** 8.6b1 TAGGED FOR RELEASE ***
-
- * win/makefile.vc: Ensure pkgs directories are suitable and quote the
- paths. [Bug 2458395]
-
-2008-12-22 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2help2.tcl: Added support for "\(mi" nroff macro. [Bug
- 2330040]
-
-2008-12-22 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Support the pkgs tree in the NMAKE builds.
-
-2008-12-21 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: Fix broken build of bundled packages when path
- to build dir contains spaces by switching to
- relative paths to toplevel build dir.
-
- * unix/configure.in: Preserve configure environment variables for
- sub-configures of bundled packages; reuse
- configure cache file for sub-configures.
-
- * unix/configure: autoconf-2.59
-
-2008-12-21 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/TclZlib.3: Fix minor typo. [Bug 2455165]
-
-2008-12-20 Kevin B. Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Renamed the static library libtcl86s.a to
- * win/configure.in: have a name distinct from the import library
- libtcl86.a. This renaming dodges an ancient
- bug in the Makefile revealed by the last
- commit where the $(TCL_LIB_FILE) rule can
- fire to try to build the static library in a
- --enable-shared build (and create a static
- library that subsequently fails to link).
- Revised the zlib objects so that they are
- built directly into the build dir, without
- building an intermediate static library.
- *** POTENTIAL INCOMPATIBILITY *** for
- embedders who link to the static library, but
- I couldn't figure out how to sort this out
- any other way.
- * win/configure: Autoconf 2.59
-
-2008-12-20 Donal K. Fellows <dkf@users.sf.net>
-
- * win/Makefile.in: Minor updates to make building work better with
- msys on Windows. (Apparently the gcc used doesn't like a / at the end
- of a -I argument...)
-
-2008-12-20 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6b1 release.
-
-2008-12-20 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: Make package install directory of bundled
- * unix/configure.in: packages configurable via PACKAGE_DIR makefile
- variable (set to platform-specific default).
-
- * unix/Makefile.in (*-packages): Ensure toplevel targets fail if
- sub-make/configure fails; fix quoting when
- builddir path contains spaces.
-
- * macosx/GNUmakefile: Add install-packages to install targets.
-
- * unix/configure: autoconf-2.59
-
-2008-12-19 Don Porter <dgp@users.sourceforge.net>
-
- * doc/NRE.3: Formatting errors found by `make html`
- * doc/Tcl_Main.3:
- * doc/zlib.n:
-
- * tests/chanio.test: Add missing [removeFile] cleanups.
- * tests/io.test: Add missing [close $f] to io-73.2.
-
- * unix/Makefile.in: Update `make dist' target to include the files
- from the compat/zlib directory as well as all the bundled packages
- found under the pkgs directory, according to their individual `make
- dist' targets. Change includes breaking a `configure-packages' target
- out of the `packages` target.
-
- * README: Bump version number to 8.6b1
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2008-12-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: CONSTify TclGetLoadedPackages second param
- * generic/tclLoad.c
- * generic/tclIntDecls.h (regenerated)
-
-2008-12-19 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c: Fix compile warnings when --enable-symbols=all
-
- * win/configure.in:
- * win/Makefile.in: Added build of packages in the 'pkgs/' directory.
- * win/configure: Autoconf 2.59
-
-2008-12-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Added build of compat/zlib
-
-2008-12-18 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (Tcl_CloseEx, CloseWrite, CloseChannelPart)
- (ChanCloseHalf): Rewrite the half-close to properly flush the channel,
- like is done for a full close, going through FlushChannel, and using
- the flag BG_FLUSH_SCHEDULED (async flush during close). New functions
- CloseWrite, CloseChannelPart, new flag CHANNEL_CLOSEDWRITE.
-
- * tests/chanio.test (chanio-28.[67]): Reactivated these tests.
- Replaced tclsh -> [interpreter] to get correct executable for the pipe
- process, and added after cancel to kill the fail timers when we are
- done. Removed the explicits calls to [flush], now that [close] handles
- this correctly.
-
-2008-12-18 Don Porter <dgp@users.sourceforge.net>
-
- * tests/chanio.test: Replaced [chan event] handlers that returned
- TCL_RETURN return code, with more conventional ones that return TCL_OK
- to suppress otherwise strange writes of outdated $::errorInfo values
- to stderr. [Bug 2444274]
-
- * generic/tclExecute.c: Disabled apparently faulty assertion. [Bug
- 2415422]
-
-2008-12-18 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/configure.in, unix/Makefile.in: Autoconf wizardry.
- * compat/zlib/*: Import of zlib 1.2.3. The license is directly
- compatible with Tcl's. This import omits the obsolete and contributed
- parts (i.e. selected directories) and the supplied examples.
-
- * generic/tclZlib.c: First implementation of the compressing and
- * doc/zlib.n: decompressing channel transformations.
- * tests/zlib.test (zlib-8.*):
-
-2008-12-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls: VOID -> void
- * generic/tclInt.decls:
- * compat/dlfcn.h:
- * generic/tclDecls.h: (regenerated)
- * generic/tclIntDecls.h:
-
-2008-12-18 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- TIP #332 IMPLEMENTATION - Half-Close for Bidirectional Channels
-
- * doc/close.n, generic/tclIO.c, generic/tclIOCmd.c:
- * unix/tclUnixChan.c, unix/tclUnixPipe.c, win/tclWinSock.c:
- * generic/tcl.decls, generic/tclDecls.h, generic/tclStubInit.c:
- * tests/chan.test, tests/chanio.test, tests/ioCmd.test:
-
-2008-12-17 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/SetChanErr.3: General improvements in nroff rendering and some
- corrections to language issues.
-
-2008-12-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclResult.c: Move variable "length" inside if()
- * generic/tclStringObj.c: Don't use ckfree((void *)...) but
- * generic/tclVar.c: ckfree((char *)...)
- * generic/tclZlib.c
- * generic/tclBasic.c
-
-2008-12-17 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/namespace.test (namespace-28.1): Make tests not
- * tests/namespace-old.test (namespace-old-9.5): dependent on the
- global namespace's particular imports. [Bug 2433936]
-
-2008-12-17 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Modify the distclean-packages target so that
- empty build directories are deleted.
-
- * unix/Makefile.in: Add build support for collections of TEA
- * unix/configure.in: packages found under the pkgs directory.
- [Patch 1163406]. Still needs porting to Windows.
-
- * unix/configure: autoconf-2.59
-
-2008-12-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.h, generic/tclZlib.c: Removed undocumented flag.
-
-2008-12-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclThreadTest.c: Eliminate -Wwrite-strings warnings in
- --enable-threads build.
- * generic/tclExecute.c: Use TclNewLiteralStringObj()
- * unix/tclUnixFCmd.c: Use TclNewLiteralStringObj()
- * win/tclWinFCmd.c: Use TclNewLiteralStringObj()
-
-2008-12-16 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #329 IMPLEMENTATION
-
- * tests/error.test: Tests for the new commands.
- * doc/throw.n, doc/try.n: Documentation of the new commands.
- * library/init.tcl (throw, try): Implementation of commands documented
- in TIP. This implementation is in Tcl and is a stop-gap until
- higher-performance ones can be written.
-
-2008-12-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Add TIP 338 routines to stub table.
- * generic/tcl.decls: [Bug 2431338]
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2008-12-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TEBC:INST_DICT_GET): Make sure that the result
- is empty when generating an error message. [Bug 2431847]
-
-2008-12-15 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclBinary.c: Redefine non-strict decoding to ignore only
- * doc/binary.n: whitespace. [Bug 2380293]
- * tests/binary.test:
-
-2008-12-15 Don Porter <dgp@users.sourceforge.net>
-
- * doc/AddErrInfo.3: Documented Tcl_(Set|Get)ErrorLine (TIP 336).
- * doc/CrtCommand.3: Various other documentation updates to
- * doc/CrtInterp.3: reflect the lack of access to Tcl_Interp
- * doc/Interp.3: fields by default.
- * doc/SetResult.3:
- * doc/tcl.decls:
-
- TIP #338 IMPLEMENTATION
-
- * doc/AppInit.c: Made routines Tcl_SetStartupScript and
- * doc/Tcl_Main.3: Tcl_GetStartupScript public. Removed all
- * generic/tcl.h: internal stub access to Tcl*Startup* routines,
- * generic/tclInt.decls: and removed their implementations. Their
- * generic/tclMain.c: function can now be completely performed with
- the new public interface.
- *** POTENTIAL INCOMPATIBILITY for callers of the internal
- Tcl*Startup* routines. ***
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
-
-2008-12-14 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/zlib.test: Added constraint so that tests don't fail where
- they cannot work due to zlib support being missing.
-
- * unix/configure.in, win/configure.in: Improve the autodetection code.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove the assumption of the presence
- of zlib library on Windows.
- * win/makefile.vc, win/makefile.bc: Add support for building tclZlib.o
- but only in stubbed-out mode for now.
-
-2008-12-13 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/TclZlib.3: Basic documentation of the C-level API.
- * doc/zlib.n: Substantially improve documentation of Tcl-level API.
- * generic/tclZlib.c (ZlibCmd): Flesh out the argument parsing for the
- command to integrate with channels.
-
-2008-12-12 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclZlib.c (Tcl_ZlibInflate): Change PATH_MAX to MAXPATHLEN,
- since MSVC doesn't have PATH_MAX.
-
- * doc/clock.n: Document new DST fallback rules.
- * library/clock.tcl (ProcessPosixTimeZone): Fix time change in Eastern
- Europe (not 3:00 but 4:00 local time). [Bug 2207436]
-
-2008-12-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c, unix/configure.in: Added stubs to use when the
- version of zlib is not capable enough, and automagic to detect when
- that is the case. [Bug 2421265]
-
-2008-12-12 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * unix/tclUnixNotfy.c: Fix missing CLOEXEC on internal pipes [2417695]
- * unix/tclUnixPipe.c: Fix missing CLOEXEC on [chan pipe] fds.
-
-2008-12-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (Tcl_ZlibDeflate): Add a bit of extra space for
- the gzip header. [Bug 2419061]
- (Tcl_ZlibInflate): Ensure that gzip header extraction is done
- correctly.
-
-2008-12-12 Kevin Kenny <kennykb@acm.org>
-
- TIP #322 IMPLEMENTATION
-
- * doc/NRE.3 (new file): Added documentation of the published API for
- Non-Recursive Evaluation (NRE).
-
-2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclZlib.c: Eliminate warning: different 'const' qualifiers
- with msvc compiler. A few more 'const' optimizations.
- * win/tcl.m4: Fix Windows build (msvc) for TIP #234 implementation
- * win/Makefile.in:
- * win/configure:
-
-2008-12-11 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (SetChannelFromAny and related): Modified the
- * tests/io.test: internal representation of the tclChannelType to
- contain not only the ChannelState pointer, but also a reference to
- the interpreter it was made in. Invalidate and recompute the
- internal representation when it is used in a different interpreter,
- like cmdName intrep's. Added testcase. [Bug 2407783]
-
-2008-12-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclZlib.c (ConvertError): Factor out code to turn zlib
- errors into Tcl errors.
-
- * doc/zlib.n: Added a start at the documentation. Still very rough.
-
-2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/Makefile.in: Fix Windows build (mingw) for TIP #234
- implementation (additionally, first make sure that zlib is available,
- and rename the standard zdll.lib to libz.a, but at least this works so
- far).
-
-2008-12-11 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/zlib.test: Start of test suite for zlib command.
-
-2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * library/clock.tcl (ProcessPosixTimeZone): Fallback to European time
- zone DST rules, when the timezone is between 0 and -12. [Bug 2207436]
- * tests/clock.test (clock-52.[23]): Test cases for [Bug 2207436]
-
-2008-12-11 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #234 IMPLEMENTATION
-
- * generic/tclZlib.c: A very preliminary hack at an interface to the
- zlib library, based on code from Pascal Scheffers.
- WARNING! The C API may be subect to change without much warning! USE
- AT YOUR OWN RISK!
-
-2008-12-10 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/*: Update from Olson's tzdata2008i.
-
-2008-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- TIP #343 IMPLEMENTATION - A Binary Specifier for [format/scan]
-
- * doc/format.n
- * doc/scan.n
- * generic/tclInt.h
- * generic/tclScan.c
- * generic/tclStrToD.c
- * generic/tclStringObj.c
- * tests/format.test
- * tests/scan.test
-
-2008-12-10 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #341 IMPLEMENTATION
-
- * generic/tclDictObj.c (DictFilterCmd): Made key and value filtering
- * tests/dict.test, doc/dict.n: accept arbitrary numbers of
- glob arguments.
-
-2008-12-09 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Restore source and binary compatibility for
- TIP #337 implementation. (When it is _that_
- simple, there is no excuse not to do it! :-))
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2008-12-09 Don Porter <dgp@users.sourceforge.net>
-
- TIP #337 IMPLEMENTATION
-
- * doc/BackgdErr.3: Converted internal routine
- * doc/interp.n: TclBackgroundException() into public routine
- * generic/tcl.decls: Tcl_BackgroundException().
- * generic/tclEvent.c:
- * generic/tclInt.decls:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
- * generic/tclIO.c: Update callers.
- * generic/tclIOCmd.c:
- * generic/tclInterp.c:
- * generic/tclTimer.c:
- *** POTENTIAL INCOMPATIBILITY only for extensions using the converted
- internal routine ***
-
-2008-12-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c (ChanClose,ChanRead,...): Factored out some of the
- code to connect to channel drivers that was common in multiple
- locations so as to make code more readable.
-
-2008-12-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (FileTempfileCmd): Force temporary files to be
- created in the native filesystem. Attempting to provide a template
- that puts it elsewhere will result in the directory part of the
- template being ignored. Partial address of [Bug 2388866] concerns.
-
-2008-12-05 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #335 IMPLEMENTATION
-
- * generic/tclBasic.c (Tcl_InterpActive): Added function for working
- * doc/CrtInterp.3: out if an interp is in use.
-
- TIP #307 IMPLEMENTATION
-
- * generic/tclResult.c (Tcl_TransferResult): Renamed function from
- * generic/tcl.decls: TclTransferResult. Added
- * doc/SetResult.3: to public stubs table.
-
-2008-12-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c (Tcl_FSGetNormalizedPath): Added another
- flag value TCLPATH_NEEDNORM to mark those intreps which need more
- complete normalization attention for correct results. [Bug 2385549]
-
-2008-12-03 Donal K. Fellows <dkf@users.sf.net>
-
- * win/tclWinPipe.c (TclpOpenTemporaryFile): Avoid an infinite loop due
- to GetTempFileName/CreateFile interaction. [Bug 2380318]
-
-2008-12-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c (DoGlob): One of the Tcl_FSMatchInDirectory
- calls did not have its return code checked. This caused error messages
- returned by some Tcl_Filesystem drivers to be swallowed.
-
-2008-12-02 Don Porter <dgp@users.sourceforge.net>
-
- TIP #336 IMPLEMENTATION
-
- * generic/tcl.decls: New routines Tcl_(Get|Set)ErrorLine.
- * generic/tcl.h: Dropped default access to interp->errorLine.
- * generic/tclCmdAH.c: Restore it with -DUSE_INTERP_ERRORLINE.
- * generic/tclCmdMZ.c: Updated callers.
- * generic/tclDictObj.c:
- * generic/tclIOUtil.c:
- * generic/tclNamesp.c:
- * generic/tclOOBasic.c:
- * generic/tclOODefinedCmds.c:
- * generic/tclOOMethod.c:
- * generic/tclProc.c:
- * generic/tclResult.c:
- *** POTENTIAL INCOMPATIBILITY for C code directly using the
- interp->errorLine field ***
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2008-12-02 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre
- Ferrieux's first patch for [Bug 2270477] with a gentler version, also
- supplied by him.
-
-2008-12-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c: Coding standards fixups.
-
-2008-12-01 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/cmdAH.test (cmdAH-32.6): Test was not portable; depended on a
- C API function not universally available. [Bug 2371623]
-
-2008-11-30 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (format, ParseClockScanFormat): Added a [string
- map] to get rid of namespace delimiters before caching a scan or
- format procedure. [Bug 2362156]
- * tests/clock.test (clock-64.[12]): Added test cases for the bug that
- was tickled by a namespace delimiter inside a format string.
-
-2008-11-29 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #210 IMPLEMENTATION
-
- * generic/tclCmdAH.c (FileTempfileCmd):
- * unix/tclUnixFCmd.c (TclpOpenTemporaryFile, DefaultTempDir):
- * win/tclWinPipe.c (TclpOpenTemporaryFile):
- * doc/file.n, tests/cmdAH.test: Implementation of [file tempfile]. I
- do not claim that this is a brilliant implementation, especially on
- Windows, but it covers the main points.
-
- * generic/tclThreadStorage.c: General revisions to make code clearer
- and more like the style used in the rest of the core. Includes adding
- more comments and explanation of what is going on. Reduce the amount
- of locking required.
-
-2008-11-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tcl.h: Alternate fix for [Bug 2251175]: missing
- * generic/tclCompile.c: backslash substitution on expanded literals.
- * generic/tclParse.c:
- * generic/tclTest.c:
- * tests/parse.test:
-
-2008-11-26 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIndexObj.c: Eliminate warning: unused variable
- * generic/tclTest.c: A few more (harmless) Tcl_SetResult
- eliminations.
-
-2008-11-26 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tclIndex: Removed reference to no-longer-extant procedure
- 'tclLdAout'.
- * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'.
- [Patch 2114900] thanks to Stuart Cassoff <stwo@users.sf.net>
-
-2008-11-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclIndexObj.c: Eliminate 3 calls to Tcl_SetResult, as
- * generic/tclIO.c: examples how it should have been done.
- * generic/tclTestObj.c: purpose: contribute in the TIP #340
- discussion.
-
-2008-11-25 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre
- Ferrieux's patch for [Bug 2270477] to prevent infinite looping during
- finalization of channels not bound to interpreters.
-
-2008-11-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Don't assume that Tcl_SetResult sets
- interp->result, especially not in a DString test, in preparation for
- TIP #340
-
-2008-11-24 Donal K. Fellows <dkf@users.sf.net>
-
- * tools/tcltk-man2html.tcl: Improvements to tackle tricky aspects of
- cross references and new entities to map. [Bug 2330040]
-
-2008-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclThreadTest.c: Convert Tcl_SetResult(......, TCL_DYNAMIC)
- to Tcl_SetResult(......, TCL_VOLATILE), in preparation for TIP #340
-
-2008-11-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.decls: Fix signature and implementation of
- * generic/tclDecls.h: Tcl_HashStats, such that it conforms to the
- * generic/tclHash.c: documentation. [Bug 2308236]
- * generic/tclVar.c:
- * doc/Hash.3:
- * generic/tclDictObj.c: Convert Tcl_SetResult call to
- Tcl_SetObjResult.
-
-2008-11-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/for.test: Check for uncompiled-for-continue [Bug 2186888]
- fixed earlier.
-
- * generic/tcl.h: Fix [Bug 2251175]: missing backslash
- * generic/tclCompCmds.c: substitution on expanded literals.
- * generic/tclCompile.c
- * generic/tclParse.c
- * generic/tclTest.c
- * tests/compile.test
- * tests/parse.test
-
-2008-11-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclTest.c: Replace two times Tcl_SetResult with
- Tcl_SetObjResult, a little simplification in preparation for the TIP
- #340 patch.
-
-2008-11-13 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Rename static function FSUnloadTempFile to
- * generic/tclIOUtil.c: TclFSUnloadTempFile, needed in tclLoad.c
-
- * generic/tclLoad.c: Fixed [Bug 2269431]: Load of shared
- objects leaves temporary files on windows.
-
-2008-11-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/registry.test: Use HKCU to avoid requiring admin access for
- registry testing on Vista/Server2008
-
-2008-11-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclNamesp.c: Eliminate warning: passing arg 4 of
- Tcl_SplitList from incompatible pointer type.
- * win/tcl.m4: Reverted change from 2008-11-06 (was under the
- impression that "-Wno-implicit-int" added an extra
- warning)
- * win/configure: (regenerated)
- * unix/tcl.m4: Use -O2 as gcc optimization compiler flag, and get rid
- of -Wno-implicit-int for UNIX.
- * unix/configure: (regenerated)
-
-2008-11-10 Andreas Kupries <andreask@activestate.com>
-
- * doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich
- * library/platform/pkgIndex.tcl: Ring <uring@users.sourceforge.net>.
- * library/platform/shell.tcl: Updated the LOCATE command in the
- * library/tm.tcl: package 'platform::shell' to handle the new form
- * unix/Makefile.in: of 'provide' commands generated by tm.tcl. Bumped
- * win/Makefile.in: package to version 1.1.4. Added cross-references
- to the relevant parts of the code to avoid future desynchronization.
-
-2008-11-07 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclInt.h: Applied [Patch 2215022] from Duoas to clean up
- * generic/tclBinary.c: the binary ensemble initiailization code.
- * generic/tclNamesp.c: Extends the TclMakeEnsemble to do
- * doc/ByteArrObj.3: sub-ensembles from tables.
-
-2008-11-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: Add "-Wno-implicit-int" flag for gcc, as on UNIX
- * win/configure: (regenerated)
- * generic/tclIO.c: Eliminate an 'array index out of bounds' warning
- on HP-UX.
-
-2008-11-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclPort.h: Remove the ../win/ header dir as the build system
- already has it, and it confuses builds when used with private headers
- installed.
-
-2008-11-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.h (TCLOO_VERSION): Bump version of TclOO.
-
-2008-10-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOONRUpcatch): Reworked the code that does
- * generic/tclOO.c (InitFoundation): class constructor handling so
- that it is more robust and runs the constructor call in the context of
- the caller of the class's constructor method. Needed because the
- previously used code did not work at all after applying the fix below;
- no Tcl existing command could reliably do what was needed any more.
-
- * generic/tclOODefineCmds.c (GetClassInOuterContext): Rework and
- factor out the code to resolve class names in definitions so that
- classes are resolved from the perspective of the caller of the
- [oo::define] command, rather than from the oo::define namespace! This
- makes much code simpler by reducing how often fully-qualified names
- are required (previously always in practice, so no back-compat issues
- exist). [Bug 2200824]
-
-2008-10-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCompile.h: CONSTify TclDTraceInfo
- * generic/tclBasic.c:
- * generic/tclProc.c:
- * generic/tclEnv.c: Eliminate some -Wwrite-strings warnings
- * generic/tclLink.c:
-
-2008-10-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Use "iso8859-1" and not "identity" as
- the default and original [encoding system] value. Since "iso8859-1" is
- built in to the C source code for Tcl now, there's no availability
- issue, and it has the good feature of "identity" that we must have
- ("bytes in" == "bytes out") without the bad feature of "identity"
- ("broken as designed") that makes us want to abandon it. [RFE 2008609]
- *** POTENTIAL INCOMPATIBILITY for older releases of Tclkit and any
- other code expecting a particular value for Tcl's default system
- encoding ***
-
-2008-10-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: Fixed a failure to read SHOUTcast streams
- with the new 2.7 package. Introduced a new intial state as the first
- response may not be HTTP*.
-
-2008-10-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdAH.c (ForNextCallback): handle TCL_CONTINUE in the for
- body. [Bug 2186888]
-
-2008-10-22 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: CONST -> const and white-spacing
- * generic/tclCompile.h:
- * generic/tclEncoding.c:
- * generic/tclStubInit.c:
- * generic/tclStubLib.c:
- * generic/tcl.decls
- * generic/tclInt.decls
- * generic/tclTomMath.decls
- * generic/tclDecls.h: (regenerated)
- * generic/tclIntDecls.h: (regenerated)
- * generic/tclIntPlatDecls.h: (regenerated)
- * generic/tclOODecls.h: (regenerated)
- * generic/tclOOIntDecls.h: (regenerated)
- * generic/tclPlatDecls.h: (regenerated)
- * generic/tclTomMathDecls.h: (regenerated)
- * generic/tclIntDecls.h: (regenerated)
- * tools/genStubs.tcl: CONST -> const and white-spacing
-
-2008-10-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclProc.c: Reset -level and -code values to defaults
- after they are used. [Bug 2152286]
-
-2008-10-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (TclInfoCoroutineCmd): Added code to make this
- check for being invoked in a syntactically correct way.
-
- * doc/info.n: Added documentation of [info coroutine].
-
- * doc/prefix.n: Improved the documentation by fixing formatting,
- adding good-practice recommendations and cross-references, etc.
-
-2008-10-17 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclOO.decls: CONST -> const.
- * generic/tclOODecls.h: (regenerated)
- * generic/tclOOIntDecls.h: (regenerated)
-
-2008-10-17 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORTrans.c (DeleteReflectedTransformMap): Removed debug
- output in C++ comment.
-
-2008-10-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.h: Declare the internal tclInstructionTable to
- * generic/tclExecute.c: simply be "const", not CONST86.
-
- * generic/tclCmdAH.c: whitespace.
- * generic/tclCmdIL.c: Uninitialized variable warning.
- * generic/tclTest.c: const correctness warning.
-
-2008-10-17 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/*: Many very small formatting fixes.
- * doc/{glob,http,if}.n: More substantial reformatting for clarity.
- * doc/split.n: Remove mention of defunct c.l.t.announce
-
-2008-10-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/regc_locale.c: Add "const" to many internal const tables.
- * generic/tclClock.c: No functional or API change.
- * generic/tclCmdIL.c
- * generic/tclConfig.c
- * generic/tclDate.c
- * generic/tclEncoding.c
- * generic/tclEvent.c
- * generic/tclExecute.c
- * generic/tclFileName.c
- * generic/tclGetDate.y
- * generic/tclInterp.c
- * generic/tclIO.c
- * generic/tclIOCmd.c
- * generic/tclIORChan.c
- * generic/tclIORTrans.c
- * generic/tclLoad.c
- * generic/tclObj.c
- * generic/tclOOBasic.c
- * generic/tclOOCall.c
- * generic/tclOOInfo.c
- * generic/tclPathObj.c
- * generic/tclPkg.c
- * generic/tclResult.c
- * generic/tclStringObj.c
- * generic/tclTest.c
- * generic/tclTestObj.c
- * generic/tclThreadTest.c
- * generic/tclTimer.c
- * generic/tclTrace.c
- * macosx/tclMacOSXFCmd.c
- * win/cat.c
- * win/tclWinInit.c
- * win/tclWinTest.c
-
-2008-10-16 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl: Revised [unknown] so that it carefully
- preserves the state of the ::errorInfo and ::errorCode variables at
- the start of auto-loading and restores that state before the
- autoloaded command is evaluated. [Bug 2140628]
-
-2008-10-15 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.h: Add "const" to many internal const tables, so
- * generic/tclBinary.c: those will be put by the C-compiler in the
- * generic/tclCompile.c: TEXT segment in stead of the DATA segment.
- * generic/tclDictObj.c: This makes those tables sharable in shared
- * generic/tclHash.c: libraries.
- * generic/tclListObj.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * generic/tclRegexp.c:
- * generic/tclStringObj.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2008-10-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdAH.c: Fix minor compiler warnings when compiling
- * generic/tclCmdMZ.c: with -Wwrite-strings.
- * generic/tclIndexObj.c:
- * generic/tclProc.c:
- * generic/tclStubLib.c:
- * generic/tclUtil.c:
- * win/tclWinChan.c:
- * win/tclWinDde.c:
- * win/tclWinInit.c:
- * win/tclWinReg.c:
- * win/tclWinSerial.c:
-
-2008-10-14 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/binary.n: Formatting fix.
-
-2008-10-14 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.6a4
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * generic/tclExecute.c: Fix compile warnings when --enable-symbols=all
-
- * generic/tclCmdIL.c: Fix write to unallocated memory whenever
- [lrepeat] returns an empty list.
-
-2008-10-14 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n, doc/fconfigure.n: Added even more emphatic text to
- direct people to the correct manual pages for specific channel types,
- suitable for the hard-of-reading. Following discussion on tcl-core.
-
-2008-10-13 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the
- thread id variable to 0 as on 64 bit windows this is a pointer sized
- field while windows only fills it with a 32 bit value. The result is
- an inability to join the threads as the ids cannot be matched.
-
- * generic/tclTest.c (TestNRELevels): Set array to the right size.
-
-2008-10-13 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOInfo.c (InfoClassDestrCmd): Handle error case.
-
- * generic/tclOOInt.h: Added macro magic to make things work with
- Objective C. [Bug 2163447]
-
-2008-10-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: Fix bug in srcDelta encoding within ByteCodes.
- The bug can only be triggered under conditions that cannot happen in
- Tcl, but were met during development of L. Thanks go to Robert Netzer
- for diagnosis and fix.
-
-2008-10-10 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6a3 TAGGED FOR RELEASE ***
-
- * changes: Updates for 8.6a3 release.
-
-2008-10-10 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOODefineCmds.c (TclOODefineUnexportObjCmd)
- (TclOODefineExportObjCmd): Corrected export/unexport record synthesis.
- [Bug 2155658]
-
-2008-10-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * unix/tclUnixChan.c: Fix minor compiler warning.
- * unix/tcl.m4: Fix for [Bug 2073255]
- * unix/configure: Regenerated
-
-2008-10-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic (TclInfoCoroutineCmd):
- * tests/unsupported.test: Arrange for [info coroutine] to return {}
- when a coroutine is running but the resume command has been deleted.
- [Bug 2153080]
-
-2008-10-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Corrected handling of errors returned by
- variable traces so that the errorInfo value contains the original
- error message. [Bug 2151707]
-
- * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so
- that error message construction does not disturb an existing
- iPtr->errorInfo that may be in progress.
-
-2008-10-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/binary.n: Added better documentation of the [binary encode] and
- [binary decode] subcommands.
-
-2008-10-07 Miguel Sofer <msofer@users.sf.net>
-
- TIP #327,#328 IMPLEMENTATIONS
-
- * generic/tclBasic.c: Move [tailcall], [coroutine] and
- * generic/tclCmdIL.c: [yield] out of ::tcl::unsupported
- * tclInt.h:
- * tests/info.test: and into global scope: TIPs #327
- * tests/unsupported.test: and #328
-
-2008-10-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n, doc/transchan.n: Documented the channel transformation
- API of TIP #230.
-
-2008-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/winFCmd.test: Fixed some erroneous tests on Vista+.
- * generic/tclFCmd.c: Fix constness for msvc of last commit
-
-2008-10-06 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2tcl.c: Added missing line from patch by Harald Oehlmann.
- [Bug 1934200]
-
-2008-10-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/FileSystem.3: CONSTified Tcl_FSFileAttrStringsProc
- * generic/tclFCmd.c: and tclpFileAttrStrings. This allows
- * generic/tclIOUtil.c: FileSystems to report their attributes
- * generic/tclTest.c: as const strings, without worrying that
- * unix/tclUnixFCmd.c: Tcl modifies them (which Tcl should not
- * win/tclWinFCmd.c: do anyway, but the API didn't indicate that)
- * generic/tcl.decls
- * generic/tclDecls.h: regenerated
- * generic/tcl.h: Make sure that if CONST84 is defined as empty,
- CONST86 should be defined as empty as well
- (unless overridden). This change complies with
- TIP #27
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-05 Kevin B, Kenny <kennykb@acm.org>
-
- * libtommath/bn_mp_sqrt.c (bn_mp_sqrt): Handle the case where a
- * tests/expr.test (expr-47.13): number's square root is
- between n<<DIGIT_BIT and n<<DIGIT_BIT+1. [Bug 2143288]
- Thanks to Malcolm Boffey (malcolm.boffey@virgin.net) for the patch.
-
- TIP #331 IMPLEMENTATION
-
- * doc/lset.n:
- * generic/tclListObj.c (TclLsetFlat):
- * tests/lset.test: Modified the [lset] command so that it allows for
- an index of 'end+1', which has the effect of appending an element to
- the list.
-
-2008-10-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: CONSTified the AuxDataType argument
- * generic/tclCompCmds.c: of TclCreateAuxData and
- * generic/tclCompile.c: TclRegisterAuxDataType and the return
- * generic/tclCompile.h: values of TclGetAuxDataType and
- * generic/tclExecute.c: TclGetInstructionTable
- * generic/tclIntDecls.h: regenerated
- This change complies with TIP #27 (even though it only involves
- internal function, so this is not even necessary).
-
-2008-10-05 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIndexObj.c (TclInitPrefixCmd): Make the [tcl::prefix]
- into an exported command. [Bug 2144595]
-
-2008-10-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (InfoFrameCmd): Improved hygiene of result
- * generic/tclRegexp.c (TclRegAbout): handling.
-
-2008-10-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclLoad.c: Make sure that any library which doesn't have an
- unloadproc is only really unloaded when no library code is executed
- yet. [Bug 2059262]
-
-2008-10-04 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOInfo.c (GetClassFromObj): Factor out the code to parse
- a Tcl_Obj and get a class. Also make result handling hygienic.
- * generic/tclOOBasic.c (TclOOSelfObjCmd): Better hygiene of results,
- and stop allocating quite so much memory by sharing special "method"
- names.
-
-2008-10-04 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/ChnlStack.3: CONSTified the typePtr argument
- * doc/CrtChannel.3: of Tcl_CreateChannel and Tcl_StackChannel
- * generic/tcl.decls: and the return value of Tcl_GetChannelType
- * generic/tcl.h
- * generic/tclIO.h
- * generic/tclIO.c
- * generic/tclDecls.h: regenerated
- This change complies with TIP #27.
-
- * doc/Hash.3: CONSTified the typePtr argument
- * generic/tcl.decls: of Tcl_InitCustomHashTable.
- * generic/tcl.h
- * generic/tclHash.c
- * generic/tclDecls.h: regenerated
- This change complies with TIP #27.
-
- * doc/RegConfig.3: CONSTified the configuration argument
- * generic/tcl.decls: of Tcl_RegisterConfig.
- * generic/tcl.h
- * generic/tclConfig.c
- * generic/tclPkgConfig.c
- * generic/tclDecls.h: regenerated
- This change complies with TIP #27.
-
- * doc/GetIndex.3: CONSTified the tablePtr argument
- * generic/tcl.decls: of Tcl_GetIndexFromObj.
- * generic/tclIndexObj.c
- * generic/tclDecls.h: regenerated
- This change complies with TIP #27.
-
-2008-10-03 Miguel Sofer <msofer@users.sf.net>
-
- * tests/stack.test:
- * unix/tclUnixTest.c: Removed test command teststacklimit and the
- corresponding constraint: it is not needed with NRE
-
-2008-10-03 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #195 IMPLEMENTATION
-
- * generic/tclIndexObj.c (TclGetIndexFromObjList, PrefixMatchObjCmd)
- * doc/prefix.n, tests/string.test: Added [tcl::prefix] command for
- working with prefixes of strings at the Tcl level. [Patch 1040206]
-
- TIP #265 IMPLEMENTATION
-
- * generic/tclIndexObj.c (Tcl_ParseArgsObjv, PrintUsage):
- * generic/tcl.h (Tcl_ArgvInfo): Added function for simple parsing of
- * doc/ParseArgs.3 (new file): optional arguments to commands. Still
- needs tests and the like. [FRQ 1446696] Note that some of the type
- signatures are changed a bit from the proposed implementation so that
- they better reflect codified good practice for argument order.
-
-2008-10-02 Andreas Kupries <andreask@activestate.com>
-
- * tests/info.test (info-23.3): Updated output of the test to handle
- the NRE-enabled eval and the proper propagation of location
- information through it. [Bug 2017632]
-
- * doc/info.n: Rephrased the documentation of 'info frame' for positive
- numbers as level argument. [Bug 2134049]
-
- * tests/info.test (info-22.8): Made pattern for file containing
- tcltest less specific to accept both .tcl and .tm variants of the file
- during matching. [Bug 2129828]
-
-2008-10-02 Don Porter <dgp@users.sourceforge.net>
-
- TIP #330 IMPLEMENTATION
-
- * generic/tcl.h: Remove the "result" and "freeProc" fields
- * generic/tclBasic.c: from the default public declaration of the
- * generic/tclResult.c: Tcl_Interp struct. Code should no longer
- * generic/tclStubLib.c: be accessing these fields. Access can be
- * generic/tclTest.c: restored by defining USE_INTERP_RESULT, but
- * generic/tclUtil.c: that should only be a temporary migration aid.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-02 Joe Mistachkin <joe@mistachkin.com>
-
- * doc/info.n: Fix unmatched font change.
- * doc/tclvars.n: Fix unmatched font change.
- * doc/variable.n: Fix unmatched font change.
- * tools/man2help2.tcl: Integrated patch from Harald Oehlmann.
- [Bug 1934272]
- * tools/man2tcl.c: Increase MAX_LINE_SIZE to fix "Too long line" error.
- * win/buildall.vc.bat: Prefer the HtmlHelp target over the WinHelp
- target. [Bug 2072891]
- * win/makefile.vc: Fix the HtmlHelp and WinHelp targets to not be
- mutually exclusive.
-
-2008-09-29 Don Porter <dgp@users.sourceforge.net>
-
- TIP #323 IMPLEMENTATION (partial)
-
- * doc/glob.n: Revise [glob] to accept zero patterns.
- * generic/tclFileName.c:
- * tests fileName.test:
-
- * doc/linsert.n: Revise [linsert] to accept zero elements.
- * generic/tclCmdIL.c:
- * tests/linsert.test:
-
-2008-09-29 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #326 IMPLEMENTATION
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Added -stride option to carry
- * doc/lsort.n, tests/cmdIL.test: out sorting of lists where the
- elements are grouped. Adapted from [Patch 2082681]
-
- TIP #313 IMPLEMENTATION
-
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Added -bisect option to
- * doc/lsearch.n, tests/lsearch.test: allow the finding of the
- place to insert an element in a sorted list when that element is
- not already there. [Patch 1894241]
-
- TIP #318 IMPLEMENTATION
-
- * generic/tclCmdMZ.c (StringTrimCmd,StringTrimLCmd,StringTrimRCmd):
- Update the default set of trimmed characters to include some from the
- larger UNICODE space. Factor out the default trim set into a macro so
- that it is easier to keep them in synch.
-
-2008-09-28 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #314 IMPLEMENTATION
-
- * generic/tclCompCmds.c (TclCompileEnsemble)
- * generic/tclNamesp.c (NamespaceEnsembleCmd)
- (Tcl_SetEnsembleParameterList, Tcl_GetEnsembleParameterList)
- (NsEnsembleImplementationCmdNR):
- * generic/tcl.decls, doc/Ensemble.3, doc/namespace.n
- * tests/namespace.test: Allow the handling of a (fixed) number of
- formal parameters between an ensemble's command and subcommand at
- invokation time. [Patch 1901783]
-
-2008-09-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Fix the numLevels computations on
- * generic/tclInt.h: coroutine yield/resume
- * tests/unsupported.test:
-
-2008-09-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclFileName.c (Tcl_GetBlock*FromStat): Made this work
- acceptably when working with OSes that don't support reporting the
- block size from the stat() call. [Bug 2130726]
-
- * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Improve the handling of the
- case where the combination of number of elements and repeat count
- causes the resulting list to be too large. [Bug 2130992]
-
-2008-09-26 Don Porter <dgp@users.sourceforge.net>
-
- TIP #323 IMPLEMENTATION (partial)
-
- * doc/lrepeat.n: Revise [lrepeat] to accept both zero
- * generic/tclCmdIL.c: repetitions and zero elements to be repeated.
- * tests/lrepeat.test:
-
- * doc/object.n: Revise standard oo method [my variable] to
- * generic/tclOOBasic.c: accept zero variable names.
- * tests/oo.test:
-
- * doc/tm.n: Revise [tcl::tm::path add] and
- * library/tm.tcl: [tcl::tm::path remove] to accept zero paths.
- * tests/tm.test:
-
- * doc/namespace.n: Revise [namespace upvar] to accept zero
- * generic/tclNamesp.c: variable names.
- * tests/upvar.test:
-
- * doc/lassign.n: Revise [lassign] to accept zero variable names.
- * generic/tclCmdIL.c:
- * tests/cmdIL.test:
-
-2008-09-26 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.h (TCLOO_VERSION): Bump the version.
-
-2008-09-25 Don Porter <dgp@users.sourceforge.net>
-
- TIP #323 IMPLEMENTATION (partial)
-
- * doc/global.n: Revise [global] to accept zero variable names.
- * doc/variable.n: Revise [variable] likewise.
- * generic/tclVar.c:
- * tests/proc-old.test:
- * tests/var.test:
-
- * doc/global.n: Correct false claim about [info locals].
-
-2008-09-25 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #315 IMPLEMENTATION
-
- * tests/platform.test: Update tests to expect revised results
- * tests/safe.test: corresponding to the TIP 315 change.
-
- * unix/tclUnixInit.c, win/tclWinInit.c (TclpSetVariables):
- * doc/tclvars.n (tcl_platform): Define what character is used for
- separating PATH-like lists. Forms part of the tcl_platform array.
-
- * generic/tclOOCall.c (InitCallChain, IsStillValid):
- * tests/oo.test (oo-25.2): Revise call chain cache management so that
- it takes into account class-wide caching correctly. [Bug 2120903]
-
-2008-09-24 Don Porter <dgp@users.sourceforge.net>
-
- TIP #323 IMPLEMENTATION (partial)
-
- * doc/file.n: Revise [file delete] and [file mkdir] to
- * generic/tclCmdAH.c: accept zero "pathname" arguments (the
- * generic/tclFCmd.c: no-op case).
- * tests/cmdAH.test:
- * tests/fCmd.test:
-
-2008-09-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (DBPRINT): Remove obsolete debugging macro.
- [Bug 2124814]
-
- TIP #316 IMPLEMENTATION
-
- * generic/tcl.decls, generic/tclFileName.c (Tcl_GetSizeFromStat, etc):
- * doc/FileSystem.3: Added reader functions for Tcl_StatBuf.
-
-2008-09-23 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Method.3: Corrected documentation. [Patch 2082450]
-
- * doc/lreverse.n, mathop.n, regexp.n, regsub.n: Make sure that the
- initial line of the manpage includes nothing that chokes old versions
- of man. [Bug 2118123]
-
-2008-09-22 Donal K. Fellows <dkf@users.sf.net>
-
- TIP #320 IMPLEMENTATION
-
- * generic/tclOODefineCmds.c (TclOODefineVariablesObjCmd):
- * generic/tclOOInfo.c (InfoObjectVariablesCmd, InfoClassVariablesCmd):
- * generic/tclOOMethod.c (TclOOSetupVariableResolver, etc):
- * doc/define.n, doc/ooInfo.n, benchmarks/cps.tcl:
- * tests/oo.test (oo-26.*): Allow the declaration of the common
- variables used in methods of a class or object. These are then mapped
- in using a variable resolver. This makes many class declarations much
- simpler overall, encourages good usage of variable names, and also
- boosts speed a bit.
-
- * generic/tclOOMethod.c (TclOOGetMethodBody): Factor out the code to
- get the body of a procedure-like method. Reduces the amount of "poking
- inside the abstraction" that is done by the introspection code.
-
-2008-09-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * doc/chan.n: Clean up paragraph order.
-
-2008-09-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (NEXT_INST_F):
- * generic/tclInt.h (TCL_CT_ASSERT): New compile-time assertions,
- adapted from www.pixelbeat.org/programming/gcc/static_assert.html
-
-2008-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Correct the TclGetLongFromObj, TclGetIntFromObj,
- and TclGetIntForIndexM macros so that they retrieve the longValue
- field from the internalRep instead of casting the otherValuePtr field
- to type long.
-
-2008-09-17 Miguel Sofer <msofer@users.sf.net>
-
- * library/init.tcl: Export min and max commands from the mathfunc
- namespace. [Bug 2116053]
-
-2008-09-16 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclParse.c: Move TclResetCancellation to be called on
- returning to level 0, as opposed to it being called on starting a
- substitution at level 0.
-
-2008-09-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Move TclResetCancellation to be called on
- returning to level 0, as opposed to it being called on starting a
- command at level 0. Add a call on returning via Tcl_EvalObjEx to fix
- [Bug 2114165].
-
-2008-09-10 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/binary.n: Added partial documentation of [binary encode] and
- [binary decode].
-
- * tests/binary.test,cmdAH.test,cmdIL.test,cmdMZ.test,fileSystem.test:
- More use of tcltest2 to simplify the tests as exposed to people.
- * tests/compile.test (compile-18.*): Added *some* tests of the
- disassmbler, though not of its output format.
-
-2008-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * tests/nre.test: Add missing constraints; enable test of foreach
- recursion.
-
- * generic/tclBasic.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c (INST_EVAL_STK): Wrong numLevels when evaling a
- canonical list. [Bug 2102930]
-
-2008-09-10 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclListObj.c (Tcl_ListObjGetElements): Make this list->dict
- transformation - encountered when using [foreach] with dicts - not as
- expensive as it was before. Spotted by Kieran Elby and reported on
- tcl-core.
-
-2008-09-08 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/append.test, appendComp.test, cmdAH.test: Use the powers of
- tcltest2 to make these files simpler.
-
-2008-09-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclCompileTokens):
- * generic/tclExecute.c (CompileExprObj): Fix a perf bug (found by Alex
- Ferrieux) where some variables in the LVT where not being accessed by
- index. Fix missing localCache management in compiled expressions found
- while analyzing the bug.
-
-2008-09-07 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n: Fix [Bug 2098441]
-
-2008-09-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclTrace.test (TraceVarProc):
- * generic/unsupported.test: Insure that unset traces are run even when
- the coroutine is unwinding. [Bug 2093947]
-
- * generic/tclExecute.c (CACHE_STACK_INFO):
- * tests/unsupported.test: Restore execEnv's bottomPtr. [Bug 2093188]
-
-2008-09-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Stripped "callers" of the _ANSI_ARGS_ macro
- * compat/dirent2.h: to support a TCL_NO_DEPRECATED build.
- * compat/dlfcn.h:
- * unix/tclUnixPort.h:
-
- * generic/tcl.h: Removed the conditional #define of
- _ANSI_ARGS_ that would support pre-prototype C compilers. Since
- _ANSI_ARGS_ is no longer used in tclDecls.h, it's clear no one
- compiling against Tcl 8.5 headers is making use of a -DNO_PROTOTYPES
- configuration.
-
-2008-09-02 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/socket.test: Rewrote so as to use tcltest2 better.
-
-2008-09-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdAH.c: NRE-enabling [eval]; eval scripts are now
- * generic/tclOOBasic.c: bytecompiled. Adapted recursion limit tests
- * tests/interp.test: that were relying on eval not being
- * tests/nre.test: compiled. Part of the [Bug 2017632] project.
- * tests/unsupported.test:
-
-2008-09-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (InvokeProcedureMethod):
- * generic/tclOO.c (ObjectRenamedTrace): Arrange for only methods that
- involve callbacks into the Tcl interpreter to be skipped when the
- interpreter is being torn down. Allows the semantics of destructors in
- a dying interpreter to be more useful when they're implemented in C.
-
-2008-08-29 Donal K. Fellows <dkf@users.sf.net>
-
- * unix/Makefile.in: Ensure that all TclOO headers get installed.
- * win/Makefile.in: [Bug 2082299]
- * win/makefile.bc:
- * win/makefile.vc:
-
-2008-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.6a3
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2008-08-27 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/tclvars.n, doc/library.n: Ensured that these two manual pages
- properly cross-reference each other. Issue reported on Tcler's Chat.
-
-2008-08-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (InfoCoroutine):
- * tests/unsupported.test: New command that returns the FQN of the
- currently executing coroutine. Lives as infoCoroutine under
- unsupported, but is designed to become a subcommand of [info]
-
-2008-08-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (NRInterpCoroutine): Store the caller's eePtr,
- stop assuming the coroutine is invoked from the same execEnv where it
- was created.
-
-2008-08-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdAH.c (TclNRForeachCmd): Converted the [foreach]
- command to have an NRE-aware non-compiled implementation. Part of the
- [Bug 2017632] project. Also restructured the code so as to manage its
- temporary memory more efficiently.
-
-2008-08-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Removed unused var; fixed function pointer
- * generic/tclOOInt.h: declarations (why did gcc start complaining
- * generic/tclOOMethod.c: all of a sudden?)
- * generic/tclProc.c:
-
-2008-08-23 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (EnsembleImplMap): Added extra field to make it
- * generic/tclNamesp.c (TclMakeEnsemble): easier to build non-recursive
- ensembles in the core.
-
- * generic/tclDictObj.c (DictForNRCmd): Converted the [dict for]
- command to have an NRE-aware non-compiled implementation. Part of the
- [Bug 2017632] project.
-
-2008-08-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c:
- * generic/tclExecute.c: Set special errocodes: COROUTINE_BUSY,
- COROUTINE_CANT_YIELD, COROUTINE_ILLEGAL_YIELD.
-
-2008-08-22 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6a2 TAGGED FOR RELEASE ***
-
- * changes: Updates for 8.6a2 release.
-
- * generic/tcl.h: Drop use of USE_COMPAT85_CONST. That added
- indirection without value. Use -DCONST86="" to engage source compat
- support for code written for 8.5 headers.
-
- * generic/tclUtil.c (TclReToGlob): Added missing set of the
- *exactPtr value to really fix [Bug 2065115]. Also avoid possible
- DString overflow.
- * tests/regexpComp.test: Correct duplicate test names.
-
-2008-08-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Previous fix, now done right.
- * generic/tclCmdIL.c:
- * generic/tclInt.h:
- * tests/unsupported.test:
-
-2008-08-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/regexp.test, tests/regexpComp.test: Correct re2glob ***=
- * generic/tclUtil.c (TclReToGlob): translation from exact
- to anywhere-in-string match. [Bug 2065115]
-
-2008-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Reduced the use of CONST86 and eliminated
- * generic/tcl.decls: the use of CONST86_RETURN to support source
- code compatibility with Tcl 8.5 on those public routines passing
- (Tcl_Filesystem *), (Tcl_Timer *), and (Tcl_Objtype *) values which
- have been const-ified. What remains is the minimum configurability
- needed to support code written for pre-8.6 headers via the new
- -DUSE_COMPAT85_CONST compiler directive.
- *** POTENTIAL INCOMPATIBILITY ***
-
- * generic/tclDecls.h: make genstubs
-
-2008-08-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Fix the cmdFrame level count in
- * generic/tclCmdIL.c: coroutines. Fix small bug on coroutine
- * generic/tclInt.h: rewind.
-
-2008-08-21 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (Tcl_DisassembleObjCmd): Added ability to
- disassemble TclOO methods. The code to do this is very ugly.
-
-2008-08-21 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclOOMethod.c: Added casts to make MSVC happy
- * generic/tclBasic.c:
-
-2008-08-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (AllocObject): Suppress compilation of commands in
- the namespace allocated for each object.
- * generic/tclOOMethod.c (PushMethodCallFrame): Restore some of the
- hackery that makes calling methods of classes fast. Fixes performance
- problem introduced by the fix of [Bug 2037727].
-
- * generic/tclCompile.c (TclCompileScript): Allow the suppression of
- * generic/tclInt.h (NS_SUPPRESS_COMPILATION): compilation of commands
- * generic/tclNamesp.c (Tcl_CreateNamespace): from a namespace or its
- children.
-
-2008-08-20 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclTest.c (TestconcatobjCmd): Fix use of internal-only
- TclInvalidateStringRep macro. [Bug 2057479]
-
-2008-08-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Implementation of [coroutine] and [yield]
- * generic/tclCmdAH.c: commands (in tcl::unsupported).
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * tests/unsupported.test:
-
- * generic/tclTest.c (TestconcatobjCmd):
- * generic/tclUtil.c (Tcl_ConcatObj):
- * tests/util.test (util-4.7):
- Fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into a
- hairy monster. This was exposed by [Bug 2055782]. Additionally,
- Tcl_ConcatObj could corrupt its input under certain conditions!
-
- *** NASTY BUG FIXED ***
-
-2008-08-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Better cmdFrame management
-
-2008-08-14 Don Porter <dgp@users.sourceforge.net>
-
- * tests/fileName.test: Revise new tests for portability to case
- insensitive filesystems.
-
-2008-08-14 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclBasic.c (TclNREvalObjv, Tcl_NRCallObjProc):
- * generic/tclProc.c (TclNRInterpProcCore, InterpProcNR2):
- DTrace probes for NRE. [Bug 2017160]
-
- * generic/tclBasic.c (TclDTraceInfo): Add two extra arguments to
- * generic/tclCompile.h: DTrace 'info' probes for tclOO
- * generic/tclDTrace.d: method & class/object info.
-
- * generic/tclCompile.h: Add support for debug logging of DTrace
- * generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does _not_
- require a platform with DTrace).
-
- * generic/tclCmdIL.c (TclInfoFrame): Check fPtr->line before
- dereferencing as line info may
- not exists when TclInfoFrame()
- is called from a DTrace probe.
-
- * tests/fCmd.test (fCmd-6.23): Made result matching robust when test
- workdir and /tmp are not on same FS.
-
- * unix/tclUnixThrd.c: Remove unused TclpThreadGetStackSize()
- * generic/tclInt.h: and related ifdefs and autoconf tests.
- * unix/tclUnixPort.h: [Bug 2017264] (jenglish)
- * unix/tcl.m4:
-
- * unix/Makefile.in: Ensure Makefile shell is /bin/bash for
- * unix/configure.in (SunOS): DTrace-enabled build on Solaris.
- (followup to 2008-06-12) [Bug 2016584]
-
- * unix/tcl.m4 (SC_PATH_X): Check for libX11.dylib in addition to
- libX11.so et al.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2008-08-13 Miguel Sofer <msofer@users.sf.net>
-
- * tests/nre.test: Added test for large {*}-expansion effects
-
-2008-08-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c: Fix for errors handling -types {}
- * tests/fileName.test: option to [glob]. [Bug 1750300]
- Thanks to Matthias Kraft and George Peter Staplin.
-
-2008-08-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclOOInfo.c (InfoObjectDefnCmd, InfoObjectMixinsCmd):
- Fix # args displayed. [Bug 2048676]
-
-2008-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclOOMethod.c (PushMethodCallFrame): Added missing check
- for bytecode validity. [Bug 2037727]
-
- * generic/tclProc.c (TclProcCompileProc): On recompile of a
- proc, clear away any entries on the CompiledLocal list from the
- previous compile. This will prevent compile of temporary variables in
- the proc body from growing the localCache arbitrarily large.
-
- * README: Bump version number to 8.6a2
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * changes: Updates for 8.6a2 release.
-
-2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: Remove 8.5 requirement.
- * library/http/pkgIndex.tcl:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc:
-
-2008-08-11 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl: Added a 'package provide' command to the generated
- ifneeded scripts of Tcl Modules, for early detection of conflicts
- between the version specified through the file name and a 'provide'
- command in the module implementation, if any. Note that this change
- also now allows Tcl Modules to not provide a 'provide' command at all,
- and declaring their version only through their filename.
-
- * generic/tclProc.c (Tcl_ProcObjCmd): Fixed memory leak triggered by
- * tests/proc.test: procbody::test::proc. See [Bug 2043636]. Added a
- test case demonstrating the leak before the fix. Fixed a few spelling
- errors in test descriptions as well.
-
-2008-08-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/http/http.tcl: Bump http version to 2.7.1 to account
- * library/http/pkgIndex.tcl: for [Bug 2046486] bug fix. This
- * unix/Makefile.in: release of http now requires a
- * win/Makefile.in: dependency on Tcl 8.5 to be able to
- * win/makefile.bc: use the unsigned formats in the
- * win/makefile.vc: [binary scan] command.
-
-2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: CRC field from zlib data should be treated as
- unsigned for 64bit support. [Bug 2046846]
-
-2008-08-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c: Completely removed ProcCompileProc, which was a
- fix for [Bug 1482718]. This is not needed at least since varReform,
- where the local variable data at runtime is read from the CallFrame
- and/or the LocalCache.
-
-2008-08-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Slight cleanup
- * generic/tclCompile.h:
- * generic/tclExecute.c:
-
-2008-08-09 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclExecute.c: Fix warnings.
-
- * generic/tclOOMethod.c (PushMethodCallFrame): Fix uninitialized efi
- name field.
-
- * tests/lrange.test (lrange-1.17): Add test cleanup; whitespace.
-
-2008-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6a2 release.
-
-2008-08-08 Kevin Kenny <kennykb@acm.org>
-
- * library/tzdata/CET:
- * library/tzdata/MET:
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Eirunepe:
- * library/tzdata/America/Rio_Branco:
- * library/tzdata/America/Santarem:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Europe/Belgrade:
- * library/tzdata/Europe/Berlin:
- * library/tzdata/Europe/Budapest:
- * library/tzdata/Europe/Sofia:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2008e.
-
-2008-08-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Fix tailcalls falling out of tebc into
- * generic/tclExecute.c: Tcl_EvalEx. [Bug 2017946]
- * generic/tclInt.h:
-
-2008-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclOO.c: Revised TclOO's check for an interp being
- deleted during handling of object command deletion. The old code was
- relying on documented features of command delete traces that do not in
- fact work. [Bug 2039178]
-
- * tests/oo.test (oo-26.*): Added tests that demonstrate failure
- of TclOO to check for various kinds of invalid bytecode during method
- dispatch. [Bug 2037727]
-
-2008-08-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclLookupSimpleVar): Fix bug that the core could
- not trigger before TclOO: the number of locals was being read from the
- Proc, which can under some circumstance be out of sync with the
- localCache's. Found by dgp while investigating [Bug 2037727].
-
- * library/init.tcl (::unknown): Removed the [namespace inscope]
- hack that was maintained for Itcl
-
- *** POTENTIAL INCOMPATIBILITY *** for Itcl
- Itcl users will need a new release with Itcl's [Patch 2040295], or
- else load the tiny script in that patch by themselves (rewrite
- ::unknown). Note that it is a script-only patch.
-
-2008-08-05 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tclUnixChan.c: Streamline async connect logic [Patch 1994512]
-
-2008-08-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Fix for [Bug 2038069] by dgp.
- * tests/execute.test:
-
-2008-08-04 Miguel Sofer <msofer@users.sf.net>
-
- * tests/nre.test: Added tests for [if], [while] and [for]. A test
- for [foreach] has been added and marked as knownbug, awaiting for it
- to be NR-enabled.
-
- * generic/tclBasic.c: Made atProcExit commands run
- * generic/tclCompile.h: unconditionally, streamlined
- * generic/tclExecute.c: atProcExit/tailcall processing in TEBC.
- * generic/tclProc.c:
- * tests/unsupported.test:
-
-2008-08-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Stopped faulty double-logging of errors to
- * tests/execute.test: stack trace when a compile epoch bump triggers
- fallback to direct evaluation of commands in a compiled script.
- [Bug 2037338]
-
-2008-08-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: New unsupported command atProcExit that
- * generic/tclCompile.h: shares the implementation with tailcall.
- * generic/tclExecute.c: Fixed a segfault in tailcalls. Tests added.
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * tests/unsupported.test:
-
-2008-08-02 Miguel Sofer <msofer@users.sf.net>
-
- * tests/NRE.test (removed): Migrated tests to standard locations,
- * tests/nre.test (new): separating core functionality from the
- * tests/unsupported.test (new): experimental commands.
-
-2008-08-01 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/Exit.3: Do not call Tcl_Finalize implicitly
- * generic/tclEvent.c: on DLL_PROCESS_DETACH as it may lead
- * win/tclWin32Dll.c (DllMain): to issues and the user should be
- explicitly calling Tcl_Finalize before unloading regardless. Clarify
- the docs to note the explicit need in embedded use.
-
-2008-08-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Revised timing of the CmdFrame stack
- * tests/info.test: management in TclEvalEx so that the CmdFrame
- will still be on the stack at the time Tcl_LogCommandInfo is called to
- append another level of -errorinfo information. Sets the stage to add
- file and line data to the stack trace. Added test to check that [info
- frame] functioning remains unchanged by the revision.
-
-2008-07-31 Miguel Sofer <msofer@users.sf.net>
-
- * tests/NRE.test: Replaced all deep-recursing tests by shallower
- tests that actually measure the C-stack depth. This makes them
- bearable again (even under memdebug) and avoid crashing on failure.
-
- * generic/tclBasic.c: NR-enabling [catch], [if] and [for] and
- * generic/tclCmdAH.c: [while] (the script, not the tests)
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclInt.h:
- * tests/NRE.test:
-
- * generic/tclBasic.c: Moved the few remaining defs from tclNRE.h to
- * generic/tclDictObj.c: tclInt.h, eliminated inclusion of tclNRE.h
- * generic/tclExecute.c: everywhere.
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * generic/tclNRE.h (removed):
- * generic/tclNamesp.c:
- * generic/tclOOBasic.c:
- * generic/tclOOInt.h:
- * generic/tclProc.c:
- * generic/tclTest.c:
- * unix/Makefile.in:
-
-2008-07-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Improved tailcalls.
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclTest.c:
- * tests/NRE.test:
-
- * generic/tclBasic.c (TclNREvalObjEx): New comments and code reorg
- to clarify what is happening.
-
- * generic/tclBasic.c: Guard against the value of iPtr->evalFlags
- changing between the times where TEOV and TEOV_exception run. Thanks
- dgp for catching this.
-
-2008-07-29 Miguel Sofer <msofer@users.sf.net>
-
- * tests/NRE.test: New tests that went MIA in the NRE revamping
-
- * generic/tclBasic.c: Clean up
- * generic/tclNRE.h:
- * generic/tclExecute.c:
-
- * generic/tclBasic.c: Made use of the thread's alloc cache stored in
- * generic/tclInt.h: the ekeko at interp creation to avoid hitting
- * generic/tclNRE.h: the TSD each time an NRE callback is pushed or
- * generic/tclThreadAlloc.c: pulled; the approach is suitably general
- to extend to every other obj allocation where an interp is know; this
- is left for some other time, requires a lot of grunt work.
-
- * generic/tclExecute.c: Fix [Bug 2030670] that cause TclStackRealloc
- to panic on rare corner cases. Thx ajpasadyn for diagnose and patch.
-
- * generic/tcl.decls: Completely revamped NRE implementation, with
- * generic/tclBasic.c: (almost) unchanged API.
- * generic/tclCompile.h:
- * generic/tclExecute.c: TEBC will require a bit of a facelift, but
- * generic/tclInt.decls: TEOV at least looks great now. There are new
- * generic/tclInt.h: tests (incomplete!) to verify that execution
- * generic/tclInterp.c: is indeed in the same TEBC instance, at the
- * generic/tclNRE.h: same level in all stacks involved. Tailcalls
- * generic/tclNamesp.c: are still a bit leaky, still deserving to be
- * generic/tclOOBasic.c: in tcl::unsupported.
- * generic/tclOOMethod.c:
- * generic/tclProc.c: Uninit'd var warnings in TEBC with -O2, no
- * generic/tclTest.c: warnings otherwise.
-
-2008-07-28 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/FileSystem.3: CONSTified many functions using
- * generic/tcl.decls: Tcl_FileSystem which all are supposed
- * generic/tclDecls.h: to be a constant, but this was not
- * generic/tclFileSystem.h: reflected in the API: Tcl_FSData,
- * generic/tclIOUtil.c: Tcl_FSGetInternalRep, Tcl_FSRegister,
- * generic/tclPathObj.c: Tcl_FSNewNativePath, Tcl_FSUnregister,
- * generic/tclTest.c: Tcl_FSGetFileSystemForPath ...
- This change complies with TIP #27.
- ***POTENTIAL INCOMPATIBILITY***
-
-2008-07-28 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: Added missing ref count when creating an empty
- string as path (TclEvalEx). In 8.4 the missing code caused panics in
- the testsuite. It doesn't in 8.5. I am guessing that the code path
- with the missing the incr-refcount is not invoked any longer. Because
- the bug in itself is certainly the same.
-
-2008-07-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (PushMethodCallFrame): Remove hack that should
- have gone when this code was merged into Tcl.
-
-2008-07-27 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/Object.3: CONSTified 3 functions using Tcl_ObjType
- * doc/ObjectType.3: which all are supposed to be a constant, but
- * generic/tcl.decls: this was not reflected in the API:
- * generic/tcl.h: Tcl_RegisterObjType, Tcl_ConvertToType,
- * generic/tclDecls.h: Tcl_GetObjType
- * generic/tclObj.c: Introduced a CONST86_RETURN, so extensions
- * generic/tclCompCmds.c: which use Tcl_ObjType directly can be
- * generic/tclOOMethod.c: modified to compile against both Tcl 8.5 and
- * generic/tclTestobj.c: Tcl 8.6. tclDecls.h regenerated
- This change complies with TIP #27.
- ***POTENTIAL INCOMPATIBILITY***
-
-2008-07-25 Andreas Kupries <andreask@activestate.com>
-
- * test/info.test: More work on singleTestInterp usability. [1605269]
-
- * tests/info.test: Tests 38.* added, exactly testing the tracking of
- location for uplevel scripts. Resolved merge conflict on info-37.0,
- switched !singleTestInterp constraint to glob matching instead. Ditto
- info-22.8, removed constraint, more glob matching, and reduced the
- depth of the stack we check. More is coming, right now I want to
- commit the bug fixes.
-
- * tests/oo.test: Updated oo-22.1 for expanded location tracking.
-
- * generic/tclCompile.c (TclInitCompileEnv): Reorganized the
- initialization of the #280 location information to match the flow in
- TclEvalObjEx to get more absolute contexts.
-
- * generic/tclBasic.c (TclEvalObjEx): Added missing cleanup of extended
- location information.
-
-2008-07-25 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/info.test (info-37.0): Add !singleTestInterp constraint;
- (info-22.8, info-23.0): switch to glob matching to avoid sensitivity
- to tcltest.tcl line number changes, remove knownBug constraint, fix
- expected result. [Bug 1605269]
-
-2008-07-24 Jan Nijtmans <nijtmans@users.sf.net>
-
- * doc/Notifier.3: CONSTified 4 functions in the Notifier which
- * doc/Thread.3: all have a Tcl_Time* in it which is supposed
- * generic/tcl.decls: to be a constant, but this was not reflected
- * generic/tcl.h: reflected in the API:
- * generic/tclDecls.h: Tcl_SetTimer, Tcl_WaitForEvent,
- * generic/tclNotify.c: Tcl_ConditionWait, Tcl_SetMaxBlockTime
- * macosx/tclMacOSXNotify.c:
- * generic/tclThread.c: Introduced a CONST86, so extensions which have
- * unix/tclUnixNotfy.c: have their own Notifier (are there any?) can
- * unix/tclUnixThrd.c: can be modified to compile against both Tcl
- * win/tclWinNotify.c: Tcl 8.5 and Tcl 8.6
- * win/tclWinThrd.c: Regenerated tclDecls.h with "make stubs".
- This change complies with TIP #27
- ***POTENTIAL INCOMPATIBILITY***
-
-2008-07-23 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * tests/lrange.test: Added relative speed test to check for lrange
- in-place optimization committed 2008-06-30.
- * tests/binary.test: Added relative speed test to check for pure byte
- array CONCAT1 optimization committed 2008-06-30.
-
-2008-07-23 Andreas Kupries <andreask@activestate.com>
-
- * tests/info.test: Reordered the tests to have monotonously increasing
- numbers.
-
- * generic/tclBasic.c: Modified TclArgumentGet to reject pure lists
- * generic/tclCmdIL.c: immediately, without search. Reworked setup of
- * generic/tclCompile.c: eoFramePtr, doesn't need the line information,
- * tests/info.test: more sensible to have everything on line 1 when
- eval'ing a pure list. Updated the users of the line information to
- special case this based on the frame type (i.e.
- TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new
- behaviour.
-
-2008-07-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (GetCommandSource): Added comment with
- explanation and warning for waintainers.
-
-2008-07-22 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCompile.c: Made the new TclEnterCmdWordIndex static, and
- * generic/tclCompile.h: ansified.
-
- * generic/tclBasic.c: Ansified the new functions. Added missing
- function comments.
-
- * generic/tclBasic.c: Reworked the handling of bytecode literals for
- * generic/tclCompile.c: #280 to fix the abysmal performance for deep
- * generic/tclCompile.h: recursion, replaced the linear search through
- * generic/tclExecute.c: the whole stack with another hashtable and
- * generic/tclInt.h: simplified the data structure used by the compiler
- by using an array instead of a hashtable. Incidentially this also
- fixes the memory leak reported via [Bug 2024937].
-
-2008-07-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Added numLevels field to CommandFrame, let
- * generic/tclExecute.c: GetCommandSource use it. This solves [Bug
- * generic/tclInt.h: 2017146]. Thx dgp for the analysis.
-
-2008-07-21 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: Extended the existing TIP #280 system (info
- * generic/tclCmdAH.c: frame), added the ability to track the absolute
- * generic/tclCompCmds.c: location of literal procedure arguments, and
- * generic/tclCompile.c: making this information available to uplevel
- * generic/tclCompile.h: eval, and siblings. This allows proper
- * generic/tclInterp.c: tracking of absolute location through custom
- * generic/tclInt.h: (Tcl-coded) control structures based on uplevel,
- * generic/tclNamesp.c: etc.
- * generic/tclProc.c:
- * tests/info.test:
-
-2008-07-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/*.c: Fix [2021443] inconsistant "wrong # args" messages
- * win/tclWinReg.c
- * win/tclWinTest.c
- * tests/*.test
-
-2008-07-21 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- TIP #304 IMPLEMENTATION
-
- * generic/tcl.decls: Public API
- * generic/tclIOCmds.c: Generic part
- * unix/tclUnixPipe.c: OS part
- * win/tclWinPipe.c: OS part
- * tests/chan.test: [chan pipe] tests
- * tests/ioCmd.test: Modernized checks
- * tests/ioTrans.test:
-
-2008-07-21 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclFCmd.c: Inodes on windows are unreliable. [Bug 2015723]
- * tests/winFCmd.test: test rename with inode collision
-
-2008-07-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.decls: Changed the implementation of
- * generic/tclBasic.c: [namespace import]; removed
- * generic/tclDecls.h: Tcl_NRObjProc, replaced with
- * generic/tclExecute.c: Tcl_NRCmdSwap (proposed public
- * generic/tclInt.h: NRE API). This should fix
- * generic/tclNRE.h: [Bug 582506].
- * generic/tclNamesp.c:
- * generic/tclStubInit.c:
-
- * generic/tclBasic.c: NRE: enabled calling NR commands
- * generic/tclExecute.c: from the callbacks. Completely
- * generic/tclInt.h: redone tailcall implementation
- * generic/tclNRE.h: using the new feature. [Bug 2021489]
- * generic/tclProc.c:
- * tests/NRE.test:
-
-2008-07-20 Kevin B. Kenny <kenykb@acm.org>
-
- * tests/fileName.test: Repaired the failing test fileName-15.7 from
- dkf's commit earlier today.
-
-2008-07-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (SetDictFromAny): Make the list->dict
- transformation a bit more efficient; modern dicts are ordered and so
- we can round-trip through lists without needing the string rep at all.
- * generic/tclListObj.c (SetListFromAny): Make the dict->list
- transformation not lossy of internal representations and hence more
- efficient. [Bug 2008248] (ajpasadyn) but using a more efficient patch.
-
- * tests/fileName.test: Revise to reduce the obscurity of tests. In
- particular, all tests should now produce informative messages on
- failure and the quantity of [catch]-based obscurity is now greatly
- reduced; non-erroring is now checked for directly.
-
-2008-07-19 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/env.test: Add LANG to the list of variables that are not
- touched by the environment variable tests, so that subprocesses can
- get their system encoding correct.
-
- * tests/exec.test, tests/env.test: Rewrite so that non-ASCII
- characters are not used in the final comparison. Part of fixing [Bug
- 1513659].
-
-2008-07-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Optimization: replace calls to
- * generic/tclDictObj.c: Tcl_NRAddCallback with the macro
- * generic/tclExecute.c: TclNRAddCallback.
- * generic/tclInterp.c:
- * generic/tclNRE.h:
- * generic/tclNamesp.c:
- * generic/tclOO.c:
- * generic/tclOOBasic.c:
- * generic/tclOOCall.c:
- * generic/tclOOInt.h:
- * generic/tclOOMethod.c:
- * generic/tclProc.c:
-
-2008-07-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (TclNRNewObjectInstance, FinalizeAlloc):
- * generic/tclOOBasic.c (TclOO_Class_Create, TclOO_Class_CreateNs)
- (TclOO_Class_New, FinalizeConstruction, AddConstructionFinalizer):
- NRE-enablement of the class construction methods.
-
-2008-07-18 Miguel Sofer <msofer@users.sf.net>
-
- * tests/NRE.test: Added basic tests for deep TclOO calls
-
- * generic/tcl.decls: Change the public api prefix from
- * generic/tcl.h: TclNR_foo to Tcl_NRfoo
- * generic/tclBasic.c:
- * generic/tclDecls.h:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
- * generic/tclInterp.c:
- * generic/tclNRE.h:
- * generic/tclNamesp.c:
- * generic/tclOO.c:
- * generic/tclOOBasic.c:
- * generic/tclOOCall.c:
- * generic/tclOOMethod.c:
- * generic/tclProc.c:
- * generic/tclStubInit.c:
-
-2008-07-18 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOBasic.c (TclOO_Object_Eval, FinalizeEval): NRE-enable
- the oo::object.eval method.
-
-2008-07-18 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclDictObj.c (DictWithCmd, DictUpdateCmd): Fix refcounting
- bugs that caused crashes [Bug 2017857].
-
- * generic/tclBasic.c (TclNREvalObjEx): Streamline the management of
- the command frame (opt).
-
-2008-07-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictWithCmd, FinalizeDictWith): Split the
- implementation of [dict with] so that it works with NRE.
- (DictUpdateCmd, FinalizeDictUpdate): Similarly for the non-compiled
- version of [dict update].
-
-2008-07-16 George Peter Staplin <georgeps@users.sf.net>
-
- * win/tclWinThrd.c: Test for TLS_OUT_OF_INDEXES to make certain that
- thread key creation is successful.
-
-2008-07-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c, generic/tclOOInt.h, generic/tclOOBasic.c:
- * generic/tclOOCall.c, generic/tclOOMethod.c: NRE-enable the TclOO
- implementation in Tcl. No change to public APIs, except that method
- implementations can now be NRE-aware if they choose (which normal
- methods and forwards are). On the other hand, callers of
- TclOOInvokeObject (which is only in the internal stub table) will need
- to deal with the fact that it's only safe to call inside an NRE-aware
- context.
- ***POTENTIAL INCOMPATIBILITY***
-
-2008-07-15 Miguel Sofer <msofer@users.sf.net>
-
- * tests/NRE.test: Better constraint for testing the existence of
- * tests/stack.test: teststacklimit, to insure that the test suite
- runs under tclsh.
-
- * generic/tclParse.c: Fixing incomplete reversion of "fix" for [Bug
- 2017583], missing TclResetCancellation call.
-
-2008-07-15 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (Tcl_CancelEval): Fix blunder. [Bug 2018603]
-
- * doc/DictObj.3: Fix error in example. [Bug 2016740]
-
- * generic/tclNamesp.c (EnsembleUnknownCallback): Factor out some of
- the more complex parts of the ensemble code to make it easier to
- understand and hence to permit tighter compilation of code on the
- critical path.
-
-2008-07-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c: Reverting the "fix" for [Bug 2017583], numLevel
- * tests/parse.test: management and TclInterpReady check seems to be
- necessary after all.
-
-2008-07-14 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (TclNRApplyObjCmd, TclObjInterpProcCore):
- * generic/tclBasic.c (TclNR_AddCallback, TclEvalObjv_NR2):
- * generic/tclNRE.h (TEOV_callback): Change the callback storage type
- to use an array, so guaranteeing correct inter-member spacing and
- memory layout.
-
-2008-07-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Remove unneeded TclInterpReady calls
- * generic/tclParse.c:
-
- * generic/tclBasic.c.: Embedded Tcl_Canceled() calls into
- * generic/tclExecute.c: TclInterpReady().
- * generic/tclParse.c:
-
- * generic/tclVar.c: Fix error message
-
- * generic/tclParse.c: Remove unnecessary numLevel management
- * tests/parse.test: [Bug 2017583]
-
- * generic/tclBasic.c.: NRE left too many calls to
- * generic/tclExecute.c: TclResetCancellation lying around: it
- * generic/tclProc.c: only needs to be called prior to any
- iPtr->numLevels++. Thanks mistachkin.
-
- * generic/tclBasic.c: TclResetCancellation() calls were misplaced
- (merge mishap); stray //. Thanks patthoyts.
-
- * generic/tclInt.h: The new macros TclSmallAlloc and TclSmallFree
- were badly defined under mem debugging [Bug 2017240] (thx das)
-
-2008-07-13 Miguel Sofer <msofer@users.sf.net>
-
- NRE implementation [Patch 2017110]
-
- * generic/tcl.decls: The NRE infrastructure
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclCmdAH.c:
- * generic/tclCompile.h:
- * generic/tclDecls.h:
- * generic/tclExecute.c:
- * generic/tclHistory.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclNRE.h:
- * generic/tclStubInit.c:
- * unix/Makefile.in:
-
- * generic/tclInterp.c: NRE-enabling: procs, lambdas, uplevel,
- * generic/tclNamesp.c: same-interp aliases, ensembles, imports
- * generic/tclProc.c: and namespace_eval.
-
- * generic/tclTestProcBodyObj.c: New NRE specific tests (few, but
- * tests/NRE.test: note that the thing is actually
- tested by the whole testsuite.
-
- * tests/interp.test: Fixed numLevel counting.
- * tests/parse.test:
- * tests/stack.test:
-
- * unix/configure: Removing support for the hacky nonportable
- * unix/configure.in: stack check: it is not needed anymore, Tcl
- * unix/tclConfig.h.in: is very thrifty on the C stack.
- * unix/tclUnixInit.c:
- * unix/tclUnixTest.c:
- * win/tclWin32Dll.c:
-
-2008-07-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclGet.c: Corrected out of date comments and removed
- * generic/tclInt.decls: internal routine TclGetLong() that's no
- longer used. If an extension is using this from the internal stubs
- table, it can shift to the public routine Tcl_GetLongFromObj() or
- can request addition of a public Tcl_GetLong().
- ***POTENTIAL INCOMPATIBILITY***
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2008-07-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/CrtInterp.3: Tighten up the descriptions of behaviour to make
- this page easier to read for a "Tcl 8.6" audience.
-
-2008-07-07 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting
- the interp result found by Don Porter.
-
-2008-07-07 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/regexp.n, doc/regsub.n: Correct examples. [Bug 1982642]
-
-2008-07-06 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/lindex.n: Improve examples.
-
-2008-07-03 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (InvokeTclMethod): Fixed the memory leak
- reported in [Bug 1987821]. Thanks to Miguel for the report and Don
- Porter for tracking the cause down.
-
-2008-07-03 Don Porter <dgp@users.sourceforge.net>
-
- * library/package.tcl: Removed [file readable] testing from
- [tclPkgUnknown] and friends. We find out soon enough whether a file is
- readable when we try to [source] it, and not testing before allows us
- to workaround the bugs on some common filesystems where [file
- readable] lies to us. [Patch 1969717]
-
-2008-07-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/regc_nfa.c (duptraverse): Impose a maximum stack depth on
- the single most recursive part of the RE engine. The actual maximum
- may need tuning, but that needs a system with a small stack to carry
- out. [Bug 1905562]
-
- * tests/string.test: Eliminate non-ASCII characters from the actual
- test script. [Bug 2006884]
-
-2008-06-30 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/ObjectType.3: Clean up typedef formatting.
-
-2008-06-30 Don Porter <dgp@users.sourceforge.net>
-
- * doc/ObjectType.3: Updated documentation of the Tcl_ObjType
- struct to match expectations of Tcl 8.5. [Bug 1917650]
-
-2008-06-30 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-
- * generic/tclCmdIL.c: Lrange cleanup and in-place optimization. [Patch
- 1890831]
-
- * generic/tclExecute.c: Avoid useless String conversion for CONCAT1 of
- pure byte arrays. [Patch 1953758]
-
-2008-06-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/*.1, doc/*.3, doc/*.n: Many small updates, purging out of date
- change bars and cleaning up the formatting of typedefs. Added a few
- missing bits of documentation in the process.
-
-2008-06-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanks
- to Rolf Ade for detecting.
-
-2008-06-29 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/interp.n: Corrected order of subcommands. [Bug 2004256]
- Removed obsolete (i.e. 8.5) .VS/.VE pairs.
-
- * doc/object.n (EXAMPLES): Fix incorrect usage of oo::define to be
- done with oo::objdefine instead. [Bug 2004480]
-
-2008-06-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanks
- to Rolf Ade for detecting and Dan Steffen for the fix. [Bug 2004654]
-
-2008-06-26 Andreas Kupries <andreask@activestate.com>
-
- * unix/Makefile.in: Followup to my change of 2008-06-25, make code
- generated by the Makefile and put into the installed tm.tcl
- conditional on interpreter safeness as well. Thanks to Daniel Steffen
- for reminding me of that code.
-
-2008-06-25 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.6a1 TAGGED FOR RELEASE ***
-
- * changes: Updates for 8.6a1 release.
-
- * generic/tclOO.h: Bump to TclOO 0.5.
-
-2008-06-25 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl: Modified the handling of Tcl Modules and of the
- * library/safe.tcl: Safe Base to interact nicely with each other,
- * library/init.tcl: enabling requiring Tcl Modules in safe
- * tests/safe.test: interpreters. [Bug 1999119]
-
-2008-06-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: Fix versions of dde and registry dlls
- * win/makefile.vc: Fix problem building with staticpkg option
-
-2008-06-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fixed some internals management in the "path"
- Tcl_ObjType for the empty string value. Problem led to a crash in the
- command [glob -dir {} a]. [Bug 1999176]
-
-2008-06-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * doc/fileevent.n: Fix examples and comment on eof use. [Bug 1995063]
-
-2008-06-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fixed bug in Tcl_GetTranslatedPath() when
- operating on the "Special path" variant of the "path" Tcl_ObjType
- intrep. A full normalization was getting done, in particular, coercing
- relative paths to absolute, contrary to what the function of producing
- the "translated path" is supposed to do. [Bug 1972879]
-
-2008-06-20 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6a1 release.
-
- * generic/tclInterp.c: Fixed completely boneheaded mistake that
- * tests/interp.test: [interp bgerror $slave] and [$slave bgerror]
- would always act like [interp bgerror {}]. [Bug 1999035]
-
- * tests/chanio.test: Corrected flawed tests revealed by a -debug 1
- * tests/cmdAH.test: -singleproc 1 test suite run.
- * tests/event.test:
- * tests/interp.test:
- * tests/io.test:
- * tests/ioTrans.test:
- * tests/namespace.test:
-
- * tests/encoding.test: Make failing tests pass again. [Bug 1972867]
-
-2008-06-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (Tcl_ObjectContextInvokeNext): Corrected 'next' (at
- * tests/oo.test (oo-7.8): end of a call chain) to make it
- * doc/next.n: consistent with the TIP. [Bug 1998244]
-
- * generic/tclOOCall.c (AddSimpleClassChainToCallContext): Make sure
- * tests/oo.test (oo-14.8): that class mixins are processed in the
- documented order. [Bug 1998221]
-
-2008-06-19 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.6a1 release.
-
- * README: Bump version number to 8.6a1
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2008-06-17 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclClock.c (ClockConvertlocaltoutcObjCmd): Removed left
- over debug output.
-
-2008-06-17 Andreas Kupries <andreask@activestate.com>
-
- * doc/tm.n: Followup to changelog entry 2008-03-18 regarding
- ::tcl::tm::Defaults. Updated the documentation to not only mention the
- new (underscored) form of environment variable names, but make it the
- encouraged form as well. [Bug 1914604]
-
-2008-06-17 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclClock.c (ConvertLocalToUTC):
- * tests/clock.test (clock-63.1): Fixed a bug where the internal
- ConvertLocalToUTC command segfaulted if passed a dictionary without
- the 'localSeconds' key. To the best of my knowledge, the bug was not
- observable in the [clock] command itself.
-
-2008-06-16 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclCmdIL.c (TclInfoFrame): Moved the code looking up the
- * tests/info.test: information for key 'proc' out of the
- TCL_LOCATION_BC branch to after the switch, this is common to all
- frame types. Updated the testsuite to match. This was exposed by the
- 2008-06-08 commit (Miguel), switching uplevel from direct eval to
- compilation. [Bug 1987851]
-
-2008-06-16 Andreas Kupries <andreask@activestate.com>
-
- * tests/ioTrans.test (iortrans-11.*): Fixed same issue as for
- iortrans.tf-11.*, cleanup of temp file, making this a followup to the
- entry on 2008-06-10 by myself.
-
-2008-06-13 David Gravereaux <davygrvy@pobox.com>
-
- * win/rules.vc: SYMBOLS macro is now being set to zero when $(OPTS) is
- not available.
- * win/makefile.vc: The Stubs source files (tclStubLib.c and
- tclOOStubLib.c) should not be compiled with the -GL flag.
-
-2008-06-13 Joe Mistachkin <joe@mistachkin.com>
-
- TIP #285 IMPLEMENTATION
-
- * doc/Eval.3: Added documentation for the Tcl_CancelEval and
- Tcl_Canceled functions and the TCL_CANCEL_UNWIND flag bit.
- * doc/after.n: Corrected the spelling of 'canceled' in the
- documentation.
- * doc/interp.n: Added documentation for [interp cancel].
- * generic/tcl.decls: Added the Tcl_CancelEval and Tcl_Canceled
- functions to the stubs table.
- * generic/tcl.h: Added the TCL_CANCEL_UNWIND flag bit.
- * generic/tclBasic.c: The bulk of the script cancellation
- functionality is defined here. Added code to initialize and manage the
- script cancellation hash table in a thread-safe manner. Reset script
- cancellation flags prior to increasing the nesting level (if the
- nesting level is currently zero) and always cooperatively check for
- script cancellation near the start of TclEvalObjvInternal and after
- invoking async handlers.
- * generic/tclDecls.h: Regenerated.
- * generic/tclEvent.c: Call TclFinalizeEvaluation during finalization
- to cleanup the script cancellation hash table. During [vwait], always
- cooperatively check for script cancellation. Corrected the spelling of
- 'canceled' in comments to be consistent with the documentation.
- * generic/tclExecute.c: Reset script cancellation flags prior to
- increasing the nesting level (if the nesting level is currently zero)
- and always cooperatively check for script cancellation after invoking
- async handlers. Prevent [catch] from catching script cancellation when
- the TCL_CANCEL_UNWIND flag is set (similar to the manner used by TIP
- 143 when a limit has been exceeded).
- * generic/tclInt.decls: Added TclResetCancellation to the internal
- stubs table.
- * generic/tclInt.h: Added asyncCancel and asyncCancelMsg fields to the
- private Interp structure. Added private interp flag value CANCELED to
- help control script cancellation.
- * generic/tclIntDecls.h: Regenerated.
- * generic/tclInterp.c (Tcl_InterpObjCmd): Added [interp cancel]
- subcommand.
- * generic/tclNotify.c (Tcl_DeleteEventSource): Corrected the spelling
- of 'canceled' in comments to be consistent with the documentation.
- * generic/tclParse.c: Reset script cancellation flags prior to
- * generic/tclProc.c: increasing the nesting level (if the nesting
- level is currently zero) and cooperatively check for script
- cancellation prior to evaluating commands.
- * generic/tclStubInit.c: Regenerated.
- * generic/tclThreadTest.c (Tcl_ThreadObjCmd): Added script
- cancellation support ([testthread cancel]).
- Modified [testthread id] to allow querying of the 'main' thread ID.
- Corrected comments to reflect the actual command syntax. Made
- [testthread wait] cooperatively check for script cancellation. Added
- [testthread event] to allow for processing one pending event without
- blocking.
- * generic/tclTimer.c: Delay for a maximum of 500 milliseconds prior to
- checking for async handlers and script cancellation.
- * tests/cmdAH.test: Changed [interp c] to [interp create].
- * tests/interp.test: Added and fixed tests for [interp cancel].
- * tests/thread.test: Added tests for script cancellation via
- [testthread cancel].
- * tools/man2help2.tcl: Fixed problems with WinHelp target (see
- * tools/man2tcl.c: [Bug 1934200], [Bug 1934265], and [Bug 1934272]).
- * win/makefile.vc: Added 'pdbs' option for Windows build rules to
- * win/rules.vc: allow for non-debug builds with full symbols.
- * win/tcl.hpj.in: Corrected version for WinHelp target.
- * win/tclWinNotify.c: Used SleepEx and WaitForSingleObjectEx on
- * win/tclWinThrd.c: Windows because they are alertable.
-
-2008-06-12 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: Add complete deps on tclDTrace.h.
-
- * generic/tclOO.c: Use TclOOStubs hooks field to retrieve
- * generic/tclOODecls.h: TclOOIntStubs pointer. [Bug 1980953]
- * generic/tclOOIntDecls.h:
- * generic/tclOOStubInit.c:
- * generic/tclOOStubLib.c:
-
- * generic/tclIORTrans.c: Fix signed <-> unsigned cast warnings.
-
- * unix/Makefile.in: Clean generated tclDTrace.h file.
- * unix/configure.in (SunOS): Fix static DTrace-enabled build.
-
- * unix/tcl.m4 (SunOS-5.11): Fix 64bit amd64 support with gcc & Sun cc.
- * unix/configure: autoconf-2.59
-
- * macosx/Tcl.xcodeproj/project.pbxproj: Add tclIORTrans.c; updates and
- cleanup for Xcode 3.1/Leopard.
- * macosx/Tcl.xcode/project.pbxproj: Sync Tcl.xcodeproj changes.
- * macosx/README: Document new build configs.
-
-2008-06-10 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension
- when converting incomplete UTF-8 sequences. See [Bug 1908443] for
- details.
-
-2008-06-10 Andreas Kupries <andreask@activestate.com>
-
- * tests/ioTrans.test (iortrans.tf-6.1): Fixed the [Bug 1988552],
- reported by Kevin. Have to close the channel before removal of the
- file. Fixed same bug in test 'iortrans.tf-11.0', after fixing missing
- cleanup of the file in 'iortrans.tf-11.*'. Lastly fixed the names of
- the threaded tests 'iortrans-8.*' to the correct 'iortrans.tf-8.*'.
-
-2008-06-09 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIORTrans.c (ReflectInput): Fixed a bug triggered by Pat
- Thoyts <patthoyts@users.sourceforge.net>. Reset the EOF flag after
- draining the Tcl level into the result buffer, to make sure that the
- result buffer will be drained as well by repeated calls to
- ReflectInput should it contain more than one buffer-full of data.
- Without that reset the higher I/O system will not call on ReflectInput
- anymore due to the assumed EOF, thus losing the data which did not fit
- in the buffer of the call which caused the eof and drain.
-
-2008-06-09 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOCall.c (TclOOGetSortedMethodList): Plug memory leak
- that occurred when all methods were hidden. [Bug 1987817]
-
-2008-06-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Compilation of uplevel scripts, allow
- * generic/tclCompCmds.c: non-body compiled scripts to access the
- * generic/tclCompile.c: LVT (but not to extend it) and enable the
- * generic/tclCompile.h: canonical list opt to sidestep the
- * generic/tclExecute.c: compiler. [Patch 1973096]
- * generic/tclProc.c:
- * tests/uplevel.test:
-
-2008-06-06 Andreas Kupries <andreask@activestate.com>
-
- TIP #230 IMPLEMENTATION
-
- * generic/tclIOCmd.c: Integration of transform commands into 'chan'
- ensemble.
- * generic/tclInt.h: Definitions of the transform commands.
- * generic/tclIORTrans.c: Implementation of the reflection transforms.
- * tests/chan.test: Tests updated for new sub-commands of 'chan'.
- * tests/ioCmd.test: Tests updated for new sub-commands of 'chan'.
- * tests/ioTrans.test: Whole new set of tests for the reflection
- transform.
- * unix/Makefile.in: Integration of new files into build rules.
- * win/Makefile.in: Integration of new files into build rules.
- * win/makefile.vc: Integration of new files into build rules.
-
- NOTE: The file 'tclIORTrans.c' has a lot of code in common with the
- file 'tclIORChan.c', as that made it much easier to develop the
- reference implementation as a separate module. Now that the
- transforms have been committed the one thing left to do is to go
- over both modules and see which of the common parts we can
- factor out and share.
-
-2008-06-04 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclBinary.c: TIP #317 implementation
- * tests/binary.test:
-
-2008-06-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclOO.c (ReleaseClassContents): Fix the one remaining
- valgrind complaint about oo.test, caused by failing to protect the
- Object as well as the Class corresponding to a subclass being deleted
- and hence getting a freed-memory read when attempting to delete the
- class command. [Bug 1981001]
-
-2008-06-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOOMethod.c (Tcl_NewMethod): Complete the fix of [Bug
- 1981001], previous fix was incomplete though helpful in telling me
- where to look.
-
-2008-06-01 Joe Mistachkin <joe@mistachkin.com>
-
- * win/Makefile.in: Add tclOO genstubs to Windows makefiles and remove
- * win/makefile.vc: -DBUILD_tcloo because it is no longer required.
-
-2008-06-01 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclOODecls.h: Added the swizzling of DLLEXPORT and
- * generic/tclOOIntDecls.h: DLLIMPORT needed to make EXTERN work.
-
- * generic/tclDictObj.c: Added missing initializers to the ensemble
- map to silence a compiler warning. Thanks to
- George Peter Staplin for the report.
-
- * generic/tclOOMethod.c: Fix a bug where the refcount of a method was
- reset if the method was redefined while there
- was an active invocation. [Bug 1981001]
-
-2008-06-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.decls, unix/Makefile.in (genstubs): Make generation of
- stub tables correct.
- * generic/tclOO{Decls.h,IntDecls.h,StubInit.c,StubLib.c}: Fixes to
- make the generation work correctly, removing subtle differences
- between output of different versions of stub generator.
-
-2008-06-01 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclOOStubLib.c: Ensure use of tcl stubs; include in
- * unix/Makefile.in: stub lib; disable broken tclOO
- genstubs
-
- * generic/tclOO.c: Make tclOO stubs tables 'static const'
- * generic/tclOODecls.h: and stub table pointers MODULE_SCOPE
- * generic/tclOOIntDecls.h: (change generated files manually
- * generic/tclOOStubInit.c: pending genstubs support for tclOO).
- * generic/tclOOStubLib.c:
-
- * generic/tclOO.c: Fix warnings for 'int<->ptr
- * generic/tclOOCall.c: conversion' and 'signed vs unsigned
- * generic/tclOOMethod.c: comparison'.
-
- * tests/msgcat.test: Fix for ::tcl::mac::locale with @modifier.
-
- * tools/tsdPerf.tcl: Use [info sharedlibextension]
-
- * unix/tclConfig.h.in: autoheader-2.59
-
- * macosx/Tcl.xcodeproj/project.pbxproj: Add new tclOO files; add debug
- * macosx/README: configs with corefoundation
- disabled and with gcov; update
- to Xcode 3.1.
-
-2008-05-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclOO.c (InitFoundation): Correct reference counting for
- strings used when creating the constructor for classes.
- * generic/tclOOMethod.c (TclOODelMethodRef): Correct fencepost error
- in reference counting of method implementation structures.
- * tests/oo.test (oo-0.5): Added a test to detect a memory leak problem
- relating to disposal of the core object system.
-
- TIP#257 IMPLEMENTATION
-
- * generic/tclBasic.c, generic/tclOOInt.h: Correct declarations.
- * win/Makefile.in, win/makefile.bc, win/makefile.vc: Build support for
- Win32, from Joe Mistachkin. [Patch 1980861]
-
- * generic/tclOO*, doc/*, tests/oo.test: Port of implementation of
- TclOO to sit directly inside Tcl. Note that this is incomplete (e.g.
- no build support yet for Windows).
-
-2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/io.test (io-53.9): Need to close chan before removing file.
-
-2008-05-26 Donal K. Fellows <dkf@users.sf.net>
-
- * win/makefile.bc: Remove deprecated winhelp target.
- * win/Makefile.in, win/makefile.vc: It didn't work correctly anyway.
-
-2008-05-23 Andreas Kupries <andreask@activestate.com>
-
- * win/tclWinChan.c (FileWideSeekProc): Accepted a patch by Alexandre
- Ferrieux <ferrieux@users.sourceforge.net> to fix the [Bug 1965787].
- 'tell' now works for locations > 2 GB as well instead of going
- negative.
-
- * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by
- * tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside of
- the supported range are now clipped to nearest boundary instead of
- ignored.
-
-2008-05-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c (Tcl_LogCommandInfo): Restored ability to
- handle the argument value length = -1. Thanks to Chris Darroch for
- discovering the bug and providing the fix. [Bug 1968245]
-
-2008-05-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (ParseComment): The new TclParseAllWhiteSpace
- * tests/parse.test (parse-15.60): routine has no mechanism to
- return the "incomplete" status of "\\\n" so calling this routine
- anywhere that can be reached within a Tcl_ParseCommand() call is a
- mistake. In particular, ParseComment() must not use it. [Bug 1968882]
-
-2008-05-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNamesp.c (Tcl_SetNamespaceUnknownHandler): Corrected odd
- logic for handling installation of namespace unknown handlers which
- could lead too very strange things happening in the error case.
-
-2008-05-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: Fix crash with tcl_traceExec. Found and fixed
- by Alexander Pasadyn. [Bug 1964803]
-
-2008-05-15 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: We should use the thread allocator for threaded
- * win/rules.vc: builds. Added 'tclalloc' option to disable.
-
-2008-05-09 George Peter Staplin <georgeps@xmission.com>
-
- * tools/tsdPerf.c: A loadable Tcl extension for testing TSD
- performance.
- * tools/tsdPerf.tcl: A simplistic tool that uses the thread
- extension and tsdPerf.so to get some performance metrics by,
- simulating, simple TSD contention.
-
-2008-05-09 George Peter Staplin <georgeps@xmission.com>
-
- * generic/tcl.h: Make Tcl_ThreadDataKey a void *.
- * generic/tclInt.h: Change around some function names and add some
- new per-platform declarations for thread-specific data functions.
- * generic/tclThread.c: Make use of of the new function names that no
- longer have a Tclp prefix.
- * generic/tclThreadStorage.c: Replace the core thread-specific data
- (TSD) mechanism with an array offset solution that eliminates the hash
- tables, and only uses one slot of native TSD. Many thanks to Kevin B.
- Kenny for his help with this.
-
- * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by
- * win/tclWinThrd.c: tclThreadStorage.c.
-
-2008-05-09 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/dict.test (dict-19.2): Corrected a bug where the test was
- changed to use [apply] instead of a temporary proc, but the cleanup
- script still attempted to delete the temporary proc.
-
-2008-05-07 Donal K. Fellows <dkf@cspool38.cs.man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix silly off-by
- one error that caused a crash every time a compiled 'dict append' with
- more than one argument was used. Found by Colin McCormack.
-
-2008-05-02 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclBasic.c: Converted the [binary] command into an
- * generic/tclBinary.c: ensemble.
- * generic/tclInt.h:
- * test/binary.test: Updated the error tests for ensemble errors.
-
- * generic/tclFileName.c: Reverted accidental commit of TIP 316 APIs.
-
-2008-04-27 Donal K. Fellows <dkf@users.sf.net>
-
- * */*.c: A large tranche of getting rid of pre-C89-isms; if your
- compiler doesn't support things like proper function declarations,
- 'void' and 'const', borrow a proper one when building Tcl. (The header
- files allow building things that link against Tcl with really ancient
- compilers still; the requirement is just when building Tcl itself.)
-
-2008-04-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclAsync.c: Tcl_AsyncDelete(): panic if attempt to locate
- handler token fails. Happens when some other thread attempts to delete
- somebody else's token.
-
- Also, panic early if we find out the wrong thread attempting to delete
- the async handler (common trap). As, only the one that created the
- handler is allowed to delete it.
-
-2008-04-24 Andreas Kupries <andreask@activestate.com>
-
- * tests/ioCmd.test: Extended testsuite for reflected channel
- implementation. Added test cases about how it handles if the rug is
- pulled out from under a channel (= killing threads, interpreters
- containing the tcl command for a channel, and channel sitting in a
- different interpreter/thread.)
-
- * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases,
- redone most of the cleanup and exit handling.
-
-2008-04-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Removed all code delimited by
- * generic/tclTest.c: USE_OBSOLETE_FS_HOOKS, completing
- * tests/ioCmd.test: the deprecation path for these
- * tests/ioUtil.test (removed): obsolete interfaces. (Code was active
- in Tcl 8.4, present but enabled only by customized compile switch in
- Tcl 8.5, and now completely gone for Tcl 8.6). Also removed all tests
- relevant only to the removed interfaces.
-
-2008-04-19 George Peter Staplin <georgeps@xmission.com>
-
- * doc/Ensemble.3: Fix a typo: s/defiend/defined/
- Thanks to hat0 for spotting this.
-
-2008-04-16 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: Make stubs tables 'static const' and
- * generic/tclStubInit.c: export only module-scope pointers to
- * generic/tclStubLib.c: the main stubs tables (for package
- * tools/genStubs.tcl: initialization). [Patch 1938497]
- * generic/tclBasic.c (Tcl_CreateInterp):
- * generic/tclTomMathInterface.c (TclTommath_Init):
-
- * generic/tclInt.h: Revise Tcl_SetNotifier() to use a
- * generic/tclNotify.c: module-scope hooks table instead of
- * generic/tclStubInit.c: runtime stubs-table modification;
- * macosx/tclMacOSXNotify.c: ensure all hookable notifier functions
- * win/tclWinNotify.c: check for hooks; remove hook checks in
- * unix/tclUnixNotfy.c: notifier API callers. [Patch 1938497]
-
-2008-04-15 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CopyData): Applied another patch by Alexandre
- * io.test (io-53.8a): Ferrieux <ferrieux@users.sf.net>,
- * chanio.test (chan-io-53.8a): to shift EOF handling to the async
- part of the command if a callback is specified, should the channel be
- at EOF already when fcopy is called. Testcase by myself.
-
-2008-04-15 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: Adjust tclDTrace.h dependencies for removal
- of tclStubLib.o from TCL_OBJS. [Bug 1942795]
-
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclUnixTime.c (NativeGetTime): Removed obsolete use of
- 'struct timezone' in the call to 'gettimeofday'. [Bug 1942197]
-
- * tests/clock.test (clock-33.5, clock-33.5a, clock-33.8, clock-33.8a):
- Added comments to the test that it can fail on a heavily loaded
- system.
-
-2008-04-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Keeping check for negative
- values, changed to not be an error, but behave like the special value
- -1 (copy all, default).
-
- * tests/iocmd.test (iocmd-15.{12,13}): Removed.
-
- * tests/io.test (io-52.5{,a,b}): Reverted last change, added
- * tests/chanio.test (chan-io-52.5{,a,b}): comment regarding the
- meaning of -1, added two more testcases for other negative values,
- and input wrapped to negative.
-
-2008-04-09 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/{fCmd,unixFCmd,winFCmd,winFile}.test: Tidying up of the test
- suite to make better use of tcltest2 and be clearer about what is
- being tested.
-
- * win/Makefile.in (html): Added target for doing convenient
- documentation builds, mirroring the one from unix/Makefile.
-
-2008-04-09 Andreas Kupries <andreask@activestate.com>
-
- * tests/chanio.test (chan-io-52.5): Removed '-size -1' from test,
- * tests/io.test (io-52.5): does not seem to have any bearing, and was
- an illegal value. Test case is not affected by the value of -size,
- test flag restoration and that evrything was properly copied.
-
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Added checking of -size value
- * tests/ioCmd.test (iocmd-15.{13,14}): to reject negative values, and
- values overflowing 32-bit signed. Basic patch by Alexandre Ferrieux
- <ferrieux@users.sourceforge.net>, with modifications from me to
- separate overflow from true negative value. Extended testsuite. [Bug
- 1557855]
-
-2008-04-09 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/chanio.test (chan-io-53.8,53.9,53.10): Fix typo & quoting for
- * tests/io.test (io-53.8,53.9,53.10): spaces in builddir path
-
-2008-04-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Added comments to the alignment macros used in
- GrowEvaluationStack() and friends.
-
-2008-04-08 Daniel Steffen <das@users.sourceforge.net>
-
- * tools/genStubs.tcl: Revert erroneous 2008-04-02 change marking
- *StubsPtr as EXTERN instead of extern.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclTomMathDecls.h:
-
-2008-04-07 Andreas Kupries <andreask@activestate.com>
-
- * tests/io.test (io-53.10): Testcase for bi-directional fcopy.
- * tests/chanio.test:
- * generic/tclIO.c: Additional changes to data structures for fcopy and
- * generic/tclIO.h: channels to perform proper cleanup in case of a
- channel having two background copy operations running as is now
- possible.
-
- * generic/tclIO.c (BUSY_STATE, CheckChannelErrors, TclCopyChannel):
- New macro, and the places using it. This change allows for
- bi-directional fcopy on channels. Thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for the patch. [Bug 1350564]
-
-2008-04-07 Reinhard Max <max@suse.de>
-
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): Fix [format {% d}]
- so that it behaves the same way as in 8.4 and as C's printf().
- * tests/format.test: Add a test for '% d' and '%+d'.
-
-2008-04-05 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinFile.c: (WinSymLinkDirectory): Fixed a problem that Tcl
- was creating an NTFS junction point (IO_REPARSE_TAG_MOUNT_POINT) but
- filling in the union member for a Vista symbolic link. We had gotten
- away with this error because the union member
- (SymbolicLinkReparseBuffer) was misdefined in this file and in the
- 'winnt.h' in early versions of MinGW. MinGW 3.4.2 has the correct
- definition of SymbolicLinkReparseBuffer, exposing the mismatch, and
- making tests cmdAH-19.4.1, fCmd-28.*, and filename-11.* fail.
- * tests/chanio.test (chan-io-53.9):
- * tests/io.test (io-53.9): Made test cleanup robust against the
- possibility of slow process shutdown on Windows.
-
- * win/tcl.m4: Added -D_CRT_SECURE_NO_DEPRECATE and
- -DCRT_NONSTDC_NO_DEPRECATE to the MSVC compilation flags so that the
- compilation doesn't barf on perfectly reasonable Posix system calls.
- * win/configure: Manually patched (don't have the right autoconf to
- hand).
-
-2008-04-04 Andreas Kupries <andreask@activestate.com>
-
- * tests/io.test (io-53.9): Added testcase for [Bug 780533], based
- * tests/chanio.test: on Alexandre's test script. Also fixed problem
- with timer in preceding test, was not canceled properly in the ok case
-
-2008-04-04 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (ReflectOutput): Allow zero return from write
- when input was zero-length anyway. Otherwise keept it an error, and
- separate the message from 'written too much'.
-
- * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed message.
-
- * generic/tclIORChan.c (ReflectClose): Added missing removal of the
- now closed channel from the reflection map. Before we could crash the
- system by invoking 'chan postevent' on a closed reflected channel,
- dereferencing the dangling pointer in the map.
-
- * tests/ioCmd.test (iocmd-31.8): Testcase for the above.
-
-2008-04-03 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to
- * tests/io.test: prevent fcopy from calling -command synchronously
- * tests/chanio.test: the first time. Thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for report and patch.
-
-2008-04-02 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.decls: Remove 'export' declarations of symbols now
- only in libtclstub and no longer in libtcl.
-
- * generic/tclStubLib.c: Make symbols in libtclstub.a MODULE_SCOPE to
- * tools/genStubs.tcl: avoid exporting them from libraries that link
- with -ltclstub; constify tcl*StubsPtr and stub
- table hook pointers. [Bug 1819422]
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTomMathDecls.h:
-
-2008-04-02 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (CopyData): Applied patch for fcopy problem [Bug
- 780533], with many thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for tracking it down and providing a
- solution. Still have to convert his test script into a proper test
- case.
-
-2008-04-01 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclStrToD.c: Applied patch for [Bug 1839067] (fp rounding
- * unix/tcl.m4: setup on solaris x86, native cc), provided by
- Michael Schlenker.
-
-2008-04-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStubLib.c: Removed needless #ifdef complexity.
-
- * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.
- * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
-
- * README: Bump version number to 8.6a0
- * generic/tcl.h:
- * library/init.tcl:
- * macosx/Tcl-Common.xcconfig:
- * macosx/Tcl.pbproj/default.pbxuser:
- * macosx/Tcl.pbproj/project.pbxproj:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README:
- * win/configure.in:
- * win/makefile.bc:
- * win/tcl.m4:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * generic/tclBasic.c: Revised stubs-generation tool and interp
- * tools/genStubs.tcl: creation so that "tclStubsPtr" is not present
- * unix/Makefile.in: in libtcl.so, but is present only in
- * win/Makefile.in: libtclstub.a. This tightens up the rules for
- * win/makefile.bc: users of the stubs interfaces. [Bug 1819422]
- * win/makefile.vc:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclTomMathDecls.h:
-
-2008-03-30 Kevin Kenny <kennykb@acm.org>
-
- * generic/tclInt.h (TclIsNaN):
- * unix/configure.in: Added code to the configurator to check for a
- standard isnan() macro and use it if one is
- found. This change avoids bugs where the test of
- ((d) != (d)) is optimized away by an
- overaggressive compiler. [Bug 1783544]
- * generic/tclObj.c: Added missing #include <math.h> needed to locate
- isnan() after the above change.
-
- * unix/configure: autoconf-2.61
-
- * tests/mathop.test (mathop-25.9, mathop-25.14): Modified tests to
- deal with (slightly buggy) math libraries in which pow() returns an
- incorrectly rounded result. [Bug 1808174]
-
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5.2 TAGGED FOR RELEASE ***
-
- * generic/tcl.h: Bump to 8.5.2 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * changes: Updated for 8.5.2 release.
-
-2008-03-28 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/fCmd.test: Substantial rewrite to use many more tcltest
- features. Great reduction in quantity of [catch] gymnastics. Several
- buggy tests fixed, including one where the result of the previous test
- was being checked!
-
-2008-03-27 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Marigot:
- * library/tztata/America/St_Barthelemy:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/Asia/Ho_Chi_Minh:
- * library/tzdata/Asia/Kolkata: (new files)
- * library/tzdata/America/Caracas:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Santiago:
- * library/tzdata/America/Argentina/Buenos_Aires:
- * library/tzdata/America/Argentina/Catamarca:
- * library/tzdata/America/Argentina/Cordoba:
- * library/tzdata/America/Argentina/Jujuy:
- * library/tzdata/America/Argentina/La_Rioja:
- * library/tzdata/America/Argentina/Mendoza:
- * library/tzdata/America/Argentina/Rio_Gallegos:
- * library/tzdata/America/Argentina/San_Juan:
- * library/tzdata/America/Argentina/Tucuman:
- * library/tzdata/America/Argentina/Ushuaia:
- * library/tzdata/Asia/Baghdad:
- * library/tzdata/Asia/Calcutta:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Saigon:
- * library/tzdata/Pacific/Easter:
- Changes up to and including Olson's tzdata2008b.
-
-2008-03-27 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (SunOS-5.1x): Fix 64bit support for Sun cc. [Bug
- 1921166]
-
- * unix/configure: autoconf-2.59
-
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.2 release.
-
-2008-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclBinary.c: [Bug 1923966] - crash in binary format
- * tests/binary.test: Added tests for the above crash condition.
-
-2008-03-21 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/switch.n: Clarified documentation in respect of two-argument
- invokation. [Bug 1899962]
-
- * tests/switch.test: Added more tests of regexp-mode compilation of
- the [switch] command. [Bug 1854435]
-
-2008-03-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.h, generic/tclThreadAlloc.c: Tidied up the declarations
- of Tcl_GetMemoryInfo so that it is always defined. Will panic when
- called against a Tcl that was previously built without it at all,
- which is OK because that also indicates a serious mismatch between
- memory configuration options.
-
-2008-03-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tcl.h, generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Make
- sure this function is available when direct linking. [Bug 1868171]
-
- * tests/reg.test (reg-33.14): Marked nonPortable because some
- environments have small default stack sizes. [Bug 1905562]
-
-2008-03-18 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::UnknownHandler): Changed 'source' to
- 'source -encoding utf-8'. This fixes a portability problem of Tcl
- Modules pointed out by Don Porter. By using plain 'source' we were at
- the mercy of 'encoding system', making modules less portable than they
- could be. The exact scenario: A writes a TM in some weird encoding
- which is A's system encoding, distributes it, and somewhere else it
- cannot be read/used because the system encoding is different. Forcing
- the use of utf-8 makes the module portable.
-
- ***INCOMPATIBILITY*** for all Tcl Modules already written in non-utf-8
- compatible encodings.
-
-2008-03-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Patch from Miguel Sofer to correct the
- alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
-
-2008-03-18 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::Defaults): Modified handling of
- environment variables. Solution slightly different than proposed in
- the report. Using the underscored form TCLX_y_TM_PATH even if
- TCLX.y_TM_PATH exists. Also using a loop to cut prevent code
- replication. [Bug 1914604]
-
-2008-03-16 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictForCmd): Correct the handling
- of stack space calculation (the jump pattern used was confusing the
- simple-minded code doing the calculations). [Bug 1903325]
-
- * doc/lreplace.n: Clarified documentation of what happens with
- negative indices. [Bug 1905809] Added example, tidied up formatting.
-
-2008-03-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (OldMathFuncProc): Same workaround protection
- from bad TclStackAlloc() alignment. Thanks George Peter Staplin.
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Use ckalloc() to allocate
- SortElement arrays instead of TclStackAlloc() which isn't getting
- alignment right. Workaround for [Bug 1914503].
-
-2008-03-14 Reinhard Max <max@suse.de>
-
- * generic/tclTest.c: Ignore the return value of write() when we are
- * unix/tclUnixPipe.c: about to exit anyways.
-
-2008-03-13 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure.in: Use backslash-quoting instead of double-quoting
- * unix/tcl.m4: for lib paths in tclConfig.sh. [Bug 1913622]
- * unix/configure: autoconf-2.59
-
-2008-03-13 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.2 release.
-
- * generic/tclStrToD.c: Resolve identifier conflict over "pow10" with
- libm in Cygwin and DJGPP. Thanks to Gordon Schumacher and Philip
- Moore. [Patch 1800636]
-
-2008-03-12 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1
- * macosx/Tcl.xcodeproj/default.pbxuser: CODE_SIGN_IDENTITY and
- * macosx/Tcl-Common.xcconfig: 'xcodebuild install'.
-
-2008-03-12 Andreas Kupries <andreask@activestate.com>
-
- * doc/info.n: Replaced {expand} with {*}.
-
-2008-03-12 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in (install-libraries): Bump http to 2.7
- * win/Makefile.in (install-libraries): Added -myaddr option to allow
- * library/http/http.tcl (http::geturl): control of selected socket
- * library/http/pkgIndex.tcl: interface. [Bug 559898]
- * doc/http.n, tests/http.test: Added -keepalive and
- -protocol 1.1 with chunked transfer encoding support. [Bug 1063703,
- 1470377, 219225] (default keepalive is 0)
- Added ability to override Host in -headers. [Bug 928154]
- Added -strict option to control URL validation on per-call basis.
- [Bug 1560506]
-
-2008-03-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl (http::geturl): Add -method option to support
- * tests/http.test (http-3.1): http PUT and DELETE requests.
- * doc/http.n: [Bug 1599901, 862554]
-
- * library/http/http.tcl: Whitespace changes, code cleanup. Allow http
- to be re-sourced without overwriting http state.
-
-2008-03-11 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclEncoding.c (LoadEscapeEncoding): Avoid leaking escape
- sub-encodings, fixes encoding-11.1 failing after iso2022-jp loaded.
- [Bug 1893053]
-
- * macosx/tclMacOSXNotify.c: Avoid using CoreFoundation after fork() on
- Darwin 9 even when TclpCreateProcess() uses vfork().
-
- * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1 and
- * macosx/Tcl.xcodeproj/default.pbxuser: configs for building with
- * macosx/Tcl-Common.xcconfig: gcc-4.2 and llvm-gcc-4.2.
-
- * unix/tclUnixPort.h: Workaround vfork() problems in
- llvm-gcc-4.2.1 -O4 build.
-
- * unix/tclUnixPort.h: Move MODULE_SCOPE compat
- define to top. [Bug 1911102]
-
- * macosx/GNUmakefile: Fix quoting to allow paths
- * macosx/Tcl-Common.xcconfig: to ${builddir} and
- * unix/Makefile.in: ${INSTALL_ROOT} to contain
- * unix/configure.in: spaces.
- * unix/install-sh:
- * unix/tcl.m4:
- * tests/ioCmd.test:
-
- * unix/configure: autoconf-2.59
-
- * unix/Makefile.in (install-strip): Strip non-global symbols from
- dynamic library.
-
- * unix/tclUnixNotfy.c: Fix warning.
-
- * tests/exec.test (exec-9.7): Reduce timing sensitivity
- * tests/socket.test (socket-2.11): (esp. on multi-proc machines).
-
- * tests/fCmd.test (fCmd-9.4): Skip on Darwin 9 (xfail).
-
-2008-03-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclDeleteNamespaceVars):
- * tests/var.test (var-8.2): Unset traces on vars should be called with
- a FQ named during namespace deletion. This was causing infinite loops
- when unset traces recreated the var, as reported by Julian Noble. [Bug
- 1911919]
-
-2008-03-10 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.2 release.
-
- * doc/http.n: Revised to indicate that [package require http 2.5.5]
- is needed to get all the documented commands ([http::meta]).
-
- * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Added error
- * tests/event.test (event-5.*): checking to protect against callers
- passing invalid return options dictionaries. [Bug 1901113]
-
- * generic/tclBasic.c (ExprAbsFunc): Revised so that the abs()
- * tests/expr.test: function and the [::tcl::mathfunc::abs]
- command do not return the value of -0, or equivalent values with more
- alarming string reps like -1e-350. [Bug 1893815]
-
-2008-03-07 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclResult.c (ReleaseKeys): Workaround for [Bug 1904907].
- Reset the return option keys to NULL to allow full re-initialization
- by GetKeys(). This introduces a memory leak for the key objects, but
- gets us around a crash in the finalization of reflected channels when
- handling returns, either at compile- or runtime. In both cases we
- access the keys after they have been released by their thread exit
- handler. A proper fix is entangled with the untangling of the
- finalization ordering and attendant issues. For now we choose the
- lesser evil.
-
-2008-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (Tcl_ExprObj): Revised expression bytecode
- compiling so that bytecodes invalid due to changing context or due to
- the difference between expressions and scripts are not reused. [Bug
- 1899164]
-
- * generic/tclCmdAH.c: Revised direct evaluation implementation of
- [expr] so that [expr $e] caches compiled bytecodes for the expression
- as the intrep of $e.
-
- * tests/execute.test (execute-6.*): More tests checking that
- script bytecode is invalidated in the right situations.
-
-2008-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * win/configure.in: Add AC_HEADER_STDC to support msys/win64.
-
-2008-03-06 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/namespace.n: Minor tidying up. [Bug 1909019]
-
-2008-03-04 Don Porter <dgp@users.sourceforge.net>
-
- * tests/execute.test (6.3,4): Added tests for [Bug 1899164].
-
-2008-03-03 Reinhard Max <max@suse.de>
-
- * unix/tclUnixChan.c: Fix mark and space parity on Linux, which uses
- CMSPAR instead of PAREXT.
-
-2008-03-02 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (GetNamespaceFromObj):
- * tests/interp.test (interp-28.2): Spoil the intrep of an nsNameType
- obj when the reference crosses interpreter boundaries.
-
-2008-02-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (Tcl_SetReturnOptions): Revised the refcount
- management of Tcl_SetReturnOptions to become that of a conventional
- Consumer routine. Thanks to Peter Spjuth for pointing out the
- difficulties calling Tcl_SetReturnOptions with non-0-count value for
- options.
- * generic/tclExecute.c (INST_RETURN_STK): Revised the one caller
- within Tcl itself which passes a non-0-count value to
- Tcl_SetReturnOptions().
-
- * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Revised the
- refcount management of Tcl_AppendObjToErrorInfo to become that of a
- conventional Consumer routine. This preserves the ease of use for the
- overwhelming common callers who pass in a 0-count value, but makes the
- proper call with a non-0-count value less surprising.
- * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Revised the
- one caller within Tcl itself which passes a non-0-count value to
- Tcl_AppendObjToErrorInfo().
-
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tclPort.h, unix/tclCompat.h, unix/tclUnixChan.h: Reduce scope
- of <sys/filio.h> and <sys/ioctl.h> #includes. [Patch 1903339]
-
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tclUnixChan.c, unix/tclUnixNotfy.c, unix/tclUnixPipe.c:
- Consolidate all code conditionalized on -DUSE_FIONBIO into one place.
- * unix/tclUnixPort.h, unix/tclUnixCompat.c: New routine
- TclUnixSetBlockingMode(). [Patch 1903339]
-
-2008-02-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (TclEvalObjvInternal): Plug memory leak when
- an enter trace deletes or changes the command, prompting a reparsing.
- Don't let the second pass lose commandPtr value allocated during the
- first pass.
-
- * generic/tclCompExpr.c (ParseExpr): Plug memory leak in error
- message generation.
-
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
- leaked an mp_int.
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): The 2007-10-18 commit
- to optimize compiled [return -level 0 $x] [RFE 1794073] introduced a
- memory leak of the return options dictionary. Fixing that.
-
-2008-02-27 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: [Bug 705956] - fix inverted logic when
- cleaning up socket error in geturl.
-
-2008-02-27 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Corrected minor indentation gaffe in the penultimate
- paragraph. [Bug 1898025]
- * generic/tclClock.c (ParseClockFormatArgs): Changed to check that the
- clock value is in the range of a 64-bit integer. [Bug 1862555]
- * library/clock.tcl (::tcl::clock::format, ::tcl::clock::scan,
- (::tcl::clock::add, ::tcl::clock::LocalizeFormat): Fixed bugs in
- caching of localized strings that caused weird results when localized
- date/time formats were used. [Bug 1902423]
- * tests/clock.test (clock-61.*, clock-62.1): Regression tests for [Bug
- 1862555] and [Bug 1902423].
-
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclIOUtil.c, unix/tclUnixPort.h, unix/tclUnixChan.c:
- Remove dead/unused portability-related #defines and unused conditional
- code. See [Patch 1901828] for discussion.
-
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclIORChan.c (enum MethodName),
- * generic/tclCompExpr.c (enum Marks): More stray trailing ","s
-
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
-
- * unix/configure.in(socklen_t test): Define socklen_t as "int" if
- missing, not "unsigned". Use AC_TRY_COMPILE instead of
- AC_EGREP_HEADER.
- * unix/configure: regenerated.
-
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclCompile.h: Remove stray trailing "," from enum
- InstOperandType definition (C99ism).
-
-2008-02-26 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclUtil.c (TclReToGlob): Fix the handling of the last star
- * tests/regexpComp.test: possibly being escaped in
- determining right anchor. [Bug 1902436]
-
-2008-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/pkgIndex.tcl: Set version 2.5.5
- * library/http/http.tcl: It is better to do the [eof] check after
- trying to read from the socket. No clashes found in testing. Added
- http::meta command to access the http headers. [Bug 1868845]
-
-2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/pkgIndex.tcl: Set version 2.5.4
- * library/http/http.tcl: Always check that the state array exists
- in the http::status command. [Bug 1818565]
-
-2008-02-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.5.2b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.1 and
- * unix/configure.in: 8.5.2 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * README
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2008-02-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Corrected logic for
- * tests/switch.test (switch-10.15): handling -nocase compilation; the
- -exact -nocase option cannot be compiled currently. [Bug 1891827]
-
- * unix/README: Documented missing configure flags. [Bug 1799011]
-
-2008-02-06 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n (%N): Corrected an error in the explanation of the %N
- format group.
- * generic/tclClock.c (ClockParseformatargsObjCmd):
- * library/clock.tcl (::tcl::clock::format):
- * tests/clock.test (clock-1.0, clock-1.4):
- Performance enhancements in [clock format] (moving the analysis of
- $args into C code, holding on to Tcl_Objs with resolved command names,
- [lassign] in place of [foreach], avoiding [namespace which] for
- command resolution).
-
-2008-02-04 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5.1 TAGGED FOR RELEASE ***
-
- * changes: Updated for 8.5.1 release.
-
- * generic/tcl.h: Bump to 8.5.1 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2008-02-04 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_CONCAT1): Fix optimisation for in-place
- concatenation (was going over String type)
-
-2008-02-02 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure.in (Darwin): Correct Info.plist year substitution
- in non-framework builds.
-
- * unix/configure: autoconf-2.59
-
-2008-01-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (Tcl_GetAlias): Fix for [Bug 1882373], thanks go
- to an00na.
-
-2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a
- proper job of handling references to Ttk options. [Tk Bug 1876493]
-
-2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/man.macros (SO, SE): Adjusted macros so that it is possible for
- Ttk to have its "standard options" on a manual page that is not called
- "options". [Tk Bug 1876493]
-
-2008-01-25 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updated for 8.5.1 release.
-
-2008-01-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: New macro TclGrowParseTokenArray() to
- * generic/tclCompCmds.c: simplify code that might need to grow
- * generic/tclCompExpr.c: an array of Tcl_Tokens in the parsePtr
- * generic/tclParse.c: field of a Tcl_Parse. Replaces the
- TclExpandTokenArray() routine via replacing:
- int needed = parsePtr->numTokens + growth;
- while (needed > parsePtr->tokensAvailable) {
- TclExpandTokenArray(parsePtr);
- }
- with:
- TclGrowParseTokenArray(parsePtr, growth);
- This revision merged over from dgp-refactor branch.
-
- * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to
- * generic/tclInt.decls: a MODULE_SCOPE routine declared in
- tclCompile.h.
-
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
-
-2008-01-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with
- Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor
- compiled execution over direct evaluation.
-
-2008-01-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIl.c (Tcl_LreverseObjCmd):
- * tests/cmdIL.test (cmdIL-7.7): Fix crash on reversing an empty list.
- [Bug 1876793]
-
-2008-01-20 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/README: Minor typo fixes [Bug 1853072]
-
- * generic/tclIO.c (TclGetsObjBinary): Operate on topmost channel.
- [Bug 1869405] (Ficicchia)
-
-2008-01-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Revision to preserve parsed intreps of
- numeric and boolean literals when compiling expressions with (optimize
- == 1).
-
-2008-01-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompExpr.c: Add an 'optimize' argument to
- * generic/tclCompile.c: TclCompileExpr() to profit from better
- * generic/tclCompile.h: literal management according to usage.
- * generic/tclExecute.c:
-
- * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp)
- * generic/tclExecute.c:
- * tests/compExpr.test:
-
- * doc/proc.n: Changed wording for access to non-local variables; added
- mention to [namespace upvar]. Lame attempt at dealing with
- documentation. [Bug 1872708]
-
-2008-01-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c: Replacing 'operator' by 'op' in the def of
- * generic/tclCompExpr.c: struct TclOpCmdClientData to accommodate C++
- * generic/tclCompile.h: compilers. [Bug 1855644]
-
-2008-01-13 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialCloseProc, TclWinOpenSerialChannel): Use
- critical section for read & write side. [Bug 1353846] (newman)
-
-2008-01-11 Miguel Sofer <msofer@users.sf.net>
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): Restore stack checking
- functionality in freebsd. [Bug 1850424]
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): Fix for crash in
- freebsd. [Bug 1860425]
-
-2008-01-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): Correct failure to
- * tests/format.test: account for big.used == 0 corner case in the
- %ll(idox) format directives. [Bug 1867855]
-
-2008-01-09 George Peter Staplin <georgeps@xmission.com>
-
- * doc/vwait.n: Add a missing be to fix a typo.
-
-2008-01-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/tcltk-man2html.tcl (make-man-pages): Make man page title use
- more specific info on lhs to improve tabbed browser view titles.
-
-2008-01-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/binary.n: Fixed documentation bug reported on tcl-core, and
- reordered documentation to discourage people from using the hex
- formatter that is hardly ever useful.
-
-2008-01-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.5.1b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.0 and
- * unix/configure.in: 8.5.1 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * README
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2006-2007 IN "ChangeLog.2007" ***
- *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" ***
- *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************
diff --git a/tcl8.6/README b/tcl8.6/README
deleted file mode 100644
index 401b6e6..0000000
--- a/tcl8.6/README
+++ /dev/null
@@ -1,185 +0,0 @@
-README: Tcl
- This is the Tcl 8.6.6 source distribution.
- http://sourceforge.net/projects/tcl/files/Tcl/
- You can get any source release of Tcl from the URL above.
-
-Contents
---------
- 1. Introduction
- 2. Documentation
- 3. Compiling and installing Tcl
- 4. Development tools
- 5. Tcl newsgroup
- 6. The Tcler's Wiki
- 7. Mailing lists
- 8. Support and Training
- 9. Tracking Development
- 10. Thank You
-
-1. Introduction
----------------
-Tcl provides a powerful platform for creating integration applications that
-tie together diverse applications, protocols, devices, and frameworks.
-When paired with the Tk toolkit, Tcl provides the fastest and most powerful
-way to create GUI applications that run on PCs, Unix, and Mac OS X.
-Tcl can also be used for a variety of web-related tasks and for creating
-powerful command languages for applications.
-
-Tcl is maintained, enhanced, and distributed freely by the Tcl community.
-Source code development and tracking of bug reports and feature requests
-takes place at:
-
- http://core.tcl.tk/
-
-Tcl/Tk release and mailing list services are hosted by SourceForge:
-
- http://sourceforge.net/projects/tcl/
-
-with the Tcl Developer Xchange hosted at:
-
- http://www.tcl.tk/
-
-Tcl is a freely available open source package. You can do virtually
-anything you like with it, such as modifying it, redistributing it,
-and selling it either in whole or in part. See the file
-"license.terms" for complete information.
-
-2. Documentation
-----------------
-
-Extensive documentation is available at our website.
-The home page for this release, including new features, is
- http://www.tcl.tk/software/tcltk/8.6.html
-
-Detailed release notes can be found at the file distributions page
-by clicking on the relevant version.
- http://sourceforge.net/projects/tcl/files/Tcl/
-
-Information about Tcl itself can be found at
- http://www.tcl.tk/about/
-
-There have been many Tcl books on the market. Many are mentioned in the Wiki:
- http://wiki.tcl.tk/_/ref?N=25206
-
-To view the complete set of reference manual entries for Tcl 8.6 online,
-visit the URL:
- http://www.tcl.tk/man/tcl8.6/
-
-2a. Unix Documentation
-----------------------
-
-The "doc" subdirectory in this release contains a complete set of
-reference manual entries for Tcl. Files with extension ".1" are for
-programs (for example, tclsh.1); files with extension ".3" are for C
-library procedures; and files with extension ".n" describe Tcl
-commands. The file "doc/Tcl.n" gives a quick summary of the Tcl
-language syntax. To print any of the man pages on Unix, cd to the
-"doc" directory and invoke your favorite variant of troff using the
-normal -man macros, for example
-
- ditroff -man Tcl.n
-
-to print Tcl.n. If Tcl has been installed correctly and your "man" program
-supports it, you should be able to access the Tcl manual entries using the
-normal "man" mechanisms, such as
-
- man Tcl
-
-2b. Windows Documentation
--------------------------
-
-The "doc" subdirectory in this release contains a complete set of Windows
-help files for Tcl. Once you install this Tcl release, a shortcut to the
-Windows help Tcl documentation will appear in the "Start" menu:
-
- Start | Programs | Tcl | Tcl Help
-
-3. Compiling and installing Tcl
--------------------------------
-
-There are brief notes in the unix/README, win/README, and macosx/README about
-compiling on these different platforms. There is additional information
-about building Tcl from sources at
-
- http://www.tcl.tk/doc/howto/compile.html
-
-4. Development tools
----------------------------
-
-ActiveState produces a high quality set of commercial quality development
-tools that is available to accelerate your Tcl application development.
-Tcl Dev Kit builds on the earlier TclPro toolset and provides a debugger,
-static code checker, single-file wrapping utility, bytecode compiler and
-more. More information can be found at
-
- http://www.ActiveState.com/Tcl
-
-5. Tcl newsgroup
-----------------
-
-There is a USENET news group, "comp.lang.tcl", intended for the exchange of
-information about Tcl, Tk, and related applications. The newsgroup is a
-great place to ask general information questions. For bug reports, please
-see the "Support and bug fixes" section below.
-
-6. Tcl'ers Wiki
----------------
-
-A Wiki-based open community site covering all aspects of Tcl/Tk is at:
-
- http://wiki.tcl.tk/
-
-It is dedicated to the Tcl programming language and its extensions. A
-wealth of useful information can be found there. It contains code
-snippets, references to papers, books, and FAQs, as well as pointers to
-development tools, extensions, and applications. You can also recommend
-additional URLs by editing the wiki yourself.
-
-7. Mailing lists
-----------------
-
-Several mailing lists are hosted at SourceForge to discuss development or
-use issues (like Macintosh and Windows topics). For more information and
-to subscribe, visit:
-
- http://sourceforge.net/projects/tcl/
-
-and go to the Mailing Lists page.
-
-8. Support and Training
-------------------------
-
-We are very interested in receiving bug reports, patches, and suggestions
-for improvements. We prefer that you send this information to us as
-tickets entered into our tracker at:
-
- http://core.tcl.tk/tcl/reportlist
-
-We will log and follow-up on each bug, although we cannot promise a
-specific turn-around time. Enhancements may take longer and may not happen
-at all unless there is widespread support for them (we're trying to
-slow the rate at which Tcl/Tk turns into a kitchen sink). It's very
-difficult to make incompatible changes to Tcl/Tk at this point, due to
-the size of the installed base.
-
-The Tcl community is too large for us to provide much individual support
-for users. If you need help we suggest that you post questions to
-comp.lang.tcl. We read the newsgroup and will attempt to answer esoteric
-questions for which no one else is likely to know the answer. In addition,
-see the following Web site for links to other organizations that offer
-Tcl/Tk training:
-
- http://wiki.tcl.tk/training
-
-9. Tracking Development
------------------------
-
-Tcl is developed in public. To keep an eye on how Tcl is changing, see
- http://core.tcl.tk/
-
-10. Thank You
--------------
-
-We'd like to express our thanks to the Tcl community for all the
-helpful suggestions, bug reports, and patches we have received.
-Tcl/Tk has improved vastly and will continue to do so with your help.
diff --git a/tcl8.6/changes b/tcl8.6/changes
deleted file mode 100644
index 034380b..0000000
--- a/tcl8.6/changes
+++ /dev/null
@@ -1,8700 +0,0 @@
-Recent user-visible changes to Tcl:
-
-1. No more [command1] [command2] construct for grouping multiple
-commands on a single command line.
-
-2. Semi-colon now available for grouping commands on a line.
-
-3. For a command to span multiple lines, must now use backslash-return
-at the end of each line but the last.
-
-4. "Var" command has been changed to "set".
-
-5. Double-quotes now available as an argument grouping character.
-
-6. "Return" may be used at top-level.
-
-7. More backslash sequences available now. In particular, backslash-newline
-may be used to join lines in command files.
-
-8. New or modified built-in commands: case, return, for, glob, info,
-print, return, set, source, string, uplevel.
-
-9. After an error, the variable "errorInfo" is filled with a stack
-trace showing what was being executed when the error occurred.
-
-10. Command abbreviations are accepted when parsing commands, but
-are not recommended except for purely-interactive commands.
-
-11. $, set, and expr all complain now if a non-existent variable is
-referenced.
-
-12. History facilities exist now. See Tcl.man and Tcl_RecordAndEval.man.
-
-13. Changed to distinguish between empty variables and those that don't
-exist at all. Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
-(NULL return value is now possible). *** POTENTIAL INCOMPATIBILITY ***
-
-14. Changed meaning of "level" argument to "uplevel" command (1 now means
-"go up one level", not "go to level 1"; "#1" means "go to level 1").
-*** POTENTIAL INCOMPATIBILITY ***
-
-15. 3/19/90 Added "info exists" option to see if variable exists.
-
-16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
-
-17. 3/19/90 Added extra errorInfo option to "error" command.
-
-18. 3/21/90 Double-quotes now only affect space: command, variable,
-and backslash substitutions still occur inside double-quotes.
-*** POTENTIAL INCOMPATIBILITY ***
-
-19. 3/21/90 Added support for \r.
-
-20. 3/21/90 List, concat, eval, and glob commands all expect at least
-one argument now. *** POTENTIAL INCOMPATIBILITY ***
-
-21. 3/22/90 Added "?:" operators to expressions.
-
-22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
-
-------------------- Released version 3.1 ---------------------
-
-23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
-
-24. 3/29/90 Semi-colon is not treated specially when enclosed in
-double-quotes.
-
-------------------- Released version 3.2 ---------------------
-
-25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
-Should be more Sys-V compatible, and no slower in the normal case.
-
-26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
-left in Tcl, now), and added Tcl_TildeSubst procedure. Added automatic
-tilde-substitution in many commands, including "glob".
-
-------------------- Released version 3.3 ---------------------
-
-27. 7/11/90 Added "Tcl_AppendResult" procedure.
-
-28. 7/20/90 "History" with no options now defaults to "history info"
-rather than to "history redo". Although this is a backward incompatibility,
-it should only be used interactively and thus shouldn't present any
-compatibility problems with scripts.
-
-29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean"
-procedures.
-
-30. 7/22/90 Removed "Tcl_WatchInterp" procedure: doesn't seem to be
-necessary, since the same effect can be achieved with the deletion
-callbacks on individual commands. *** POTENTIAL INCOMPATIBILITY ***
-
-31. 7/23/90 Added variable tracing: Tcl_TraceVar, Tcl_UnTraceVar,
-and Tcl_VarTraceInfo procedures, "trace" command.
-
-32. 8/9/90 Mailed out list of all bug fixes since 3.3 release.
-
-33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and
-semi-colons. Mailed out patch.
-
-34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s.
-Mailed out patch.
-
-35. 9/19/90 Rewrote exec to always use files both for input and
-output to the process. The old pipe-based version didn't work if
-the exec'ed process forked a child and then exited: Tcl waited
-around for stdout to get closed, which didn't happen until the
-grandchild exited.
-
-36. 11/5/90 ERR_IN_PROGRESS flag wasn't being cleared soon enough
-in Tcl_Eval, allowing error messages from different commands to
-pile up in $errorInfo. Fixed by re-arranging code in Tcl_Eval that
-re-initializes result and ERR_IN_PROGRESS flag. Didn't mail out
-patch: changes too complicated to describe.
-
-37. 12/19/90 Added Tcl_VarEval procedure as a convenience for
-assembling and executing Tcl commands.
-
-38. 1/29/91 Fixed core leak in Tcl_AddErrorInfo. Also changed procedure
-and Tcl_Eval so that first call to Tcl_AddErrorInfo need not come from
-Tcl_Eval.
-
------------------ Released version 5.0 with Tk ------------------
-
-39. 4/3/91 Removed change bars from manual entries, leaving only those
-that came after version 3.3 was released.
-
-40. 5/17/91 Changed tests to conform to Mary Ann May-Pumphrey's approach.
-
-41. 5/23/91 Massive revision to Tcl parser to simplify the implementation
-of string and floating-point support in expressions. Newlines inside
-[] are now treated as command separators rather than word separators
-(this makes newline treatment consistent throughout Tcl).
-*** POTENTIAL INCOMPATIBILITY ***
-
-42. 5/23/91 Massive rewrite of expression code to support floating-point
-values and simple string comparisons. The C interfaces to expression
-routines have changed (Tcl_Expr is replaced by Tcl_ExprLong, Tcl_ExprDouble,
-etc.), but all old Tcl expression strings should be accepted by the new
-expression code.
-*** POTENTIAL INCOMPATIBILITY ***
-
-43. 5/23/91 Modified tclHistory.c to check for negative "keep" value.
-
-44. 5/23/91 Modified Tcl_Backslash to handle backslash-newline. It now
-returns 0 to indicate that a backslash sequence should be replaced by
-no character at all.
-*** POTENTIAL INCOMPATIBILITY ***
-
-45. 5/29/91 Modified to use ANSI C function prototypes. Must set
-"USE_ANSI" switch when compiling to get prototypes.
-
-46. 5/29/91 Completed test suite by providing tests for all of the
-built-in Tcl commands.
-
-47. 5/29/91 Changed Tcl_Concat to eliminate leading and trailing
-white-space in each of the things it concatenates and to ignore
-elements that are empty or have only white space in them. This
-produces cleaner output from the "concat" command.
-*** POTENTIAL INCOMPATIBILITY ***
-
-48. 5/31/91 Changed "set" command and Tcl_SetVar procedure to return
-new value of variable.
-
-49. 6/1/91 Added "while" and "cd" commands.
-
-50. 6/1/91 Changed "exec" to delete the last character of program
-output if it is a newline. In most cases this makes it easier to
-process program-generated output.
-*** POTENTIAL INCOMPATIBILITY ***
-
-51. 6/1/91 Made sure that pointers are never used after freeing them.
-
-52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with
-[] inside quotes correctly.
-
-53. 6/8/91 Fixed exec.test to accept return values of either 1 or
-255 from "false" command.
-
-54. 7/6/91 Massive overhaul of variable management. Associative
-arrays now available, along with "unset" command (and Tcl_UnsetVar
-procedure). Variable traces have been completely reworked:
-interfaces different both from Tcl and C, and multiple traces may
-exist on same variable. Can no longer redefine existing local
-variable to be global. Calling sequences have changed slightly
-for Tcl_GetVar and Tcl_SetVar ("global" is now "flags"). Tcl_SetVar
-can fail and return a NULL result. New forms of variable-manipulation
-procedures: Tcl_GetVar2, Tcl_SetVar2, etc. Syntax of variable
-$-notation changed to support array indexing.
-*** POTENTIAL INCOMPATIBILITY ***
-
-55. 7/6/91 Added new list-manipulation procedures: Tcl_ScanElement,
-Tcl_ConvertElement, Tcl_AppendElement.
-
-56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the
-work of the "source" command.
-
-57. 7/20/91 Major reworking of "exec" command to allow pipelines,
-more redirection, background. Added new procedures Tcl_Fork,
-Tcl_WaitPids, Tcl_DetachPids, and Tcl_CreatePipeline. The old
-"< input" notation has been replaced by "<< input" ("<" is for
-redirection from a file). Also handles error returns and abnormal
-terminations (e.g. signals) differently.
-*** POTENTIAL INCOMPATIBILITY ***
-
-58. 7/21/91 Added "append" and "lappend" commands.
-
-59. 7/22/91 Reworked error messages and manual entries to use
-?x? as the notation for an optional argument x, instead of [x]. The
-bracket notation was often confused with the use of brackets for
-command substitution. Also modified error messages to be more
-consistent.
-
-60. 7/23/91 Tcl_DeleteCommand now returns an indication of whether
-or not the command actually existed, and the "rename" command uses
-this information to return an error if an attempt is made to delete
-a non-existent command.
-*** POTENTIAL INCOMPATIBILITY ***
-
-61. 7/25/91 Added new "errorCode" mechanism, along with procedures
-Tcl_SetErrorCode, Tcl_UnixError, and Tcl_ResetResult. Renamed
-Tcl_Return to Tcl_SetResult, but left a #define for Tcl_Return to
-avoid compatibility problems.
-
-62. 7/26/91 Extended "case" command with alternate syntax where all
-patterns and commands are together in a single list argument: makes
-it easier to write multi-line case statements.
-
-63. 7/27/91 Changed "print" command to perform tilde-substitution on
-the file name.
-
-64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright"
-options to "string" command.
-
-65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file"
-command.
-
-66. 8/1/91 Added "split" and "join" commands.
-
-67. 8/11/91 Added commands for file I/O, including "open", "close",
-"read", "gets", "puts", "flush", "eof", "seek", and "tell".
-
-68. 8/14/91 Switched to use a hash table for command lookups. Command
-abbreviations no longer have direct support in the Tcl interpreter, but
-it should be possible to simulate them with the auto-load features
-described below. The "noAbbrev" variable is no longer used by Tcl.
-*** POTENTIAL INCOMPATIBILITY ***
-
-68.5 8/15/91 Added support for "unknown" command, which can be used to
-complete abbreviations, auto-load library files, auto-exec shell
-commands, etc.
-
-69. 8/15/91 Added -nocomplain switch to "glob" command.
-
-70. 8/20/91 Added "info library" option and TCL_LIBRARY #define. Also
-added "info script" option.
-
-71. 8/20/91 Changed "file" command to take "option" argument as first
-argument (before file name), for consistency with other Tcl commands.
-*** POTENTIAL INCOMPATIBILITY ***
-
-72. 8/20/91 Changed format of information in $errorInfo variable:
-comments such as
- ("while" body line 1)
-are now on separate lines from commands being executed.
-*** POTENTIAL INCOMPATIBILITY ***
-
-73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees
-large buffers that it allocates.
-
-74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort"
-commands.
-
-75. 8/28/91 Added "incr" and "exit" commands.
-
-76. 8/30/91 Added "regexp" and "regsub" commands.
-
-77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure
-address). This allows for alternative storage managers.
-*** POTENTIAL INCOMPATIBILITY ***
-
-78. 9/6/91 Added "index", "length", and "range" options to "string"
-command. Added "lindex", "llength", and "lrange" commands.
-
-79. 9/8/91 Removed "index", "length", "print" and "range" commands.
-"Print" is redundant with "puts", but less general, and the other
-commands are replaced with the new commands described in change 78
-above.
-*** POTENTIAL INCOMPATIBILITY ***
-
-80. 9/8/91 Changed history revision to occur even when history command
-is nested; needed in order to allow "history" to be invoked from
-"unknown" procedure.
-
-81. 9/13/91 Changed "panic" not to use vfprintf (it's uglier and less
-general now, but makes it easier to run Tcl on systems that don't
-have vfprintf). Also changed "strerror" not to redeclare sys_errlist.
-
-82. 9/19/91 Lots of changes to improve portability to different UNIX
-systems, including addition of "config" script to adapt Tcl to the
-configuration of the system it's being compiled on.
-
-83. 9/22/91 Added "pwd" command.
-
-84. 9/22/91 Renamed manual pages so that their filenames are no more
-than 14 characters in length, moved to "doc" subdirectory.
-
-85. 9/24/91 Redid manual entries so they contain the supplemental
-macros that they need; can just print with "troff -man" or "man"
-now.
-
-86. 9/26/91 Created initial version of script library, including
-a version of "unknown" that does auto-loading, auto-execution, and
-abbreviation expansion. This library is used by tclTest
-automatically. See the "library" manual entry for details.
-
------------------ Released version 6.0, 9/26/91 ------------------
-
-87. 9/30/91 Made "string tolower" and "string toupper" check case
-before converting: on some systems, "tolower" and "toupper" assume
-that character already has particular case.
-
-88. 9/30/91 Fixed bug in Tcl_SetResult: wasn't always setting freeProc
-correctly when called with NULL value. This tended to cause memory
-allocation errors later.
-
-89. 10/3/91 Added "upvar" command.
-
-90. 10/4/91 Changed "format" so that internally it converts %D to %ld,
-%U to %lu, %O to %lo, and %F to %f. This eliminates some compatibility
-problems on some machines without affecting behavior.
-
-91. 10/10/91 Fixed bug in "regsub" that caused core dumps with the -all
-option when the last match wasn't at the end of the string.
-
-92. 10/17/91 Fixed problems with backslash sequences: \r support was
-incomplete and \f and \v weren't supported at all.
-
-93. 10/24/91 Added Tcl_InitHistory procedure.
-
-94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that
-don't match, rather than returning an error.
-
-95. 10/27/91 Modified "regexp" to return actual strings in matchVar
-and subMatchVars instead of indices. Added "-indices" switch to cause
-indices to be returned.
-*** POTENTIAL INCOMPATIBILITY ***
-
-96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for
-sizes of floats and doubles instead of using "sizeof".
-
-97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages
-weren't being storage-managed correctly, causing spurious free's.
-
-98. 10/31/91 Form feed and vertical tab characters are now considered
-to be space characters by the parser.
-
-99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar.
-
-100. 11/7/91 Fixed bug in "case" where "in" argument couldn't be omitted
-if all case branches were embedded in a single list.
-
-101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official
-POSIC types and function prototypes.
-
------------------ Released version 6.1, 11/7/91 ------------------
-
-102. 12/2/91 Modified Tcl_ScanElement and Tcl_ConvertElement in several
-ways. First, allowed caller to request that only backslashes be used
-(no braces). Second, made Tcl_ConvertElement more aggressive in using
-backslashes for braces and quotes.
-
-103. 12/5/91 Added "type", "lstat", and "readlink" options to "file"
-command, plus added new "type" element to output of "stat" and "lstat"
-options.
-
-104. 12/10/91 Manual entries had first lines that caused "man" program
-to try weird preprocessor. Added blank comment lines to fix problem.
-
-105. 12/16/91 Fixed a few bugs in auto_mkindex proc: wasn't handling
-errors properly, and hadn't been upgraded for new "regexp" syntax.
-
-106. 1/2/92 Fixed bug in "file" command where it didn't properly handle
-a file names containing tildes where the indicated user doesn't exist.
-
-107. 1/2/92 Fixed lots of cases in tclUnixStr.c where two different
-errno symbols (e.g. EWOULDBLOCK and EAGAIN) have the same number; Tcl
-will only use one of them.
-
-108. 1/2/92 Lots of changes to configuration script to handle many more
-systems more gracefully. E.g. should now detect the bogus strtoul that
-comes with AIX and substitute Tcl's own version instead.
-
------------------ Released version 6.2, 1/10/92 ------------------
-
-109. 1/20/92 Config didn't have code to actually use "uid_t" variable
-to set TCL_UIT_T #define.
-
-110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when
-too-deep recursion occurred.
-
-111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean.
-
-112. 3/19/92 Config wasn't installing default version of strtod.c for
-systems that don't have one in libc.a.
-
-113. 3/23/92 Fixed bug in tclExpr.c where numbers with leading "."s,
-like 0.75, couldn't be properly substituted into expressions with
-variable or command substitution.
-
-114. 3/25/92 Fixed bug in tclUnixAZ.c where "gets" command wasn't
-checking to make sure that it was able to write the variable OK.
-
-115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't
-compute file size right for device files.
-
-116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting
-the trace command.
-
------------------ Released version 6.3, 5/1/92 ------------------
-
-117. 5/1/92 Added Tcl_GlobalEval.
-
-118. 6/1/92 Changed auto-load facility to source files at global level.
-
-119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which
-sometimes caused core dumps.
-
-120. 6/21/92 Fixed bug in initialization of regexp pattern cache. This
-bug caused segmentation violations in regexp commands under some conditions.
-
-121. 6/22/92 Changed implementation of "glob" command to eliminate
-trailing slashes on directory names: they confuse some systems. There
-shouldn't be any user-visible changes in functionality except for names
-in error messages not having trailing slashes.
-
-122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0.
-
-123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing
-the buffer to an empty string.
-
-124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string
-after errors in the "default" clause.
-
-125. 7/25/92 Speeded up auto_load procedure: don't reread all the index
-files unless the path has changed.
-
-126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not
-_POSIX_PATH_MAX.
-
------------------ Released version 6.4, 8/7/92 ------------------
-
-127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by
-putting a backslash before the newline.
-
-128. 8/21/92 Modified "unknown" to allow the source-ing of a file for
-an auto-load to trigger other nested auto-loads, as long as there isn't
-any recursion on the same command name.
-
-129. 8/25/92 Modified "format" command to allow " " and "+" flags, and
-allow flags in any order.
-
-130. 9/14/92 Modified Tcl_ParseVar so that it doesn't actually attempt
-to look up the variable if "noEval" mode is in effect in the interpreter
-(it just parses the name). This avoids the errors that used to occur
-in statements like "expr {[info exists foo] && $foo}".
-
-131. 9/14/92 Fixed bug in "uplevel" command where it didn't output the
-correct error message if a level was specified but no command.
-
-132. 9/14/92 Renamed manual entries to have extensions like .3 and .n,
-and added "install" target to Makefile.
-
-133. 9/18/92 Modified "unknown" command to emulate !!, !<num>, and
-^<old>^<new> csh history substitutions.
-
-134. 9/21/92 Made the config script cleverer about figuring out which
-switches to pass to "nm".
-
-135. 9/23/92 Fixed tclVar.c to be sure to copy flags when growing variables.
-Used to forget about traces in progress and make extra recursive calls
-on trace procs.
-
-136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables
-that might not exist.
-
-137. 10/7/92 Changed "parray" library procedure to print any array
-accessible to caller, local or global.
-
-138. 10/15/92 Fixed bug where propagation of new environment variable
-values among interpreters took N! time if there exist N interpreters.
-
-139. 10/16/92 Changed auto_reset procedure so that it also deletes any
-existing procedures that are in the auto_load index (the assumption is
-that they should be re-loaded to get the latest versions).
-
-140. 10/21/92 Fixed bug that caused lists to be incorrectly generated
-for elements that contained backslash-newline sequences.
-
-141. 12/9/92 Added support for TCL_LIBRARY environment variable: use
-it as library location if it's present.
-
-142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure.
-
-143. 12/16/92 Changed the Makefile to check to make sure "config" has been
-run (can't run config directly from the Makefile because it modifies the
-Makefile; thus make has to be run again after running config).
-
------------------ Released version 6.5, 12/17/92 ------------------
-
-144. 12/21/92 Changed config to look in several places for libc file.
-
-145. 12/23/92 Added "elseif" support to if. Also, "then", "else", and
-"elseif" may no longer be abbreviated.
-*** POTENTIAL INCOMPATIBILITY ***
-
-146. 12/28/92 Changed "puts" and "read" to support initial "-nonewline"
-switch instead of additional "nonewline" argument. The old form is
-still supported, but it is discouraged and is no longer documented.
-Also changed "puts" to make the file argument default to stdout: e.g.
-"puts foo" will print foo on standard output.
-
-147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when
-typed interactively, or in "info complete".
-
-148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close
-quotes were being lost from last element before replacement or
-insertion.
-
-149. 1/29/93 Fixed bug in Tcl_AssembleCmd where it wasn't requiring
-a newline at the end of a line before considering a command to be
-complete. The bug caused some very long lines in script files to
-be processed as multiple separate commands.
-
-150. 1/29/93 Various changes in Makefile to add more configuration
-options, simplify installation, fix bugs (e.g. don't use -f switch
-for cp), etc.
-
-151. 1/29/93 Changed "name1" and "name2" identifiers to "part1" and
-"part2" to avoid name conflicts with stupid C++ implementations that
-use "name1" and "name2" in a reserved way.
-
-152. 2/1/93 Added "putenv" procedure to replace the standard system
-version so that it will work correctly with Tcl's environment handling.
-
------------------ Released version 6.6, 2/5/93 ------------------
-
-153. 2/10/93 Fixed bugs in config script: missing "endif" in libc loop,
-and tried to use strncasecmp.c instead of strcasecmp.c.
-
-154. 2/10/93 Makefile improvements: added RANLIB variable for easier
-Sys-V configuration, added SHELL variable for SGI systems.
-
------------------ Released version 6.7, 2/11/93 ------------------
-
-153. 2/6/93 Changes in backslash processing:
- - \Cx, \Mx, \CMx, \e sequences no longer special
- - \<newline> also eats up any space after the newline, replacing
- the whole sequence with a single space character
- - Hex sequences like \x24 are now supported, along with ANSI C's \a.
- - "format" no longer does backslash processing on its format string
- - there is no longer any special meaning to a 0 return value from
- Tcl_Backslash
- - unknown backslash sequences, like (e.g. \*), are replaced with
- the following character (e.g. *), instead of just treating the
- backslash as an ordinary character.
-*** POTENTIAL INCOMPATIBILITY ***
-
-154. 2/6/93 Updated all copyright notices. The meaning hasn't changed
-at all but the wording does a better job of protecting U.C. from
-liability (according to U.C. lawyers, anyway).
-
-155. 2/6/93 Changed "regsub" so that it overwrites the result variable
-in all cases, even if there is no match.
-*** POTENTIAL INCOMPATIBILITY ***
-
-156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format"
-command.
-
-157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite
-recursion could result in core dumps.
-
-158. 2/17/93 Improved the auto-load mechanism to deal gracefully (i.e.
-return an error) with a situation where a library file that supposedly
-defines a procedure doesn't actually define it.
-
-159. 2/17/93 Renamed Tcl_UnixError procedure to Tcl_PosixError, and
-changed errorCode variable usage to use POSIX as keyword instead of
-UNIX.
-*** POTENTIAL INCOMPATIBILITY ***
-
-160. 2/19/93 Changes to exec and process control:
- - Added support for >>, >&, >>&, |&, <@, >@, and >&@ forms of redirection.
- - When exec puts processes into background, it returns a list of
- their pids as result.
- - Added support for <file, >file, etc. (i.e. no space between
- ">" and file name.
- - Added -keepnewline option.
- - Deleted Tcl_Fork and Tcl_WaitPids procedures (just use fork and
- waitpid instead).
- - Added waitpid compatibility procedure for systems that don't have
- it.
- - Added Tcl_ReapDetachedProcs procedure.
- - Changed "exec" to return an error if there is stderr output, even
- if the command returns a 0 exit status (it's always been documented
- this way, but the implementation wasn't correct).
- - If a process returns a non-zero exit status but doesn't generate
- any diagnostic output, then Tcl generates an error message for it.
-*** POTENTIAL INCOMPATIBILITY ***
-
-161. 2/25/93 Fixed two memory-management problems having to do with
-managing the old result during variable trace callbacks.
-
-162. 3/1/93 Added dynamic string library: Tcl_DStringInit, Tcl_DStringAppend,
-Tcl_DStringFree, Tcl_DStringResult, etc.
-
-163. 3/1/93 Modified glob command to only return the names of files that
-exist, and to only return names ending in "/" if the file is a directory.
-*** POTENTIAL INCOMPATIBILITY ***
-
-164. 3/19/93 Modified not to use system calls like "read" directly,
-but instead to use special Tcl procedures that retry automatically
-if interrupted by signals.
-
-165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus
-TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2.
-*** POTENTIAL INCOMPATIBILITY ***
-
-166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval.
-*** POTENTIAL INCOMPATIBILITY ***
-
-167. 4/3/93 Changes to expressions:
- - The "expr" command now accepts multiple arguments, which are
- concatenated together with space separators.
- - Integers aren't automatically promoted to floating-point if they
- overflow the word size: errors are generated instead.
- - Tcl can now handle "NaN" and other special values if the underlying
- library procedures handle them.
- - When printing floating-point numbers, Tcl ensures that there is a "."
- or "e" in the number, so it can't be treated as an integer accidentally.
- The procedure Tcl_PrintDouble is available to provide this function
- in other contexts. Also, the variable "tcl_precision" can be used
- to set the precision for printing (must be a decimal number giving
- digits of precision).
- - Expressions now support transcendental and other functions, e.g. sin,
- acos, hypot, ceil, and round. Can add new math functions with
- Tcl_CreateMathFunc().
- - Boolean expressions can now have any of the string values accepted
- by Tcl_GetBoolean, such as "yes" or "no".
-*** POTENTIAL INCOMPATIBILITY ***
-
-168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK
-or TCL_ERROR instead of 0 or -1.
-*** POTENTIAL INCOMPATIBILITY ***
-
-169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures;
-can use Tcl_DStrings instead.
-*** POTENTIAL INCOMPATIBILITY ***
-
-170. 4/8/93 Changed interface to Tcl_TildeSubst to use a dynamic
-string for buffer space. This makes the procedure re-entrant and
-thread-safe, whereas it wasn't before.
-*** POTENTIAL INCOMPATIBILITY ***
-
-171. 4/14/93 Eliminated tclHash.h, and moved everything from it to
-tcl.h
-*** POTENTIAL INCOMPATIBILITY ***
-
-172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always
-be part of interpreter.
-*** POTENTIAL INCOMPATIBILITY ***
-
-173. 4/16/93 Modified "file" command so that "readable" option always
-exists, even on machines that don't support symbolic links (always returns
-same error as if the file wasn't a symbolic link).
-
-174. 4/26/93 Fixed bugs in "regsub" where ^ patterns didn't get handled
-right (pretended not to match when it really did, and looped infinitely
-if -all was specified).
-
-175. 4/29/93 Various improvements in the handling of variables:
- - Can create variables and array elements during a read trace.
- - Can delete variables during traces (note: unset traces will be
- invoked when this happens).
- - Can upvar to array elements.
- - Can retarget an upvar to another variable by re-issuing the
- upvar command with a different "other" variable.
-
-176. 5/3/93 Added Tcl_GetCommandInfo, which returns info about a Tcl
-command such as whether it exists and its ClientData. Also added
-Tcl_SetCommandInfo, which allows any of this information to be modified
-and also allows a command's delete procedure to have a different
-ClientData value than its command procedure.
-
-177. 5/5/93 Added Tcl_RegExpMatch procedure.
-
-178. 5/6/93 Fixed bug in "scan" where it didn't properly handle
-%% conversion specifiers. Also changed "scan" to use Tcl_PrintDouble
-for printing real values.
-
-179. 5/7/93 Added "-exact", "-glob", and "-regexp" options to "lsearch"
-command to allow different kinds of pattern matching.
-
-180. 5/7/93 Added many new switches to "lsort" to control the sorting
-process: "-ascii", "-integer", "-real", "-command", "-increasing",
-and "-decreasing".
-
-181. 5/10/93 Changes to file I/O:
- - Modified "open" command to support a list of POSIX access flags
- like {WRONLY CREAT TRUNC} in addition to current fopen-style
- access modes. Also added "permissions" argument to set permissions
- of newly-created files.
- - Fixed Scott Bolte's bug (can close stdin etc. in application and
- then re-open them with Tcl commands).
- - Exported access to Tcl's file table with new procedures Tcl_EnterFile
- and Tcl_GetOpenFile.
-
-182. 5/15/93 Added new "pid" command, which can be used to retrieve
-either the current process id or a list of the process ids in a
-pipeline opened with "open |..."
-
-183. 6/3/93 Changed to use GNU autoconfig for configuration instead of
-the home-brew "config" script. Also made many other configuration-related
-changes, such as using <unistd.h> instead of explicitly declaring system
-calls in tclUnix.h.
-
-184. 6/4/93 Fixed bug where core-dumps could occur if a procedure
-redefined itself (the memory for the procedure's body could get
-reallocated in the middle of evaluating the body); implemented
-simple reference count mechanism.
-
-185. 6/5/93 Changed tclIndex file format in two ways: (a) it's now
-eval-ed instead of parsed, which makes it 3-4x faster; (b) the entries
-in auto_index are now commands to evaluate, which allows commands to
-be loaded in different ways such as dynamic-loading of C code. The
-old tclIndex file format is still supported.
-
-186. 6/7/93 Eliminated tclTest program, added new "tclsh" program
-that is more like wish (allows script files to be invoked automatically
-using "#!/usr/local/bin/tclsh", makes arguments available to script,
-etc.). Added support for Tcl_AppInit plus default version; this
-allows new Tcl applications to be created without modifying the
-main program for tclsh.
-
-187. 6/7/93 Fixed bug in TclWordEnd that kept backslash-newline from
-working correctly in some cases during interactive input.
-
-188. 6/9/93 Added Tcl_LinkVar and related procedures, which automatically
-keep a Tcl variable in sync with a C variable.
-
-189. 6/16/93 Increased maximum nesting depth from 100 to 1000.
-
-190. 6/16/93 Modified "trace var" command so that error messages from
-within traces are returned properly as the result of the variable
-access, instead of the generic "access disallowed by trace command"
-message.
-
-191. 6/16/93 Added Tcl_CallWhenDeleted to provide callbacks when an
-interpreter is deleted (same functionality as Tcl_WatchInterp, which
-used to exist in versions before 6.0).
-
-193. 6/16/93 Added "-code" argument to "return" command; it's there
-primarily for completeness, so that procedures implementing control
-constructs can reflect exceptional conditions back to their callers.
-
-194. 6/16/93 Split up Tcl.n to make separate manual entries for each
-Tcl command. Tcl.n now contains a summary of the language syntax.
-
-195. 6/17/93 Added new "switch" command to replace "case": allows
-alternate forms of pattern matching (exact, glob, regexp), replaces
-pattern lists with single patterns (but you can use "-" bodies to
-share one body among several patterns), eliminates "in" noise word.
-"Case" command is now obsolete.
-
-196. 6/17/93 Changed the "exec", "glob", "regexp", and "regsub" commands
-to include a "--" switch. All initial arguments starting with "-" are now
-treated as switches unless a "--" switch is present to end the list.
-*** POTENTIAL INCOMPATIBILITY ***
-
-197. 6/17/93 Changed auto-exec so that the subprocess gets stdin, stdout,
-and stderr from the parent. This allows truly interactive sub-processes
-(e.g. vi) to be auto-exec'ed from a tcl shell command line.
-
-198. 6/18/93 Added patchlevel.h, for use in coordinating future patch
-releases, and also added "info patchlevel" command to make the patch
-level available to Tcl scripts.
-
-199. 6/19/93 Modified "glob" command so that a leading "//" in a name
-gets left as is (this is needed for systems like Apollos where "//" is
-the super-root; Tcl used to collapse the two slashes into a single
-slash).
-
-200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum
-allowable nesting depth can be controlled for an interpreter from C.
-
------------------ Released version 7.0 Beta 1, 7/9/93 ------------------
-
-201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision
-unsigned integers can be specified without overflow errors.
-
-202. 7/12/93 Configuration changes: eliminate leading blank line in
-configure script; provide separate targets in Makefile for installing
-binary and non-binary information; check for size_t and a few other
-potentially missing typedefs; don't put tclAppInit.o into libtcl.a;
-better checks for matherr support.
-
-203. 7/14/93 Changed tclExpr.c to check the termination pointer before
-errno after strtod calls, to avoid problems with some versions of
-strtod that set errno in unexpected ways.
-
-204. 7/16/93 Changed "scan" command to be more ANSI-conformant:
-eliminated %F, %D, etc., added code to ignore "l", "h", and "L"
-modifiers but always convert %e, %f, and %g with implicit "l";
-also added support for %u and %i. Also changed "format" command
-to eliminate %D, %U, %O, and add %i.
-*** POTENTIAL INCOMPATIBILITY ***
-
-205. 7/17/93 Changed "uplevel" and "upvar" so that they can be used
-from global level to global level: this used to generate an error.
-
-206. 7/19/93 Renamed "setenv", "putenv", and "unsetenv" procedures
-to avoid conflicts with system procedures with the same names. If
-you want Tcl's procedures to override the system procedures, do it
-in the Makefile (instructions are in the Makefile).
-*** POTENTIAL INCOMPATIBILITY ***
-
------------------ Released version 7.0 Beta 2, 7/21/93 ------------------
-
-207. 7/21/93 Fixed bug in tclVar.c where freed memory was accidentally
-used if a procedure returned an element of a local array.
-
-208. 7/22/93 Fixed bug in "unknown" where it didn't properly handle
-errors occurring in the "auto_load" procedure, leaving its state
-inconsistent.
-
-209. 7/23/93 Changed exec's ">2" redirection operator to "2>" for
-consistency with sh. This is incompatible with earlier beta releases
-of 7.0 but not with pre-7.0 releases, which didn't support either
-operator.
-
-210. 7/28/93 Changed backslash-newline handling so that the resulting
-space character *is* treated as a word separator unless the backslash
-sequence is in quotes or braces. This is incompatible with 7.0b1
-and 7.0b2 but is more compatible with pre-7.0 versions that the b1
-and b2 releases were.
-
-211. 7/28/93 Eliminated Tcl_LinkedVarWritable, added TCL_LINK_READ_ONLY to
-Tcl_LinkVar to accomplish same purpose. This change is incompatible
-with earlier beta releases, but not with releases before Tcl 7.0.
-
-212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX
-regexp functions that use the same name.
-
-213. 8/3/93 Added "-errorinfo" and "-errorcode" options to "return"
-command: these allow for much better handling of the errorInfo
-and errorCode variables in some cases.
-
-214. 8/12/93 Changed "expr" so that % always returns a remainder with
-the same sign as the divisor and absolute value smaller than the
-divisor.
-
-215. 8/14/93 Turned off auto-exec in "unknown" unless the command
-was typed interactively. This means you must use "exec" when
-invoking subprocesses, unless it's a command that's typed interactively.
-*** POTENTIAL INCOMPATIBILITY ***
-
-216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables
-to tclMain.c: makes prompts user-settable.
-
-217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so
-that signals can be taken cleanly by Tcl applications.
-
-218. 8/16/93 Moved information about open files from the interpreter
-structure to global variables so that a file can be opened in one
-interpreter and read or written in another.
-
-219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no
-official support for overriding setenv, unsetenv, and putenv.
-
-220. 8/20/93 Various configuration improvements: coerce chars
-to unsigned chars before using macros like isspace; source ~/.tclshrc
-file during initialization if it exists and program is running
-interactively; allow there to be directories in auto_path that don't
-exist or don't have tclIndex files (ignore them); added Tcl_Init
-procedure and changed Tcl_AppInit to call it.
-
-221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all
-getting treated as integers with value 0.
-
-222. 8/26/93 Added "tcl_interactive" variable to tclsh.
-
-223. 8/27/93 Added procedure Tcl_FilePermissions to return whether a
-given file can be read or written or both. Modified Tcl_EnterFile
-to take a permissions mask rather than separate read and write arguments.
-
-224. 8/28/93 Fixed performance bug in "glob" command (unnecessary call
-to "access" for each file caused a 5-10x slow-down for big directories).
-
------------------ Released version 7.0 Beta 3, 8/28/93 ------------------
-
-225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system
-include file by same name.
-
-226. 9/9/93 Added Tcl_DontCallWhenDeleted.
-
-227. 9/16/93 Changed not to call exit C procedure directly; instead
-always invoke "exit" Tcl command so that application can redefine the
-command to do additional cleanup.
-
-228. 9/17/93 Changed auto-exec to handle names that contain slashes
-(i.e. don't use PATH for them).
-
-229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't
-clear EOF conditions.
-
------------------ Released version 7.0, 9/29/93 ------------------
-
-230. 10/7/93 "Scan" command wasn't properly aligning things in memory,
-so segmentation faults could arise under some circumstances.
-
-231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to
-backslash leading curly brace when creating lists.
-
-232. 10/7/93 Eliminated dependency of tclMain.c on tclInt.h and
-tclUnix.h, so that people can copy the file out of the Tcl source
-directory to make modified private versions.
-
-233. 10/8/93 Fixed bug in auto-loader that reversed the priority order
-of entries in auto_path for new-style index files. Now things are
-back to the way they were before 3.0: first in auto_path is always
-highest priority.
-
-234. 10/13/93 Fixed bug where Tcl_CommandComplete didn't recognize
-comments and treat them as such. Thus if you typed the line
- # {
-interactively, Tcl would think that the command wasn't complete and
-wait for more input before evaluating the script.
-
-235. 10/14/93 Fixed bug where "regsub" didn't set the output variable
-if the input string was empty.
-
-236. 10/23/93 Fixed bug where Tcl_CreatePipeline didn't close off enough
-file descriptors in child processes, causing children not to exit
-properly in some cases.
-
-237. 10/28/93 Changed "list" and "concat" commands not to generate
-errors if given zero arguments, but instead to just return an empty
-string.
-
------------------ Released version 7.1, 11/4/93 ------------------
-
-Note: there is no 7.2 release. It was flawed and was thus withdrawn
-shortly after it was released.
-
-238. 11/10/93 TclMain.c didn't compile on some systems because of
-R_OK in call to "access". Changed to eliminate call to "access".
-
------------------ Released version 7.3, 11/26/93 ------------------
-
-239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace"
-so that "end" can be specified as an index.
-
-240. 11/6/93 Modified "append" and "lappend" to allow only two
-words total (i.e., nothing to append) without generating an error.
-
-241. 12/2/93 Changed to use EAGAIN as the errno for non-blocking
-I/O instead of EWOULDBLOCK: this should fix problem where non-blocking
-I/O didn't work correctly on System-V systems.
-
-242. 12/22/93 Fixed bug in expressions where cancelled evaluation
-wasn't always working correctly (e.g. "set one 1; eval {1 || 1/$one}"
-failed with a divide by zero error).
-
-243. 1/6/94 Changed TCL_VOLATILE definition from -1 to the address of
-a dummy procedure Tcl_Volatile, since -1 causes portability problems on
-some machines (e.g., Crays).
-
-244. 2/4/94 Added support for unary plus.
-
-245. 2/17/94 Changed Tcl_RecordAndEval and "history" command to
-call Tcl_GlobalEval instead of Tcl_Eval. Otherwise, invocation of
-these facilities in nested procedures can cause unwanted results.
-
-246. 2/17/94 Fixed bug in tclExpr.c where an expression such as
-"expr {"12398712938788234-1298379" != ""}" triggers an integer
-overflow error for the number in quotes, even though it isn't really
-a proper integer anyway.
-
-247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result
-from interpreter to a dynamic string.
-
-248. 2/19/94 Fixed bug in Tcl_DStringResult that caused it to overwrite
-the contents of a static result in some situations. This can cause
-bizarre errors such as variables suddenly having empty values.
-
-249. 2/21/94 Fixed bug in Tcl_AppendElement, Tcl_DStringAppendElement,
-and the "lappend" command that caused improper omission of a separator
-space in some cases. For example, the script
- set x "abc{"; lappend x "def"
-used to return the result "abc{def" instead of "abc{ def".
-
-250. 3/3/94 Tcl_ConvertElement was outputting empty elements as \0 if
-TCL_DONT_USE_BRACES was set. This depends on old pre-7.0 meaning of
-\0, which is no longer in effect, so it didn't really work. Changed
-to output empty elements as {} always.
-
-251. 3/3/94 Renamed Tcl_DStringTrunc to Tcl_DStringSetLength and extended
-it so that it can be used to lengthen a string as well as shorten it.
-Tcl_DStringTrunc is defined as a macro for backward compatibility, but
-it is deprecated.
-
-252. 3/3/94 Added Tcl_AllowExceptions procedure.
-
-253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format"
-to mis-behave on 64-bit Big-Endian machines.
-
-254. 3/13/94 Changed to use vfork instead of fork on systems where
-vfork exists.
-
-255. 3/23/94 Fixed bug in expressions where ?: didn't associate
-right-to-left as they should.
-
-256. 4/3/94 Fixed "exec" to flush any files used in >@ or >&@
-redirection in exec, so that data buffered for them is written
-before any new data added by the subprocess.
-
-257. 4/3/94 Added "subst" command.
-
-258. 5/20/94 The tclsh main program is now called Tcl_Main; tclAppInit.c
-has a "main" procedure that calls Tcl_Main. This makes it easier to use
-Tcl with C++ programs, which need their own main programs, and it also
-allows an application to prefilter the argument list before calling
-Tcl_Main.
-*** POTENTIAL INCOMPATIBILITY ***
-
-259. 6/6/94 Fixed bug in procedure returns where the errorInfo variable
-could get truncated if an unset trace was invoked as part of returning
-from the procedure.
-
-260. 6/13/94 Added "wordstart" and "wordend" options to "string" command.
-
-261. 6/27/94 Fixed bug in expressions where they didn't properly cancel
-the evaluation of math functions in &&, ||, and ?:.
-
-262. 7/11/94 Incorrect boolean values, like "ogle", weren't being
-handled properly.
-
-263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange,
-which provide lower-level access to regular expression pattern matching.
-
-264. 7/22/94 Fixed bug in "glob" command where "glob -nocomplain ~bad_user"
-would complain about a missing user. Now it doesn't complain anymore.
-
-265. 8/4/94 Fixed bug with linked variables where they didn't behave
-correctly when accessed via upvars.
-
-266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result.
-
-267. 8/31/94 Modified "open" command so that errors in exec-ing
-subprocesses are returned by the open immediately, rather than
-being delayed until the "close" is executed.
-
-268. 9/9/94 Modified "expr" command to generate errors for integer
-overflow (includes addition, subtraction, negation, multiplication,
-division).
-
-269. 9/23/94 Modified "regsub" to return a count of the number of
-matches and replacements, rather than 0/1.
-
-279. 10/4/94 Added new features to "array" command:
- - added "get" and "set" commands for easy conversion between arrays
- and lists.
- - added "exists" command to see if a variable is an array, changed
- "names" and "size" commands to treat a non-existent array (or scalar
- variable) just like an empty one.
- - added pattern option to "names" command.
-
-280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get
-called during append operations.
-
-281. 10/20/94 Fixed bug in "read" command where reading from stdin
-required two control-D's to stop the reading.
-
-282. 11/3/94 Changed "expr" command to use longs for division just like
-all other expr operators; it previously used ints for division.
-
-283. 11/4/94 Fixed bugs in "unknown" procedure: it wasn't properly
-handling exception returns from commands that were executed after
-being auto-loaded.
-
------------------ Released version 7.4b1, 12/23/94 ------------------
-
-284. 12/26/94 Fixed "install" target in Makefile (couldn't always
-find install program).
-
-285. 12/26/94 Added strcncasecmp procedure to compat directory.
-
-286. 1/3/95 Fixed all procedure calls to explicitly cast arguments:
-implicit conversions from prototypes (especially integer->double)
-don't work when compiling under non-ANSI compilers. Tcl is now clean
-under gcc -Wconversion.
-
-287. 1/4/95 Fixed problem in Tcl_ArrayCmd where same name was used for
-both a label and a variable; caused problems on several older compilers,
-making array command misbehave and causing many errors in Tcl test suite.
-
------------------ Released version 7.4b2, 1/12/95 ------------------
-
-288. 2/9/95 Modified Tcl_CreateCommand to return a token, and added
-Tcl_GetCommandName procedure. Together, these procedures make it possible
-to track renames of a command.
-
-289. 2/13/95 Fixed bug in expr where "089" was interpreted as a
-floating-point number rather than a bogus octal number.
-*** POTENTIAL INCOMPATIBILITY ***
-
-290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for
-overflows when reading in numbers.
-
-291. 2/18/95 Changed "array set" to stop after first error, rather than
-continuing after error.
-
-292. 2/20/95 Upgraded to use autoconf version 2.2.
-
-293. 2/20/95 Fixed core dump that could occur in "scan" command if a
-close bracket was omitted.
-
-294. 2/27/95 Changed Makefile to always use install-sh for installations:
-there's just too much variation among "install" system programs, which
-makes installation flakey.
-
------------------ Released version 7.4b3, 3/24/95 ------------------
-
-3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
-"make install" will work even when "." isn't in the search path.
-
-3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't
-protecting the values of the errorCode and errorInfo variables.
-
-3/29/95 (new feature) Added optional pattern argument to "parray" procedure.
-
-3/29/95 (bug fix) Made the full functionality of
- "return -code ... -errorcode ..."
-work not just inside procedures, but also in sourced files and at
-top level.
-
-4/6/95 (new feature) Added "pattern" option to "array names" command.
-
-4/18/95 (bug fix) Fixed bug in parser where it didn't allow backslash-newline
-immediately after an argument in braces or quotes.
-
-4/19/95 (new feature) Added tcl_library variable, which application can
-set to override default library directory.
-
-4/30/95 (bug fix) During trace callbacks for array elements, the variable
-name used in the original reference would be temporarily modified to
-separate the array name and element name; if the trace callback used
-the same name string, it would get the wrong name (the array name without
-element). Fixed to restore the variable name before making trace
-callbacks.
-
-4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables
-switches to "subst" command.
-
-5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval.
-
-5/5/95 (bug fix) Format command would overrun memory when printing
-integers with very large precision, as in "format %.1000d 0".
-
-5/5/95 (portability improvement) Changed to use BSDgettimeofday on
-IRIX machines, to avoid compilation problems with the gettimeofday
-declaration.
-
-5/6/95 (bug fix) Changed manual entries to use the standard .TH
-macro instead of a custom .HS macro; the .HS macro confuses index
-generators like makewhatis.
-
-5/9/95 (bug fix) Modified configure script to check for Solaris bug
-that makes vfork unreliable (core dumps result if vforked child
-changes a signal handler); will use fork instead of vfork if the
-bug is present.
-
-6/5/95 (bug fix) Modified "lsort" command to disallow recursive calls
-to lsort from a comparison function. This is needed because qsort
-is not reentrant.
-
-6/5/95 (bug fix) Undid change 243 above: changed TCL_VOLATILE and
-TCL_DYNAMIC back to integer constants rather than procedure addresses.
-This was needed because procedure addresses can have multiple values
-under some dynamic loading systems (e.g. SunOS 4.1 and Windows).
-
-6/8/95 (feature change) Modified interface to Tcl_Main to pass in the
-address of the application-specific initialization procedure.
-Tcl_AppInit is no longer hardwired into Tcl_Main. This is needed
-in order to make Tcl a shared library.
-
-6/8/95 (feature change) Modified Makefile so that the installed versions
-of tclsh and libtcl.a have version number in them (e.g. tclsh7.4 and
-libtcl7.4.a) and the library directory name also has an embedded version
-number (e.g., /usr/local/lib/tcl7.4). This should make it easier for
-Tcl 7.4 to coexist with earlier versions.
-
------------------ Released version 7.4b4, 6/16/95 ------------------
-
-6/19/95 (bug fix) Fixed bugs in tclCkalloc.c that caused core dumps
-if TCL_MEM_DEBUG was enabled on word-addressed machines such as Crays.
-
-6/21/95 (feature removal) Removed overflow checks for integer arithmetic:
-they just cause too much trouble (e.g. for random number generators).
-
-6/28/95 (new features) Added tcl_patchLevel and tcl_version variables,
-for consistency with Tk.
-
-6/29/95 (bug fix) Fixed problem in Tcl_Eval where it didn't record
-the right termination character if a script ended with a comment. This
-caused erroneous output for the following command, among others:
-puts "[
-expr 1+1
-# duh!
-]"
-
-6/29/95 (message change) Changed the error message for ECHILD slightly
-to provide a hint about why the problem is occurring.
-
------------------ Released version 7.4, 7/1/95 ------------------
-
-7/18/95 (bug fix) Changed "lreplace" so that nothing is deleted if
-the last index is less than the first index or if the last index
-is < 0.
-
-7/18/95 (bug fix) Fixed bugs with backslashes in comments:
-Tcl_CommandComplete (and "info complete") didn't properly handle
-strings ending in backslash-newline, and neither Tcl_CommandComplete
-nor the Tcl parser handled other backslash sequences right, such
-as two backslashes before a newline.
-
-7/19/95 (bug fix) Modified Tcl_DeleteCommand to delete the hash table
-entry for the command before invoking its callback. This is needed in
-order to deal with reentrancy.
-
-7/22/95 (bug fix) "exec" wasn't reaping processes correctly after
-certain errors (e.g. if the name of the executable was bogus, as
-in "exec foobar").
-
-7/27/95 (bug fix) Makefile.in wasn't using the LIBS variable provided
-by the "configure" script. This caused problems on some SCO systems.
-
-7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly
-handle the case where endPtr == NULL.
-
------------------ Released patch 7.4p1, 7/29/95 -----------------------
-
-8/4/95 (bug fix) C-level trace callbacks for variables were sometimes
-receiving the PART1_NOT_PARSED flag, which could cause errors in
-subsequent Tcl library calls using the flags. (JO)
-
-8/4/95 (bug fix) Calls to toupper and tolower weren't using the
-UCHAR macros, which caused trouble in non-U.S. locales. (JO)
-
-8/10/95 (new feature) Added the "load" command for dynamic loading of
-binary packages, and the Tcl_PackageInitProc prototype for package
-initialization procedures. (JO)
-
-8/23/95 (new features) Added "info sharedlibextension" and
-"info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO)
-
-8/25/95 (bug fix) If the target of an "upvar" was non-existent but
-had traces set, the traces were silently lost. Change to generate
-an error instead. (JO)
-
-8/25/95 (bug fix) Undid change from 7/19, so that commands can stay
-around while their deletion callbacks execute. Added lots of code to
-handle all of the reentrancy problems that this opens up. (JO)
-
-8/25/95 (bug fix) Fixed core dump that could occur in TclDeleteVars
-if there was an upvar from one entry in the table to the next entry
-in the same table. (JO)
-
-8/28/95 (bug fix) Exec wasn't handling bad user names properly, as
-in "exec ~bogus_user/foo". (JO)
-
-8/29/95 (bug fixes) Changed backslash-newline handling to correct two
-problems:
- - Only spaces and tabs following the backslash-newline are now
- absorbed as part of the backslash-newline. Newlinew are no
- longer absorbed (add another backslash if you want to absorb
- another newline).
- - TclWordEnd returns the character just before the backslash in
- the sequence as the end of the sequence; it used to not consider
- the backslash-newline as a word separator. (JO)
-
-8/31/95 (new feature) Changed man page installation (with "mkLinks"
-script) to create additional links for manual pages corresponding to
-each of the procedure and command names described in the pages. (JO)
-
-9/10/95 Reorganized Tcl sources for Windows and Mac ports. All sources
-are now in subdirectories: "generic" contains sources that work on all
-platforms, "windows", "mac", and "unix" directories contain platform-
-specific sources. Some UNIX sources are also used on other platforms. (SS)
-
-9/10/95 (feature change) Eliminated exported global variables (they
-don't work with Windows DLLs). Replaced tcl_AsyncReady and
-tcl_FileCloseProc with procedures Tcl_AsyncReady() and
-Tcl_SetFileCloseProc(). Replaced C variable tcl_RcFileName with
-a Tcl variable tcl_rcFileName. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/11/95 (new feature) Added procedure Tcl_SetPanicProc to override
-the default implementation of "panic". (SS)
-
-9/11/95 (new feature) Added "interp" command to allow creation of
-new interpreters and execution of untrusted scripts. Added many new
-procedures, such as Tcl_CreateSlave, Tcl_CreateAlias,and Tcl_MakeSafe,
-to provide C-level access to the interpreter facility. This mechanism
-now provides almost all of the generic functions of Borenstein's and
-Rose's Safe-Tcl (but not any Tk or email-related stuff). (JL)
-
-9/11/95 (feature change) Changed file management so that files are
-no longer shared between interpreters: a file cannot normally be
-referenced in one interpreter if it was opened in another. This
-feature is needed to support safe interpreters. Added Tcl_ShareHandle()
-procedure for allowing files to be shared, and added "interp" argument
-to Tcl_FilePermissions procedure. (JL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/11/95 (new feature) Added "AssocData" mechanism, whereby extensions
-can associate their own data with an interpreter and get called back
-when the interpreter is deleted. This is visible at C level via the
-procedures Tcl_SetAssocData and Tcl_GetAssocData. (JL)
-
-9/11/95 (new feature) Added Tcl_ErrnoMsg to translate an errno value
-into a human-readable string. This is now used instead of calling
-strerror because strerror mesages vary dramatically from platform
-to platform, which messes up Tcl tests. Tcl_ErrnoMsg uses the standard
-POSIX messages for all the common signals, and calls strerror for
-signals it doesn't understand.
-
------------------ Released patch 7.4p2, 9/15/95 -----------------------
-
------------------ Released 7.5a1, 9/15/95 -----------------------
-
-9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that
-handle directories whose paths might contain spaces. (RJ)
-
-9/27/95 (bug fix) The "format" command didn't check for huge or negative
-width specifiers, which could cause core dumps. (JO)
-
-9/27/95 (bug fix) Core dumps could occur if an interactive command typed
-to tclsh returned a very long result for tclsh to print out. The bug is
-actually in printf (in Solaris 2.3 and 2.4, at least); switched to use
-puts instead. (JO)
-
-9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency
-for tcl1675.dll on the Borland run time library. (SS)
-
-9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead
-of tcl16.dll. (SS)
-
-9/28/95 (bug fix) Tcl was not correctly detecting the difference
-between Win32s and Windows '95. (SS)
-
-9/28/95 (bug fix) "exec" was not passing environment changes to child
-processes under Windows. (SS)
-
-9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed
-to child processes under Windows. (SS)
-
-9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can
-handle both console and windows apps. (SS)
-
-9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves
-temp files lying around. Also changed it so the temp files are
-created in the appropriate system dependent temp directory. (SS)
-
-9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal
-Thunk header file, since it is not bundled with VC++. (SS)
-
-9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME
-environment variable from HOMEPATH and HOMEDRIVE when HOME is not
-already set. (SS)
-
-9/28/95 (bug fix) Added support for "info nameofexecutable" and "info
-sharedlibextension" to the Windows version. (SS)
-
-9/28/95 (bug fix) Changed tclsh to correctly parse command line
-arguments so that backslashes are preserved under Windows. (SS)
-
-9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end
-of line in "gets", which caused lines ending in CRLF to be treated as
-two separate lines. Changed to allow only character as end-of-line:
-carriage return on Macs, newline elsewhere. (JO)
-
-9/29/95 (new feature) Changed to install "configInfo" file in same
-directory as library scripts. It didn't used to get installed. (JO)
-
-9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX
-errors under some circumstances. (SS)
-
-10/2/95 (bug fix) Safe interpreters no longer get initialized with
-a call to Tcl_Init(). (JL)
-
-10/1/95 (new feature) Added "tcl_platform" global variable to provide
-environment information such as the instruction set and operating
-system. (JO)
-
-10/1/95 (bug fix) "exec" command wasn't always generating the
-"child process exited abnormally" message when it should have. (JO)
-
-10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates
-won't create links that overwrite original manual entries (there was
-a problem where pack-old.n was overwriting pack.n). (JO)
-
-10/2/95 (feature change) Changed to use -ldl for dynamic loading under
-Linux if it is available, but fall back to -ldld if it isn't. (JO)
-
-10/2/95 (bug fix) File sharing was causing refcounts to reach 0
-prematurely for stdin, stdout and stderr, under some circumstances. (JL)
-
-10/2/95 (platform support) Added support for Visual C++ compiler on
-Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL)
-
-10/3/95 (bug fix) Tcl now frees any libraries that it loads before it
-exits. (SS)
-
-10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l
-and -C options would fail in anything but the HOME directory. (RJ)
-
------------------ Released 7.5a2, 10/6/95 -----------------------
-
-10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead
-of "/". (JO)
-
-10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
-the tcl.def file from Borland object files. (SS)
-
-10/17/95 (new features) Moved the event loop from Tcl to Tk, made major
-revisions along the way:
- - New Tcl commands: after, update, vwait (replaces "tkwait variable").
- - "tkerror" is now replaced with "bgerror".
- - The following procedures are similar to their old Tk counterparts:
- Tcl_DoOneEvent, Tcl_Sleep, Tcl_DoWhenIdle, Tcl_CancelIdleCall,
- Tcl_CreateFileHandler, Tcl_DeleteFileHandler, Tcl_CreateTimerHandler,
- Tcl_DeleteTimerHandler, Tcl_BackgroundError.
- - Revised notifier, add new concept of "event source" with the following
- procedures: Tcl_CreateEventSource, Tcl_DeleteEventSource,
- Tcl_WatchFile, Tcl_SetMaxBlockTime, Tcl_FileReady, Tcl_QueueEvent,
- Tcl_WaitForEvent. (JO)
-
-10/31/95 (new features) Implemented cross platform file name support to make
-it easier to write cross platform scripts. Tcl now understands 4 file naming
-conventions: Windows (both DOS and UNC), Mac, Unix, and Network. The network
-convention is a new naming mechanism that can be used to paths in a platform
-independent fashion. See the "file" command manual page for more details.
-The primary interfaces changes are:
- - All Tcl commands that expect a file name now accept both network and
- native form.
- - Two new "file" subcommands, "nativename" and "networkname", provide a
- way to convert between network and native form.
- - Renamed Tcl_TildeSubst to Tcl_TranslateFileName, and changed it so that
- it always returns a filename in native form. Tcl_TildeSubst is defined
- as a macro for backward compatibility, but it is deprecated. (SS)
-
-11/5/95 (new feature) Made "tkerror" and "bgerror" synonyms, so that
-either name can be used to manipulate the command (provides temporary
-backward compatibility for existing scripts that use tkerror). (JO)
-
-11/5/95 (new feature) Added exit handlers and new C procedures
-Tcl_CreateExitHandler, Tcl_DeleteExitHandler, and Tcl_Exit. (JO)
-
-11/6/95 (new feature) Added pid command for Macintosh version of
-Tcl (it didn't previously exist on the Mac). (RJ)
-
-11/7/95 (new feature) New generic IO facility and support for IO to
-files, pipes and sockets based on a common buffering scheme. Support
-for asynchronous (non-blocking) IO and for event driver IO. Support
-for automatic (background) asynchronous flushing and asynchronous
-closing of channels. (JL)
-
-11/7/95 (new feature) Added new commands "fconfigure" and "fblocked"
-to support new I/O features such as nonblocking I/O. Added "socket"
-command for creating TCP client and server sockets. (JL).
-
-11/7/95 (new feature) Complete set of C APIs to the new generic IO
-facility:
- - Opening channels: Tcl_OpenFileChannel, Tcl_OpenCommandChannel,
- Tcl_OpenTcpClient, Tcl_OpenTcpServer.
- - I/O procedures on channels, which roughly mirror the ANSI C stdio
- library: Tcl_Read, Tcl_Gets, Tcl_Write, Tcl_Flush, Tcl_Seek,
- Tcl_Tell, Tcl_Close, Tcl_Eof, Tcl_InputBlocked, Tcl_GetChannelOption,
- Tcl_SetChannelOption.
- - Extension mechanism for creating new kinds of channels:
- Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType,
- Tcl_GetChannelName, Tcl_GetChannelFile, Tcl_RegisterChannel,
- Tcl_UnregisterChannel, Tcl_GetChannel.
- - Event-driven I/O on channels: Tcl_CreateChannelHandler,
- Tcl_DeleteChannelHandler. (JL)
-
-11/7/95 (new feature) Channel driver interface specification to allow
-new types of channels to be added easily to Tcl. Currently being used
-in three drivers - for files, pipes and TCP-based sockets. (JL).
-
-11/7/95 (new feature) interp delete now takes any number of path
-names of interpreters to delete, including zero. (JL).
-
-11/8/95 (new feature) implemented 'info hostname' and Tcl_GetHostName
-command to get host name of machine on which the Tcl process is running. (JL)
-
-11/9/95 (new feature) Implemented file APIs for access to low level files
-on each system. The APIs are: Tcl_CloseFile, Tcl_OpenFile, Tcl_ReadFile,
-Tcl_WriteFile and Tcl_SeekFile. Also implemented Tcl_WaitPid which waits
-in a system dependent manner for a child process. (JL)
-
-11/9/95 (new feature) Added Tcl_UpdateLinkedVar procedure to force a
-Tcl variable to be updated after its C variable changes. (JO)
-
-11/9/95 (bug fix) The glob command has been totally reimplemented so
-that it can support different file name conventions. It now handles
-Windows file names (both UNC and drive-relative) properly. It also
-supports nested braces correctly now. (SS)
-
-11/13/95 (bug fix) Fixed Makefile.in so that configure can be run
-from a clean directory separate from the Tcl source tree, and compilations
-can be performed there. (JO)
-
-11/14/95 (bug fix) Fixed file sharing between interpreters and file
-transferring between interpreters to correctly manage the refcount so that
-files are closed when the last reference to them is discarded. (JL)
-
-11/14/95 (bug fix) Fixed gettimeofday implementation for the
-Macintosh. This fixes several timing related bugs. (RJ)
-
-11/17/95 (new feature) Added missing support for info nameofexecutable
-on the Macintosh. (RJ)
-
-11/17/95 (bug fix) The Tcl variables argc argv and argv0 now return
-something reasonable on the Mac. (RJ)
-
-11/22/95 (new feature) Implemented "auto-detect" mode for end of line
-translations. On input, standalone "\r" mean MAC mode, standalone "\n"
-mean Unix mode and "\r\n" means Windows mode. On output, the mode is
-modified to whatever the platform specific mode for that platform is. (JL)
-
-11/24/95 (feature change) Replaced "configInfo" file with tclConfig.sh,
-which is more complete and uses slightly different names. Also
-arranged for tclConfig.sh to be installed in the platform-specific
-library directory instead of Tcl's script library directory. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 7.5a2, but not with Tcl 7.4 ***
-
------------------ Released patch 7.4p3, 11/28/95 -----------------------
-
-12/5/95 (new feature) Added Tcl_File facility to support platform-
-independent file handles. Changed all interfaces that used Unix-
-style integer fd's to use Tcl_File's instead. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-12/5/95 (new feature) Added a new "clock" command to Tcl. The command
-allows you to get the current "clicks" or seconds & allows you to
-format or scan human readable time/date strings. (RJ)
-
-12/18/95 (new feature) Moved Tk_Preserve, Tk_Release, and Tk_EventuallyFree
-to Tcl, renamed to Tcl_Preserve, Tcl_Release, and Tcl_EventuallyFree. (JO)
-
-12/18/95 (new feature) Added new "package" command and associated
-procedures Tcl_PkgRequire and Tcl_PkgProvide. Also wrote
-pkg_mkIndex library procedure to create index files from binaries
-and scripts. (JO)
-
-12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO)
-
-12/21/95 (new features) Made package name argument to "load" optional
-(Tcl will now attempt to guess the package name if necessary). Also
-added Tcl_StaticPackage and support in "load" for statically linked
-packages. (JO)
-
-12/22/95 (new feature) Upgraded the foreach command to accept multiple
-loop variables and multiple value lists. This lets you iterate over
-multiple lists in parallel, and/or assign multiple loop variables from
-one value list during each iteration. The only potential compatibility
-problem is with scripts that used loop variables with a name that could be
-construed to be a list of variable names (i.e. contained spaces). (BW)
-
-1/5/96 (new feature) Changed tclsh so it builds as a console mode
-application under Windows. Now tclsh can be used from the command
-line with pipes or interactively. Note that this only works under
-Windows 95 or NT. (SS)
-
-1/17/96 (new feature) Modified Makefile and configure script to allow
-Tcl to be compiled as a shared library: use the --enable-shared option
-when configuing. (JO)
-
-1/17/96 (removed obsolete features) Removed the procedures Tcl_EnterFile
-and Tcl_GetOpenFile: these no longer make sense with the new I/O system. (JL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-1/19/96 (bug fixes) Prevented formation of circular aliases, through the
-Tcl 'interp alias' command and through the 'rename' command, as well as
-through the C API Tcl_CreateAlias. (JL)
-
-1/19/96 (bug fixes) Fixed several bugs in direct deletion of interpreters
-with Tcl_DeleteInterp when the interpreter is a slave; fixes based on a
-patch received from Viktor Dukhovni of ESM. (JL)
-
-1/19/96 (new feature) Implemented on-close handlers for channels; added
-the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL)
-
-1/19/96 (new feature) Implemented portable error reporting mechanism; added
-the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL)
-
-1/24/96 (bug fix) Unknown command processing properly invokes external
-commands under Windows NT and Windows '95 now. (SS)
-
-1/23/96 (bug fix) Eliminated extremely long startup times under Windows '95.
-The problem was a result of the option database initialization code that
-concatenated $HOME with /.Xdefaults, resulting in a // in the middle of the
-file name. Under Windows '95, this is incorrectly interpreted as a UNC
-path. They delays came from the network timeouts needed to determine that
-the file name was invalid. Tcl_TranslateFileName now suppresses duplicate
-slashes that aren't at the beginning of the file name. (SS)
-
-1/25/96 (bug fix) Changed exec and open to create children so they are
-attached to the application's console if it exists. (SS)
-
-1/31/96 (bug fix) Fixed command line parsing to handle embedded
-spaces under Windows. (SS)
-
------------------ Released 7.5b1, 2/1/96 -----------------------
-
-2/7/96 (bug fix) Fixed off by one error in argument parsing code under
-Windows. (SS)
-
-2/7/96 (bug fix) Fixed bugs in VC++ makefile that improperly
-initialized the tcl75.dll. Fixed bugs in Borland makefile that caused
-build failures under Windows NT. (SS)
-
-2/9/96 (bug fix) Fixed deadlock problem in AUTO end of line translation
-mode which would cause a socket server with several concurrent clients
-writing in CRLF mode to hang. (JL)
-
-2/9/96 (API change) Replaced -linemode option to fconfigure with a
-new -buffering option, added "none" setting to enable immediate write. (JL)
-*** INCOMPATIBILITY with b1 ***
-
-2/9/96 (new feature) Added C API Tcl_InputBuffered which returns the count
-of bytes currently buffered in the input buffer of a channel, and o for
-output only channels. (JL)
-
-2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL)
-
-2/9/96 (new feature) Added C API Tcl_SetDefaultTranslation to set (per
-channel) the default end of line translation mode. This is the mode that
-will be installed if an output operation is done on the channel while it is
-still in AUTO mode. (JL)
-
-2/9/96 (bug fix) Changed Tcl_OpenCommandChannel interface to properly
-handle all of the combinations of stdio inheritance in background
-pipelines. See the Tcl_OpenFileChannel(3) man page for more
-info. This change fixes the bug where exec of a background pipeline
-was not getting passed the stdio handles properly. (SS)
-
-2/9/96 (bug fix) Removed the new Tcl_CreatePipeline interface, and
-restored the old version for Unix platforms only. All new code should
-use Tcl_CreateCommandChannel instead. (SS)
-
-2/9/96 (bug fix) Changed Makefile.in to use -L and -ltcl7.5 for Tcl
-library so that shared libraries are more likely to be found correctly
-on more platforms. (JO)
-
-2/13/96 (new feature) Added C API Tcl_SetNotifierData and
-Tcl_GetNotifierData to allow notifier and channel driver writers to
-associate data with a Tcl_File. The result of this change is that
-Tcl_GetFileInfo now always returns an OS file handle, and Tcl_GetFile
-can be used to construct a Tcl_File for an externally constructed OS
-handle. (SS)
-
-2/13/96 (bug fix) Changed Windows socket implementation so it doesn't
-set SO_REUSEADDR on server sockets. Now attempts to create a server
-socket on a port that is already in use will be properly identified
-and an error will be generated. (SS)
-
-2/13/96 (bug fix) Fixed problems with DLL initialization under Visual
-C++ that left the C run time library uninitialized. (SS)
-
-2/13/96 (bug fix) Fixed Windows socket initialization so it loads
-winsock the first time it is used, rather than at the time tcl75.dll
-is loaded. This should fix the bug where the modem immediately starts
-trying to connect to a service provider when wish or tclsh are
-started. (SS)
-
-2/13/96 (new feature) Added C APIs Tcl_MakeFileChannel and
-Tcl_MakeTcpClientChannel to wrap up existing fds and sockets into
-channels. Provided implementations on Unix and Windows. (JL)
-
-2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL)
-
-2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling
-and made it more robust in the face of errors. (JL)
-
-2/14/96 (feature change) Made generic IO level emulate blocking mode if the
-channel driver is unable to provide it, e.g. if the low level device is
-always nonblocking. Thus, now blocking behavior is an advisory setting for
-channel drivers and can be ignored safely if the channel driver is unable
-to provide it. (JL)
-
-2/15/96 (new feature) Added "binary" end of line translation mode, which is
-a synonym of "lf" mode. (JL)
-
-2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs
-deletion of channel event handlers. (JL)
-
-2/15/96 (bug fix) Fixed bug in event handling which would cause a
-nonblocking channel to not see further readable events after the first
-readable event that had insufficient input. (JL)
-
-2/17/96 (bug fix) "info complete" didn't properly handle comments
-in nested commands. (JO)
-
-2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle
-very long command lines (>200 chars). (SS)
-
-2/21/96 (bug fix) Sockets could get into an infinite loop if a read
-event arrived after all of the available data had been read. (SS)
-
-2/22/96 (bug fix) Added cast of st_size elements to (long) before
-sprintf-ing in "file size" command. This is needed to handle systems
-like NetBSD with 64-bit file offsets. (JO)
-
------------------ Released 7.5b2, 2/23/96 -----------------------
-
-2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly
-when compiling with C++. (JO)
-
-2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
-this caused problems on some platforms (like Linux?). (JO)
-
-2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile
-correctly on Linux machines with neither -ldl or -ldld. (JO)
-
-2/24/96 (new feature) Added a block of comments and definitions to
-Makefile.in to make it easier to have Tcl's TclSetEnv etc. replace
-the library procedures setenv etc, so that calls to setenv etc. in
-the application automatically update the Tcl "env" variable. (JO)
-
-2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
-to C API Tcl_Close and simplified closing of command channels. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
-to C type definition Tcl_DriverCloseProc; modified all channel drivers to
-implement close procedures that accept the additional argument. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/28/96 (bug fix) Fixed memory leak that could occur if an upvar
-referred to an element of an array in the same stack frame as the
-upvar. (JO)
-
-2/29/96 (feature change) Modified both Tcl_DoOneEvent and Tcl_WaitForEvent
-so that they return immediately in cases where they would otherwise
-block forever (e.g. if there are no event handlers of any sort). (JO)
-
-2/29/96 (new feature) Added C APIs Tcl_GetChannelBufferSize and
-Tcl_SetChannelBufferSize to set and retrieve the size, in bytes, for
-buffers allocated to store input or output in a channel. (JL)
-
-2/29/96 (new feature) Added option -buffersize to Tcl fconfigure command
-to allow Tcl scripts to query and set the size of channel buffers. (JL)
-
-2/29/96 (feature removed) Removed channel driver function to specify
-the buffer size to use when allocating a buffer. Removed the C typedef
-for Tcl_DriverBufferSizeProc. Channels are now created with a default
-buffer size of 4K. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/29/96 (feature change) The channel driver function for setting blocking
-mode on the device may now be NULL. If the generic code detects that the
-function is NULL, operations that set the blocking mode on the channel
-simply succeed. (JL)
-
-3/2/96 (bug fix) Fixed core dump that could occur if a syntax error
-(such as missing close paren) occurred in an array reference with a
-very long array name. (JO)
-
-3/4/96 (bug fix) Removed code in the "auto_load" procedure that deletes
-all existing auto-load information whenever the "auto_path" variable
-is changed. Instead, new information adds to what was already there.
-Otherwise, changing the "auto_path" variable causes all package-
-related information to be lost. If you really want to get rid of
-existing auto-load information, use auto_reset before setting auto_path. (JO)
-
-3/5/96 (new feature) Added version suffix to shared library names so that
-Tcl will compile under NetBSD and FreeBSD (I hope). (JO)
-
-3/6/96 (bug fix) Cleaned up error messages in new I/O system to correspond
-more closely to old I/O system. (JO)
-
-3/6/96 (new feature) Added -myaddr and -myport options to the socket
-command, removed -tcp and -- options. This lets clients and servers
-choose a particular interface. Also changed the default server address
-from the hostname to INADDR_ANY. The server accept callback now gets
-passed the client's port as well as IP address. The C interfaces for
-Tcl_OpenTcpClient and Tcl_OpenTcpServer have changed to support the
-above changes. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/6/96 (changed feature) The library function auto_mkindex will now
-default to using the pattern "*.tcl" if no pattern is given. (RJ)
-
-3/6/96 (bug fix) The socket channel code for the Macintosh has been
-rewritten to use native MacTcp. (RJ)
-
-3/7/96 (new feature) Added Tcl_SetStdChannel and Tcl_GetStdChannel
-interfaces to allow applications to explicitly set and get the global
-standard channels. (SS)
-
-3/7/96 (bug fix) Tcl did close not the file descriptors associated
-with "stdout", etc. when the corresponding channels were closed. (SS)
-
-3/7/96 (bug fix) Reworked shared library and dynamic loading stuff to
-try to get it working under AIX. Added new @SHLIB_LD_LIBS@ autoconf
-symbol as part of this. AIX probably doesn't work yet, but it should
-be a lot closer. (JO)
-
-3/7/96 (feature change) Added Tcl_ChannelProc typedef and changed the
-signature of Tcl_CreateChannelHandler and Tcl_DeleteChannelHandler to take
-Tcl_ChannelProc arguments instead of Tcl_FileProc arguments. This change
-should not affect any code outside Tcl because the signatures of
-Tcl_ChannelProc and Tcl_FileProc are compatible. (JL)
-
-3/7/96 (API change) Modified signature of Tcl_GetChannelOption to return
-an int instead of char *, and to take a Tcl_DString * argument. Modified
-the implementation so that the option name can be NULL, to mean that the
-call should retrieve a list of alternating option names and values. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/7/96 (API change) Added Tcl_DriverSetOptionProc, Tcl_DriverGetOptionProc
-typedefs, added two slots setOptionProc and getOptionProc to the channel
-type structure. These may be NULL to indicate that the channel type does
-not support any options. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/7/96 (feature change) stdin, stdout and stderr can now be put into
-nonblocking mode. (JL)
-
-3/8/96 (feature change) Eliminated dependence on the registry for
-finding the Tcl library files. (SS)
-
------------------ Released 7.5b3, 3/8/96 -----------------------
-
-3/12/96 (feature improvement) Modified startup script to look in several
-different places for the Tcl library directory. This should allow Tcl
-to find the libraries under all but the weirdest conditions, even without
-the TCL_LIBRARY environment variable being set. (JO)
-
-3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows
-socket implementation. (JL)
-
-3/13/96 (new feature) Added -peername and -sockname options for fconfigure
-for socket channels. Code contributed by John Haxby of HP. (JL)
-
-3/13/96 (bug fix) Fixed panic and core dump that would occur if the accept
-callback script on a server socket encountered an error. (JL)
-
-3/13/96 (feature change) Added -async option to the Tcl socket command.
-If the command is creating a client socket and the flag is present, the
-client is connected asynchronously. If the option is absent (the default),
-the client socket is connected synchronously, and the command returns only
-when the connection has been completed or failed. This change was suggested
-by Mark Diekhans. (JL)
-
-3/13/96 (feature change) Modified the signature of Tcl_OpenTcpClient to
-take an additional int argument, async. If nonzero, the client is connected
-to the server asynchronously. If the value is zero, the connection is made
-synchronously, and the call to Tcl_OpenTcpClient returns only when the
-connection fails or succeeds. This change was suggested by Mark Diekhans. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO)
-
-3/14/96 (bug fix) Added new procedures to tclCkalloc.c so that libraries
-and applications can be compiled with TCL_MEM_DEBUG even if Tcl isn't
-(however, the converse is still not true). Patches provided by Jan
-Nijtmans. (JO)
-
-3/15/96 (bug fix) Marked standard IO handles of a process as close-on-exec
-to fix bug in Ultrix where exec was not sharing standard IO handles with
-subprocesses. Fix suggested by Mark Diekhans. (JL)
-
-3/15/96 (bug fix) Fixed asynchronous close mechanism so that it closes the
-channel instead of leaking system resources. The manifestation was that Tcl
-would eventually run out of file descriptors if it was handling a large
-number of nonblocking sockets or pipes with high congestion. (JL)
-
-3/15/96 (bug fix) Fixed tests so that they no longer leak file descriptors.
-The manifestation was that Tcl would eventually run out of file descriptors
-if the tests were rerun many times (> a hundred times on Solaris). (JL)
-
-3/15/96 (bug fix) Fixed channel creation code so that it never creates
-unnamed channels. This would cause a panic and core dump when the channel
-was closed. (JL)
-
-3/16/96 (bug fixes) Made lots of changes in configuration stuff to get
-Tcl working under AIX (finally). Tcl should now support the "load"
-command under AIX and should work either with or without shared
-libraries for Tcl and Tk. (JO)
-
-3/21/96 (configuration improvement) Changed configure script so it
-doesn't use version numbers (as in -ltcl7.5 and libtcl7.5.so) under
-SunOS 4.1, where they don't work anyway. (JO)
-
-3/22/96 (new feature) Added C API Tcl_InterpDeleted that allows extension
-writers to discover when an interpreter is being deleted. (JL)
-
-3/22/96 (bug fix) The standard IO channels are now added to each
-trusted interpreter as soon as the interpreter is created. This ensures
-against the bug where a child would do IO before the master had done any,
-and then the child is destroyed - the standard IO channels would be then
-closed and the master would be unable to do any IO. (JL)
-
-3/22/96 (bug fix) Made Tcl more robust against interpreter deletion, by
-using Tcl_Preserve, Tcl_Release and Tcl_EventuallyFree to split the process
-of interpreter deletion into two distinct phases. Also went through all of
-Tcl and added calls to Tcl_Preserve and Tcl_Delete where needed. (JL)
-
-3/22/96 (bug fix) Fixed several places where C code was reading and writing
-into freed memory, especially during interpreter deletion. (JL)
-
-3/22/96 (bug fix) Fixed very deep bug in Tcl_Release that caused memory to
-be freed twice if the release callback did Tcl_Preserve and Tcl_Release on
-the same memory as the chunk currently being freed. (JL)
-
-3/22/96 (bug fix) Removed several memory leaks that would cause memory
-buildup on half-K chunks in the generic IO level. (JL)
-
-3/22/96 (bug fix) Fixed several core dumps which occurred when new
-AssocData was being created during the cleanups in interpreter deletion.
-The solution implemented now is to loop repeatedly over the AssocData until
-none is left to clean up. (JL)
-
-3/22/96 (bug fix) Fixed a bug in event handling which caused an infinite
-loop if there were no files being watched and no timer. Fix suggested by
-Jan Nijtmans. (JL)
-
-3/22/96 (bug fix) Fixed Tcl_CreateCommand, Tcl_DeleteCommand to be more
-robust if the interpreter is being deleted. Also fixed several order
-dependency bugs in Tcl_DeleteCommand which kicked in when an interpreter
-was being deleted. (JL)
-
-3/26/96 (bug fix) Upon a "short read", the generic code no longer calls
-the driver for more input. Doing this caused blocking on some platforms
-even on nonblocking channels. Bug and fix courtesy Mark Roseman. (JL)
-
-3/26/96 (new feature) Added 'package Tcltest' which is present only in
-test versions of Tcl; this allows the testing commands to be loaded into
-new interpreters besides the main one. (JL)
-
-3/26/96 (restored feature) Recreated the Tcl_GetOpenFile C API. You can
-now get a FILE * from a registered channel; Unix only. (JL)
-
-3/27/96 (bug fix) The regular expression code did not support more
-than 9 subexpressions. It now supports up to 20. (SS)
-
-4/1/96 (bug fixes) The CHANNEL_BLOCKED bit was being left on on a short
-read, so that fileevents wouldn't fire correctly. Bug reported by Mark
-Roseman.(JL, RJ)
-
-4/1/96 (bug fix) Moved Tcl_Release to match Tcl_Preserve exactly, in
-tclInterp.c; previously interpreters were being freed only conditionally
-and sometimes not at all. (JL)
-
-4/1/96 (bug fix) Fixed error reporting in slave interpreters when the
-error message was being generated directly by C code. Fix suggested by
-Viktor Dukhovni of ESM. (JL)
-
-4/2/96 (bug fixes) Fixed a series of bugs in Windows sockets that caused
-events to variously get lost, to get sent multiple times, or to be ignored
-by the driver. The manifestation was blocking if the channel is blocking,
-and either getting EAGAIN or infinite loops if the channel is nonblocking.
-This series of bugs was found by Ian Wallis of Cisco. Now all tests (also
-those that were previously commented out) in socket.test pass. (JL, SS)
-
-4/2/96 (feature change/bug fix) Eliminated network name support in
-favor of better native name support. Added "file split", "file join",
-and "file pathtype" commands. See the "file" man page for more
-details. (SS)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/2/96 (bug fix) Changed implementation of auto_mkindex so tclIndex
-files will properly handle path names in a cross platform context. (SS)
-
-4/5/96 (bug fix) Fixed Tcl_ReadCmd to use the channel buffer size as the
-chunk size it reads, instead of a fixed 4K size. Thus, on large reads, the
-user can set the channel buffer size to a large size and the read will
-occur orders of magnitude faster. For example, on a 2MB file, reading in 4K
-chunks took 34 seconds, while reading in 1MB chunks took 1.5 seconds (on a
-SS-20). Problem identified and fix suggested by John Haxby of HP. (JL)
-
-4/5/96 (bug fix) Fixed socket creation code to invoke gethostbyname only if
-inet_addr failed (very unlikely). Before this change the order was reversed
-and this made things much slower than they needed to be (gethostbyname
-generally requires an RPC, which is slow). Problem identified and fix
-suggested by John Loverso of OSF. (JL)
-
-4/9/96 (feature change) Modified "auto" translation mode so that it
-recognizes any of "\n", "\r" and "\r\n" in input as end of line, so
-that a file can have mixed end-of-line sequences. It now outputs
-the platform specific end of line sequence on each platform for files and
-pipes, and for sockets it produces crlf in output on all platforms. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/11/96 (new feature) Added -eofchar option to Tcl_SetChannelOption to allow
-setting of an end of file character for input and output. If an input eof
-char is set, it is recognized as EOF and further input from the channel is
-not presented to the caller. If an output eof char is set, on output, that
-byte is appended to the channel when it is closed. On Unix and Macintosh,
-all channels start with no eof char set for input or output. On Windows,
-files and pipes start with input and output eof chars set to Crlt-Z (ascii
-26), and sockets start with no input or output eof char. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/17/96 (bug fix) Fixed series of bugs with handling of crlf sequence split
-across buffer boundaries in input, in AUTO mode. (JL, BW)
-
-4/17/96 (test suite improvement) Fixed test suite so that tests that
-depend on the availability of Unix commands such as echo, cat and others
-are not run if these commands are not present. (JL)
-
-4/17/96 (test suite improvement) The socket test now automatically starts,
-on platformst that support exec, a separate process for remote testsing. (JL)
-
------------------ Released 7.5, 4/21/96 -----------------------
-
-5/1/96 (bug fix) "file tail ~" did not correctly return the tail
-portion of the user's home directory. (SS)
-
-5/1/96 (bug fix) Fixed bug in TclGetEnv where it didn't lookup environment
-variables correctly: could confuse "H" and "HOME", for example. (JO)
-
-5/1/96 (bug fix) Changed to install tclConfig.sh under "make install-binaries",
-not "make install-libraries". (JO)
-
-5/2/96 (bug fix) Changed pkg_mkIndex not to attempt to "load" a file unless
-it has the standard shared library extension. On SunOS, attempts to load
-Tcl scripts cause the whole application to be aborted (there's no way to
-get the error back into Tcl). (JO)
-
-5/7/96 (bug fix) Moved initScript in tclUnixInit.c to writable memory to
-avoid potential core dumps. (JO)
-
-5/7/96 (bug fix) Auto_reset procedure was removing procedure from init.tcl,
-such as pkg_mkIndex. (JO)
-
-5/7/96 (bug fix) Fixed cast on socket address resolution code that
-would cause a failure to connect on Dec Alphas. (JL)
-
-5/7/96 (bug fix) Added "time", "subst" and "fileevent" commands to set of
-commands available in a safe interpreter. (JL)
-
-5/13/96 (bug fix) Preventing OS level handles for stdin, stdout and stderr
-from being implicitly closed when the last reference to the standard
-channel containing that handle is discarded when an interpreter is deleted.
-Explicitly closing standard channels by using "close" still works. (JL)
-
-5/21/96 (bug fix) Do not create channels for stdin, stdout and stderr on
-Unix if the devices are closed. This prevents a duplicate channel name
-panic later on when the fd is used to open a channel and the channel is
-registered in an interpreter. (JL)
-
-5/23/96 (bug fix) Fixed bug that prevented the use of standard channels in
-interpreters created after the last interpreter was destroyed. In the sequence
-
- interp = Tcl_CreateInterp();
- Tcl_DeleteInterp(interp);
- interp = Tcl_CreateInterp();
-
-channels for stdio would not be available in the second interpreter. (JL)
-
-5/23/96 (bug fix) Fixed bug that allowed Tcl_MakeFileChannel to create new
-channels with Tcl_Files in them that are already used by another channel.
-This would cause core dumps when the Tcl_Files were being freed twice. (JL)
-
-5/23/96 (bug fix) Fixed a logical timing bug that caused a standard channel
-to be removed from the standard channel table too early when the channel
-was being closed. If the channel was being flushed asynchronously, it could
-get recreated before being actually destroyed, and the recreated channel
-would contain the same Tcl_File as the one being closed, leading to
-dangling pointers and core dumps. (JL)
-
-5/27/96 (bug fix) Fixed a bug in Tcl_GetChannelOption which caused it to
-always return a list of one element, a list of the settings, for
--translation and -eofchar options. Now correctly returns the value
-described by the documentation (Mark Diekhans found this, thanks!). (JL)
-
-5/30/96 (bug fix) Fixed a couple of syntax errors in io.test. (JL)
-
-5/30/96 (bug fix) If a fileevent scripts gets an error, delete it before
-causing a background error. This is to allow the error handler to reinstall
-the fileevent and to prevent infinite loops if the event loop is reentered
-in the error handler. (JL)
-
-5/31/96 (bug fix) Channels now will get properly flushed on exit. (JL)
-
-6/5/96 (bug fix) Changed Tcl_Ckalloc, Tcl_Ckfree, and Tcl_Ckrealloc to
-Tcl_Alloc, Tcl_Free, and Tcl_Realloc. Added documentation for these
-routines now that they are officially supported. Extension writers
-should use these routines instead of free() and malloc(). (SS)
-
-6/10/96 (bug fix) Changes the Tcl close command so that it no longer
-waits on nonblocking pipes for the piped processes to exit; instead it
-reaps them in the background. (JL)
-
-6/11/96 (bug fix) Increased the length of the listen queue for server
-sockets on Unix from 5 to 100. Some OSes will disregard this and reset it
-to 5, but we should try to get as long a queue as we can, for performance
-reasons. (JL)
-
-6/11/96 (bug fix) Fixed windows sockets bug that caused a cascade of events
-if the fileevent script read less than was available. Now reading less than
-is available does not cause a flood of Tcl events. (JL, SS)
-
-6/11/96 (bug fix) Fixed bug in background flushing on closed channels that
-would prevent the last buffer from getting flushed. (JL)
-
-6/13/96 (bug fix) Fixed bug in Windows sockets that caused a core dump if
-a DLL linked with tcl.dll and referred to e.g. ntohs() without opening a
-Tcl socket. The problem was that the indirection table was not being
-initialized. (JL)
-
-6/13/96 (bug fix) Fixed OS level resource leak that would occur when a
-Tcl channel was still registered in some interpreter when the process
-exits. Previously the channel was not being closed and the OS level handles
-were not being released; the output was being flushed but the device was
-not being closed. Now the device is properly closed. This was only a
-problem on Win3.1 and MacOS. (JL, SS)
-
-6/28/96 (bug fix) Fixed bug where transient errors were leaving an error
-code around, so that it would erroneously get reported later. This bug was
-exercised intermittently by closing a channel to a file on a very loaded
-NFS server, or to a socket whose other end blocked. (JL, BW)
-
-7/3/96 (bug fix) Fileevents declared in an interpreter are now deleted
-when the channel is closed in that interpreter. Before this fix, the
-fileevent would hang around until the channel is completely closed, and
-would cause errors if events happened before the channel was closed. This
-could happen in two cases: first if the channel is shared between several
-interpreters, and second if an async flush is in progress that prevents the
-channel from being closed until the flush finishes. (JL)
-
-7/10/96 (bug fix) Fixed bugs in both "lrange" and "lreplace" commands
-where too much white space was being removed. For example, the command
- lreplace {\}\ hello} end end
-was returning "\}\", losing the significant space in the first list
-element and corrupting the list. (JO)
-
-7/20/96 (bug fix) The procedure pkg_mkIndex didn't work properly for
-extensions that depend on Tk, because it didn't load Tk into the child
-interpreter before loading the extension. Now it loads Tk if Tk is
-present in the parent. (JO)
-
-7/23/96 (bug fix) Added compat version of strftime to fix crashes
-resulting from bad implementations under Windows. (SS)
-
-7/23/96 (bug fix) Standard implementations of gmtime() and localtime()
-under Windows did not handle dates before 1970, so they were replaced
-with a revised implementation. (SS)
-
-7/23/96 (bug fix) Tcl would crash on exit under Borland 5.0 because
-the global environ pointer was left pointing to freed memory. (SS)
-
-7/29/96 (bug fix) Fixed memory leak in Tcl_LoadCmd that could occur if
-a package's AppInit procedure called Tcl_StaticPackage to register
-static packages. (JO)
-
-8/1/96 (bug fix) Fixed a series of bugs in Windows sockets so that async
-writebehind in the presence of read event handlers now works, and so that
-async writebehind also works on sockets for which a read event handler was
-declared and whose channels were then closed before the async write
-finished. The bug was reported by John Loverso and Steven Wahl,
-independently, test case supplied by John Loverso. (JL)
-
------------------ Released patch 7.5p1, 8/2/96 -----------------------
-
-5/8/96 (new feature) Added Tcl_GetChannelMode C API for retrieving whether
-a channel is open for reading and writing. (JL)
-
-5/8/96 (API changes) Revised C APIs for channel drivers:
- - Removed all Tcl_Files from channel driver interface; you can now have
- channels that are not based on Tcl_Files.
- - Added channelReadyProc and watchChannelProc procedures to interface;
- these are used to implement event notification for channels.
- - Added getFileProc to channel driver, to allow the generic IO code
- to retrieve a Tcl_File from a channel (presumably if the channel
- uses Tcl_Files they will be stored inside its instanceData). (JL)
-*** INCOMPATIBILITY with Tcl 7.5 ***
-
-5/8/96 (API change) The Tcl_CreateChannel C API was modified to not take
-Tcl_File arguments, and instead to take a mask specifying whether the
-channel is readable and/or writable. (JL)
-*** INCOMPATIBILITY with Tcl 7.5 ***
-
-6/3/96 (bug fix) Made Tcl_SetVar2 robust against the case where the value
-of the variable is a NULL pointer instead of "". (JL)
-
-6/17/96 (bug fix) Fixed "reading uninitialized memory" error reported by
-Purify, in Tcl_Preserve/Tcl_Release. (JL)
-
-8/9/96 (bug fix) Fixed bug in init.tcl that caused incorrect error message
-if the act of autoloading a procedure caused the procedure to be invoked
-again. (JO)
-
-8/9/96 (bug fix) Configure script produced bad library names and extensions
-under SunOS and a few other platforms if the --disable-load switch was used.
-(JO)
-
-8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable
-being updated was read-only. (JO)
-
-8/14/96 (bug fix) The macintosh now supports synchronous socket
-connections. Other minor bugs were also fixed. (RJ)
-
-8/15/96 (configuration improvement) Changed the file patchlevel.h
-to be tclPatch.h. This avoids conflict with the Tk file and is now
-in 8.3 format on the Windows platform. (RJ)
-
-8/20/96 (bug fix) Fixed core dump in interp alias command for interpreters
-created with Tcl_CreateInterp (as opposed to with Tcl_CreateSlave). (JL)
-
-8/20/96 (bug fix) No longer masking ECONNRESET on Windows sockets so
-that the higher level of the IO mechanism sees the error instead of
-entering an infinite loop. (JL)
-
-8/20/96 (bug fix) Destroying the last interpreter no longer closes the
-standard channels. (JL)
-
-8/20/96 (bug fix) Closing one of the stdin, stdout or stderr channels and
-then opening a new channel now correctly assigns the new channel as the
-standard channel that was closed. (JL)
-
-8/20/96 (bug fix) Added code to unix/tclUnixChan.c for using ioctl with
-FIONBIO instead of fcntl with O_NONBLOCK, for those versions of Unix where
-either O_NONBLOCK is not supported or implemented incorrectly. (JL)
-
-8/21/96 (bug fix) Fixed "file extension" so it correctly returns the
-extension on files like "foo..c" as "..c" instead of ".c". (SS)
-
-8/22/96 (bug fix) If environ[] contains static strings, Tcl would core
-dump in TclSetupEnv because it was trying to write NULLs into the actual
-data in environ[]. Now we instead copy as appropriate. (JL)
-
-8/22/96 (added impl) Added missing implementation of Tcl_MakeTcpClientChannel
-for Windows platform. Code contributed by Mark Diekhans. (JL)
-
-8/22/96 (new feature) Added a new memory allocator for the Macintosh
-version of Tcl. It's quite a bit faster than MetroWerk's version. (RJ)
-
-8/26/96 (documentation update) Removed old change bars (for all changes
-in Tcl 7.5 and earlier releases) from manual entries. (JO)
-
-8/27/96 (enhancement) The exec and open commands behave better and work in
-more situations under Windows NT and Windows 95. Documentation describes
-what is still lacking. (CS)
-
-8/27/96 (enhancement) The Windows makefiles will now compile even if the
-compiler is not in the path and/or the compiler's environment variables
-have not been set up. (CS)
-
-8/27/96 (configuration improvement) The Windows resource files are
-automatically updated when the version/patch level changes. The header file
-now has a comment that reminds the user which other files must be manually
-updated when the version/patch level changes. (CS)
-
-8/28/96 (new feature) Added file manipulation features (copy, rename, delete,
-mkdir) that are supported on all platforms. They are implemented as
-subcommands to the "file" command. See the documentation for the "file"
-command for more information. (JH)
-
------------------ Released 7.6b1, 8/30/96 -----------------------
-
-9/3/96 (bug fix) Simplified code so that standard channels are created
-lazily, they are added to an interpreter lazily, and they are never added
-to a safe interpreter. (JL)
-
-9/3/96 (bug fix) Closing a channel after closing a standard channel, e.g.
-stdout, would cause the implicit recreation of that standard channel. (JL)
-
-9/3/96 (new feature) Now calling Tcl_RegisterChannel with a NULL
-interpreter increments the refcount so that code outside any interpreter
-can use channels that are also registered in interpreters, without worrying
-that the channel may turn into a dangling pointer at any time. Calling
-Tcl_UnregisterChannel with a NULL interpreter only decrements the recount
-so that code outside any interpreter can safely declare it is no longer
-interested in a channel. (JL)
-
-9/4/96 (new features) Two changes to dynamic loading:
- - If the file name is empty in the "load" command and there is no
- statically loaded version of the package, a dynamically loaded
- version will be used if there is one.
- - Tcl_StaticPackage ignores redundant calls for the same package. (JO)
-
-9/6/96 (bug fix) Platform specific procedures for manipulating files are
-no longer macros and have been prefixed with "Tclp", such as TclpRenameFile.
-Unix file code now handles symbolic links and other special files correctly.
-The semantics of file copy and file rename has been changed so that if
-a target directory exists, the source files will NOT be merged with the
-existing files. (JH)
-
-9/6/96 (bug fix) If standard channel is NULL, because Tcl cannot connect
-to the standard channel, do not increment the refcount. The channel can
-be NULL if there is for example no standard input. (JL)
-
-9/6/96 (portability improvement) Changed parsing of backslash sequences
-like \n to translate directly to absolute values like 0xa instead of
-letting the compiler do the translation. This guarantees that the
-translation is done the same everywhere. (JO)
-
-9/9/96 (bug fix) If channel is opened and not associated with any
-interpreter, but Tcl decides to use it as one of the standard channels, it
-became impossible to close the channel with Tcl_Close -- instead you had
-to call Tcl_UnregisterChannel. Fixed now so that it's safe to call
-Tcl_Close even when Tcl is using the channel as one of the standard ones. (JL)
-
-9/11/96 (feature change) The Tcl library is now placed in the Tcl
-shared libraries resource. You no longer need to place the Tcl files
-in your applications explicitly. (RJ)
-
-9/11/96 (feature change) Extensions no longer automatically have the
-resource fork of the extension opened for it. Instead you need to
-use the tclMacLibrary.c file in your extension. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/12/96 (bug fix) The extension loading mechanism on the Macintosh now
-looks at the 'cfrg' resource to determine where to load the code
-fragment from. This means FAT fragments should now work. (RJ)
-
-9/18/96 (enhancement) The exec and open commands behave better and work in
-more situations under Windows 3.X. Documentation describes what is still
-lacking. (CS)
-
-9/19/96 (bug fix) Fixed a panic which would occur if you delete a
-non-existent alias before any aliases are created. Now instead correctly
-returns an error that the alias is not found. (JL)
-
-9/19/96 (bug fix) Slave interpreters could rename aliases and they would
-not get deleted when the alias was being redefined. This led to dangling
-pointers etc. (JL)
-
-9/19/96 (bug fix) Fixed a panic where a hash table entry was being deleted
-twice during alias management operations. (JL)
-
-9/19/96 (bug fix) Fixed bug in event loop that could cause the input focus
-in Tk to get confused during menu traversal, among other problems. The
-problem was related to handling of the "marker" when its event was
-deleted. (JO)
-
-9/26/96 (bug fix) Windows was losing EOF on a socket if the FD_CLOSE event
-happened to precede any left over FD_READ events. Now correctly remembers
-seeing FD_CLOSE, so that trailing FD_READ events are not discarded if they
-do not contain any data. This allows Tcl to correctly get a zero read and
-notice EOF. (JL)
-
-9/26/96 (bug fix) Was not resetting READABLE state properly on sockets
-under Windows if the driver discarded an FD_READ event because no data was
-present. Now correctly resets the state. (JL)
-
-9/30/96 (bug fix) Made EOF sticky on Windows sockets, so that fileevent
-readable will fire repeatedly until the socket is closed. Previously the
-fileevent fired only once. This could lead to never-closed connections if
-the Tcl script in the fileevent wasn't closing the socket immediately. (JL)
-
-10/2/96 (new feature) Improved the package loader:
- - Added new variable tcl_pkgPath, which holds the default
- directories under which packages are normally installed (each
- package goes in a separate subdirectory of a directory in
- $tcl_pkgPath). These directories are included in auto_path by
- default.
- - Changed the package auto-loader to look for pkgIndex.tcl files
- not only in the auto_path directories but also in their immediate
- children. This should make it easier to install and uninstall
- packages (don't have to change auto_path or merge pkgIndex.tcl
- files). (JO)
-
-10/3/96 (bug fix) Changed tclsh to look for tclshrc.tcl instead of
-tclsh.rc on startup under Windows. This is more consistent with wish and
-uses the right extension. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/8/96 (bug fix) Convertclock does not parse 24-hour times of the
-form "hhmm" correctly when hour = 00. In the parse code, hour must be
->= 100 for minutes to be non-zero. Thanks to Lint LaCour for this
-bug fix. (RJ)
-
-10/11/96 (bug fix) Under Windows, the pid command returned the process
-handle instead of the process id. (SS)
-
------------------ Released 7.6, 10/16/96 -----------------------
-
-10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after
-the first accept(), due to a typo. (JL)
-
-10/29/96 (bug fix) Incorrect refcount management caused standard channels
-not to get deleted at process exit or DLL unload time, causing a memory
-leak of upwards of 20K each time. (JL)
-
-11/7/96 (bug fix) Auto-exec didn't work on file names that contained
-spaces. (JO)
-
-11/8/96 (bug fix) Fixed core dump that would occur if more than one call
-to Tcl_DeleteChannelHandler was made to delete a given channel handler. (JL)
-
-11/8/96 (bug fix) Fixed test for return value in Tcl_Seek and Tcl_SeekCmd
-to only treat -1 as error, instead of all negative numbers. (JL)
-
-11/12/96 (bug fix) Do not blocking waiting for processes at the end of a
-pipe during exit cleanup. (JL)
-
-11/12/96 (bug fix) If we are in exit cleanup, do not close the system level
-file descriptors 0, 1 and 2. Previously they were being closed which is
-incorrect, in the embedded case. This led to weird behavior for programs
-that want to interpose on I/O through the standard file descriptors (e.g.
-Netscape Navigator). (JL)
-
-11/15/96 (bug fix) Fixed core dump on Windows sockets due to dependency on
-deletion order at exit. Now all socket functions check to see if sockets
-are (still) initialized, before calling through function pointers. Before,
-they would call and might end up calling unloaded object code. (JL)
-
-11/15/96 (bug fix) Fixed core dump in Windows socket initialization routine
-if sockets were not installed on the system. Before, it was not properly
-checking the result of attempting to load the socket DLL, so it would call
-through uninitialized function pointers. (JL)
-
-11/15/96 (bug fix) Fixed memory leak in Windows sockets which left socket
-DLL handle open and could hold the socket DLL in memory uneccessarily,
-until a reboot. (JL)
-
-12/4/96 (bug fix) Fixed bug in Macintosh socket code that could result
-in lost data if a client was closed too soon after sending data. (RJ)
-
-12/17/96 (bug fix) Fixed deadlock bug in Windows sockets due to losing an
-event. This was happening because of an interaction between buffering and
-nonblocking mode on sockets. Now switched to sockets being blocking by
-default, so we are also no longer emulating blocking through a private
-event loop. (JL)
-
-1/21/97 (performance bug fix) Client TCP connections were slow to create
-because getservbyname was always called on the port. Now this is only
-done if Tcl_GetInt fails. (BW)
-
-1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH
-during make. Previously it was only set during autoconf process.
-
-1/29/97 (bug fix) Fixed some problems with the clock command that
-impacted how dates were scaned after the year 2000. (RJ)
-
------------------ Released 7.6p2, 1/31/97 -----------------------
-
-2/5/97 (bug fix) Fixed a bug where in CR-LF translation mode, \r bytes
-in the input stream were not being handled correctly. (JL)
-
-2/24/97 (bug fix) Fix bug with exec under Win32s not being able to create
-stderr file which caused all execs to fail. Fixed temp file leak under
-Win32s. Fixed optional parameter bug with SearchPath that only happened
-under Win32s 1.25. (CCS)
-
-----------------------------------------------------------
-Changes for Tcl 7.6 go above this line.
-Changes for Tcl 7.7 go below this line.
-----------------------------------------------------------
-
-5/8/96 (new feature) Added Tcl_Ungets C API for putting a sequence of bytes
-into a channel's input buffer. This can be used for "push" model channels
-where the input is obtained via callbacks instead of by request of the
-generic IO code. No Tcl procedure yet. (JL)
-
-11/15/96 (new feature) Implemented hidden commands. New C APIs:
- Tcl_HideCommand -- hides an existing exposed command.
- Tcl_ExposeCommand -- exposes an existing hidden command.
-New tcl APIs:
- interp invokehidden -- invokes a hidden command in a slave.
- interp hide -- hides an existing exposed command.
- interp expose -- exposes an existing hidden command.
- interp hidden -- returns a list of hidden commands.
-The implementation of Safe Tcl now uses the new hidden commands facility
-to implement the safe base, instead of deleting the commands from a safe
-interpreter. (JL)
-
-11/15/96 (new feature) Implemented the safe base, a mechanism for
-installing and requesting security policies, purely in Tcl code. Overloads
-the package command to also allow an interpreter to "require" a policy. The
-following new library commands are provided:
- tcl_safeCreateInterp -- creates a slave an initializes the
- policy mechanism.
- tcl_safeInitInterp -- initializes an existing slave with the
- policy mechanism.
- tcl_safeDeleteInterp -- deletes a slave and deinitializes the
- policy mechanism.
-Added a new file to the library, safeinit.tcl, to hold implementation. (JL)
-On 7/9/97, removed the policy loading mechanism from the Safe Base. Left
-only the Safe Base aliases dealing with auto-loading and source. (JL)
-
-12/6/96 (new feature) Implemented Tcl_Finalize, an API that should be
-called by a process when it is done using Tcl. This API runs all the exit
-handlers to allow them to clean up resources etc. (JL)
-
-12/17/96 (new feature) Add an http Tcl script package to the Tcl library.
-This package implements the client side of HTTP/1.0; the GET, HEAD,
-and POST requests. (BW)
-
-1/21/97 (new feature) Added a "marktrusted" subcommand to the "interp" and
-to the interpreter object command. It removes the "safe" mark on an
-interpreter and disables hard-wired checks for safety in the C sources. (JL)
-
-1/21/97 (removed feature) Removed "vwait" from set of commands available in
-a safe interpreter. (JL)
-
-2/11/97 (new feature, bug fix) http package. Added -accept to http_config
-so you can set the Accept header. Added -handler option to http_get so
-you can supply your own data handler. Also fixed POST operation to
-set the correct MIME type on the request. (BW)
-
-----------------------------------------------------------
-Changes for Tcl 7.7 go above this line.
-Changes for Tcl 8.0 go below this line.
-----------------------------------------------------------
-
-9/17/96 (bug fix) Using "upvar" it was possible to turn an array element
-into an array itself. Changed to disallow this; it was quirky and didn't
-really work correctly anyway. (JO)
-
-10/21/96 (new feature) The core of the Tcl interpreter has been replaced
-with an on-the-fly compiler that translates Tcl scripts to bytecoded
-instructions; a new interpreter then executes the bytecodes. The compiler
-introduces only a few minor changes at the level of Tcl scripts. The biggest
-changes are to expressions and lists.
- - A second level of substitutions is no longer done for expressions.
- This substantially improves their execution time. This means that
- the expression "$x*4" produces a different result than in the past
- if x is "$y+2". Fortunately, not much code depends on the old
- two-level semantics. Some expressions that do, such as
- "expr [join $list +]" can be recoded to work in Tcl8.0 by adding
- an eval: e.g., "eval expr [join $list +]".
- - Lists are now completely parsed on the first list operation to
- create a faster internal representation. In the past, if you had a
- misformed list but the erroneous part was after the point you
- inserted or extracted an element, then you never saw an error.
- In Tcl8.0 an error will be reported. This should only effect
- incorrect programs that took advantage of behavior of the old
- implementation that was not documented in the man pages.
-Other changes to Tcl scripts are discussed in the web page at
-http://www.scriptics.com/doc/compiler.html. (BL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/21/96 (new feature) In earlier versions of Tcl, strings were used as a
-universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj
-structures ("objects") that can hold both a string value and an internal
-form such as a binary integer or compiled bytecodes. The new objects make it
-possible to store information in efficient internal forms and avoid the
-constant translations to and from strings that occurred with the old
-interpreter. There are new many new C APIs for managing objects. Some of the
-new library procedures for objects (such as Tcl_EvalObj) resemble existing
-string-based procedures (such as Tcl_Eval) but take advantage of the
-internal form stored in Tcl objects for greater speed. Other new procedures
-manage objects and allow extension writers to define new kinds of objects.
-See the manual entries doc/*Obj*.3 (BL)
-
-10/24/96 (bug fix) Fixed memory leak on exit caused by some IO related
-data structures not being deallocated on exit because their refcount was
-artificially boosted. (JL)
-
-10/24/96 (bug fix) Fixed core dump in Tcl_Close if called with NULL
-Tcl_Channel. (JL)
-
-11/19/96 (new feature) Added library procedures for finding word
-breaks in strings in a platform specific manner. See the library.n
-manual entry for more information. (SS)
-
-11/22/96 (feature improvements) Added support for different levels of
-tracing during bytecode compilation and execution. This should help in
-tracking down suspected problems with the compiler or with converting
-existing code to use Tcl8.0. Two global Tcl variables, traceCompile
-and traceExec, can be set to generate tracing information in stdout:
- - traceCompile: 0 no tracing (default)
- 1 trace compilations of top level commands and procs
- 2 trace and display instructions for all compilations
- - traceExec: 0 no tracing
- 1 trace only calls to Tcl procs
- 2 trace invocations of all commands including procs
- 3 detailed trace showing the result of each instruction
-traceExec >= 2 provides a one line summary of each called command and
-its arguments. Commands that have been "compiled away" such as set are
-not shown. (BL)
-
-11/30/96 (bug fix) The command "info nameofexecutable" could sometimes
-return the name of a directory. (JO)
-
-11/30/96 (feature improvements) Changed the code in library/init.tcl
-that reads in pkgIndex.tcl so that (a) it reads the files from child
-directories before those in the parent, so that the parent gets
-precedence, and (b) it doesn't quit if there is an error in a
-pkgIndex.tcl file; instead, it prints an error message on standard
-error and continues. (JO)
-
-10/5/96 (feature improvements) Partial implementation of binary string
-support: the ability for Tcl string values to contain embedded null bytes.
-Changed the Tcl object-based APIs to take a byte pointer and length pair
-instead of a null-terminated C string. Modified several object type managers
-to support binary strings but not, for example, the list type manager.
-Existing string-based C APIs are unchanged and will truncate binary
-strings. Compiled scripts containing nulls are also truncated. (BL)
-
-12/12/96 (feature change) Removed the commands "cp", "mkdir", "mv",
-"rm", and "rmdir" from the Macintosh version of Tcl. They were never
-officially supported and their functionality is now available via
-the file command. (RJ)
-
------------------ Released 8.0a1, 12/20/96 -----------------------
-
-1/7/97 (bug fix) Under Windows, "file stat c:" was returning error instead
-of stat for current dir on c: drive.
-
-1/10/97 (new feature) Added Tcl_GetIndexFromObj procedure for quick
-lookups of keyword arguments. (JO)
-
-1/12/97 (new feature) Serial IO channel drivers for Windows and Unix,
-available by using Tcl open command to open pseudo-files like "com1:" or
-"/dev/ttya". New option to Tcl fconfigure command for serial files:
-"-mode baud,parity,data,stop" to specify baud rate, parity, data bits, and
-stop bits. Serial IO is not yet available on Mac.
-
-1/16/97 (feature change) Restored the Tcl7.x "two level substitution
-semantics" for expressions. Expressions not enclosed in braces are
-implemented, in general, by calling the expr command procedure
-(Tcl_ExprObjCmd) at runtime after the Tcl interpreter has already done a
-first round of substitutions. This is slow (about Tcl7.x speed) because new
-code for the expression is generally compiled each time. However, if the
-expression has only variable substitutions (and not command substitutions),
-"optimistic" fast code is generated inline. This inline code will fail if a
-second round of substitutions is needed (i.e., if the value of a substituted
-variable itself requires more substitutions). The optimistic code will
-catch the error and back off to call the slower but guaranteed correct
-expr command procedure. (BL)
-
-1/16/97 (feature improvements) Added Tcl_ExprLongObj and Tcl_ExprDoubleObj
-to round out expression-related procedures. (BL)
-
-1/16/97 (feature change) Under Windows, at startup the environment variables
-"path", "comspec", and "windir" in any capitalization are converted
-automatically to upper case. The PATH variable could be spelled as path,
-Path, PaTh, etc. and it makes programming rather annoying. All other
-environment variables are left alone. (CS)
-
-1/20/97 (new features) Rewrote the "lsort" command:
- - The new version is based on reentrant merge sort code provided
- by Richard Hipp, so it eliminates the reentrancy and stability
- problems with the old qsort-based implementation.
- - The new version supports a -dictionary option for sorting, and
- it also supports a -index option for sorting lists using one
- element for comparison.
- - The new version is an object command, so it works well with the
- Tcl compiler, especially in conjunction with the new -index
- option. When the -index option is used, this version of lsort
- is more than 100 times faster than the Tcl 7.6 lsort, which had
- to use the -command option to get the same effect. (JO)
-
-1/20/97 (feature improvements) Added the improved debugging support for Tcl
-objects prototyped by Karl Lehenbauer <karl@hammer1.ops.NeoSoft.com>.
-If TCL_MEM_DEBUG is defined, the object creation calls use Tcl_DbCkalloc
-directly in order to record the caller's source file name and line
-number. (BL)
-
-1/21/97 (removed feature) Desupported the tcl_precision variable: if
-set, it is ignored. Tcl now uses the full 17 digits of precision when
-converting real numbers to strings (with the new object system real
-numbers are rarely converted to strings so there is no efficiency
-disadvantage to printing all 17 digits; the new scheme improves
-accuracy and simplifies several APIs). (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
-1/21/97 (feature change) Removed the "interp" argument for the
-procedures Tcl_GetStringFromObj, Tcl_StringObjAppend, and
-Tcl_StringObjAppendObj. Also removed the "interp" argument for
-the updateStringProc procedure in Tcl_ObjType structures. With
-the tcl_precision changes above, these are no longer needed. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a1, but not with Tcl 7.6 ***
-
-1/22/97 (bug fix) Fixed http.tcl so that http_reset does not result in
-an extra call to the command callback. In addition, if the transaction
-gets a premature eof, the state(status) is "eof", not "ok". (BW)
-
------------------ Released 8.0a2, 1/24/97 -----------------------
-
-1/29/97 (feature change) Changed how two digit years are parsed in the
-clock command. The old interface just added 1900 which will seem
-broken by the year 2000. The new scheme follows the POSIX standard
-and treats dates 70-99 as 1970-1999 and dates 00-38 as 2000-2038. All
-other two digit dates are undefined. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-2/4/97 (bug fix) Fixed bug in clock code that dealt with relative
-dates. Using the relative month code you could get an invalid date
-because it jumped into a non-existant day. (For example, Jan 31
-to Feb 31.) The code now will return the last valid day of the
-month in these situations. Thanks to Hume Smith for sending in
-this bug fix. (RJ)
-
-2/10/97 (feature change) Eliminated Tcl_StringObjAppend and
-Tcl_StringObjAppendObj procedures, replaced them with Tcl_AppendToObj
-and Tcl_AppendStringsToObj procedures. Added new procedure
-Tcl_SetObjLength. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2, but not with Tcl 7.6 ***
-
-2/10/97 (new feature) Added Tcl_WrongNumArgs procedure for generating
-error messages about incorrect number of arguments. (JO)
-
-2/11/97 (new feature, bug fix) http package. Added -accept to http_config
-so you can set the Accept header. Added -handler option to http_get so
-you can supply your own data handler. Also fixed POST operation to
-set the correct MIME type on the request. (BW)
-
-2/22/97 (bug fix) Fixed bug that caused $tcl_platform(osVersion) to be
-computed incorrectly under AIX. (JO)
-
-2/25/97 (new feature, feature change) Added support for both int and long
-integer objects. Added Tcl_NewLongObj/Tcl_GetLongFromObj/Tcl_SetLongFromObj
-procedures and renamed the Tcl_Obj internalRep intValue member to
-longValue. Tcl_GetIntFromObj now checks for integer values too large to
-represent as non-long integers. Changed Tcl_GetAllObjTypes to
-Tcl_AppendAllObjTypes. (BL)
-
-3/5/97 (new feature) Added new Tcl_SetListObj procedure to round out
-collection of procedures that set the type and value of existing Tcl
-objects. (BL)
-
-3/6/97 (new feature) Added -global flag for interp invokehidden. (JL)
-
-3/6/97 (new feature, feature change) Added isNativeObjectProc field to the
-Tcl_CmdInfo structure to indicate (when 1) if the command has an
-object-based command procedure. Removed the nameLength arg from
-Tcl_CreateObjCommand since command names can't contain null characters. (BL)
-
-3/6/97 (bug fix) Fixed bug in "unknown" procedure that caused auto-
-loading to fail on commands whose names begin with digits. (JO)
-
-3/7/97 (bug fix) Auto-loading now works in Safe Base. Safe interpreters
-only accept the Version 2 and onwards tclIndex files. (JL)
-
-3/13/97 (bug fix) Fixed core dump due to interaction between aliases and
-hidden commands. Bug found by Lindsay Marshall. (JL)
-
-3/14/97 (bug fix) Fixed mac bugs relating to time. The -gmt option
-now adjusts the time in the correct direction. (Thanks to Ed Hume for
-reporting a fix to this problem.) Also fixed file "mtime" etc. to
-return times from GMT rather than local time zone. (RJ)
-
-3/18/97 (feature change) Declaration of objv in Tcl_ObjCmdProc function
-changed from "Tcl_Obj *objv[]" to "Tcl_Obj *CONST objv[]". All Tcl object
-commands changed to use new declaration of objv. Naive translation of
-string-based command procs to object-based command procs could very easily
-have yielded code where the contents of the objv array were changed. This
-is not a problem with string-based command procs, but doing something as
-simple as objv[2] = objv[3] would corrupt the runtime stack and cause Tcl to
-crash. Introduced CONST in declaration of objv so that attempted assignment
-of new pointer values to elements of the objv array will be caught by the
-compiler. (CCS)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
-
-3/19/97 (bug fix) Fixed panic due to object sharing. The root cause was
-that old code was using Tcl_ResetResult instead of Tcl_ResetObjResult. (JL)
-
-3/20/97 (new feature) Added a new subcommand for the file
-command. file attributes filename can give a list of platform-specific
-options (such as file/creator type on the Mac, permissions on Unix) or
-set the values of them. Added a new subcommand for the file
-command. file nativename name gives back the platform-specific form
-for the file. This is useful when the filename is needed to pass to
-the OS, such as exec under Windows 95 or AppleScript on the Mac. For
-more info, see file.n. (SRP)
-
-3/24/97 (removed feature) Removed the tcl_safePolicyPath procedure. Now
-the policy path is computed from the auto_path by appending the directory
-'policies' to each element. Also fixed several bugs in automatic tracking
-of auto_path by computed policy path. (JL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
-
-4/8/97 (new feature) If the variable whose name is passed to lappend doesn't
-already exist, and there are no value arguments, lappend now creates the
-variable with an empty value instead of returning an error. Change suggested
-by Tom Tromey. (BL)
-
-4/9/97 (feature change) Changed the name of the TCL_PART1_NOT_PARSED flag to
-TCL_PARSE_PART1. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
-
-4/10/97 (bug fixes) Fixed various compilation-related bugs:
- - "UpdateStringOfCmdName should never be invoked" panic.
- - Bad code generated for expressions not in {}'s inside catch commands.
- - Segmentation fault in some command procedures when two argument
- object pointers refer to the same object.
- - Second level of substitutions were never done for expressions not
- in {}'s that consist of a single variable reference: e.g.,
- "set x 27; set bool {$x}; if $bool {puts foo}" would fail with error.
- - Bad code generated when code storage was grown while compiling some
- expressions: ones with compilation errors or consisting of only a
- variable reference.
- - Bugs involving multiple interpreters: wasn't checking that a
- procedure's code was compiled for the same interpreter as the one
- executing it, and didn't invalidate code on hidden-exposed command
- transitions.
- - "Bad stack top" panic when executing scripts that require a huge
- amount of stack space.
- - Incorrect sharing of code for procedure bodies, and procedure code
- deallocated before last execution of the procedure finished.
- - Fixed compilation of expression words in quotes. For example,
- if "0 < 3" {puts foo}.
- - Fixed performance bug in array set command with large assignments.
- - Tcl_SetObjLength segmentation fault setting length of empty object.
- - If Tcl_SetObjectResult was passed the same object as the interpreter's
- result object, it freed the object instead of doing nothing. Bug fix
- by Michael J. McLennan.
- - Tcl_ListObjAppendList inserted elements from the wrong list. Bug fix
- by Michael J. McLennan.
- - Segmentation fault if empty variable list was specified in a foreach
- command. Bug fix by Jan Nijtmans.
- - NULL command name was always passed to Tcl_CreateTrace callback
- procedure.
- - Wrong string representation generated for the value LONG_MIN.
- For example, expr 1<<31 printed incorrectly on a 32 bit machine.
- - "set {a($x)} 1" stored value in wrong variable.
- - Tcl_GetBooleanFromObj was not checking for garbage after a numeric
- value.
- - Garbled "bad operand type" error message when evaluating expressions
- not surrounded by {}'s. (BL)
-
-4/16/97 (new feature) The expr command now has the "rand()" and
-"srand()" functions for getting random numbers in expr. (RJ)
-
-4/23/97 (bug fix) Fixed core dump in bgerror when the error handler command
-deletes the current interpreter. Found by Juergen Schoenwald. (JL)
-
-4/23/97 (feature change) The notifier interfaces have been redesigned
-to make embedding in applications with external event loops possible.
-A number of interfaces in the notifier and the channel drivers have
-changed. Refer to the Notifier.3 and CrtChannel.3 manual entries for
-more details. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (removed feature) The Tcl_File interfaces have been removed.
-The Tcl_CreateFileHandler/Tcl_DeleteFileHandler interfaces now take
-Unix fd's and are only supported on the Unix platform.
-Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle.
-Tcl_MakeFileChannel now takes a platform specific file handle. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (removed feature) The modal timeout interface has been
-removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (feature change) Channel drivers are now required to correctly
-implement blocking behavior when they are in blocking mode. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (new feature) Added the "binary" command for manipulating
-binary strings. Also, changed the "puts", "gets", and "read" commands
-to preserve embedded nulls. (SS)
-
-4/23/97 (new feature) Added tcl_platform(byteOrder) element to the
-tcl_platform array to identify the native byte order for the current
-host. (SS)
-
-4/23/97 (bug fix) Fixed bug in date parsing around year boundaries. (SS)
-
-4/24/97 (bug fix) In the process of copying a file owned by another user,
-Tcl was changing the owner of the copy back to the owner of the original
-file, therefore causing further file operations to fail because the current
-user didn't own the copy anymore. The owner of the copy is now left as the
-current user. (CCS)
-
-4/24/97 (feature change) Under Windows, don't automatically uppercase the
-environment variable "windir" -- it's supposed to be lower case. (CCS)
-
-4/29/97 (new feature) Added namespace support based on a namespace
-implementation by Michael J. McLennan of Lucent Technologies. A namespace
-encapsulates a collection of commands and variables to ensure that they
-won't interfere the commands and variables of other namespaces. The global
-namespace holds all global variables and commands. Additional namespaces are
-created with the new namespace command. The new variable command lets you
-create Tcl variables inside a namespace. The names of Tcl variables and
-commands may now be qualified by the name of the namespace containing them.
-The key namespace-related commands are summarized below:
- - namespace ?eval? name arg ?arg...?
- Used to define the commands and variables in a namespace.
- Optionally creates the namespace.
- - namespace export ?-clear? ?pattern pattern...?
- Specifies which commands are exported from a namespace. These
- are the ones that can be imported into another namespace.
- - namespace import ?-force? ?pattern pattern...?
- Makes the specified commands accessible in the current namespace.
- - namespace current
- Returns the name of the current namespace.
- - variable name ?value? ?name ?value?...?
- Creates one or more namespace variables. (BTL)
-
-5/1/97 (bug fix) Under Windows, file times were reported in GMT. Should be
-reported in local time. (CCS)
-
-5/2/97 (feature change) Changed the name of the two Tcl variables used for
-tracing bytecode compilation and execution to tcl_traceCompile and
-tcl_traceExec respectively. These variables are now documented in the
-tclvars man page. (BL)
-
-5/5/97 (new feature) Support "end" as the index for "lsort -index". (BW)
-
-5/5/97 (bug fixes) Cleaned up the way the http package resets connections (BW)
-
-5/8/97 (feature change) Newly created Tcl objects now have a reference count
-of zero instead of one. This simplifies C code that stores newly created
-objects in Tcl variables or in data structures such as list objects. That C
-code must increment the new object's reference count since the variable or
-data structure will contain a long-term reference to the object. Formerly,
-when new objects started out with reference count one, it was necessary to
-decrement the new object's reference count after the store to make sure it
-was left with the correct value; this is no longer necessary. (BL)
-
-5/9/97 (new feature) Added the Tcl_GetsObj interface that takes an
-object reference instead of a dynamic string (as in Tcl_Gets). (SS)
-
-5/12/97 (new feature) Added Tcl_CreateAliasObj and Tcl_GetAliasObj C APIs
-to allow an alias command to be created with a vector of Tcl_Obj structures
-and to get the vector back later. (JL)
-
-5/12/97 (feature change) Changed Tcl_ExposeCommand and Tcl_HideCommand to
-leave an object result instead of a string result. (JL)
-
-5/14/97 (feature change) Improved the handling of the interpreter result.
-This is still either an object or a string, but the two values are now kept
-consistent unless some C code reads or writes interp->result directly. See
-the SetResult man page for details. Removed the Tcl_ResetObjResult
-procedure. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
-
-5/16/97 (new feature) Added "fcopy" command to move data between
-channels. Refer to the manual page for more information. Removed the
-"unsupported0" command since it is obsolete now. (SS)
-
-5/16/97 (new feature) Added Tcl_GetStringResult procedure to allow programs
-to get an interpreter's result as a string. If the result was previously set
-to an object, this procedure will convert the object to a string. Use of
-Tcl_GetStringResult is intended to replace direct access to interp->result,
-which is not safe. (BL)
-
-5/20/97 (new features) Fixed "fcopy" to return the number of bytes
-transferred in the blocking case. Updated the http package to use
-fcopy instead of unsupported0. Added -timeout and -handler options to
-http_get. http_get is now blocking by default. It is only non-blocking
-if you supply a -command argument. (BW)
-
-5/22/97 (bug fix) Fixed several bugs in the "lsort" command having to do
-with the -dictionary option and the presence of numbers embedded in the
-strings. (JO)
-
------------------ Released 8.0b1, 5/27/97 -----------------------
-
-6/2/97 (bug fix) Fixed bug in startup code that caused a problem in
-finding the library files when they are installed in a directory
-containing a space in the name. (SS)
-
-6/2/97 (bug fix) Fixed bug in Unix notifier where the select mask was
-not being cleared under some circumstances. (SS)
-
-6/4/97 (bug fix) Fixed bug that prevented creation of Tk widgets in
-namespaces. Tcl_CreateObjCommand and Tcl_CreateCommand now always create
-commands in the global namespace unless the command names are qualified. Tcl
-procedures continue to be created in the current namespace by default. (BL)
-
-6/6/97 (new features) Added new namespace API procedures
-Tcl_AppendExportList and Tcl_Export to allow C code to get and set a
-namespace's export list. (BL)
-
-6/11/97 (new feature) Added Tcl_ConcatObj. This object-based routine
-parallels the string-based routine Tcl_Concat. (SRP)
-
-6/11/97 (new feature) Added Tcl_SetObjErrorCode. This object-based
-routines parallels the string-based routine Tcl_SetErrorCode. (SRP)
-
-6/12/97 (bug fix) Fix the "unknown" procedure so that wish under Windows
-will exec an external program, instead of always complaining "console1 not
-opened for writing". (CCS)
-
-6/12/97 (bug fix) Fixed core dump experienced by the following simple
-script:
- interp create x
- x alias exec exec
- interp delete x
-This panic was caused by not installing the new CmdDeleteProc when exec
-got redefined by the alias creation step. Reported by Lindsay Marshal (JL)
-
-6/13/97 (new features) Tcl objects newly created by Tcl_NewObj now have a
-string representation that points to a shared heap string of length 1. (They
-used to have NULL bytes and typePtr fields. This was treated as a special
-case to indicate an empty string, but made type manager implementations
-complex and error prone.) The new procedure Tcl_InvalidateStringRep is used
-to mark an object's string representation invalid and to free any storage
-associated with the old string representation. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
-
-6/16/97 (bug fix) Tcl_ScanCountedElement could leave braces unmatched
-if the string ended with a backslash. (JO)
-
-6/17/97 (bug fix) Fixed channel event bug where readable events would be
-lost during recursive events loops if the input buffers contained
-data. (SS)
-
-6/17/97 (bug fix) Fixed bug in Windows socket code that didn't
-reenable read events in the case where an external entity is also
-reading from the socket. (SS)
-
-6/18/97 (bug fix) Changed initial setting of the notifier service mode
-to TCL_SERVICE_NONE to avoid unexpected event handling during
-initialization. (SS)
-
-6/19/97 (bug fix/feature change) The command callback to fcopy is now
-called in case of errors during the background copy. This adds a second,
-optional argument to the callback that is the error string. The callback
-in case of errors is required for proper cleanup by the user of fcopy. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
-6/19/97 (bug fix) Fixed a panic due to the following four line script:
- interp create x
- x alias foo bar
- x eval rename foo blotz
- x alias foo {}
-The problem was that the interp code was not using the actual current name
-of the command to be deleted as a result of un-aliasing foo. (JL)
-
-6/19/97 (feature change) Pass interp down to the ChannelOption and
-driver specific calls so system errors can be differentiated from syntax
-ones. Changed Tcl_DriverGetOptionProc type. Affects Tcl_GetChannelOption,
-TcpGetOptionProc, TtyGetOptionProc, etc. (DL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-6/19/97 (new feature) Added Tcl_BadChannelOption for use by by driver
-specific option procedures (Set and Get) to return a complete and
-meaningful error message. (DL)
-
-6/19/97 (bug fixes) If a system call error occurs while doing an
-fconfigure on tcp or tty/com channel: return the appropriate error
-message (instead of the syntax error one or none). (Fixed for Unix and
-most of the Win and Mac drivers). (DL)
-
-6/20/97 (feature change) Eval is no longer assumed as the subcommand name
-in namespace commands: you must now write "namespace eval nsName {...}".
-Abbreviations of namespace subcommand names are now allowed. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
-
-6/20/97 (feature change) Changed the errorInfo traceback message for
-compilation errors from "invoked from within" to "while compiling". (BL)
-
-6/20/97 (bug fixes) Fixed various compilation-related bugs:
- - "UpdateStringOfCmdName should never be called" and
- "UpdateStringOfByteCode should never be called" panics.
- - Segfault in TclObjInterpProc getting procedure name after evaluation
- stack is reallocated (grown).
- - Could not use ":" at end of variable and command names.
- - Bad code generated for while and for commands with test expressions
- enclosed in quotes: e.g., "set i 0; while "$i > 5" {}".
- - Command trace procedures would crash if they did a Tcl_EvalObj that
- reallocated the evaluation stack.
- - Break and continue commands did not reset the interpreter result.
- - The Tcl_ExprXXX routines, both string- or object-based, always
- modified the interpreter result even if there was no error.
- - The argument parsing procedure used by several compile procedures
- always treated "]" as end of a command: e.g., "set a ]" would fail.
- - Changed errorInfo traceback message for compilation errors from
- "invoked from within" to "while compiling".
- - Problem initializing Tcl object managers during interpreter creation.
- - Added check and error message if formal parameter to a procedure is
- an array element. (BL)
-
-6/23/97 (new feature) Added "registry" package to allow manipulation
-of the Windows system registry. See manual entry for details. (SS)
-
-6/24/97 (feature change) Converted http to a package and added the
-http1.0 subdirectory of the Tcl script library. This means you have
-to do a "package require http" to use this, as advertised in the man page. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
-6/24/97 (bug fix) Ensure that Tcl_Set/GetVar C APIs, when called without
-TCL_LEAVE_ERR_MSG, don't touch the interp result. (DL)
-
-6/26/97 (feature change) Changed name of Tcl_ExprStringObj to
-Tcl_ExprObj. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
------------------ Released 8.0b2, 6/30/97 -----------------------
-
-7/1/97 (new feature) TCL_BUILD_SHARED flag set in tclConfig.sh
-when Tcl has been built with --enable-shared. A new tclLibObjs
-make target, echoing the list of the .o's needed to build a tcl
-library, is now provided. (DL)
-
-7/1/97 (feature change) compat/getcwd.c removed and changed the
-only place where getcwd is used so a new USEGETWD flag selects
-the use of the replacement "getwd". Adding this flag is recommended
-for SunOS 4 (because getcwd on SunOS 4 uses a pipe to pwd(1)!). (DL)
-
-7/7/97 (feature change) The split command now supports binary data (i.e.,
-null characters in strings). (BL)
-
-7/7/97 (bug fix) string first returned the wrong result if the first
-argument string was empty. (BL)
-
-7/8/97 (bug fix) Fixed core dump in fcopy that could occur when a command
-callback was supplied and an error or eof condition caused no background
-activity. A refcount bug triggered a panic in Tcl_ListObjAppendElement. (BW)
-
-7/8/97 (bug fix) Relaxed the pattern matching on http_get so you do not
-need a trailing path component. You can now get away with just
-http_get www.scriptics.com (BW)
-
-7/9/97 (bug fix) Creating anonymous interpreters no longer smashes existing
-commands with names similar to the generated name. Previously creating an
-anonymous interpreter could smash an existing command, now it skips until
-it finds a command name that isn't being used. (JL)
-
-7/9/97 (feature change) Removed the policy management mechanism from the
-Safe Base; left the aliases to source and load modules, and to do a limited
-form of the "file" command. See entry of 11/15/96. (JL)
-
-7/9/97 (bug fixes) Fixed various compilation-related bugs:
- - Line numbers in errorInfo now are the same as those in Tcl7.6 unless
-there are compilation errors. Compilation error messages now include the
-entire command in error.
- - Trailing ::s after namespace names weren't being ignored.
- - Could not refer to an namespace variable with an empty name using a
-name of the form "n::". (BL)
-
-7/9/97 (bug fix) Fixed bug in Tcl_Export that prevented you from exporting
-from other than the current namespace. (BL)
-
-7/9/97 (bug fix) env.test was removing env var needed for proper finding
-of libraries in child process. (DL)
-
-7/10/97 (bug fixes/new feature) Cleanup in Tcl_MakeSafe. Less information
-is leaked to safe interps. Error message fixes for interp sub commands.
-Likewise changes in safealias.tcl; tcl_safeCreateInterp can now be called
-without argument to generate the slave name (like in interp create). (DL)
-
-7/10/97 (bug fixes) Bytecode compiler now generates more detailed
-command location information: subcommands as well as commands now have
-location information. This means command trace procedures now get the
-correct source string for each command in their command parameter. (BL)
-
-7/22/97 (bug fixes) Performance improvement in Safe interpreters
-handling. Added new mask value to (tclInt.h) Interp.flags record. (DL)
-
-7/22/97 (bug fix) Fixed panic in 'interp target {} foo'. This bug
-was present since Tcl 7.6. (JL)
-
-7/22/97 (bug fix) Fixed bug in compilation of procedures in namespaces: the
-procedure's namespace must be used to look up compile procedures, not the
-current namespace. (BL)
-
-7/22/97 (bug fix) Use of the -channel option of http_get was not setting
-the end of line translations mode on the channel, so copying binary data
-with the -channel option was corrupting the result on non-unix platforms. (BW)
-
-7/22/97 (bug fixes) file commands and ~user (seg fault and other
-improper returns). (DL)
-
-7/23/97 (feature change) Reenabled "vwait" in Safe Base. (JL)
-
-7/23/97 (bug fixes) Fixed two bugs involving read traces on array variables
-in procedures: trace procedures were sometimes not called, and reading
-nonexistant array elements didn't create undefined element variables that
-could later be defined by trace procedures. (BL)
-
-7/24/97 (bug fix) Windows memory allocation performance was
-superlinear in some cases. Made the Mac allocator generic and changed
-both the Mac and Windows platforms to use the new allocator instead of
-malloc and free. (SS)
-
-7/24/97 - 8/12/97 (bug fixes/change of features) Completely revamped safe
-sourcing/loading (see safe.n) to hide pathnames, use virtual
-paths tokens instead, improved security in several respects and made it
-more tunable. Multi level interp loading can work too now. Package auto
-loading now works in safe interps as long as the package directory is in
-the auto_path (no deep crawling allowed in safe interps). (DL)
-*** POTENTIAL INCOMPATIBILITY with previous alpha and beta releases ***
-
-7/24/97 (bug fixes) Made Tcl_SetVar* and Tcl_NewString* treat a NULL value
-as an empty string. (This fixes hairy crash case where you would crash
-because load command for other interps assumed presence of
-errorInfo...). (DL)
-
-7/28/97 (bug fix) Fixed pkg_mkIndex to understand namespaces. It will
-use the export list of a namespace and create auto_index entries for
-all export commands. Those names are in their fully qualified form in the
-auto_index. Therefore, I tweaked unknown to try both $cmd and ::$cmd.
-Also fixed pkg_mkIndex so you can have "package require" commands inside
-your packages. These commands are ignored, which is mostly ok except
-when you must load another package before loading yours because of
-linking dependencies. (BW)
-
-7/28/97 (bug fix) A variable created by the variable command now persists
-until the namespace is destroyed or the variable is unset. This is true even
-if the variable has not been initialized; these variables used to be
-destroyed if an error occurred when accessing them. In addition, the "info
-vars" command lists uninitialized namespace variables, while the "info
-exists" command returns 0 for them. (BL)
-
-7/29/97 (feature change) Changed the http package to use the ::http
-namespace. http_get renamed to http::geturl, http_config renamed to
-http::config, http_formatQuery renamed to http::formatQuery.
-It now provides the 2.0 version of the package.
-The 1.0 version is still available with the old names.
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b2 but not with Tcl 7.6 ***
-
-7/29/97 (bug fix, new feature) Tcl_Main now uses Tcl objects internally to
-preserve NULLs in commands and command output. Added new API procedure
-Tcl_RecordAndEvalObj that resembles Tcl_RecordAndEval but takes an object
-containing a command. (BL)
-
-7/30/97 (bug fix) Tcl freed strings in the environ array even if it
-did not allocate them. (SS)
-
-7/30/97 (bug fix) If a procedure is renamed into a different namespace, it
-now executes in the context of that namespace. (BL)
-
-7/30/97 (bug fix) Prevent renaming of commands into and from namespaces as
-part of hiding them. (JL)
-
-7/31/97 (feature change) Moved the history command from C to tcl.
-This uses the ::history namespace. The "words" and "substitute" options
-are no longer supported. In addition, the "keep" option without a value
-returns the current keep limit. There is a new "clear" option.
-The unknown command now supports !! again. (BW)
-*** POTENTIAL INCOMPATIBILTY ***
-
-7/30/97 (bug fix) Made sure that a slave can not fool the master into
-hiding the wrong command. Made sure we don't crash in hiding + namespaces
-issues. (DL)
-
-8/4/97 (bug fix) Concat, eval, uplevel, and similar commands were
-incorrectly trimming trailing space characters from their arguments
-even when the space characters were preceded by a backslash. (JO)
-
-8/4/97 (bug fix) Removed the hard link between bgerror and tkerror.
-Only bgerror is supported in tcl core. Tk will still look for a
-tkerror but using regular tcl code for that feature. (DL)
-*** POTENTIAL INCOMPATIBILTY with code relying on the hard link ***
-
-8/6/97 (bug fix) Reduced size required for compiled bytecodes by using a
-more compact encoding for the command pc-to-source map. (BL)
-
-8/6/97 (new feature) Added support for additional compilation and execution
-statistics when Tcl is compiled with the TCL_COMPILE_STATS flag. (BL)
-
-8/7/97 (bug fix) Expressions not in {}s that have a comparison operator as
-the topmost operator must be compiled out-of-line (call the expr cmd at
-runtime) to properly support expr's two-level substitution semantics. An
-example is "set a 2; set b {$a}; puts [expr $b == 2]". (BL)
-
-8/11/97 (bug fix) The catch command would sometimes crash if a variable name
-was given and the bytecode evaluation stack was grown when executing the
-argument script. (BL)
-
-8/12/97 (feature change) Reinstated the variable tcl_precision to control
-the number of digits used when floating-point values are converted to
-strings, with default of 12 digits. However, had to make tcl_precision
-shared among all interpreters (except that safe interpreters can't
-modify it). This makes the Tcl 8.0 behavior almost identical to 7.6
-except that the default precision is 12 instead of 6. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
------------------ Released 8.0, 8/18/97 -----------------------
-
-8/19/97 (bug fix) Minimal fix for glob -nocomplain bugs:
-"glob -nocomplain unreadableDir/*" was generating an anonymous
-error. More in depth fixes will come with 8.1. (DL).
-
-8/20/97 (bug fix) Removed check for FLT_MIN in binary command so
-underflow conditions are handled by the compiler automatic
-conversions. (SS)
-
-8/20/97 (bug fixes) Fixed several compilation-related bugs:
- - Array cmd wasn't detecting arrays that, while compiled, do not yet
- exist (e.g., are marked undefined since they haven't been assigned
- to yet).
- - The GetToken procedure in tclCompExpr.c wasn't recognizing properly
- whether an integer token was invalid. For example, "0x$" is not
- a valid integer.
- - Performance bug in TclExecuteByteCode: the size of its stack frame
- was reduced by over 20% by moving errorInfo code elsewhere.
- - Uninitialized memory read error in tclCompile.c. (BL)
-
-8/21/97 (bug fix) safe::interpConfigure now behave like Tk widget's
-configure : it changes only the options you provide and you can get
-the current value of any single option. New ?-nested boolean? and
-?-statics boolean? for all safe::interp* commands but we still
-accept (upward compatibility) the previously defined non valued
-flags ?-noStatics? and ?-nestedLoadOk?. Improved the documentation. (DL).
-
-8/22/97 (bug fix) Updated PrintDbl.3 to reflect the fact that the
-tcl_precision variable is still used and that it is now shared by all
-interpreters. (BL)
-
-8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType
-procedure in tclExecute.c: it was not properly supporting the || and &&
-operators. (BL)
-
-8/27/97 (bug fix) In cases where a channel handler was created with an
-empty event mask while data was still buffered in the channel, the
-channel code would get stuck spinning on a timer that would starve
-idle handlers. This mostly happened in Tk when reading from stdin. (SS)
-
-9/4/97 (bug fix) Slave interps now inherit the maximum recursion limit
-of their parent instead of starting back at the default. {nb: this still
-does not prevent stack overflow by multi-interps recursion or aliasing} (DL)
-
-9/11/97 (bug fix) An uninitialized variable in Tcl_WaitPid caused
-pipes to fail to report eof properly under Windows. (SS)
-
-9/12/97 (bug fix) "exec" was misidentifying some DOS executables as not
-executable. (CCS)
-
-9/14/97 (bug fix) Was using the wrong structure in sizeof operation in
-tclUnixChan.c. (JL)
-
-9/15/97 (bug fix) Fixed notifier to break out of do-one-event loop if
-Tcl_WaitForEvent returns 1, so that callers of Tcl_DoOneEvent will get
-a chance to check whether the event just handled is significant. This
-affected mainly recursive calls to Tcl_VWaitCmd; these did not get a
-chance to notice that the variable they were waiting for has been set
-and thus they didn't terminate the vwait. (JL, DL, SS)
-
-9/15/97 (bug fix) Alignment problems in "binary format" would cause a
-crash on some platforms when formatting floating point numbers. (SS)
-
-9/15/97 (bug fix) Fixed bug in Macintosh socket code. Now passes all
-tests in socket.test that are not platform specific. (Thanks to Mark
-Roseman for the pointer on the fix.) (RJ)
-
-9/18/97 (bug fix) Fixed bug -dictionary option of lsort that could
-cause the compare function to run off the end of an array if the
-number only contained 0's. (Thanks to Greg Couch for the report.) (RJ)
-
-9/18/97 (bug fix) TclFinalizeEnvironment was not cleaning up
-properly. (DL, JI)
-
-9/18/97 (bug fix) Fixed long-standing bug where an "array get" command
-did not trigger traces on the array or its elements. (BL)
-
-9/18/97 (bug fixes) Fixed compilation-related bugs:
- - Fixed errorInfo traceback information for toplevel coomands that
- contain nested commands.
- - In the expr command, && and || now accept boolean operands as well
- as numeric ones. (BL)
-
-9/22/97 (bug fix) Fixed bug that prevented translation modes from being
-set independently for input and output on sockets if input was "auto". (JL)
-
-9/24/97 (bug fix) Tcl_EvalFile(3) and thus source(n) now works fine on
-files containing NUL chars. (DL)
-
-9/26/97 (bug fix) Fixed use of uninitialized memory in the environ array
-that later could cause random core dumps. Applies to all platforms. (JL)
-
-9/26/97 (bug fix) Fixed use of uninitialized memory in socket address data
-structure under some circumstances. This could cause random core dumps.
-This applies only to Unix. (JL)
-
-9/26/97 (bug fix) Opening files on PC-NFS volumes would cause a hang
-until the system timed after the file was closed. (SS)
-
-10/6/97 (bug fix) The join(n) command, though objectified, was loosing
-NULs in the joinString and in list elements after the 2nd one.
-Now you can "join $list \0" for instance. (DL)
-
-10/9/97 (bug fix) Under windows, if env(TMP) or env(TEMP) referred to a
-non-existent directory, exec would fail when trying to create its temporary
-files. (CCS)
-
-10/9/97 (bug fix) Under mac and windows, "info hostname" would crash if
-sockets were installed but the hostname could not be determined anyhow.
-Tcl_GetHostName() was returning NULL when it should have been returning
-an empty string. (CCS)
-
-10/10/97 (bug fix) "file attribute /" returned error on windows. (CCS)
-
-10/10/97 (bug fix) Fixed the auto_load procedure to handle procedures
-defined in namespaces better. Also fixed pgk_mkIndex so it sees procedures
-defined in nested namespaces. Index entries are still only made for
-exported procedures. (BW)
-
-10/13/97 (bug fix) On unix, for files with unknown group or owner
-attributes, querying the "file attributes" would return an error rather than
-returning the group's or owner's id number, although tha command accepts
-numbers when setting the file's group or owner. (CCS)
-
-10/22/97 (bug fix) "fcopy" did not eval the callback script at the
-global scope. (SS)
-
-10/22/97 (bug fix) Fixed the signature of the CopyDone callback used in
-the http package(s) so they can handle error cases properly. (BW)
-
-10/28/97 (bug fixes) Fixed a problem where lappend would free the Tcl object
-in a variable if a Tcl_ObjSetVar2 failed because of an error calling a trace
-on the variable. (BL)
-
-10/28/97 (bug fix) Changed binary scan to properly handle sign
-extension of integers on 64-bit or larger machines. (SS)
-
-11/3/97 (bug fixes) Fixed several bugs:
- - expressions such as "expr ($x)" must be compiled out-of-line
- (call the expr command procedure at runtime) to ensure the correct
- behavior when "$x" is an expression such as "5+10".
- - "array set a {}" now creates a new array var with an empty array
- value if the var didn't already exist.
- - "lreplace $foo end end" no longer returns an error (just an empty
- list) if foo is empty.
- - upvar will no longer create a variable in a namespace that refers
- to a variable in a procedure.
- - deleting a command trace within a command trace callback would
- make the code that calls traces to reference freed memory.
- - significantly sped up "string first" and "string last" (fix from
- darrel@gemstone.com).
- - seg fault in Tcl_NewStringObj() when a NULL is passed as the byte
- pointer argument and Tcl is compiled with -DTCL_MEM_DEBUG.
- - documentation and error msg fixes. (BL)
-
-11/3/97 (bug fix) Fixed a number of I/O bugs related to word sizes on
-64-bit machines. (SS)
-
-11/6/97 (bug fix) The exit code of the first process created by Tcl
-on Windows was not properly reported due to an initialization
-problem. (SS)
-
------------------ Released 8.0p1, 11/7/97 -----------------------
-
-11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently
-cleared out a shared argument list object. (BL).
-
-11/19/97 (bug fix) Autoloading in namespaces was not working properly.
-auto_mkindex is still not really namespace aware but most common
-cases should now be handled properly (see init.test). (BW, DL)
-
-11/20/97 (enhancement) Made the changes required by the new Apple
-Universal Headers V.3.0, so that Tcl will compile with CW Pro 2.
-
-11/24/97 (bug fix) Fixed tests in clock test suite that needed the
--gmt flag set. Thanks to Jan Nijtmans for reporting the problem. (RJ)
-
------------------ Released 8.0p2, 11/25/97 -----------------------
-
-12/3/97 (bug fix/optimization) Removed uneeded and potentially dangerous
-instances of double evaluations if "if" and "expr" statements from
-the library files. It is recommended that unless you need a double
-evaluation you always use "expr {...}" instead of "expr ..." and
-"if {...} ..." instead of "if ... ...". It will also be faster
-thanks to the byte compiler. (DL)
-
----- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
-
-12/8/97 (bug fix) Need to protect the newly accepted channel in an
-accept callback on a socket, otherwise the callback may close it and
-cause an error, which would cause the C code to attempt to close the
-now deleted channel. Bumping the refcount assures that the channel sticks
-around to be really closed in this case. (JL)
-
-12/8/97 (bug fix) Need to protect the channel in a fileevent so that it
-is not deleted before the fileevent handler returns. (CS, JL)
-
-12/18/97 (bug fix) In the opt argument parsing package: if the description
-had only flags, the "too many arguments" case was not detected. The default
-value was not used for the special "args" ending argument. (DL)
-
-1/15/98 (improvement) Moved common part of initScript in common file.
-Moved windows specific initialization to init.tcl so you can initialize
-Tcl in windows without having to call Tcl_Init which is now only
-searching for init.tcl {back ported from 8.1}. (DL)
-
----- Shipped as part of the plugin as 8.0p2Plugin2, Jan 15th 98 ----
-
-5/27/98 (bug fix) Windows socket driver did not notice new data arriving
-on nonblocking sockets until the event loop was entered. (SS)
-
-5/27/98 (bug fix) Windows socket driver used FIONREAD, which is not
-supported correctly by WinSock. (SS)
-
-6/9/98 (bug fix) Generic channel code failed to report readable file
-events on buffered data that was left behind by a gets or read that
-did not consume all available data. (SS)
-
-6/18/98 (bug fix) Compilation of loop expressions was too aggressive
-and incorrectly inlined non-literal expressions. (SS)
-
-6/18/98 (bug fix) "info var" and "info locals" incorrectly reported
-the existence of compiler temporary variables. (SS)
-
-6/18/98 (bug fix) Dictionary sorting used signed character
-comparisons. (SS)
-
-6/18/98 (bug fix) Compile procs corrupted the exception stack in some
-cases. (SS)
-
-6/18/98 (bug fix) Array set had erratic behavior when initializing a
-variable from an empty value list. (SS)
-
-6/18/98 (bug fix) The Windows registry package had a bad bounds check
-that could lead to a crash. (SS)
-
-6/18/98 (bug fix) The foreach compile proc did not correctly handle
-non-local variable references. (SS)
-
-6/25/98 (new features) Added name resolution hooks to support [incr Tcl].
-There are new internal Tcl_*Resolver* APIs to add, query and remove the hooks.
-With this changes it should be possible to dynamically load [incr Tcl]
-as an extension. (MM)
-
-7/1/97 (bug fix) The commands "info args, body, default, procs" did
-not correctly handle imported procedures. (RJ)
-
-7/6/98 (improvement) pkg_mkIndex now implements the "package require"
-command. This makes it possible to create index files for packages
-that require another package and then execute code from that package in
-their file. Previously, this would throw an error because the required
-package had not been loaded. The -nopkgrequied flag is provided to
-revert back to the old functionality. (EMS)
-
-7/6/98 (improvement) back-ported the -direct flag from 8.1 into
-pkg_mkIndex. This results in pkgIndex.tcl files that contain direct
-source or load commands instead of tclPkgSetup commands. (EMS)
-
-7/6/98 (improvement) made changes to the AuxData items structures to support
-storage of compiled scripts on disk. Also some related minor changes in
-the compilation and execution engine. (EMS)
-
-6/4/98 (enhancement) Added new internal routines to support inserting
-and deleting from the stat, access, and open-file-channel mechanisms.
-TclAccessInsertProc, TclStatInsertProc, & TclOpenFileChannelInsertProc
-insert pointers to such routines; TclAccessDeleteProc, TclStatDeleteProc,
-& TclOpenFileChannelDeleteProc delete pointers to such routines. See
-the file generic/tclIOUtils.c for more details. (SKS)
-
-7/1/98 (enhancement) Added a new internal C variable
-tclPreInitScript. This is a pointer to a string that may hold an
-initialization script; If this pointer is non-NULL it is evaluated in
-Tcl_Init() prior to the built-in initialization script defined in the
-file generic/tclInitScript.h. (SKS)
-
-7/6/98 (bug fix) Removed dead code in PlatformInitExitHandler so that
-the TCL_LIBRARY value can be safely patched in binaries. (BW)
-
-7/24/98 (enhancement) Incorporated a new version of auto_mkindex that
-can support the [incr Tcl] class structures. This version will index
-all procedures in a source file, not just those where "proc" starts
-at the beginning of the line. If you want the old behavior, use the
-auto_mkindex_old procedure. (MM)
-
-7/24/98 (feature change) Changed the Windows registry key to be
-HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path
-in the default value instead of "Root". Also, this key can be
-specified at compile time in case Tcl is being used in a different
-context where it needs an alternate library path from the standard Tcl
-installation. (SS)
-
-7/24/98 (feature change) Changed the search order for init.tcl. The
-tcl_library variable can now be set before calling Tcl_Init to avoid
-doing any searches. If it isn't set, then Tcl checks
-env(TCL_LIBRARY), the static value set at compile time, an install
-directory relative to the executable, a source directory relative to
-the executable, and a tcl directory relative to the source heirarchy
-containing the executable. See the comment at the top of
-generic/tclInitScript.h for more details. (SS)
-
-7/27/98 (config change) Changed the use of the DBGX flag in configure.in
-and the makefile to be TCL_DBGX. Users of tclConfig.sh may need to pass
-this through their configure files with AC_SUBST. (BW)
-
-729/98 (bug fix) Changed [info body] to return a copy of the body of a
-compiled procedure instead of the body itself, to avoid invalidation
-of the internal rep and loss of the byte-codes. (EMS)
-
-8/5/98 (bug fix) The platform init code could walk off the end of a
-buffer when reading the PkgPath registry value on Windows. (SS)
-
-8/5/98 (Windows makefile change) Introduced a set of macros to deal with
-exporting symbols when compiling DLLS on Windows. See win/README for
-details. (EMS)
-
-8/5/98 (addendum) Added a second Windows registry key under
-HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath".
-This is a multi-string value used to initialize the tcl_pkgPath
-variable. This is required if extension DLLs are in architecture specific
-subdirectories. (SS)
-
-8/6/98 (new feature) Added tcl_findLibrary to init.tcl for use by
-extensions, including Tk. This searches in a canonical way for
-an extensions library directory and initialization file. (BW)
-
-8/10/98 (bug fix) Imported commands used to get lost if the target
-of the import was redefined. Tcl_CreateCommand and Tcl_CreateObjCommand
-were updated to restore import links. (Note that if you rename a command,
-the import links move to the new name, and if you delete a command then
-the import links get lost. These semantics have not changed.) (MC)
-
--------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/10/98 ------
-
-9/3/98 (bug fix) Tcl_Realloc was failing under Windows because the
-GlobalReAlloc API was not correctly re-allocating blocks that were
-32k+. The fix was to use newer Win32 APIs (HeapAlloc, HeapFree, and
-HeapReAlloc.) (BS)
-
-10/5/98 (bug fix) Fixed bug in pkg_mkIndex that caused some files that do
-a "package require" of packages in the Tcl libraries to give a warning like
- warning: "xx.tcl" provides more than one package ({xx 2.0} {yy 0.3})
-and generate a broken pkgIndex.tcl file. (EMS)
-
-10/5/98 (bug fix) Pkg_mkIndex was not doing a case-insensitive comparison
-of extensions to determine whether to load or source a file. Thus, under
-Windows, MYDLLNAME.DLL was sourced, and mydllname.dll loaded. (EMS)
-
-10/5/98 (new feature) Created a new Tcl_Obj type, "procbody". This object's
-internal representation holds a pointer to a Proc structure. Extended
-TclCreateProc to take both strings and "procbody". (EMS)
-
-10/13/98 (bug fix) The "info complete" command can now handle strings
-with NULLs embedded. Thanks to colin@field.medicine.adelaide.edu.au
-for providing this fix. (RJ)
-
-10/13/98 (bug fix) The "lsort -dictionary" command did not properly
-handle some numbers starting with 0. Thanks to Richard Hipp
-<drh@acm.org> for submitting the fix to Scriptics. (RJ)
-
-10/13/98 (bug fix) The function Tcl_SetListObj was creating an invalid
-Tcl_Obj if the list had zero elements (despite what the comments said
-it would do). Thanks to Sebastian Wangnick for reporting the
-problem. (RJ)
-
-10/20/98 (new feature) Added tcl_platform(debug) element to the
-tcl_platform array on Windows platform. The existence of the debug
-element of the tcl_platform array indicates that the particular Tcl
-shell has been compiled with debug information. Using
-"info exists tcl_platform(debug)" a Tcl script can direct the
-interpreter to load debug versions of DLLs with the load
-command. (SKS)
-
-10/20/98 (feature change) The Makefile and configure scripts have been
-changed for IRIX to build n32 binaries instead of the old 32 abi
-format. If you have extensions built with the o32 abi's you will need
-to update them to n32 for them to work with Tcl. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/23/98 (bug fix) tcl_findLibrary had a stray ] in one of the
-pathnames it searched for the initialization script. tclInitScript.h
-was incorrectly adding the parent of tcl_library to tcl_pkgPath. This
-logic was moved into init.tcl, and the initialization of auto_path was
-documented. Thanks to Donald Porter and Tom Silva for related
-patches. (BW)
-
-10/29/98 (bug fix) Fixed Tcl_NotifyChannel to use Tcl_Preserve instead
-of Tcl_RegisterChannel so that 1) unregistered channels do not get
-closed after their first fileevent, and 2) errors that occur during
-close in a fileevent script are actually reflected by the close
-command. (BW)
-
-10/30/98 (bug fix) Overhaul of pkg_mkIndex to deal with transitive
-package requires and packages split among scripts and binary files.
-Also fixed ommision of global for errorInfo in tcl_findLibrary. (BW)
-
-11/08/98 (bug fix) Fixed the resource command to always detect
-the case where a file is opened a second time with the same
-permissions. IM claims that this will always cause the same
-FileRef to be returned, but in MacOS 8.1+, this is no longer the case,
-so we have to test for this explicitly. (JI)
-
-11/10/98 (feature change) When compiling with Metrowerk's MSL, use the
-exit function from MSL rather than ExitToShell. This allows MSL to
-clean up its temporary files. Thanks to Vince Darley for this
-improvement. (JI)
-
------------------ Released 8.0.4, 11/19/98 -------------------------
-
-11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ)
-
-11/20/98 (bug fix) The dltests would not build on SGI. They reported
-that you could not mix n32 with 032 binaries. The configure script
-has been modified to get the EXTRA_CFLAGS from the tcl configure
-script. [Bug id: 840] (RJ)
-
-12/3/98 (bug fix) Windows NT creates sockets so they are inheritable
-by default. Fixed socket code so it turns off this bit right after
-creation so sockets aren't kept open by exec'ed processes. [Bug: 892]
-Thanks to Kevin Kenny for this fix. (SS)
-
-1/11/98 (bug fix) On HP, "info sharedlibextension" was returning
-empty string on static apps. It now always returns ".sl". (RJ)
-
-1/28/99 (configure change) Now support -pipe option on gcc. (RJ)
-
-2/2/99 (bug fix) Fixed initialization problem on Windows where no
-searching for init.tcl would be performed if the registry keys were
-missing. (stanton)
-
-2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and
-HKEY_DYN_DATA keys in the "registry" command. (stanton)
-
-2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux
-variants. (stanton)
-
-2/2/99 (enhancement) The "open" command has been changed to use the
-object interfaces. (stanton)
-
-2/2/99 (bug fix) In some cases Tcl would crash due to an overflow of
-the exception stack resulting from a missing byte code in some
-expressions. (stanton)
-
-2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries
-are linked with the system libraries. (stanton)
-
-2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the
-configure script. (stanton)
-
-2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace
-variable after the namespace had been deleted. (stanton)
-
-2/2/99 (bug fix) In some cases when creating variables, the
-interpreter result was being modified even if the TCL_LEAVE_ERR_MSG
-flag was set. (stanton)
-
-2/2/99 (bug fix & new feature) Changed the socket drivers to properly
-handle failures during an async socket connection. Added a new
-fconfigure option "-error" to retrieve the failure message. See the
-socket.n manual entry for details. (stanton)
-
-2/2/99 (bug fix) Deleting a renamed interp alias could result in a
-panic. (stanton)
-
-2/2/99 (feature change/bug fix) Changed the behavior of "file
-extension" so that it splits at the last period. Now the extension of
-a file like "foo..o" is ".o" instead of "..o" as in previous versions.
-*** POTENTIAL INCOMPATIBILITY ***
-
------------------ Released 8.0.5, 3/9/99 -------------------------
-
-======== Changes for 8.0 go above this line ========
-======== Changes for 8.1 go below this line ========
-
-6/18/97 (new feature) Tcl now supports international character sets:
- - All C APIs now accept UTF-8 strings instead of iso8859-1 strings,
- wherever you see "char *", unless explicitly noted otherwise.
- - All Tcl strings represented in UTF-8, which is a convenient
- multi-byte encoding of Unicode. Variable names, procedure names,
- and all other values in Tcl may include arbitrary Unicode characters.
- For example, the Tcl command "string length" returns how many
- Unicode characters are in the argument string.
- - For Java compatibility, embedded null bytes in C strings are
- represented as \xC080 in UTF-8 strings, but the null byte at the end
- of a UTF-8 string remains \0. Thus Tcl strings once again do not
- contain null bytes, except for termination bytes.
- - For Java compatibility, "\uXXXX" is used in Tcl to enter a Unicode
- character. "\u0000" through "\uffff" are acceptable Unicode
- characters.
- - "\xXX" is used to enter a small Unicode character (between 0 and 255)
- in Tcl.
- - Tcl automatically translates between UTF-8 and the normal encoding for
- the platform during interactions with the system.
- - The fconfigure command now supports a -encoding option for specifying
- the encoding of an open file or socket. Tcl will automatically
- translate between the specified encoding and UTF-8 during I/O.
- See the directory library/encoding to find out what encodings are
- supported (eventually there will be an "encoding" command that
- makes this information more accessible).
- - There are several new C APIs that support UTF-8 and various encodings.
- See Utf.3 for procedures that translate between Unicode and UTF-8
- and manipulate UTF-8 strings. See Encoding.3 for procedures that
- create new encodings and translate between encodings. See
- ToUpper.3 for procedures that perform case conversions on UTF-8
- strings.
-
-9/18/97 (enhancement) Literal objects are now shared by the ByteCode
-structures created when compiled different scripts. This saves up to 45%
-of the total memory needed for all literals. (BL)
-
-9/24/97 (bug fixes) Fixed Tcl_ParseCommand parsing of backslash-newline
-sequences at start of command words. Suppressed Tcl_EvalDirect error logging
-if non-TCL_OK result wasn't an error. (BL)
-
-10/17/97 (feature enhancement) "~username" now refers to the users' home
-directory on Windows (previously always returned failure). (CCS)
-
-10/20/97 (implementation change) The Tcl parser has been completely rewritten
-to make it more modular. It can now be used to parse a script without actually
-executing it. The APIs for the new parser are not correctly exported, but
-they will eventually be exported and augmented with Tcl commands so that
-Tcl scripts can parse other Tcl scripts. (JO)
-
-10/21/97 (API change) Added "flags" argument to Tcl_EvalObj, removed
-Tcl_GlobalEvalObj procedure. Added new procedures Tcl_Eval2 and
-Tcl_EvalObjv. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/22/97 (API change) Renamed Tcl_ObjSetVar2 and Tcl_ObjGetVar2 to
-Tcl_SetObjVar2 and Tcl_GetObjVar2 (for consistency with other C APIs)
-and changed the name arguments to be strings instead of objects. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/27/97 (enhancement) Bytecode compiler rewritten to use the new Tcl
-parser. (BL)
-
-11/3/97 (New routines) Added Tcl_AppendObjToObj, which appends the
-string rep of one Tcl_Obj to another. Added Tcl_GetIndexFromObjStruct,
-which is similar to Tcl_GetIndexFromObj, except that you can give an
-offset between strings. This allows Tcl_GetIndexFromObjStruct to be
-called with a table of records which have strings in them. (SRP)
-
-12/4/97 (enhancement) New Tcl expression parser added. Added new procedure
-Tcl_ParseExpr and new token types TCL_TOKEN_SUB_EXPR and
-TCL_TOKEN_OPERATOR. Expression compiler is reimplemented to use this
-parser. (BL)
-
-12/9/97 (bug fix) Tcl_EvalObj() increments/decrements the refcount of the
-script object to prevent the object from deleting itself while in the
-middle of being evaluated. (CCS)
-
-12/9/97 (bug fix) Memory leak in Tcl_GetsObjCmd(). (CCS)
-
-12/11/97 (bug fix) Environment array leaked memory when compiled with
-Visual C++. (SS)
-
-12/11/97 (bug fix) File events and non-blocking I/O did not work on
-pipes under Windows. Changed to use threads to achieve non-blocking
-behavior. (SS)
-
-12/18/97 (bug fixes) Fixed segfault in "namespace import"; importing a
-procedure that causes a cycle now returns an error. Modified "info procs",
-"info args", "info body", and "info default" to return information about
-imported procedures as well as procedures defined in a namespace. (BL)
-
-12/19/97 (enhancement) Added new Tcl_GetString() procedure that can be used
-in place of Tcl_GetStringFromObj() if the string representation's length
-isn't needed. (BL)
-
-12/18/97 (bug fix) In the opt argument parsing package: if the description
-had only flags, the "too many arguments" case was not detected. The default
-value was not used for the special "args" ending argument. (DL)
-
-1/7/98 (clean up) Moved everything not absolutly necessary out of init.tcl
-procs now in auto.tcl and package.tcl can be autoloaded if needed. (DL)
-
-1/7/98 (enhancement) tcltest made at install time will search for it's
-init.tcl where it is, even when using virtual path compilation. (DL)
-
-1/8/98 (os bug workaround) when needed, using a replacement for memcmp so
-string compare "char with high bit set" "char w/o high bit set" returns
-the expected value on all platforms. (DL)
-
-1/8/98 (unix portability/configure) building from .../unix/targetName/
-subdirectories and simply using "../configure" should now work fine. (DL)
-
-1/14/98 (enhancement) Added new regular expression package that
-supports AREs, EREs, and BREs. The new package includes new escape
-characters, meta-syntax, and character classes inside brackets.
-Regexps involving backslashes may behave differently. (MH)
-*** POTENTIAL INCOMPATIBILITY ***
-
-1/16/98 (os workaround) Under windows, "file volume" was causing chatter
-and/or several seconds of hanging when querying empty floppy drives.
-Changed implementation to call an empirically-derived function that doesn't
-cause this. (CCS)
-
-1/16/98 (enhancement) Converted regular expressions to a Tcl_Obj type so
-their compiled form gets cached automatically. Reduced NSUBEXP from 100
-to 20. (BW)
-
-1/16/98 (documentation) Change unclear documentation and comments for
-functions like Tcl_TranslateFileName() and Tcl_ExternalToUtfDString(). Now
-it explicitly says they take an uninitialized or free DString. A DString
-that is "empty" or "not holding anything" could have been interpreted as one
-currently with a zero length, but with a large dynamically allocated buffer.
-(CCS)
-
------------------ Released 8.1a1, 1/22/98 -----------------------
-
-1/28/98 (new feature) Added a "-direct" optional flag to pkg_mkIndex
-to generate direct loading package indexes (such those you need
-if you use namespaces and plan on using namespace import just after
-package require). pkg_mkIndex still has limitations regarding
-package dependencies but errors are now ignored and with -direct, correct
-package indexes can be generated even if there are dependencies as long
-as the "package provide" are done early enough in the files. (DL)
-
-1/28/98 (enhancement) Performance tuning of regexp and regsub. (CCS)
-
-1/28/98 (bug fix) regexp and regsub with "-indices" returned the byte-offsets
-of the characters in the UTF-8 representation, not the character offsets
-themselves. (CCS)
-
-1/28/98 (bug fix) "clock format 0 -format %Z -gmt 1" would return the local
-timezone string instead of "GMT" on Solaris and Windows.
-
-1/28/98 (bug fix) Restore tty settings when closing serial device on Unix.
-This is good behavior when closing real serial devices, essential when
-closing the pseudo-device /dev/tty because the user's terminal settings
-would be left useless, in raw mode, when tcl quit. (CCS)
-
-1/28/98 (bug fix) Tcl_OpenCommandChannel() was modifying the contents of the
-argv array passed to it, causing problems for any caller that wanted to
-continue to use the argv array after calling Tcl_OpenCommandChannel(). (CCS)
-
-2/1/98 (bug fix) More bugs with %Z in format string argument to strftime():
-1. Borland always returned empty string.
-2. MSVC always returned the timezone string for the current time, not the
- timezone string for the specified time.
-3. With MSVC, "clock format 0 -format %Z -gmt 1" would return "GMT" the first
- time it was called, but would return the current timezone string on all
- subsequent calls. (CCS)
-
-2/1/98 (bug fix) "file stat" was broken on Windows.
-1. "file stat" of a root directory (local or network) or a relative path that
- resolved to a root directory (c:. when in pwd was c:/) was returning error.
-2. "file stat" on a regular file (S_IFREG), the st_mode was sign extended to
- a negative int if the platform-dependant type "mode_t" was declared as a
- short instead of an unsigned short.
-3. "file stat" of a network directory, the st_dev was incorrectly reported
- as the id of the last accessed local drive rather than the id of the
- network drive. (CCS)
-
-2/1/98 (bug fix) "file attributes" of a relative path that resolved to a
-root directory was returning error. (CCS)
-
-2/1/98 (bug fix) Change error message when "file attribute" could not
-determine the attributes for a file. Previously it would return different
-error messages on Unix vs. Windows vs. Mac. (CCS)
-
-2/4/98 (bug fixes) Fixed several instances of bugs where the parser/compiler
-would reach outside the range of allocated memory. Improved the array
-lookup algorithm in set compilation. (DL)
-
-2/5/98 (change) The TCL_PARSE_PART1 flag for Set/Get(Obj)Var2 C APIs is now
-deprecated and ignored. The part1 is always parsed when the part2 argument
-is NULL. This is to avoid a pattern of errors for extension writers converting
-from string based Tcl_SetVar() to new Tcl_SetObjVar2() and who could easily
-forget to provide the flag and thus get code working for normal variables
-but not for array elements. The performance hit is minimal. A side effect
-of that change is that is is no longer possible to create scalar variables
-that can't be accessed by tcl scripts because of their invalid name
-(ending with parenthesis). Likewise it is also parsed and checked to
-ensure that you don't create array elements of array whose name is a valid
-array element because they would not be accessible from scripts anyway.
-Note: There is still duplicate array elements parsing code. (DL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-2/11/98 (bug fix) Sharing objects between interps, such as by "interp
-eval" or "send" could cause a crash later when dereferencing an interp
-that had been deleted, given code such as:
- set a {set x y}
- interp create foo
- interp eval foo $a
- interp delete foo
- unset a
-Interp "foo" was gone, but "a" had a internal rep consisting of bytecodes
-containing a dangling pointer to "foo". Unsetting "a" would attempt to
-return resources back to "foo", causing a crash as random memory was
-accessed. The lesson is that that if an object's internal rep depends on
-an interp (or any other data structure) it must preserve that data in
-some fashion. (CCS)
-
-2/11/98 (enhancement) The "interp" command was returning inconsistent error
-messages when the specified slave interp could not be found. (CCS)
-
-2/11/98 (bug fix) Result codes like TCL_BREAK and TCL_CONTINUE were not
-propagating through the master/slave interp boundaries, such as "interp
-eval" and "interp alias". TCL_OK, TCL_ERROR, and non-standard codes like
-teh integer 57 work. There is still a question as to whether TCL_RETURN
-can/should propagate. (CCS)
-
-2/11/98 (bug fix) TclCompileScript() was derefering memory 1 byte before
-start of the string to compile, looking for ']'. (CCS,DL)
-
-2/11/98 (bug fix) Tcl_Eval2() was derefering memory 1 byte before start
-of the string to eval, looking for ']'. (CCS,DL)
-
-2/11/98 (bug fix) Compiling "set a(b" was running off end of string. (CCS,DL)
-
-2/11/98 (bug fix) Windows initialization code was dereferencing
-uninitialized memory if TCL_LIBRARY environment didn't exist. (CCS)
-
-2/11/98 (bug fix) Windows "registry" command was dereferencing
-uninitialized memory when constructing the $errorCode for a failed
-registry call. (CCS)
-
-2/11/98 (enhancement) Eliminate the TCL_USE_TIMEZONE_VAR definition from
-configure.in, because it was the same information as the already existing
-HAVE_TM_ZONE definition. The lack of HAVE_TM_ZONE is used to work around a
-Solaris and Windows bug where "clock format [clock sec] -format %Z -gmt 1"
-produces the local timezone string instead of "GMT". (CCS)
-
-2/11/98 (bug fix) Memleaks and dereferencing of uninitialized memory in
-regexp if an error occurred while compiling a regular expression. (CCS).
-
-2/18/98 (new feature) Added mutexes and thread local storage in order
-to make Tcl thread safe. For testing purposes, there is a testthread
-command that creates a new thread and an interpreter inside it. See
-thread.test for examples, but this script-level interface is not fixed.
-Each thread has its own notifier instance to manage its own events,
-and threads can post messages to each other's message queue.
-This uses pthreads on UNIX, and native thread support on other platforms.
-You enable this by configuring with --enable-threads. Note that at
-this time *Tk* is still not thread safe. Special thanks to
-Richard Hipp: his earlier implementation inspired this work. (BW, SS, JI)
-
-2/18/98 (hidden feature change) The way the env() array is shared among
-interpreters changed. Updates to env used to trigger write traces in
-other interpreters. This undocumented feature is no longer implemented.
-Instead, variable tracing is used to keep the C-level environ array in sync
-with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support
-to Tcl_TraceVar2 so that array names works properly. (BW)
-*** POTENTIAL INCOMPATIBILITY ***
-
-2/18/98 (enhancement) Conditional compilation for unix systems (e.g.,
-IRIX, SCO) that use f_bsize instead of st_blksize to determine disk block
-size. (CCS)
-
-2/23/98 (bug fix) Fixed the emulation of polling selects in the threaded
-version of the Unix notifier. The bug was showing up on a multiprocessor
-as starvation of the notifier thread. (BW)
-
------------------ Released 8.1a2, Feb 23 1998 -----------------------
-
-9/22/98 (bug fix) Changed the value of TCL_TRACE_ARRAY so it no longer
-conflicts with the deprecated TCL_PARSE_PART1 flag. This should
-improve portability of C code. (stanton)
-
-10/6/98 (bug fix) The compile procedure for "if" incorrectly attempted
-to match against the literal string "if", resulting in a stack
-overflow when "::if" was compiled. It also would incorrectly accept
-"if" instead of "elsif" in later clauses. (stanton)
-
-10/15/98 (new feature) Added a "totitle" subcommand to the "string"
-command to convert strings to capitalize the first character of a string
-and lowercase all of the other characters. (stanton)
-
-10/15/98 (bug fix) Changed regexp and string commands to properly
-handle case folding according to the Unicode character
-tables. (stanton)
-
-10/21/98 (new feature) Added an "encoding" command to facilitate
-translations of strings between different character encodings. See
-the encoding.n manual entry for more details. (stanton)
-
-11/3/98 (bug fix) The regular expression character classification
-syntax now includes Unicode characters in the supported
-classes. (stanton)
-
-11/6/98 (bug fix) Variable traces were causing crashes when upvar
-variables went out of scope. [Bug: 796] (stanton)
-
-11/9/98 (bug fix) "format" now correctly handles multibyte characters
-in %s format strings. (stanton)
-
-11/10/98 (new feature) "regexp" now accepts three new switches
-("-line", "-lineanchor", and "-linestop") that control how regular
-expressions treat line breaks. See the regexp manual entry for more
-details. (stanton)
-
-11/17/98 (bug fix) "scan" now correctly handles Unicode
-characters. (stanton)
-
-11/17/98 (new feature) "scan" now supports XPG3 position specifiers
-and the "%n" conversion character. See the "scan" manual entry for
-more details. (stanton)
-
-11/17/98 (bug fix) The Tcl memory allocator now returns 8-byte aligned
-chunks of memory which improves performance on Windows and avoids
-crashes on other platforms. [Bug: 834] (stanton)
-
-11/23/98 (bug fix) Applied various regular expression performance bug
-fixes supplied by Henry Spencer. (stanton)
-
-11/30/98 (bug fix) Fixed various thread related race conditions. [Bug:
-880 & 607] (stanton)
-
-11/30/98 (bug fix) Fixed a number of memory overflow and leak
-bugs. [Bug: 584] (stanton)
-
-12/1/98 (new feaure) Added support for Korean encodings. (stanton)
-
-12/1/98 (feature change) Changed the Tcl_EvalObjv interface to remove
-the string and length arguments.
-*** POTENTIAL INCOMPATIBILITY with previous alpha releases ***
-
-12/2/98 (bug fix) Fixed various bugs related to line feed
-translation. [Bug: 887] (stanton)
-
-12/4/98 (new feature) Added a message catalog facility to help with
-localizing Tcl scripts. Thanks to Mark Harrison for contributing the
-initial implementation of the "msgcat" package. (stanton)
-
-12/7/98 (bug fix) The memory allocator was failing to update the
-block list for large memory blocks that were reallocated into a
-different address. [Bug: 933] (stanton)
-
------------------ Released 8.1b1, Dec 10 1998 -----------------------
-
-12/22/98 (performance improvement) Improved the -command option of the
-lsort command to better use the object system for improved
-performance (about 5x speed up). Thanks to Syd Polk for suppling the
-patch. [RFE: 726] (rjohnson)
-
-2/10/99 (bug fix) Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2
-interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2
-interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex. This should provide
-better compatibility with 8.0. (stanton)
-*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
-
-2/10/99 (bug fix) Made the eval interfaces compatible with 8.0 by
-renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to
-Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces
-so they match Tcl 8.0. (stanton)
-*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
-
-2/25/99 (bug fix/new feature) On Windows, the channel drivers for
-consoles and serial ports now completely support file events. (redman)
-
-3/5/99 (bug fix) Integrated patches to fix various configure problems
-that affected HP-UX-11, 64-bit IRIX, Linux, and Solaris. (stanton)
-
-3/9/99 (bug fix) Integrated various AIX related patches to improve
-support for shared libraries. (stanton)
-
-3/9/99 (new feature) Added tcl_platform(user) to provide a portable
-way to get the name of the current user. (welch)
-
-3/9/99 (new feature) Integrated the stub library mechanism contributed
-by Jan Nijtmans, Paul Duffin, and Jean-Claude Wippler. This feature
-should make it possible to write extensions that support multiple
-versions of Tcl simultaneously. It also makes it possible to
-dynamically load extensions into statically linked interpreters. This
-patch includes the following changes:
- - Added a Tcl_InitStubs() interface
- - Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx,
- and Tcl_PkgPresent.
- - Added va_list versions of all VARARGS functions so they can be
- invoked from wrapper functions.
-See the manual for more information. (stanton)
-
-
-3/10/99 (feature change) Replaced Tcl_AlertNotifier with
-Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing
-internal data structures. (stanton)
-*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
-
-3/10/99 (new feature) Added a Tcl_GetVersion API to make it easier to
-check the Tcl version and patch level from C. (redman)
-
-3/14/99 (feature change) Tried to unify the TclpInitLibrary path
-routines to look in similar places from Windows to UNIX. The new
-library search path is: TCL_LIBRARY, TCL_LIBRARY/../tcl8.1, relative
-to DLL (Windows Only) relative to installed executable, relative to
-develop executable, and relative to compiled-in in location (UNIX
-Only.) This fix included:
- - Defining a TclpFindExecutable
- - Moving Tcl_FindExecutable to a common area in tclEncoding.c
- - Modifying the TclpInitLibraryPath routines.
-(surles)
-
-3/14/99 (feature change) Added hooks for TclPro Wrapper to initialize
-the location of the encoding files and libraries. This fix included:
- - Adding the TclSetPerInitScript routine.
- - Modifying the Tcl_Init routines to evaluate the non-NULL
- pre-init script.
- - Adding the Tcl_SetdefaultEncodingDir and Tcl_GetDefaultEncodingDir
- routines.
- - Modifying the TclpInitLibrary routines to append the default
- encoding dir.
-(surles)
-
-3/14/99 (feature change) Test suite now uses "test" namespace to
-define the test procedure and other auxiliary procedures as well as
-global variables.
- - Global array testConfige is now called ::test::testConfig.
- - Global variable VERBOSE is now called ::test::verbose, and
- ::test::verbose no longer works with numerical values. We've
- switched to a bitwise character string. You can set
- ::test::verbose by using the -verbose option on the Tcl command
- line.
- - Global variable TESTS is now called ::test::matchingTests, and
- can be set on the Tcl command line via the -match option.
- - There is now a ::test::skipTests variable (works similarly to
- ::test::matchTests) that can be set on the Tcl command line via
- the -match option.
- - The test suite can now be run in any working directory. When
- you run "make test", the working directory is nolonger switched
- to ../tests.
-(hirschl)
-*** POTENTIAL INCOMPATIBILITY ***
-
---------------- Released 8.1b2, March 16, 1999 ----------------------
-
-3/18/99 (bug fix) Fixed missing/incorrect characters in shift-jis table
-(stanton)
-
-3/18/99 (feature change) The glob command ignores the
-FS_CASE_IS_PRESERVED bit on file systesm and always returns
-exactly what it gets from the system. (stanton)
-*** POTENTIAL INCOMPATIBILITY ***
-
-3/19/99 (new feature) Added support for --enable-64bit. For now,
-this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun
-compiler. (redman)
-
-3/23/99 (bug fix) Fixed fileevents and gets on Windows consoles and
-serial devices so that non-blocking channels do not block on partial
-input lines. (redman)
-
-3/23/99 (bug fix) Added a new Tcl_ServiceModeHook interface.
-This is used on Windows to avoid the various problems that people
-have been seeing where the system hangs when tclsh is running
-outside of the event loop. As part of this, renamed
-TclpAlertNotifier back to Tcl_AlertNotifier since it is public.
-(stanton)
-
-3/23/99 (feature change) Test suite now uses "tcltest" namespace to
-define the test procedure and other auxiliary procedures as well as
-global variables. The previously chosen "test" namespace was thought
-to be too generic and likely to create conflits.
-(hirschl)
-*** POTENTIAL INCOMPATIBILITY ***
-
-3/24/99 (bug fix) Make sockets thread safe on Windows.
-(redman)
-
-3/24/99 (bug fix) Fix cases where expr would incorrect return
-a floating point value instead of an integer. (stanton)
-
-3/25/99 (bug fix) Added ASCII to big5 and gb2312 encodings.
-(stanton)
-
-3/25/99 (feature change) Changed so aliases are invoked at current
-scope in the target interpreter instead of at the global scope. This
-was an incompatibility introduced in 8.1 that is being removed.
-(stanton)
-*** POTENTIAL INCOMPATIBILITY with previous beta releases ***
-
-3/26/99 (feature change) --enable-shared is now the default and build
-Tcl as a shared library; specify --disable-shared to build a static Tcl
-library and shell.
-*** POTENTIAL INCOMPATIBILITY ***
-
-3/29/99 (bug fix) Removed the stub functions and changed the stub
-macros to just use the name without params. Pass &tclStubs into the
-interp (don't use tclStubsPtr because of collisions with the stubs on
-Solaris). (redman)
-
-3/30/99 (bug fix) Loadable modules are now unloaded at the last
-possible moment during Tcl_Finalize to fix various exit-time crashes.
-(welch)
-
-3/30/99 (bug fix) Tcl no longer calls setlocale(). It looks at
-env(LANG) and env(LC_TYPE) instead. (stanton)
-
-4/1/99 (bug fix) Fixed the Ultrix multiple symbol definition problem.
-Now, even Tcl includes a copy of the Tcl stub library. (redman)
-
-4/1/99 (bug fix) Internationalized the registry package.
-
-4/1/99 (bug fix) Changed the implemenation of Tcl_ConditionWait and
-Tcl_ConditionNotify on Windows. The new algorithm eliminates a race
-condition and was suggested by Jim Davidson. (welch)
-
-4/2/99 (new apis) Made various Unicode utility functions public.
-Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen,
-Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha,
-Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace,
-Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar, Tcl_WinUtfToTChar,
-Tcl_WinTCharToUtf (stanton)
-
-4/2/99 (feature change) Add new DDE package and removed the Tk
-send command from the Windows version. Changed DDE-based send
-code into "dde eval" command. The DDE package can be loaded
-into tclsh, not just wish. Windows only. (redman)
-
-4/5/99 (bug fix) Changed safe-tcl so that the encoding command
-is an alias that masks out the "encoding system" subcommand.
-(redman)
-
-4/5/99 (bug fix) Configure patches to improve support for
-OS/390 and BSD/OS 4.*. (stanton)
-
-4/5/99 (bug fix) Fixed crash in the clock command that occurred
-with negative time values in timezones east of GMT. (stanton)
-
-4/6/99 (bug fix) Moved the "array set" C level code into a common
-routine (TclArraySet). The TclSetupEnv routine now uses this API to
-create an env array w/ no elements. This fixes the bug caused when
-every environ varaible is removed, and the Tcl env variable is
-synched. If no environ vars existed, the Tcl env var would never be
-created. (surles)
-
-4/6/99 (bug fix) Made the Env module I18N compliant. (surles)
-
-4/6/99 (bug fix) Changed the FindVariable routine to TclpFindVariable,
-that now does a case insensitive string comparison on Windows, and not
-on UNIX. (surles)
-
---------------- Released 8.1b3, April 6, 1999 ----------------------
-
-4/9/99 (bug fix) Fixed notifier deadlock situation when the pipe used
-to talk back notifier thread is filled with data. Found as a result of the
-focus.test for Tk hanging. (redman)
-
-4/13/99 (bug fix) Fixed bug where socket -async combined with
-fileevent for writing did not work under Windows NT. (redman)
-
-4/13/99 (encoding fix) Restored the double byte definition of GB2312
-and added the EUC-CN encoding. EUC-CN is a variant of GB2312 that
-shifts the characters into bytes with the high bit set and includes
-ASCII as a subset. (stanton)
-
-4/27/99 (bug fix) Added 'extern "C" {}' block around the stub table
-pointer declaration so the stub library can be used from C++. (stanton)
-
---------------- Released 8.1 final, April 29, 1999 ----------------------
-
-4/22/99 (bug fix) Changed Windows NT socket implementation to avoid
-creating a communication window. This avoids the problem where the
-system hangs waiting for tclsh to respond to a system-wide synchronous
-broadcast (e.g. if you change system colors). (redman)
-
-4/22/99 (bug fix) Added call to TclWinInit from TclpInitPlatform when
-building a static library since DllMain will not be invoked. This
-could break old code that explicitly called TclWinInit, but should be
-simpler in the long run. (stanton)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/99 (bug fix) Added support for the koi8-r Cyrillic
-encoding. [Bug: 1771] (stanton)
-
-4/28/99 (bug fix) Changed internal Tcl_Obj usage to avoid freeing the
-internal representation after the string representation has been
-freed. This makes it easier to debug extensions. (stanton)
-
-4/30/99 (bug fix) Fixed a memory leak in CommandComplete. (stanton)
-
-5/3/99 (bug fix) Fixed a bug where the Tcl_ObjType was not being set
-in a duplicated Tcl_Obj. [Bug: 1975, 2047] (stanton)
-
-5/3/99 (bug fix) Changed Tcl_ParseCommand to avoid modifying eval'ed
-strings that are already null terminated. [Bug: 1793] (stanton)
-
-5/3/99 (new feature) Applied Jeff Hobbs's string patch which includes
-the following changes:
- - added new subcommands: equal, repeat, map, is, replace
- - added -length option to "string compare|equal"
- - added -nocase option to "string compare|equal|match"
- - string and list indices can be an integer or end?-integer?.
- - added optional first and last index args to string toupper, et al.
-See the string.n manual entry for more details about the new string
-features. [Bug: 1845] (stanton)
-
-5/6/99 (new feature) Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf
-string comparision easier. (stanton)
-
-5/7/99 (bug fix) Improved OS/390 support. [Bug: 1976, 1997] (stanton)
-
-5/12/99 (bug fix) Changed Windows initialization code to avoid using
-GetUserName system call in favor of the env(USERNAME) variable. This
-provides a significant startup speed improvement. (stanton)
-
-5/12/99 (bug fix) Replaced the per-interpreter regexp cache with a
-per-thread cache. Changed the Regexp object to take advantage of this
-extra cache. Added a reference count to the TclRegexp type so regexps
-can be shared by multiple objects. Removed the per-interp regexp cache
-from the interpreter. Now regexps can be used with no need for an
-interpreter. This set of changes should provide significant speed
-improvements for many Tcl scripts. [Bug: 1063] (stanton)
-
-5/14/99 (bug fix) Durining initialization on Unix, Tcl now extracts the
-encoding subfield from the LANG/LC_ALL environment variables in cases
-where the locale is not found in the built-in locale table. It also
-attempts to initialize the locale subsystem so X11 is happy. [Bug: 1989]
-(stanton)
-
-5/14/99 (bug fix) Applied the patch to fix 100-year and 400-year
-boundaries in leap year code, from Isaac Hollander. [Bug: 2066] (redman)
-
-5/14/99 (bug fix) Fixed a crash caused by a failure to reset the result
-before evaluating the test expression in an uncompiled for
-statement. (stanton)
-
-5/18/99 (bug fix) Modified initialization code on Windows to avoid
-inherenting closed or invalid channels. If the standard input is
-anything other than a console, file, serial port, or pipe, then we fall
-back to the standard Tk window console. (stanton)
-
-5/19/99 (bug fix) Added an extern "C" block around the entire tcl.h
-header file to avoid C++ linkage issues. (redman)
-
-5/19/99 (new feature) Applied Jeff Hobb's patch to add
-Tcl_StringCaseMatch to support case insensitive glob style matching and
-Tcl_UniCharIs* character classification functions. (stanton)
-
-5/20/99 (bug fix) Added the directory containing the executuble and the
-../lib directory relative to that to the auto_path variable. (redman)
-
---------------- Released 8.1.1, May 25, 1999 ----------------------
-
-5/21/99 (bug fix) Fixed launching command.com on Win95/98, no longer
-hangs. [Bug: 2105] (redman)
-
-5/28/99 (bug fix) Fixed bug where dde calls were being passed an
-invalid dde handle. [Bug: 2124] (stanton)
-
-6/1/99 (bug fix) Small configure.in patches. [Bug: 2121] (stanton)
-
-6/1/99 (bug fix) Applied latest regular expression patches to fix an
-infinite loop bug and add support for testing whether a string could
-match with additional input. [Bug: 2117] (stanton)
-
-6/2/99 (bug fix) Fixed incorrect computation of relative ordering in
-Utf case-insensitive comparison. [Bug: 2135] (stanton)
-
-6/3/99 (bug fix) Fxied bug where string equal/compare -nocase
-reported wrong result on null strings. [Bug: 2138] (stanton)
-
-6/4/99 (new feature) Windows build now uses Cygwin tools plus GNU
-make and autoconf to build static/dynamic and debug/nodebug. (stanton)
-
-6/7/99 (new feature) Optimized string index, length, range, and
-append commands. Added a new Unicode object type. (hershey)
-
-6/8/99 (bug fix) Rolled back Windows socket driver to 8.1.0
-version. (stanton)
-
-6/9/99 (new feature) Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
-to public Tcl API, these functions are needed by Expect. Changed
-tools/genStubs.tcl to always write output in LF mode. (stanton)
-
-6/14/99 (new feature) Merged string and Unicode object types. Added
-new public Tcl API functions: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
-Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
-Tcl_AppendUnicodeToObj. (hershey)
-
-6/16/99 (new feature) Changed to conform to TEA specification, added
-tcl.m4 and aclocal.m4 macro libraries for configure. (wart)
-
-6/17/99 (new feature) Added new regexp interfaces: -expanded, -line,
--linestop, and -lineanchor switches. Renamed Tcl_RegExpMatchObj to
-Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent
-to Tcl_RegExpMatch. Added public macros for regexp flags. Added
-REG_BOSONLY flag to allow Expect to iterate through a string and only
-find matches that start at the current position within the
-string. (stanton)
-
-6/21/99 (bug fix) Fixed memory leak in TclpThreadCreate where thread
-attributes were not being released. [Bug: 2254] (stanton)
-
-6/23/99 (new feature) Updated Unicode character tables to reflect
-Unicode 2.1 data. (stanton)
-
-6/25/99 (new feature) Fixed bugs in non-greedy quantifiers for regular
-expression code. (stanton)
-
-6/25/99 (new feature) Added initial implementation of new Tcl test
-harness package. Modified test files to use new tcltest package.
-(jenn)
-
-6/26/99 (new feature) Applied patch from Peter Hardie to add poke
-command to dde and changed the dde package version number to
-1.1. (redman)
-
-6/28/99 (bug fix) Applied patch from Peter Hardie to fix problem in
-Tcl_GetIndexFromObj() when the key being passed is the empty string.
-[Bug: 1738] (redman)
-
-6/29/99 (new feature) Added options to tcltest package: -preservecore,
--limitconstraints, -help, -file, -notfile, and flags. (jenn)
-
-7/3/99 (new feature) Changed parsing of variable names to allow empty
-array names. Now "$(foo)" is a variable reference. Previously you
-had to use something line $::(foo), which is slower. This change was
-requested by Jean-Luc Fontaine for his STOOOP package. (welch)
-
-7/3/99 (new feature) Added Tcl_SetNotifier (public API) and
-associated hook points in the notifiers to be able to replace the
-notifier calls at runtime. The Xt notifier and test program use this
-hook. (welch)
-
-7/3/99 (new feature) Added a new variant of the "Trf core patch" from
-Andreas Kupries that adds new C APIs Tcl_StackChannel,
-Tcl_UnstackChannel, and Tcl_GetStackedChannel. This allows the Trf
-extension to work without applying patches to the Tcl core. (welch)
-
-7/6/99 (new feature) Added -timeout option to http.tcl to handle
-timeouts that occur during connection attempts to hosts that are
-down. (welch)
-
-7/6/99 (bug fix) Applied new implementation of the Windows serial
-port driver from Rolf Schroedter that fixes reading only one byte from
-the port at a time. Uses polling every 10ms to implement
-fileevents. [Bug: 1980 2217] (redman)
-
-7/8/99 (bug fix) Applied fix for bug in DFA state caching under
-lookahead conditions (regular expressions). [Bug: 2318] (stanton)
-
-7/8/99 (bug fix) Fixed bug in string range bounds checking
-code. (stanton)
-
---------------- Released 8.2b1, July 14, 1999 ----------------------
-
-7/16/99 (bug fix) Added Tcl_SetNotifier to stub table. [Bug: 2364]
-Added check for Alpha/Linux to correct the IEEE floating point flag,
-patch from Don Porter. (redman)
-
-7/20/99 (bug fix) Merged 8.0.5 code to handle tcl_library properly,
-also fixed a bug that caused TCL_LIBRARY to be ignored. (hershey)
-
-7/21/99 (bug fix) Implemented modified socket driver for Windows that
-uses a thread to manage the socket event window. Code works the same
-on all supported versions of Windows and was based on original 8.1.0
-code. [Bug: 2178 2256 2259 2329 2323 2355] (redman)
-
-7/21/99 (new feature) Applied patch from Rolf Schroedter to add
--pollinterval option to fconfigure for Windows serial ports. Allows
-the maxblocktime to be modified to control how often serial ports are
-checked for fileevents. Also added documentation for \\.\comX
-notation for opening serial ports on Windows. (redman)
-
-7/21/99 (bug fix) Changed APIs in stub tables to use "unsigned long"
-instead of the platform-specific "size_t", primarily after SunOS 4
-users could no longer compile. (redman)
-
-7/22/99 (bug fix) Fixed crashing during "array set a(b) {}".
-[Bug: 2427] (redman)
-
-7/22/99 (bug fix) The install-sh script must be given execute
-permissions prior to running. [Bug: 2413] (redman)
-
-7/22/99 (bug fix) Applied patch from Ulrich Ring to remove ANSI-style
-prototypes in the code. [Bug: 2391] (redman)
-
-7/22/99 (bug fix) Added #if blocks around #includes of sys/*.h header
-files, to allow an extension author on Windows to use the MetroWerks
-compiler. [Bug: 2385] (redman)
-
-7/22/99 (bug fix) Fixed running the safe.test test suite, one change
-to the Windows Makefile.in to fix paths and another in safe.test to
-check for the tcl_platform(threaded) variable properly. (redman)
-
-7/22/99 (bug fix) Fixed hanging in new Win32 socket driver with
-threads enabled. (redman)
-
-7/26/99 (bug fix) Fixed terminating of helper threads by holding any
-mutexes from the primary thread while waiting for the helper thread to
-terminate. Fixes dual-CPU WinNT hangs, only one rare sporadic hang
-that still exists with dual-CPU WinNT. Also fixed test cases so that
-they would not depend as much on timing for dual-CPU WinNT. (redman)
-
-7/27/99 (bug fix) Some test suite cleanup. (jenn)
-
-7/29/99 (bug fix) Applied patch to fix typo in .SH NAME line in
-doc/Encoding.n [Bug: 2451]. Applied patch to avoid linking pack.n to
-pack-old.n [Bug: 2469]. Patches from Don Porter. (redman)
-
-7/29/99 (bug fix) Allow tcl to open CON and NUL, even for redirection
-of std channels. [Bug: 2393 2392 2209 2458] (redman)
-
-7/30/99 (bug fix) Applied fixed Trf patch from Andreas Kupries.
-[Bug: 2386] (hobbs)
-
-7/30/99 (bug fix) Fixed bug in info complete. [Bug: 2383 2466] (hobbs)
-
-7/30/99 (bug fix) Applied patch to fix threading on Irix 6.5, patch
-provided by James Dennett. [Bug: 2450] (redman)
-
-7/30/99 (bug fix) Fixed launching of 16bit applications on Win9x from
-wish. The command line was being primed with tclpip82.dll, but it was
-ignored later.
-
-7/30/99 (bug fix) Added functions to stub table, patch provided by Jan
-Nijtmans. [Bug: 2445] (hobbs)
-
-8/1/99 (bug fix) Changed Windows socket driver to terminate threads
-by sending a message to the window rather than calling
-TerminateThread(), which seems to leak about 4k from the helper
-thread's stack space. (redman)
-
---------------- Released 8.2b2, August 5, 1999 ----------------------
-
-8/4/99 (bug fix) Applied patches supplied by Henry Spencer to greatly
-enhance performance of certain classes of regular expressions.
-[Bug: 2440 2447] (stanton)
-
-8/5/99 (doc change) Made it clear that tcl_pkgPath was not set for
-Windows. [Bug: 2455] (hobbs)
-
-8/5/99 (bug fix) Fixed reference to bytes that might not be null
-terminated in tclLiteral.c. [Bug: 2496] (hobbs)
-
-8/5/99 (bug fix) Fixed typo in http.tcl. [Bug: 2502] (hobbs)
-
-8/9/99 (bug fix) Fixed test suite to handle larger integers
-(64bit). Patch from Don Porter. (hobbs)
-
-8/9/99 (documentation fix) Clarified Tcl_DecrRefCount docs
-[Bug: 1952]. Clarified array pattern docs [Bug: 1330]. Fixed clock docs
-[Bug: 693]. Fixed formatting errors [Bug: 2188 2189]. Fixed doc error
-in tclvars.n [Bug: 2042]. (hobbs)
-
-8/9/99 (bug fix) Fixed path handling in auto_execok [Bug: 1276] (hobbs)
-
-8/9/99 (internal api change) Removed the TclpMutexLock and TclpMutexUnlock
-APIs and added a new exported api, Tcl_GetAllocMutex. These APIs are all for
-the mutex used in the simple memory allocators. By making this change
-we are able to substitute different implementations of the thread-related
-APIs without having to recompile the Tcl core. (welch)
-
-8/9/99 (new C API) Tcl_GetChannelNames returns a list of open channel
-names in the interpreter result. Still no Tcl-level version of this,
-but server-like applications can use this to clean up files without
-deleting interpreters. (welch)
-
-8/9/99 (bug fix) Traces were not firing on "info exists", which used to
-happen in Tcl 7.6 and earlier. An "info exists" now fires a read trace,
-if defined. This makes it possible to fully implement variables that
-are defined via traces. (welch)
-
-8/10/99 (bug fix) Fixed Brent's changes so that they work on
-Windows. (redman)
-
---------------- Released 8.2b3, August 11, 1999 ----------------------
-
-8/12/99 (Mac) Rearrange projects in tclMacProjects.sea.hqx so that the
-build directory is separate from the sources. (Jim Ingham)
-
-8/12/99 (bug fix) Fixed bug in Tcl_EvalEx where the termOffset was not
-being updated in cases where the evaluation returned a non TCL_OK
-error code. [Bug: 2535] (stanton)
-
---------------- Released 8.2.0, August 17, 1999 ----------------------
-
-9/21/99 (config fixes) fixed several AIX configuration issues. gcc and
-threading may still cause problems on AIX. (hobbs)
-
-9/21/99 (bug fix) fixed expr double-eval problem. [Bug: 732] (hobbs)
-
-9/21/99 (bug fix) fixed static buffer overflow problem. [Bug: 2483] (hobbs)
-
-9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs)
-
-9/21/99 (bug fix) fixed bug when setting array in non-existent
-namespace. [Bug: 2613] (hobbs)
-
---- Released 8.2.1, October 04, 1999 --- See ChangeLog for details ---
-
-10/30/99 (feature enhancement) new regexp engine from Henry Spencer
-was patched in - should greatly reduce stack space usage. (spencer)
-
-10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable
-test command, TclpCreateProcess on Unix, in handling of C environ array,
-and in testthread code. No more known (reported) mem leaks for Tcl
-built using gcc on Solaris 2.5.1. Also none reported for Tcl on NT
-(using Purify 6.0). (hobbs)
-
-10/30/99 (bug fix) fixed improper bytecode handling of
-'eval {set array($unknownvar) 5}' (also for incr) (hobbs)
-
-10/30/99 (bug fix) fixed event/io threading problems by making
-triggerPipe non-blocking (nick kisserbeth)
-
-10/30/99 (bug fix) fixed Tcl_AppendStringsToObjVA and Tcl_AppendResultVA
-to only iterates once over the va_list (avoiding non-portable memcpy).
-(joe english, hobbs)
-
-10/30/99 (bug fix) removed savedChar trick in tclCompile.c that appeared
-to be causing a segv when the literal table was released.
-[Bug: 2459, 2515] (David Whitehouse)
-
-10/30/99 (bug fix) fixed [string index] to return ByteArrayObj
-when indexing into one (test case string-5.16) [Bug: 2871] (hobbs)
-
-10/30/99 (bug fix) fixes for mac UTF filename handling (ingham)
-
---- Released 8.2.2, November 04, 1999 --- See ChangeLog for details ---
-
-11/19/99 (feature enhancement) bug fixes for http package as well as
-patch required by TLS (SSL) extension that adds http::(un)register
-and -type to http::geturl. Up'd http pkg version to 2.2.
-
-11/19/99 (bug fix) removed extra decr of numLevels in Tcl_EvalObjEx
-that could cause seg fault (mjansen@wendt.de)
-
-11/19/99 (bug fixes) numerous minor big fixes, including correcting the
-installation of the koi8-r encoding and tcltest1.0 on Windows.
-
-11/30/99 (bug fix) fixes scan where %[..] didn't match anything
-
-11/30/99 (bug fix) fixed setting of isNonBlocking flag in PipeBlockModeProc
-so you can now close a non-blocking channel without waiting.
-
-11/30/99 (bug work-around) prevented the unloading of DLLs for Unix in
-TclFinalizeLoad. This stops the seg fault on exit that some users would
-see (ie with oratcl) when using DLLs that do nasty things like register
-atexit handlers.
-
-12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}'
-cases (different causes).
-
---- Released 8.2.3, December 16, 1999 --- See ChangeLog for details ---
-
-1999-09-14 (feature enhancement) added -start switch to regexp and regsub.
-
-1999-09-15 (feature enhancement) add 'array unset' command.
-
-1999-09-15 (feature enhancement) rewrote runtime libraries to use new
-string functions
-
-1999-08-18 (feature enhancement) added 'file channels' command, along with
-Tcl_GetChannelNames(Ex) public C APIs.
-
-1999-10-19 (feature enhancement) enhanced tcltest package
-
-1999-09-16 (feature enhancement) added -milliseconds switch to 'clock clicks'
-
-1999-10-28 (feature enhancement) added support for inline 'scan'
-
-1999-10-28 (feature enhancement) added support for touch functionality by
-extendeding 'file atime' and 'file mtime' to take an optional time argument
-
-1999-11-24 (feature enhancement) added 'fconfigure $sock -lasterror'
-command to Windows to query the last error received on a serial socket.
-
-1999-11-30 (bug fix) fixed handling of %Z on NT for timezones that don't
-have DST
-
-1999-12-03 (feature enhancement) improved error message in bad octal cases
-and improper use of comments. (hobbs)
-
-1999-12-07 (bug fix) fixed Tcl_ScanCountedElement to not step
-beyond the end of the counted string
-
-1999-12-09 (feature enhancement) removed all references to 16 bit
-compatibility code for Windows (hobbs)
-
-1999-12-10 (bug fix) removed check for vfork - Tcl now uses only fork in
-exec. (hobbs)
-
-1999-12-10 (optimization) changed Tcl_ConcatObj to return a list
-object when it receives all pure list objects as input (used by 'concat'),
-added optimizations in Tcl_EvalObjEx for pure list case, and optimized
-INST_TRY_CVT_TO_NUMERIC in TclExecuteByteCode for boolean objects.
-(oakley, hobbs)
-
-1999-12-12 (feature enhancement) enhanced glob command with -type, -path,
--directory and -join switches. (darley, hobbs)
-
-1999-12-21 (bug fix) changed CreateThread to _beginthreadex and
-ExitThread to _endthreadex to prevent 4K mem leak (gravereaux)
-
-1999-12-21 (bug fix) fixed applescript for I18N
-
-1999-12-21 (feature enhancement) added -unique option to lsort (hobbs)
-
-1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems)
-
---- Released 8.3b1, December 22, 1999 --- See ChangeLog for details ---
-
-2000-01-10 (feature enhancement) clock scan now supports the common
-ISO 8601 date/time formats. See docs for details. (melski)
-
-2000-01-10 (bug fix) prevented \ooo substitution from accepting
-non-octal digits [Bug: 3975] (hobbs)
-
-2000-01-11 (bug fix) fixed improper handling of DST by clock when
-using relative times (like "1 month" or "tomorrow"). (melski)
-
-2000-01-12 (bug fix) improved build support for Tru64 v5, NetBSD
-and Reliant Unix (hobbs)
-
-2000-01-12 (bug fix) made imported commands also import their
-compile procedure (duffin)
-
-2000-01-12 (bug fix) fixed 'info procs ::namesp::*' behavior to return
-procs in a namespace (dejong)
-
-2000-01-12 (feature enhancement) added support for setting permissions
-symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel)
-
-2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting
-characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski)
-
---- Released 8.3b2, January 13, 2000 --- See ChangeLog for details ---
-
-2000-01-14 (feature enhancement) clock format %Q added, clock scan updated
-
-2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth)
-
-2000-01-20 (bug fix) made [info body] always return a string type arg,
-to prevent possible misuse of bytecodes in the wrong context (hobbs)
-
-2000-01-20 (bug fixes) several fixes to variable handling to prevent
-possible crashes, and further definition of correct behavior (melski)
-
-2000-01-25 (bug fixes) improved QNX, Ultrix and OSF1 (Tru64) config and
-compatibility (edge, furukawa)
-
-2000-01-25 (bug fix) fixed mem leak when calling lsort with a bad -command
-argument (hobbs)
-
-2000-01-27 (feature enhancement) package mechanism overhaul: changed
-behavior of pkg_mkIndex to do -direct by default, added -lazy option.
-Fixed pkg_mkIndex to handle odd proc names and auto_mkIndex to use platform
-independent file paths. Other fixes for odd package quirks. Added
-::pkg namespace and ::pkg::create helper function. (melski)
-
-2000-02-01 (bug fix) fixed problem where http POST would send one extra
-newline (vasiljevic)
-
-2000-02-02 (feature enhancement) added docs for new regexp -inline and
--all switches. (hobbs)
-
-2000-02-08 (bug fix) corrected handling of "next monthname" in clock scan
-(melski)
-
-2000-02-09 (bug fix) restored Mac source to build readiness and prevented
-mac panic from an error when closing an async socket (steffen, ingham)
-
-2000-02-10 (feature enhancement) improved error reporting for failed
-loads on Windows (dejong, hobbs)
-
---- Released 8.3.0, February 10, 2000 --- See ChangeLog for details ---
-
-2000-03 (bug fixes, feature enhancement) overhaul of http package for
-proper handling of async callbacks (new options), version is now at 2.3
-(tamhankar, welch)
-
-2000-03 (performance enhancement) speedup in Windows filename handling (newman)
-and ==/!= empty string in exprs. (hobbs)
-
-2000-03-27 (bug fix) added uniq'ing test to namespace export list to
-prevent unnecessary mem growth (hobbs)
-
-2000-03-29 (bug fix) fixed mem leak when repeatedly sourcing the same
-bytecompiled (tbc) code repeatedly across different interpreters (hobbs)
-
-2000-03-29 (config enhancement) improved build support for gcc/mingw on
-Windows (nijtmans, hobbs) and added RPM target (melski)
-
-2000-03-31 (bug fix) corrected data encoding problem when using
-"exec << $data" construct (melski)
-
-2000-04 (feature enhancement) overhaul of threading mechanism to better
-support tcl level thread command (new APIs Tcl_ConditionFinalize,
-Tcl_MutexFinalize, Tcl_CreateThread, etc, all docs in Thread.3).
-(kupries, graveraux)
-This enables the tcl level thread extension. (welch)
-
-2000-04-10 (bug fix) fixed infinite loop case in regexp -all (melski)
-
-2000-04-13 (config enhancement) added support for --enable-64bit-vis
-Sparc target. (hobbs)
-
-2000-04-18 (bug fix) moved tclLibraryPath to thread-local storage to fix
-possible race condition on MP machines (hobbs)
-
-2000-04-18 (config enhancement) added MacOS X build target and
-tclLoadDyld.c dl type. (sanchez)
-
-2000-04-23 (bug fix) several Mac socket fixes (ingham)
-
-2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded
-exec process was running (dejong)
-
---- Released 8.3.1, April 26, 2000 --- See ChangeLog for details ---
-
-2000-04-26 (doc fix) updated/added documentation for many API's and
-commands (melski)
-
-2000-05-02 (feature enhancement) added support for joinable threads;
-extended API's for channels to allow channels to move between threads
-(kupries)
-
-2000-05-02 (feature enhancement) changed error return for procedures
-with incorrect args to be like the Tcl_WrongNumArgs API, with a "wrong
-# args: ..." message printed, with an args list (hobbs)
-
-2000-05-08 (feature enhancement) added [array statistics] command
-
-2000-05-08 (performance enhancement) rewrote Tcl_StringCaseMatch
-algorithm for better performance; this affects the [string match]
-command; added "eq" and "ne" operands to expr, for testing
-string equality and inequality (hobbs)
-
-2000-05-09 (feature enhancement) extended [lsearch] to support sorted
-list searches and typed list searches (melski)
-
-2000-05-10 (feature enhancement) added [namespace exists] command
-(darley)
-
-2000-05-18 (build enhancement) added support for mingw compile env and
-cross-compiling (dejong)
-
-2000-05-18 (bug fix) corrected clock grammar to properly handle the
-"ago" keyword when it follows multiple relative unit specifiers
-(melski)
-
-2000-05-22 (compile fix) type cast cleanups (dejong)
-
-2000-05-23 (performance enhancement) added byte-compiled
-implementation of [return] command and [string] command (melski)
-
-2000-05-26 (performance enhancement) extended byte-compiled [string]
-command with support for [string compare/index/match] (hobbs)
-
-2000-05-27 (feature enhancement) added ability to set [info script]
-return value ([info script ?newFileName?]) (welch)
-
-2000-05-31 (feature enhancement) added support for regexp and exact
-pattern matching for [array names] (gazetta)
-
-2000-05-31 (feature enhancement) added -nocomplain and -- flags to
-[unset] to allow for silent unset operation (hobbs)
-
---- Released 8.4a1, June 6, 2000 --- See ChangeLog for details ---
-
-2000-05-29 (bug fix) corrected resource cleanup in http error cases.
-Improved handling of error cases in http. (tamhankar)
-
-2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem
-to correct problems (hangs, core dumps) with the initial stacked channel
-implementation. The new system has many more tests for robustness and
-scalability. There are new C APIs (see Tcl_CreateChannel), but only
-stacked channel drivers are affected (ie: TLS, Trf, iogt). The iogt
-extension has been added to the core test code to test the system.
-(hobbs, kupries)
- **** POTENTIAL INCOMPATABILITY ****
-
-2000-07 (build improvements) cleanup of the makefiles and configure scripts
-to correct support for building under gcc for Windows. (dejong)
-
-2000-08-07 (bug fix) corrected sizeof error in Tcl_GetIndexFromObjStruct.
-(perkins)
-
-2000-08-07 (bug fix) correct off-by-one error in HistIndex, which was
-causing [history redo] to start its search at the wrong event index. (melski)
-
-2000-08-07 (bug fix) corrected setlocale calls for XIM support and locale
-issues in startup. (takahashi)
-
-2000-08-07 (bug fix) correct code to handle locale specific return values
-from strftime, if any. (wagner)
-
-2000-08-07 (bug fix) tweaked grammar to properly handle the "ago" keyword
-when it follows multiple relative unit specifiers, as in
-"2 days 2 hours ago". (melski)
-
-2000-08-07 (doc fixes) numerous doc fixes to correct SEE ALSO and NAME
-sections. (english)
-
-2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and
-DumpActiveMemory.3. (melski)
-
---- Released 8.3.2, August 9, 2000 --- See ChangeLog for details ---
-
-2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on
-Windows), AIX-5 and Win64 builds (dejong, hobbs)
-
-2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin)
-
-2000-06-29 (new features) added [mcmax] and [mcmset] and extended [unknown] in
-msgcat package (duperval, krone, nelson)
-=> msgcat 1.1
-
-2000-08 thru 2000-09 added tclPlatDecls.h to default install (melski, hobbs)
-
-2000-08-24 (new feature) Enhanced trace syntax to add:
- trace {add|remove|list} {variable|command} name ops command
-(darley, melski)
-
-2000-09-06 (cross-platform feature) Set ^Z (\32) as default EOF char. (hobbs)
-
-2000-09-07 partial fix for bug 2460 to prevent exec mem leak on Windows for the
-common case (gravereaux)
-
-2000-09-14 Improved string allocation growth for large strings (hintermayer,
-melski)
-
-2000-09-14 New non-panic'ing mem allocation functions Tcl_AttemptAlloc,
-Tcl_AttemptRealloc, Tcl_AttemptSetObjLength (melski)
-
-2000-09-20 (new features) completely new, enhanced syntax in tcltest package.
-Backwards compatable with tcltest v1. (hom)
-=> tcltest 2.0
-
-2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
-didn't set nonBlocking correctly when resetting the flags for the write
-side (mem leak) Correct mem leak in channels when statePtr was released
-(hobbs)
-
-2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
-
-2000-10-06 (bug fix) corrected [file channels] to only return channels in
-the current interpreter (hobbs)
-
-2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
-speed up command significantly in base cases (hobbs)
-
-2000-10-27 Fixed mem leak in Tcl_CreateChannel. Re-purified core via test
-suites. (hobbs)
-
-2000-10-30 (new feature) add "ja_JP.eucJP" map to "euc-jp" encoding (takahashi)
-
-2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
-non-existent array element (hobbs)
-
-2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
-environment (gravereaux)
-
-2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for
-tclsh. This enables Tk as a truly loadable package. (hobbs)
-
---- Released 8.4a2, November 3, 2000 --- See ChangeLog for details ---
-
-2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
-didn't set nonBlocking correctly when resetting the flags for the write
-side (mem leak) Correct mem leak in channels when statePtr was released
-(hobbs)
-
-2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
-
-2000-10-06 (bug fix) corrected [file channels] to only return channels in
-the current interpreter (hobbs)
-
-2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
-speed up command significantly in base cases (hobbs)
-
-2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
-non-existent array element (hobbs)
-
-2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
-environment (gravereaux)
-
-2000-11-23 (mem leak) fixed potential memory leak in error case of lsort
-(fellows)
-
-2000-12-09 (feature enhancement) changed %o and %x to use strtoul instead
-of strtol to correctly preserve scan<>format conversion of large integers
-(hobbs)
-Fixed handling of {!<boolean>} in expressions (hobbs, fellows)
-
-2000-12-14 (feature enhancement) improved (s)rand for 64-bit platforms
-(porter)
-
-2001-01-04 (bug fix) corrected parsing of $tcl_libPath at startup on
-Windows (porter)
-
-2001-01-30 (bug fix) Fixed possible hangs in fcopy. (porter)
-
-2001-02-15 (performance enhancement) improved efficiency of [string split]
-(fellows)
-
-2001-03-13 (bug fix) Correctly possible memory corruption in string map {}
-$str (fellows)
-
-2001-03-29 (bug fix) prevent potential race condition and security leak in
-tmp filename creation on Unix. (max)
-Fixed handling of timeout for threads (corrects excessive CPU usage issue
-for Tk on Unix in threaded Tcl environment). (ruppert)
-
-2001-03-30 (bug fix) corrected Windows memory error on exit (wu)
-Fixed race condition in readability of socket on Windows.
-
-2001-04-03 (doc fixes) numerous doc corrections and clarifications.
-Update of READMEs.
-
-2001-04-04 (build improvements) redid Mac build structure (steffen)
-Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs).
-Added support for Win64 (hobbs).
-
---- Released 8.3.3, April 6, 2001 --- See ChangeLog for details ---
-
-2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny)
-
-2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable
-(kupries)
-
-2001-03-30 (new feature)[TIP 10] support for thread-aware/hot channels (kupries)
-
-2001-04-06 (new feature)[219280] auto-loading hidden in ::errorInfo (porter)
-
-2001-04-07 (bug fix)[406709] corrected panic when extra items left on the
-byte compiler execution stack (sofer)
-
-2001-04-09 (bug fix)[219136,232558] improved use of thread-safe functions in
-unix time commands (kenny)
-
-2001-04-24 (new feature)[TIP 27] started CONST-ification of the Tcl APIs (kenny)
-
-2001-05-03 (new feature) [auto_import] now matches patterns like
-[namespace import], not like [string match] (porter)
- **** POTENTIAL INCOMPATABILITY ****
-
-2001-05-07 (new feature)[416643] distinct srand() seed per interp (sofer)
-
-2001-05-15 (new feature) new Tcl_GetUnicodeFromObj API (hobbs)
-
-2001-05-16 (performance enhancement) byte-compiled versions of [lappend],
-[append] simple cases (hobbs)
-
-2001-05-23 (new feature) added ISO-8859-15 and koi8-u encodings, updated other
-encoding tables based on http://www.unicode.org/Public/MAPPINGS/ (kuhn)
-
-2001-05-27 (new feature) updated to Unicode 3.1.0 data set (still using 16
-bits for Tcl_UniChar though) (hobbs)
-
-2001-05-30 (new feature)[TIP 15] Tcl_GetMathFuncInfo, Tcl_ListMathFuncs,
-Tcl_InfoObjCmd, InfoFunctionsCmd APIs (fellows)
-
-2001-06-08 (bug fix,feature enhancement)[219170,414936] all Tcl_Panic
-definitions brought into agreement (porter)
-
-2001-06-12 (bug fix)[219232] regexp returned non-matching sub-pairs to have
-index pair {-1 -1} (fellows)
-
-2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
-characters. (hobbs, riefenstahl)
-
-2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
-
-2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
-(hobbs, barras)
-
-2001-07-12 (new feature)[TIP 36] Tcl_SubstObj API (fellows)
-
-2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
-(hobbs, jsmith)
-
-2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
-of a channel is changed after channel use has already begun (kupries, porter)
-
-2001-07-31 (new feature)[TIP 17] TclFS* APIs provide new virtual file
-system. This includes the addition of 'file normalize', 'file system',
-'file separator' and 'glob -tails' (darley)
-
-2001-08-06 (bug fix) removed use of tmpnam in TclpCreateTempFile on Unix (lim)
-
- * improved build support for IRIX, GNU HURD, Mac OS 9 and OS X
-
- * configure scripts revamped for better support of cygwin and gcc on
- Windows (mdejong)
-
- * corrected several minor errors noted by Purify (hobbs)
-
---- Released 8.4a3, August 6, 2001 --- See ChangeLog for details ---
-
-2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
-characters. (hobbs, riefenstahl)
-
-2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
-
-2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
-(hobbs, barras)
-
-2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
-(hobbs, jsmith)
-
-2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
-of a channel is changed after channel use has already begun (kupries, porter)
-
-2001-08-06 (bug fix)[442665] corrected object reference counting in [gets]
-(jikamens)
-
-2001-08-06 (new feature) added GNU (HURD) configuration target. (brinkmann)
-
-2001-08-07 (bug fix)[406709] corrected panic when extra items left on the
-byte compiler execution stack (see test foreach-5.5) (sofer, tallneil, jstrot)
-
-2001-08-08 (new features) updated packages msgcat 1.1.1, opt 0.4.3,
-tcltest 1.0.1, dependencies checked (porter)
-
-2001-08-20 (new feature)[452217] http 2.3.2: include port number in Host: header
-to comply with HTTP/1.1 spec (RFC 2068) (hobbs, tils)
-
-2001-08-23 (new feature) added QNX-6 build support (loverso)
-
-2001-08-23 (bug fix) corrected handling of spaces in path name passed to
-[exec] on Windows (kenpoole)
-
-2001-08-24 (bug fix) corrected [package forget] stopping on non-existent
-package (porter)
-
-2001-08-24 (bug fix) corrected construction of script library search path
-relative to executable (porter)
-
-2001-08-24 (bug fix) [auto_import] now matches patterns like
-[namespace import], not like [string match] (porter)
- **** POTENTIAL INCOMPATABILITY ****
-
-2001-08-27 (new feature) added Tcl_SetMainLoop() to enable loading Tk as a
-true package (hobbs)
-
-2001-08-30 (bug fix) build support for Crays (andreasen)
-
-2001-09-01 (bug fix) rewrite of Tcl_Async* APIs to better manage thread
-cleanup (gravereaux)
-
-2001-09-06 (new feature) http 2.4: honor the Content-encoding and charset
-parameters; add -binary switch for forcing the issue (hobbs, saoukhi, orwell)
-=> http 2.4
-
-2001-09-06 (performance enhancement) rewrite of file I/O flush management on
-Windows. Approximately 100x speedup for some operations. (kupries, traum)
-
-2001-09-10 (bug fix) corrected finalization error in TclInExit (darley)
-
-2001-09-10 (bug fix) protect against alias loops (hobbs)
-
-2001-09-12 (bug fix) added missing #include in tclLoadShl.c (techentin)
-
-2001-09-12 (bug fix) script library path construction on Windows no longer
-uses registry, nor adds the current working directory to the path (porter)
-
-2001-09-12 (bug fix) correct bugs in compatibility strtod() (porter)
-
-2001-09-13 (bug fix) Tcl_UtfPrev now returns the proper location when the
-middle of a UTF-8 byte is passed in (hobbs)
-
-2001-09-19 (bug fix) [format] and [scan] corrected for 64-bit machines (rmax)
-
-2001-09-19 (new feature) --enable-64-bit support for HP-11. (hobbs)
-
-2001-09-19 (new feature) native memory allocator now default on Windows
-(hobbs)
-
-2001-09-20 (new feature) WIN64 support and extra processor definitions
-(hobbs, mstacy)
-
-2001-09-26 (bug fix) corrected potential deadlock in channels that do not
-provide a BlockModeProc (kupries, kogorman)
-
-2001-10-03 (new feature) WIN64 build support (hobbs)
-
-2001-10-03 (bug fix) correction in thread finalization (rbrunner)
-
-2001-10-04 (new feature) updated encodings with latest mappings from
-www.unicode.org (hobbs)
-
-2001-10-11 (bug fix) corrected cleanup of self-referential bytecodes at
-interpreter deletion (sofer, rbrunner)
-
-2001-10-16 (new feature) config support for MacOSX / Darwin (steffen)
-
-2001-10-16 (new feature, Mac) change in binary extension format from MachO
-bundles to standard .dylib dynamic libraries like on other unices.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with
-relative months and years during swing hours. (lavana)
-
---- Released 8.3.4, October 19, 2001 --- See ChangeLog for details ---
-
-2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer)
-
-2001-08-22 (new feature)[227482] [dde request -binary] (hobbs)
-=> dde 1.2
-
-2001-08-30 (performance enhancement)[456668] fully qualified command names use
-cached Command for all namespaces, avoiding repeated lookups (sofer)
-
-2001-08-31 (performance enhancement) bytecompiled [list] (hobbs)
-
-2001-09-02 (bug fix)[403553] Add -Zl to VC++ compile line for tclStubLib to
-avoid any specific C-runtime library dependence. (gravereaux)
-
-2001-09-05 (new feature) restored support for Borland compiler (gravereaux)
-
-2001-09-05 (new feature)[TIP 49] Tcl_OutputBuffered API (schroedter, fellows)
-
-2001-09-07 (new feature) restored VC++ 5.0 compatibility (gravereaux)
-
-2001-09-10 (performance enhancement)[TIP 53,451441] [proc foo args {}] now
-compiles to 0 bytecodes (sofer)
-
-2001-09-13 (new feature)[TIP 56] Tcl_EvalTokensStandard API (sofer)
-
-2001-09-13 (new feature) Old ChangeLog entries => ChangeLog.1999 (hobbs)
-
-2001-09-17 (new feature) compiling with TCL_COMPILE_DEBUG now required to
-enable all compile and execution tracing (sofer)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-09-19 (bug fix)[411825] made TclNeedSpace UTF-8 aware (fellows)
-
-2001-09-19 (bug fix)[219166] overagressive compilation of "quoted" bodies of
-[for], [foreach], [if], and [while] (sofer)
-
-2001-09-19 (performance enhancement) bytecompiled [string match] (hobbs)
-
-2001-10-15 (new feature)[TIP 35] serial channel configuration: Win (schroedter)
-
-2001-11-06 (bug fix)[478856] loss of fileevents due to short reads (kupries)
-
-2001-11-06 (new feature) revitalized makefile.vc (gravereaux)
-
-2001-11-07 (new feature) Cygwin gcc support dropped. Use mingw (dejong)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-11-07 (new feature) Support --include-dir= and --libdir= options to
-configure. Store in tclConfig.sh as TCL_INCLUDE_SPEC and TCL_LIB_SPEC.
-(dejong)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-11-08 (new feature) Enable --enable-threads on FreeBSD (dejong)
-
-2001-11-08 (new feature) New make target 'make gdb' (dejong)
-
-2001-11-09 (bug fix)[480176] [global] mishandled varnames matching :* (porter)
-
-2001-11-12 (new feature)[TIP 22,33,45] new command [lset],
-[lindex] extended to accept multiple indices. (kenny, hobbs)
-
-2001-11-16 (new feature) new configure option --enable-langinfo=no.
-By default, nl_langinfo() is used on Unix to determine system encoding.
-Tcl's built-in system is used only if that fails, or configured with
---enable-langinfo=no. (hobbs, wagner)
-
-2001-11-19 (new feature)[TIP 62] A Tcl_VarTraceProc can now return Tcl_Obj *
-or a dynamic string as well as a static string to indicate an error (fellows)
-
-2001-11-19 (new feature)[TIP 73] Tcl_GetTime API (kenny)
-
-2001-11-19 (bug fix)[478847] overflows in [time] of >2**31 microseconds (kenny)
-
-2001-11-29 (performance enhancement) caching scheme added to [binary scan]
-(fellows)
-
-2001-12-05 (new feature) new algorithm for [array get] adds safety when read
-traces modify the array. (sofer)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-12-10 (bug fix)[490514] doc fixes (porter,english)
-
-2001-12-18 (new feature) removed unix/dltest/configure; unix/configure does
-all (dejong)
-
-2001-12-19 (new feature) New make target 'make shell' (dejong)
-
-2001-12-21 (new feature) MaxOSX / Darwin support (steffen)
-
-2001-12-28 (new feature) new command [memory onexit] replaces [checkmem] when
-compiled with TCL_MEM_DEBUG. Added documentation. (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2001-12-28 (bug fix) proper case in [auto_execok] use of $env(COMPSPEC) (hobbs)
-
-2002-01-05 (feature rewrite) Tcl_Main() rewritten and documentation improved.
-Interactive operation and event loop operation (via Tcl_SetMainLoop) now
-interleave cleanly. Also more robust against strange happenings. (porter)
-
-2002-01-17 (bug fix)[504642] Tcl_Obj refCounts in [gets] (griffen,kupries)
-
-2002-01-21 (bug fix)[506297] infinite loop writing in iso2022-jap encoding
-(forssen,kupries)
-
-2002-01-24 (HTTP server bug workaround)[504508] leave the default port out
-of the Host: header value
-=> http 2.4.1 (hobbs)
-
-2002-01-25 (new feature)[496733] socket options -eofchar and -translation
-return read-only values (dejong)
-
-2002-01-28 (new feature) Old ChangeLog entries => ChangeLog.20900 (hobbs)
-
-2002-01-28 (performance enhancement) bytecompiled [regexp] for trivial cases
-that amount to string matching. Also -nocase and --. (hobbs)
-
-2002-02-05 (bug fix) [http::error] called when [::error] intended
-=> http 2.4.2 (porter)
-
-2002-02-05 (bug fix)[465765] avoid zero-byte writes to STREAMs
-(talcott,kupries)
-
-2002-02-06 (performance enhancement) [regsub] special cases that map to
-[string map] detected. (hobbs)
-
-2002-02-06 (bug fix)[495213] [scan] accept 0x as prefix of base 16 value
-(hobbs)
-
-2002-02-10 (new feature)[TIP 32,79] Tcl_CreateObjTrace API (kenny)
-
-2002-02-12 (new feature) partial support for DJGPP Tcl on DOS (gravereaux)
-
-2002-02-14 (mem leak) Fixed leaking an empty Tcl_Obj when [gets $chan]
-errored out. (kupries, sofer)
-
-2002-02-15 (new feature)[TIP 72] support for 64-bit integer values on
-32-bit platforms and ability to work with >2GiB files. Extends many
-commands. See ChangeLog and TIP for details.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-02-22 (bug fix)[476537] Fix panic when loading shared library without
-proper use of stubs on platform without backlinking (porter)
-
-2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs)
-
-2002-02-22 (new feature)[521560] Removed limits on filename length and
-format [source]able through the Safe Base (hobbs)
-
-2002-02-22 (performance enhancement) optimized bytecodes for [if], [for],
-[while] and constant conditions (sofer)
-
-2002-02-22 (new feature)[TIP 76] [regsub] can now return result (fellows)
-
-2002-02-25 (bug fix)[495207] buffer overrun when closing ] left out of
-argument to [subst] (sofer, english)
-
-2002-02-25 (bug fix)[514392] [load] updated for Mac OS X 10.1 (steffen)
-
-2002-02-26 (bug fix) [info hostname] choked on names >31 characters (hobbs)
-
-2002-02-26 (new feature)[TIP 35] serial channel configuration: Unix
-(schroedter, hobbs)
-
-2002-02-25 (bug fix)[483575] [fconfigure ... -error] now no-op on Mac (kupries)
-
-2002-02-28 (performance enhancement)[458872] fully qualified command names use
-cached Command for all namespaces, avoiding repeated lookups (sofer)
-
- * (new feature)[TIP 27] completed CONST-ification of TCL APIs.
-Added compiler macro USE_NON_CONST to keep using those old API prototypes
-that present irreconcilable source incompatibilities with header files
-of prior Tcl releases. Others will need to be reconciled.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems
-related to the handling of iso2022 text and finalization of escape-based
-encodings. (taguchi, takahashi, hobbs)
-
---- Released 8.4a4, March 5, 2002 --- See ChangeLog for details ---
-
-2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows)
-
-2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier)
-
-2002-03-08 (platform feature) mingw 1.1 build favored (dejong)
-
-2002-03-20 (new feature)[TIP 27] CONST-ified variable access functions (porter)
-
-2002-03-24 (bug fix)[511666,511658,523217,530960] expanded
-Tcl_FSMatchInDirectory to handle assorted [glob] bugs in VFS. (darley)
- *** POTENTIAL INCOMPATIBILITY with prior 8.4a releases ***
-
-2002-03-25 (bug fix)[495726] stopped tcltest disabling of auto-loading (porter)
-
-2002-03-25 (bug fix)[495977] allow \n in test constraints (porter)
-
-2002-03-27 (platform support)[527941,533862] VC/winhelp/W9X (spjuth,
-gravereaux)
-
-2002-03-28 (bug fix)[219181] exception at level 0 issues (sofer)
-
-2002-03-28 (bug fix)[219362] command termination; Tcl_CreateTrace (knoll,sofer)
-
-2002-04-05 (bug fix)[536879] exceptions during variable subst (porter)
-
-2002-04-15 (bug fix)[497446,513983] tcltest syntax errors now raised (porter)
- ***POTENTIAL INCOMPATIBILITY with prior tcltest 2.0.* (8.4aX)***
-
-2002-04-17 (bug fix)[495660] [(save|restore)state] deprecated (porter)
-
-2002-04-17 (bug fix)[526524] escape-based encodings corrected (yamamoto, hobbs)
-
-2002-04-18 (bug fix)[542588] [expr] error msgs improved (ehrens, sofer)
-
-2002-04-18 (bug fix)[545325] [info level $level] now returns [namespace eval]
-as documented (suchenwirth,sofer)
-
-2002-04-19 (bug fix)[544727] export [mcload]; ns context of [mcmax] (porter)
-=> msgcat 1.2.3
-
-2002-04-22 (performance enhancement) threaded memory allocator (AOL, hobbs)
-
-2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES #define disables
-inclusion of tcl library code in resource fork on Mac. (steffen)
-
-2002-05-21 (platform support) static libs on OSF (dejong)
-
-2002-05-24 (bug fix)[557878] set encoding on listening socket (staplin,
-kupries)
-
-2002-05-24 (new feature)[TIP 91] Tcl_Seek compatibility (fellows)
-
-2002-05-28 (bug fix)[545579] VFS [load] left temp file (darley)
-
-2002-05-28 (bug fix)[559376] plug timezone env leak on Windows (hobbs)
-
-2002-05-29 (performance enhancement) [string compare] optimized (hobbs,fellows)
-
-2002-05-31 (bug fix)[550534] plug interp leak in [pkg_mkIndex] (helmut)
-
-2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-06-04 (new feature)[TIP 85,521362] custom result match in tcltest
-(markus, porter)
-=> tcltest 2.1
-
-2002-06-06 (bug fix)[524352] encoding, threading, and environment issues on
-MacOSX (steffen)
-
-2002-06-06 (bug fix)[512214,558742,512214,461000] lazy initialization of
-tcltest constraints (porter)
-
-2002-06-07 (bug fix)[563122,564595] EOVERFLOW definitions (fellows)
-
-2002-06-11 (bug fix)[567386] [info locals] corrections (sofer)
-
-2002-06-14 (new feature)[TIP 102] [trace list] renamed [trace info] (fellows)
-
-2002-06-17 (new feature)[525522,525525] msgcat support for XPG4 locales;
-examination of LC_ALL, LC_MESSAGES environment variables (haible, porter)
-=> msgcat 1.3
-
-2002-06-17 (new feature)[565088] header files assume modern C compiler by
-default; older compilers may need configuration (english)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-06-17 (bug fix)[554068] [exec] argument quoting on Windows (darley)
-
-2002-06-17 (new feature)[TIP 62,462580] command execution traces (lavana)
-
-2002-06-19 (bug fix)[558324] regexp sets a linked variable (watson)
-
- * (performance enhancment) optimizations of bytecode execution (sofer)
-
-2002-06-21 (new feature)[TIP 99,562970] new [file link] command (darley)
-
-2002-06-24 (new feature)[TIP 101] new [tcltest::configure] command (porter)
-=> tcltest 2.2
-
-2002-06-25 (new feature) --enable-man-symlinks and --enable-man-compression
-options to configure (max)
-
-2002-06-26 (bug fix)[565880] [clock format] now respects locale (max)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer)
-
---- Released 8.4b1, July 5, 2002 --- See ChangeLog for details ---
-
-2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter)
-
-2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley)
-
-2002-07-15 (performance enhancment) variable operations rewritten to store
- and use cached Var pointers (sofer)
-
-2002-07-22 (bug fix)[218000] Inf and Nan are floating-point values (fellows)
-
-2002-07-23 (platform support)[219220] 64-bit compile on IRIX (dejong)
-
-2002-07-25 (bug fix)[219218] return codes in background errors (english)
-
-2002-07-28 (bug fix)[582522] alias fires exec traces (sofer)
-
-2002-07-29 (bug fix)[578363] regexp (fellows,pvgoran)
-
-2002-07-30 (bug fix)[584603] WriteChars infinite loop non-UTF-8 string (kupries)
-
-2002-08-04 (new feature)[584051,580433,585105,582429][TIP 27] Tcl interfaces
- are now fully CONST-ified. Use the symbols USE_NON_CONST or
- USE_COMPAT_CONST to select interfaces with fewer changes.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-08-05 (bug fix)[589859] tcltest setup and cleanup scripts skipped when
- test body is skipped (porter)
- => tcltest 2.2
-
-2002-08-07 (bug fix)[587488] mem leak with USE_THREAD_ALLOC (sofer,sass)
-
-2002-08-07 (feature enhancement)[584794,584650,472576] boolean values
- are no longer always re-parsed from string. (sofer)
-
-Many internal bugs fixed.
-Considerable cleanup of the test suite.
-
---- Released 8.4b2, August 9, 2002 --- See ChangeLog for details ---
-
-2002-08-20 (new feature) --enable-memdebug configure option (kupries)
-
-2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran)
-
-2002-08-26 (bug fix)[599788] segfault in compiler (sofer,wilkason)
-
-2002-08-28 (bug fix)[414910] avoid mem leaks accessing environment variables
- on Windows (welton,gravereaux)
-
-2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham)
-
-2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin)
-
---- Released 8.4.0, September 10, 2002 --- See ChangeLog for details ---
-
-2002-09-18 (platform support) Updated support for compiling with Cygwin and
-either mingw or gcc. (khan, howell, dejong)
-
-2002-09-22 (bug fix)[612786, 611922] Corrected [puts -nonewline] within
-test bodies. Also corrected reporting of body return code. Updated tcltest
-to v2.2.1.
-
-2002-09-24 (bug fix)[613117] More robust 64-bit wide integer value
-detection (fellows)
-
-2002-09-26 (bug fix) correct overeager optimization of noop proc to handle
-the precompiled case. (sofer, hobbs)
-
-2002-09-26 (bug fix)[615115] removed extraneous spaces in koi8-u.enc that
-confused encoding reader.
-
-2002-09-29 (bug fix)[219355] Added proper exiting conditions using Win32
-console signals. This handles the existing lack of a Ctrl+C exit to call
-exit handlers when built for thread support. Also, properly handles exits
-from other conditions such as CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and
-CTRL_SHUTDOWN_EVENT signals. In all cases, exit handlers will be called.
-(gravereaux)
-
-2002-09-30 (bug fix) improve the checking for bad regular expressions
-during regexp compilation. Resultant compiles were correct, but much
-slower than necessary. (hobbs)
-
-2002-10-01 (bug fix) fix precompiled locals to support 8.3 precompiled
-code. (hobbs)
-
-2002-10-09 (bug fix)[620735] Added code to set an exit handler on Windows
-that terminates the thread that calibrates the performance counter, so that
-the thread won't outlive unloading the Tcl DLL. (kenny)
-
-2002-10-09 (build support) all --enable-symbols to take the enhanced
-options yes|no|mem|compile|all. (hobbs)
-
-2002-10-10 (build support) enable USE_THREAD_ALLOC (new threaded allocator)
-by default on Windows. (hobbs, gravereaux)
-
-2002-10-14 (bug fix)[623269] correct possible mem leak in
-Tcl_PutEnv. (brouwers)
-
-2002-10-15 (bug fix)[615043] fix in execution traces with idle tasks
-firing. (lavana)
-
-2002-10-15 (platform support) Correct AIX-5 ppc and 4/5 64-bit build flags.
-Correct HP 11 64-bit gcc building. (martin, hobbs)
-
-2002-10-17 (bug fix)[624755] Fixed code that check for proper # of args to
-[array names] (porter)
-
-2002-10-18 (feature enhancement)[625453] Added support for broadcasting
-changes to the registry Environment on Windows. Updated registry package
-to v1.1. (hobbs)
-
-2002-10-22 (platform support)[624509] On macosx, add embedded framework
-dirs to tcl_pkgPath: @executable_path/../Frameworks and
-@executable_path/../PrivateFrameworks (if they exist), as well as the dirs
-in DYLD_FRAMEWORK_PATH (if set). (steffen)
-
---- Released 8.4.1, October 22, 2002 --- See ChangeLog for details ---
-
-2002-10-28 (bug fix)[627660] [package unknown] chaining for platform specifics
-
-2002-10-29 (bug fix)[627546] verbose [load] (dyld) error mesages on MacOSX
-
-2002-11-01 (bug fix) [package provide registry] consistent versions.
-
-2002-11-06 (bug fix)[582039] missing ar program -> configuration error
-
-2002-11-06 (feature enhancement) added new TclInThreadExit function to
-test for thread exit vs whole process exit condition. The TclInExit
-function now correctly returns 1 during Tcl_Finalize processing.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-11-13 (bug fix)[615043] some execution traces were not firing
-
-2002-11-18 (bug fix)[634856] multiple signs no longer accepted as valid integer
-[string is integer ++1] => 0
- *** POTENTIAL INCOMPATIBILITY ***
-
-2002-11-26 (bug fix)[593810,597924] clean exit of channel worker threads on Win
-
-2002-11-28 (new feature) `make valgrind` target
-
-2002-12-03 (bug fix)[615304] repeated load/unload of Tcl now possible
-
-2002-12-11 (bug fix)[647307] negative return codes now propagated by procs
-
-2002-12-11 (bug fix)[648441] syntax error in [expr 0x] now detected.
-
-2003-01-07 (bug fix)[633204] [catch {return}] => 2 (not 0)
-
-2003-01-09 (bug fix)[634151] [file (a|m)time $nonASCIIpath $time] now works
-
-2003-01-16 (bug fix) dde eval with {} service name does not crash.
-=> dde 1.2.1
-
-2003-01-16 (bug fix)[635200,655645,615043,571385] many command trace fixes
-
-2003-01-31 (bug fix)[675614,678415,676978] tcltest conflicts in cleanup
-and -outfile; also failure in space-containing path; also missing [close]
-=> tcltest 2.2.2
-
-2003-02-01 (bug fix)[670042] corrected [info loaded {}] for static
-packages in multiple interps.
-
-2003-02-01 (bug fix)[675356] [clock clicks {}]; [clock clicks -] - syntax errs
-
-2003-02-01 (bug fix)[656660] MT-safety for [clock format]
-
-2003-02-03 (bug fix)[651271] command rename traces get fully-qualified names
- *** POTENTIAL INCOMPATIBILITY ***
-
-2003-02-07 (performance improvement) [glob] on Windows is 2.5 times faster
-
-2003-02-07 (feature change) lack of Cygwin support indicated by config error
-
-2003-02-11 (bug fix)[684744] [info complete] stopped by \x00
-
-2003-02-11 (bug fix)[685445] [glob -types l] missed broken symlinks on Unix
-
-2003-02-11 (bug fix) [lsearch -regexp $a $a] doesn't crash
-
-2003-02-13 (bug fix)[685926] accept non-ASCII7 for tcl_platform(user) on Win
-
-2003-02-15 (bug fix)[673714] stop crash when Tcl_DeleteEvents deletes last
-
-2003-02-15 (bug fix)[681841] parser missed some missing ] syntax errors
-
-2003-02-17 (bug fix)[684756] memory leak during command rename plugged
-
-2003-02-18 (bug fix)[689100] reduced per-thread memory overhead
-
-2003-02-18 (platform support)[651811] use xnet library on HP 11 (64 bit).
-
-2003-02-20 (bug fix)[Patch 689341] correct jis round-trip encoding
-
-2003-02-20 (bug fix)[689835] stop MacOSX hang trying to read a write-only pipe
-
-2003-02-07 (performance improvement) [tclPkgUnknown]: fewer vfs calls
-
-2003-02-18 (platform support) cut and splice procs for file channels on Mac
-
-2003-02-21 (bug fix)[690774] [binary scan] failed on some wide ints
-
-2003-02-22 (bug fix)[571002] plugged data leak during thread exit
-
-2003-02-25 (feature change) [pkg_mkIndex -load]: case-insensitive match
- *** POTENTIAL INCOMPATIBILITY ***
-
-2003-02-27 (bug fix)[694232] stop [lsearch -start 0 {} x] segfault
-
---- Released 8.4.2, March 3, 2003 --- See ChangeLog for details ---
-
-2003-03-06 (bug fix)[699042] Correct case-insensitive unicode string
-comparison in Tcl_UniCharNcasecmp
-
-2003-03-11 (bug fix) Corrected loading of tclpip8x.dll on Win9x
-
-2003-03-12 (bug fix)[702383] Corrected parsing of interp create --
-
-2003-03-12 (bug fix)[685106] Correct Tcl_SubstObj handling of \x00 bytes
-
-2003-03-14 (bug fix)[702622 699060] Correct wide int issues in 'format'
-
-2003-03-14 (bug fix)[698146] Remove assumption that file times and longs
-are the same size.
-
-2003-03-18 (bug fix)[697862] Allow Tcl to differentiate between reparse
-points which are symlinks and mounted drives on Windows
-
-2003-03-19 (bug fix)[705406] Bad command count on TCL_OUT_LINE_COMPILE
-
-2003-03-20 (bug fix)[707174] Store pointers to notifier funcs in a struct
-to work around some platform linker issues
-
-2003-03-22 (bug fix)[708218] Load correct (non-)debug dll for dde or
-registry
-
-2003-03-24 (bug fix)[631741 696893] Fixing ObjMakeUpvar's lookup algorithm
-for the created local variable
-
-2003-04-07 (bug fix)[713562] Make sure that tclWideIntType is defined and
-somewhat sensible everywhere
-
-2003-04-07 (bug fix)[711371] Corrected string limits of arguments
-interpolated in error messages for 'if'
-
-2003-04-11 (bug fix)[718878] Corrected inconsistent results of
-[string is integer] observed on systems where sizeof(long) != sizeof(int)
-
-2003-04-12 (bug fix) Substantial changes to the Windows clock synch
-phase-locked loop in a quest for improved loop stability
-
-2003-04-16 [713562] Made changes so that the "wideInt" Tcl_ObjType is
-defined on all platforms, even those where TCL_WIDE_INT_IS_LONG is defined.
-Also made the Tcl_Value struct have a wideValue field on all platforms.
-Potential incompatibility for TCL_WIDE_INT_IS_LONG platforms because that
-struct changes size.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2003-04-25 (bug fix)[727271] Catch any errors returned by the Windows
-functions handling TLS ASAP instead of waiting to get some mysterious crash
-later on due to bogus pointers.
-
-2003-04-29 (bug fix) Correct 'glob -path {[tcl]} *', where leading
-special character instead lists files in '/'. Bug only occurs on Windows
-where '\' is also a directory separator.
-
-2003-05-09 (bug fix)[731754] Fixed memory leak in threaded allocator on
-Windows caused by treating cachePtr as a TLS index
-
-2003-05-10 (bug fix)[710642] Ensure cd is thread-safe
-
-2003-05-10 (bug fix)[718002] Correct mem leak on closing a Windows serial
-port
-
-2003-05-10 (bug fix)[714106] Prevent string repeat crash when overflow
-sizes were given (throws error).
-
-2003-05-13 (feature enhancement)[736774] Use new versioned bundle resource
-API to get tcl runtime library for TCL_VERSION on Mac OS X.
-
-2003-05-13 (bug fix)[711232] Worked around the issue of realpath() not
-being thread-safe on Mac OS X by defining NO_REALPATH for threaded builds
-on Mac OS X.
-
-2003-05-14 (bug fix)[557030] Correct handling of the gb2312 encoding by
-making it an alias of the euc-cn encoding and creating a gb2312-raw
-encoding for the original. Most uses of gb2312 really mean euc-cn.
-
-2003-05-14 (bug fix)[736421] Corrected another putenv() copy behavior
-problem when compiling on Windows and using Microsoft's runtime.
-
---- Released 8.4.3, May 20, 2003 --- See ChangeLog for details ---
-
-2003-05-23 (bug fix)[726018] reverted internals change to the
-'cmdName' Tcl_ObjType that broke several extensions (TclBlend, e4graph...)
-in the 8.4.3 release.
-
-2003-06-10 (bug fix)[495830] stop eval of bytecode in deleted interp.
-
-2003-06-17 (bug fix) corrections to regexp when matching emtpy string.
-
-2003-06-25 (bug fix)[748957] -*ieee compiler flags for Tru64 builds.
-
-2003-07-11 (bug fix) [pkg_mkIndex] indexes provided packages, not indexed ones.
-
-2003-07-15 (feature enhancement) MacOSX build system rewrite.
-
-2003-07-15 (bug fix)[771613] corrected segfault in [if] (buffer overflow)
-
-2003-07-16 (bug fix)[756791] corrected assumption that Tcl_Free == free
-
-2003-07-16 (feature enhancement) -DTCL_UTF_MAX=6 compile option forces
-internal UCS-4 representation of Unicode (default is recommended UCS-2).
-
-2003-07-16 (bug fix)[767578] 64-bit corrections in thread notifier.
-
-2003-07-16 (bug fix)[759607] Safe Base tests normalized paths.
-
-2003-07-16 (feature enhancement)[Patch 679315] improved Cygwin path support
-
-2003-07-18 (bug fix)[706359] corrected broken -output option of [tcltest::test]
-=> tcltest 2.4.4
-
-2003-07-18 (bug fix)[753315] MT-safety of VFS records.
-
-2003-07-18 (bug fix)[759888] support for user:pass in URL by [http::geturl]
-=> http 2.4.4
-
-Improved documentation, new tests, and some code cleanup.
-[655300, 720634, 735364, 748700, 756112, 756744, 756951, 758488, 760768,
-763312, 769895, 771539, 771840, 771947, 771949, 772333]
-
---- Released 8.4.4, July 22, 2003 --- See ChangeLog for details ---
-
-2003-07-23 (bug fix)[775976] fix registry compilation for VC7.
-
-2003-08-05 (enhancement)[781585] Use Tcl_ResetResult in bytecodes to
-prevent potential costly Tcl_Obj duplication.
-
-2003-08-06 (bug fix)[781609] prevent non-Windows platforms from trying to
-use the registry package inside msgcat.
-
-2003-08-27 (bug fix)[411825] Fix TclNeedSpace to handle non-breaking space
-(\u00A0) and backslash escapes correctly.
-
-2003-09-01 (bug fix)[788780] Fix thread-safety issues in filesystem records.
-
-2003-09-19 (bug fix)[804681] Protect ::errorInfo and ::errorCode traces
-from corrupting stack.
-
-2003-09-23 (bug fix)[218871] Fix handling of glob-sensitive chars in
-auto_load and auto_import.
-
-2003-10-03 (bug fix)[811483] Fixed refcount management for command and
-execution traces.
-
-2003-10-04 (bug fix)[789040] Fixed exec command.com error for Win9x.
-
-2003-10-06 (bug fix)[767834, 813273] Fixed volumerelative file
-normalization and 'file join' inconsistencies.
-
-2003-10-08 (bug fix)[769812] Fix Tcl_NumUtfChars string length calculation
-when negative parameter is given.
-
-2003-10-22 (bug fix)[800106] Handle VFS mountpoints inside glob'd dirs.
-
-2003-10-22 (bug fix)[599468] Watch for FD_CLOSE too on Windows when
-asked for writable events by the generic layer.
-
-2003-10-23 (bug fix)[813606] Detect OS X pipes correctly.
-
-2003-11-05 (bug fix)[832657] Allow .. in libpath initialization.
-
-2003-11-11 (bug fix) Improve AIX-64 build configuration.
-
-2003-11-17 (bug fix)[230589, 504785, 505048, 703709, 840258] fixes to
-various odd regexp "can't happen" bugs.
-
---- Released 8.4.5, November 20, 2003 --- See ChangeLog for details ---
-
-2003-12-02 (bug fix)[851747] object sharing fix in [binary scan]
-
-2003-12-09 (platform support)[852369] update errno usage for recent glibc
-
-2003-12-12 (bug fix)[858937] fix for [file normalize ~nobody]
-
-2003-12-17 (bug fix)[839519] fixed two memory leaks (vasiljevic)
-
-2004-01-09 (bug fix)[873311] fixed infinite loop in TclFinalizeFilesystem
-
-2004-02-02 (bug fix)[405995] Tcl_Ungets buffer filling fix
-
-2004-02-04 (bug fix)[833910] tcltest command line option parsing error
-=> tcltest 2.4.5
-
-2004-02-04 (bug fix)[833637] code error in tcltest -preservecore operation
-
-2004-02-12 (feature enhancement) update HP-11 build libs setup
-
-2004-02-17 (bug fix)[849514,859251] corrected [file normailze] of $link/..
-
-2004-02-17 (bug fix)[772288] Unix std channels forced to exist at startup.
-
-2004-02-17 (new default) tcltest::configure -verbose {body error}
-
-2004-02-19 (bug fix) init.tcl search path with unusual --libdir (samson)
-
-2004-02-25 (bug fix)[554068] stopped broken [exec] quoting of { (gravereaux)
-
-2004-02-25 (bug fix)[888777] plugged memory leak with long host names (cassoff)
-
-2004-03-01 (bug fix)[462580] corrected level interpretation of Tcl_CreateTrace
-
-2004-03-01 (platform support)[218561] Allow 64-bit configure on IRIX64-6.5*
-
---- Released 8.4.6, March 1, 2004 --- See ChangeLog for details ---
-
-Changes to 8.5a1 include all changes to the 8.4 line through 8.4.6,
-plus the following, which focuses on the high-level feature changes
-in this changeset (new minor version) rather than bug fixes:
-
- * refactored IO code to split FS path code into generic/tclPathObj.c
- and generic/tclFileSystem.h
-
- * refactored trace code into generic/tclTrace.c
-
- * configure scripts now require autoconf 2.57 for regeneration
-
- * updated runtime library scripts to use newer Tcl code features
- (like replacing regsub with string map)
-
- * improve robustness of tcltest test suite across environments
-
- * changed the bytecode evaluation-stack addressing mode, from array-style
- to pointer-style; the catch stack and evaluation stack are now
- contiguous in memory
-
- * switch command is now byte-compiled
-
- * enhanced checking in 'file' command for Windows NT file permissions
-
- * [TIP #57] new 'lassign' command (adopted from TclX)
-
- * [TIP #75] switch -regexp now provides submatch info
-
- * [TIP #90] extended 'catch' and 'return' to enable creation of procs
- that are a true replacement for 'return'
-
- * [TIP #100] new 'unload' command (can unload DLLs loaded via 'load',
- requires the extension writer to support it)
-
- * [TIP #111] new 'dict' command. Several commands have been updated
- to handle the list form of dicts implicitly at the C level where
- only lists were previously accepted
-
- * [TIP #112] 'namespace ensemble' command addition allows for ensembles
- that build on the namespace abstraction
-
- * [TIP #118] file attributes -readonly option for unices that support
- chflags(), support Mac Classic attribute options on OS X, add
- -rsrclength for OS X, enhance file copy on OS X to copy finder
- attributes and resource forks transparently
-
- * [TIP #120] enable dde in safe interpreters
- * [TIP #130] enable unique dde server names on Windows
- * [TIP #135] change dde servername -exact option to -force
-=> dde 1.3
-
- * [TIP #121] new Tcl_SetExitProc C API to control application shutdown
-
- * [TIP #123] expr ** exponentiation operator
-
- * [TIP #124] 'clock clicks -milliseconds' now returns a wide integer and a
- new 'clock clicks -microseconds' returns a wide integer, representing
- the number of microseconds, both since the Posix epoch
-
- * [TIP #127] added 'lsearch -index' option
-
- * [TIP #136] added 'lrepeat' command
-
- * [TIP #137/151] Add -encoding option to 'source' command and main tclsh
- executable.
- *** POTENTIAL INCOMPATIBILITY ***
- For Tcl embedders that build on Tcl_Main() and make use of Tcl_Main's
- former ability to pass a leading "-encoding" option to interactive shell
- operations, this will now be consumed by Tcl.
-
- * [TIP #138] New TCL_HASH_KEY_SYSTEM_HASH option for Tcl hash tables
-
- * [TIP #139] documented portions of Tcl's namespace C APIs
-
- * [TIP #148] correct [list]-quoting of the '#' character
- *** POTENTIAL INCOMPATIBILITY ***
- For scripts that assume a particular (buggy) string rep for lists.
-
- * [TIP #156] add "root locale" to msgcat
-=> msgcat 1.4
-
- * [TIP #157] leading {expand} syntax on words to cause argument expansion.
- This is a safer/cleaner alternative to the use of 'eval'.
-
---- Released 8.5a1, March 3, 2004 --- See ChangeLog for details ---
-
-2004-03-04 (new feature) registry package is [unload]able (thoyts)
-=> registry 1.1.4
-
-2004-03-08 (bug fix)[910525] [glob -path] in root directory (darley)
-
-2004-03-12 (new feature)[TIP 163] [dict merge] (english, fellows)
-
-2004-03-18 (platform support) support for Mac Classic removed (steffen)
-
-2004-03-28 (bug fix)[925121] corrected segfault in bc compiler (sofer)
-
-2004-03-30 (bug fix)[495830,729692] bytecode execution checks
-each command/interp validity before executing. (sofer)
-
-2004-03-31 (bug fix)[811457] support translation to "" (porter)
-2004-03-31 (bug fix)[811461] ignore locales with no "language" part (porter)
-=> msgcat 1.4.1
-
-2004-04-01 (bug fix) make [glob -type d -dir . *] work across VFS boundary
-
-2004-04-06 (clean up) refactored Tcl header file #include order. Might
-create need for changes in extensions that #include private headers.
-Changed source code files should work with older Tcl as well. See ChangeLog.
- *** POTENTIAL INCOMPATIBILITY ***
-
-2004-04-07 (bug fix)[920667] install into any Unicode path on Win (hobbs)
-
-2004-04-07 (platform support) properly substitute more values in Windows
-tclConfig.sh (hobbs)
-
-2004-04-23 (bug fix)[930851] reset channel EOF when eofchar changes (kupries)
-
-2004-04-28 (bug fix)[600812][TIP 184] [upvar 0 scalar array(foo)] raises error
-
-2004-05-03 (bug fix)[947070] stack overflow prevention on Win (kenny)
-
-2004-05-03 (bug fix)[868853] fix leak in [fconfigure $serial -xchar] (cassoff)
-
-2004-05 (bug fix)[928353,929892,928808,947440,948177] test fixes: OSX (abner)
-
-2004-05-05 (bug fix)[794839] socket connect error -> r/w fileevents
-(gravereaux)
-
-2004-05-07 (bug fix)[949905] corrected utf-8 encoding of \u0000 on I/O (max)
-
-2004-05-13 (new feature)[TIP 129] [binary scan tnmrRqQ] (markus, fellows)
-
-2004-05-13 (new feature)[TIP 142] [interp limit] (fellows)
-
-2004-05-14 (bug fix)[940278,922848] [clock] notices $::env(TZ) changes,
-gmt works on all platforms. (kenny, welton, glessner)
-
-2004-05-16 (feature rewrite) bytecode execution of {expand} changed
- *** POTENTIAL INCOMPATIBILITY with prior 8.5a releases ***
-
-2004-05-18 (platform support) makefile.vc now generates tclConfig.sh (thoyts)
-
-2004-05-18 (bug fix)[500285,500389,852944] [clock %G %V] ISO8601 week numbers
-(kenny)
-
-2004-05-22 (bug fix)[735335,736729] variable name resolution error (sofer)
-
-2004-05-24 (bug fix) support for non-WIDE_INT aware math functions (hobbs)
-
-2004-05-25 (new feature) [http::config -urlencoding] (hobbs)
-=> http 2.5.0
-
-2004-05-26 (bug fix)[960926] file count doubled when -singleproc 1 (porter)
-=> tcltest 2.2.6
-
-2004-05-26 (bug fix)[874058] improved build configuration on 64-bit systems.
-Corrects Tcl_StatBuf definition issues. (hobbs)
-
-2004-05-30 (platform support) Win: allow signed short exit codes (gravereaux)
-
-2004-06-05 (bug fix)[976722] hi-res clock fixes: Win
-(godfrey, suchenwirth, kenny)
-2004-06-10 (bug fix)[932314] bad return values from Tcl_FSChdir() (vasiljevic)
-
-2004-06-18 (platform support) regonize more unix locales (huang)
-
-2004-06-18 (bug fix) prevent stack overflow from long free() chains (fellows)
-
-2004-06-21 (platform support) exceptions w/ gcc -O3 on Win (dejong)
-
-2004-06-23 (feature rewrite)[976496] thread local storage done with hash
-tables to avoid system limits (mistachkin)
-
-2004-06-29 (bug fix)[981733] SafeBase global pollution (fellows)
-
-2004-06-30 (new feature)[TIP 188] [string is wideinteger] (kenny)
-
-2004-07-02 (new feature)[TIP 202] pipe redirection 2>@1 (hobbs)
-
-2004-07-03 (bug fix)[908375] round() wide integer support (lavana, sofer)
-
-2004-07-07 (bug fix)[458361] shimmer of single-word scripts suppressed (sofer)
-
-2004-07-15 (bug fix)[770053] crash in thread finalize of notifier (vasiljevic)
-
-2004-07-15 (bug fix)[990453] plug mutex leaks on reinit
-(mistachkin, vasiljevic)
-
-2004-07-16 (bug fix)[990500] clean exit of notifier thread
-(mistachkin, kupries)
-
-2004-07-19 (bug fix)[987967] improved self-init of mutexes on Win (vasiljevic)
-
-2004-07-20 (bug fix) pure Darwin/CFLite support (steffen)
-
-2004-07-20 (bug fix)[736426] plug leaky allocator reinit (mistachkin, kenny)
-
-2004-07-30 (bug fix)[999084] no deadlock in re-entrant Tcl_Finalize (porter)
-
-2004-08-02 (new feature)[TIP 207] [interp invokehidden -namespace] (porter)
-
-2004-08-10 (bug fix) thread IDs on 64-bit systems (ratcliff,vasiljevic)
-
-2004-08-13 (bug fix) avoid malicious code acceptance by [mclocale] (porter)
-=> msgcat 1.3.3
-
-2004-08-16 (bug fix)[1008314] Tcl_SetVar TCL_LIST_ELEMENT (sofer,porter)
-
-2004-08-18 (new feature)[TIP 173,209] complete [clock] rewrite (kenny)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2004-08-18 (new feature)[TIP 189] package loading for Tcl Modules (kupries)
-
-2004-08-19 (bug fix)[1011860] [scan %ld] fix on LP64 (fellows,porter)
-
-2004-08-23 (bug fix)[695441] extend [tcl_findLibrary] search path to include
- $::auto_path and [pkgconfig get scriptdir,runtime] (porter)
-
-2004-08-27 (platform support) TCL_MODULE_PATH values for Mac OSX (steffen)
-
-2004-08-27 (bug fix)[1017022] recognize imported ensembles (fellows)
-
-2004-08-30 (bug fix) [string map $x $x] crash (fellows)
-
-2004-09-01 (bug fix)[1020445] WIN64 support (hobbs)
-
-2004-09-03 (bug fix)[1020538] crash in [file copy] (violi,fellows)
-
-2004-09-07 (bug fix)[1016167] [after] overwrites its imports (kenny)
-
-2004-09-08 (bug fix) fixed [clock format 0 -format %k] (kenny)
-
-2004-09-09 (bug fix)[560297] fixed broken [namespace forget] logic (porter)
-
-2004-09-09 (bug fix)[1017299] fixed [namespace import] cycle prevention
-(porter)
-
-2004-09-10 (performance) $x[set x {}] is now fast [K $x [set x {}]] (sofer)
-
-2004-09-10 (bug fix)[868489] better control over int <-> wideInt
-(fellows,kenny)
-
-2004-09-10 (bug fix)[1025359] POSIX errorCode from wide seeks (kupries,fellows)
-
-2004-09-10 (bug fix)[707104,1026493] fix [rename] of [interp alias] (porter)
-
-2004-09-18 (bug fix)[868467] fix [expr 5>>32] => 0, not 5 (hintermayer,fellows)
-
-2004-09-21 (bug fix) consistent errorinfo from [namespace eval x error foo bar]
- and [namespace eval c {error foo bar}] (porter)
-
-2004-09-22 (feature change) syntax errors not reported at compile time;
- deferred to runtime. Support [return -errorline]. (porter)
-
-2004-09-23 (bug fix)[1016726] fix `make clean` in static config
-(leitgeb,dejong)
-
-2004-09-22 (feature change) report all compile errors at runtime (porter)
-
-2004-09-29 (bug fix)[1036649] syntax error in [subst] => buffer overflow
-(sofer)
-
-2004-09-30 (bug fix)[1038021] save/restore error state: var traces (porter)
-
-2004-10-01 (performance) stackframe level values in internal reps (fellows)
-
-2004-10-01 (feature change)[1037235] auto-create [dict] key paths (fellows)
-
-2004-10-04 (bug fix)[884830] eq and ne parse in expr (fellows)
-
-2004-10-05 (reform) errorInfo, errorCode management (porter)
- *** POTENTIAL INCOMPATIBILITY for traces on those vars ***
-
-2004-10-06 (feature change)[1041072] re-bless and enhance Tcl_AppendResult
-(dkf)
-
-2004-10-06 (reform) more robust interp result appends (porter)
-=> dde 1.3.1
-=> registry 1.1.5
-
-2004-10-06 (reform) re-write of [glob] guts (fellows)
-
-2004-10-07 (reform)[925620] improved platform split of VFS code (darley)
-
-2004-10-08 (new feature)[TIP 201] "in" and "ni" expr operators (fellows)
-
-2004-10-08 (new feature)[TIP 212] [dict update]; [dict with] (fellows)
-
-2004-10-08 (bug fix)[954263] case insensitive [file exec] for Win
-(hobbs,darley)
-
-2004-10-14 (performance) [info commands/globals/procs/vars $pattern] faster
- when $pattern is trivial (fellows)
-
-2004-10-14 (new feature)[TIP 217] [lsort -indices] (salsman,fellows)
-
-2004-10-24 (reform) replaced bit flag values with macros for Var handling
- *** POTENTIAL INCOMPATIBILITY for accesses to Var internals ***
-
-2004-10-26 (new feature)[1054370] install msgcat, http, tcltest as TM's
-(porter)
-
-2004-10-26 (bug fix)[767676] negative PIDs with pipes (giese,gravereaux)
-
-2004-10-27 (bug fix)[731778] stop critical section leaks
-(mistachkin,gravereaux)
-
-2004-10-27 (bug fix)[926088] -load option to find tested packages (gravereaux)
-
-2004-10-28 (bug fix)[1030548] restore the --enable-symbols --enable-threads
-build on Win (mistachkin,kenny,kupries)
-
-2004-10-29 (bug fix)[1055673] fix command line syntax error message (porter)
-=> tcltest 2.2.7
-
-2004-10-30 (bug fix)[926106] fix [file mtime] DST anomaly (kenny)
-
-2004-10-31 (bug fix)[1057461] fix [info globals ::varName] (fellows)
-
-2004-11-02 (bug fix)[761471] fix [expr {NaN == NaN}] (sofer)
-
-2004-11-02 (bug fix)[1017151] misleading errorInfo after tests (seeger,porter)
-
-2004-11-03 (bug fix)[527164] preserve errorinfo from var traces (porter)
-
-2004-11-08 (bug fix){947693] Made -blocking option of channel during [close]
-consistent on Windows with Unix (gravereaux)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2004-11-11 (bug fix)[1034337] recursive file delete, MacOSX (steffen)
-
-2004-11-12 (new feature)[TIP 221] [interp bgerror] (porter)
-
-2004-11-12 (new feature)[TIP 226] Tcl_(Save|Restore|Discard)InterpState
-(porter)
-
-2004-11-12 (new feature)[TIP 227] Tcl_(Get|Set)ReturnOptions (porter)
-
-2004-11-12 (bug fix)[1004065] stop crash when TCL_UTF_MAX==6 (hobbs,porter)
-
-2004-11-15 (bug fix)[10653678] [trace variable],[trace remove] interop (porter)
-
-2004-11-16 (bug fix)[1067709] crash in [fconfigure -ttycontrol] (hobbs)
-
-2004-11-18 (new feature) configure options --enable-man-suffix (max)
-
-2004-11-22 (bug fix)[1030465] Improve HAVE_TYPE_OFF64_T check (dejong)
-
-2004-11-22 (bug fix)[1043129] Fixed the treatment of backslashes in file
-join on Windows (darley)
-
-2004-11-22 (bug fix)[976438] Move init.tcl search path construction to
-tclInit (porter)
-
-2004-11-24 (bug fix)[1072654] Fixed segfault in info vars trivial
-matching branch (new in 8.4.8) (porter)
-
-2004-11-24 (bug fix)[1001325, 1071701] Fixed readdir_r detection and usage
-(dejong, kenny, porter)
-
-2004-11-24 (bug fix)[1071807] Fixed all uses of 'select' to use standard
-macros rather than older bit-whacking style (kenny)
-
-2004-11-26 (bug fix)[1073524] Simplify the code to check for correctness of
-strstr, strtoul and strtod on unix (fellows)
-
-2004-11-26 (bug fix)[1072136] Remove file normalize on tcl_findLibrary
-search path uniqification added in 8.4.8 (porter)
-
-2004-11-30 (bug fix)[976520] Rework startup/initialization of the Tcl
-library, encoding search initialization, and Tcl_FindExecutable structure.
-[tclInit] no longer driven by the value of $::tcl_libPath (TCLLIBPATH).
-(porter)
- *** POTENTIAL INCOMPATIBILITY : makes encoding names case sensitive
- on Windows, where they have been case insensitive ***
-
-2004-12-02 (bug fix)[1074671] Ensure tilde paths are not returned specially
-by 'glob' (darley)
-
-Doc improvements [759545,926590,935853,1017072,1018486,1022527,1027849,
- 1032243,1047928,1048005,1058446,1062647,1065732,1073334,etc.]
-Test suite expansion [1036649,1001997,etc.]
-
---- Released 8.5a2, December 7, 2004 --- See ChangeLog for details ---
-
-2004-12-13 (bug fix)[1083082] encoding memory leaks (ade,porter)
-
-2004-12-13 (bug fix)[1082349] restored C++ extension support (porter)
-
-2004-12-14 (bug fix)[1081541] workaround automake-ism "$U" (porter)
-
-2004-12-15 (new feature) CallFrames on execution, not C, stack (sofer)
-
-2004-12-16 (bug fix)[1085023] [interp limit] support in [vwait], etc. (fellows)
-
-2004-12-29 (bug fix)[1090413] make [clock scan 0030] work (morian,kenny)
-
-2004-12-29 (bug fix)[1092789] make [clock scan 10000] work (porter,kenny)
-
-2004-12-29 (platform support)[1092952,1091967] MSVC7, gcc OPT compiles (hobbs)
-
-2005-01-06 (performance)[1020491] [http::mapReply] (fellows)
-=> http 2.5.1
-
-2005-01-09 (bug fix)[1095909] stopped use of readdir_r (english)
-
-2005-01-10 (enhancement)[1081595] stopped use of TCL_DBGX (english)
-
-2005-01-17 (bug fix)[1100542] [glob] of Windows shares (schar,darley)
-
-2005-01-19 (new feature)[TIP 235] C API for ensembles (fellows)
-
-2005-01-21 (new feature)[TIP 233] virtual time (kupries)
-
-2005-01-25 (bug fix)[1101670] [auto_reset] update for [namespace] (porter)
-***POTENTIAL INCOMPATIBILITY***
-May cause re-[source]-ing of files that have not anticipated that before.
-
-2005-01-27 (new feature)[TIP 218] Tcl_Channel API update for threads (kupries)
-
-2005-01-27 (bug fix)[1109484] Tcl_Expr* updates for Tcl_WideInt (hobbs)
-
-2005-01-28 (platform support)[1021871] Solaris gcc 64-bit support (hobbs)
-
-2005-02-10 (bug fix)[1119369] Tcl_EvalObjEx: avoid shimmer loss of List intrep
-(sofer,macdonald)
-
-2005-02-11 (platform support) correct gcc builds for AIX-4+, HP-UX-11 (hobbs)
-
-2005-02-24 (bug fix)[1119798] prevent [source $directory] (porter,mpettigr)
-=> tcltest 2.2.8
-
-2005-03-10 (bug fix)[1153871] bad ClientData cast (porter,victorovich)
-
-2005-03-15 (platform support) OpenBSD ports patch (thoyts)
-
-2005-03-18 (bug fix)[1115904] restore recursion limit in direct eval (porter)
-
-2005-03-24 (bug fix) stop conflict between Tcltest and Thread packages (porter)
-
-2005-03-29 (platform support) allow msys builds without cygwin (hobbs)
-
-2005-04-01 (internal change)[1158008] internal rep of "list" Tcl_Obj's
-now uses a refcounted struct (sofer)
-***POTENTIAL INCOMPATIBILITY***
-For any code that goes poking into the internals of "list" Tcl_Obj's
-
-2005-04-05 (performance)[1174551] Tcl_DecrRefCount of Tcl_Obj "chains" (sofer)
-
-2005-04-08 (performance)[1077262] better Tcl_Encoding cache lifetimes (porter)
-
-2005-04-10 (bug fix)[1180368] [interp invokehidden] mem leak (kenny,porter)
-
-2005-04-12 (performance)[1177363] startup encoding file scan (porter)
-
-2005-04-12 (performance)[1182459] [clock format] (kenny)
-
-2005-04-13 (bug fix) min buffer size dropped from 10 to 1 byte (gravereaux)
-
-2005-04-16 (bug fix)[1178445] fix memory waste at thread exit (vasiljevic)
-
-2004-04-16 (bug fix)[1084111] [array names] memory leak (ade,sofer)
-
-2005-04-19 (bug fix)[1185933] [clock] init clobbered global vars (ring,kenny)
-
-2005-04-19 (new feature) [::tcl::unsupported::EncodingDirs] - unsupported
-command to set search path for encoding files (porter)
-
-2005-04-20 (bug fix)[1090869] Tcl_GetInt accept 0x80000000, 64-bit
-(porter,singh)
-
-2005-04-22 (bug fix)[1187123] [string is boolean] respect EIAS (porter)
-
-2005-04-25 (enhancement) update to tzdata2005i (kenny)
-
-2005-04-25 (platform support) builds on Mac OS X 10.1 (steffen)
-
-2005-04-27 (new feature)[TIP 183] [open $f {... BINARY ...}] (porter)
-
-2005-04-29 (new feature)[TIP 176] simple index arithmetic (porter)
-
-2005-05-06 (platform support) x86_64 Solarix cc and Solaris 10 builds (hobbs)
-
-2005-05-10 (bug fix)[1198892] [expr {i**0}] error (kaitschu,markus)
-
-2005-05-10 (new feature)[TIP 132] floating-point conversion to string (kenny)
-***POTENTIAL INCOMPATIBILITY***
-For scripts that rely on (tcl_precision==12) number formatting
-
-2005-05-10 (new feature)[TIP 232] math functions as commands (kenny)
-***POTENTIAL INCOMPATIBILITY***
-Tcl_GetMathFuncInfo functioning is reduced; routine is now deprecated
-
-2005-05-13 (feature removed) TCL_NO_MATH compiler directive (porter)
-
-2005-05-14 (platform support) Mac OSX: configurable CoreFoundation API
-(steffen)
-
-2005-05-14 (platform support) Mac OSX: use realpath when threadsafe (steffen)
-
-2005-05-17 (feature removed) Tcl_ObjType's "list", "procbody", "index",
-"ensembleCommand", "localVarName", "levelReference, "boolean" are no
-longer registered (porter)
-***POTENTIAL INCOMPATIBILITY***
-For any callers of Tcl_GetObjType on those strings
-
-2005-05-20 (bug fix)[1201589] boolean literal prefix in expressions (porter)
-
-2005-05-24 (platform support) Darwin build support merged into unix (steffen)
-
-2005-05-24 (new feature)[1202209] Mac OSX: support [load] of .bundle binaries
-Can support [load] from memory as well (steffen)
-
-2005-05-24 (new feature)[1202178] [time] returns non-integer result (steffen)
-
-2005-05-25 (new feature)[TIP 182] [expr {bool(...)}] (mistachkin,porter)
-
-2005-05-30 (new feature)[TIP 229] [namespace path] (fellows)
-
-2005-05-31 (bug fix)[1082283] Unix: notifier thread now joinable (vasiljevic)
-
-2005-06-01 (new feature)[TIP 241] -nocase: lsort, lsearch, switch (mistachkin)
-
-2005-06-01 (bug fix)[1209759] "return TCL_RETURN;" could cause panic (porter)
-
-Documentation improvements [1075433,1085127,1117017,1124160,1149605,etc.]
-
---- Released 8.5a3, June 4, 2005 --- See ChangeLog for details ---
-
-2005-06-06 (bug fix)[1213678] Windows/gcc: crash in stack.test (kenny)
-
-2005-06-07 (new feature)[TIP 208] [chan] and [chan truncate] (fellows)
-
-2005-06-07 (revert) Restored registration of "procbody" Tcl_ObjType (porter)
-Reduces the ***POTENTIAL INCOMPATIBILITY*** from 2005-05-17.
-
-2005-06-13 (bug fix)[1217375,1219176] [file mkdir] race (diekhans,darley)
-
-2005-06-14 (bug fix)[1220058] [namespace delete] crash (duquette,fellows)
-
-2005-06-17 (bug fix)[1221395] Tcl_LimitSetTime able to break [vwait] (fellows)
-
-2005-06-18 (bug fix)[1154163] [format %h] on 64-bit OS's (kraft,fellows)
-
-2005-06-21 (bug fix)[1201035,1224585] execution trace crashes (porter)
-
-2005-06-21 (bug fix)[1194458] Windows: [file split] (kenny,porter)
-
-2005-06-22 (bug fix)[1225727] Windows: pipe finalization crash (kenny)
-
-2005-06-22 (bug fix)[1225571] Windows: [file pathtype] buffer overflow (thoyts)
-
-2005-06-22 (bug fix)[1225044] Windows: UMR in pipe close (kenny)
-
-2005-06-23 (bug fix)[1225957] Windows/gcc: crashes in assembler code (kenny)
-
-2005-06-24 (bug fix) make Tcl_Preserve safe in Tk exit handlers (kenny)
-
-2005-07-01 (bug fix)[1222872] notifier spurious wake-up protection (vasiljevic)
-
-2005-07-05 (bug fix)[1230597] allow idempotent [namespace import] (porter)
-
-2005-07-15 (bug fix)[1237907] localtime() => NULL => crash (kenny)
-
-2005-07-21 (dropped support) IRIX 4, RISCos, Ultrix, and ancient BSD (kenny)
-***POTENTIAL INCOMPATIBILITY***
-
-2005-07-22 (enhancement)[1237755] 8.4 features in script library (fradin,porter)
-
-2005-07-24 (new feature) configure macros SC_PROG_TCLSH, SC_BUILD_TCLSH (dejong)
-2005-07-26 (bug fix)[1047286] cmd delete traces during namespace delete (porter)
-
-2005-07-26 (new unix feature)[1231015] ${prefix}/share on ::tcl_pkgPath (dejong)
-***POTENTIAL INCOMPATIBILITY***
-
-2005-07-27 (bug fix)[1214462] [unknown] can return exceptions (porter)
-
-2005-07-27 (new feature) value of ::tcl_precision now kept per-thread (porter)
-***POTENTIAL INCOMPATIBILITY***
-
-2005-07-28 (unix bug fix)[1245953] O_APPEND for >> redirection (fellows)
-
-2005-07-29 (bug fix)[1247135] [info globals] return only existing vars (fellows)
-
-2005-07-30 (new Darwin feature) TCL_LOAD_FROM_MEMORY configuration (steffen)
-
-2005-08-05 (bug fix)[1241572] correct [expr abs($LONG_MIN)] (kenny)
-
-2005-08-05 (Solaris bug fix)[1252475] recognize cp1251 encoding (wagner,fellows)
-
-2005-08-11 (config options) eliminated USE_THREAD_STORAGE option (kenny)
-
-2005-08-23 (toolchain support) autoconf-2.59 now required (dejong)
-
-2005-08-24 (new feature)[TIP 219] reflected channels ([chan create]) (kupries)
-
-2005-08-25 (bug fix)[1267380] [lrepeat] buffer overflow prevention (fellows)
-
-2005-08-26 (bug fix) fix [namespace ensemble] crashes in Snit (fellows)
-
-2005-08-29 (bug fix)[1275043] restore round() away from zero (kenny)
-
-2005-08-29 (bug fix)[1189657] correct [tcl::tm::roots] (porter)
-
-2005-09-07 (bug fix)[1283976] invalid [format %c -1] result (porter)
-
-2005-09-08 (new feature)[1242844][TIP 254] new types for Tcl_LinkVar (fellows)
-
-2005-09-07 (toolchain support) deprecate TCL_VARARGS*; stdarg.h assumed (porter)
-***POTENTIAL INCOMPATIBILITY***
-
-2005-09-15 (RHEL bug fix)[1287638] support open >2GB files RHEL 3 (palan)
-
-2005-09-08 (new feature)[TIP 255] [expr min()] and [expr max()] (hobbs)
-
-2005-09-30 (bug fix)[1306162] $argv encoding and list formatting (porter)
-
-2005-10-04 (bug fix)[1067708] [fconfigure -ttycontrol] leak (hobbs)
-
-2005-10-04 (bug fix)[1182373] [http::mapReply] update to RFC 3986 (aho,hobbs)
-=> http 2.5.2
-
-2005-10-04 (HPUX bug fix)[1204237] shl_load() and DYNAMIC_PATH (collins,hobbs)
-
-2005-10-05 (bug fix)[979640] buffer overrun mixing putenv(), ::env (bold,hobbs)
-
-2005-10-08 (new feature)[TIP 237] unlimited range for integers (kenny,porter)
-***POTENTIAL INCOMPATIBILITY*** for any code that relies on implicit truncation
-of integer calculations to the range of a C long
-
-2005-10-14 (platform support)[1256937] MSVC++ static builds (thoyts)
-
-2005-10-19 (bug fix)[1331475] [dict append] crash (bills,sofer)
-
-2005-10-20 (bug fix)[1333036] [lset] shared sublist handling (sofer)
-
-2005-10-23 (bug fix)[1335006] memleack in [glob] (melbardis,darley)
-
-2005-10-23 (bug fix)[1325803] Win: [file stat] on links (bonilla,darley)
-
-2005-11-01 (bug fix)[1337941] Tcl_TraceCommand() -> crash (devilliers,porter)
-
-2005-11-02 (platform support)[1256937] MSVC 8 support (thoyts)
-
-2005-11-03 (new Win NT/XP feature) Unicode console support (kovalenko,thoyts)
-
-2005-11-04 (bug fix)[1337229,1338280] [namespace delete] / unset traces (sofer)
-
-2005-11-04 (enhancement) Korean timezone abbreviations (kenny)
-
-2005-11-04 (platform support)[1163896] LynxOS [load] (heidibr)
-
-2005-11-04 (bug fix)[1334947] value refcount error in var setting (sofer)
-
-2005-11-04 (Win enhancement)[1267871] extended exit codes (newman,thoyts)
-
-2005-11-07 (bug fix)[1348775] unset trace memory leak (sofer)
-
-2005-11-08 (bug fix)[1162286] [package require] checks that the script
-registered by [package ifneeded] provides the version it claims (lavana,porter)
-*** POTENTIAL INCOMPATIBILITY ***
-
-2005-11-09 (bug fix)[1350293,1350291] [after $negative $script] fixed (kenny)
-
-2005-11-12 (bug fix)[1352734,1354540,1355942,1355342] [namespace delete]
-issues with [namespace path] and command delete traces (sofer,fellows)
-
-2005-11-18 (bug fix)[1358369] URL parsing standards compliance (wu,fellows)
-=> http 2.5.2
-
-2005-11-18 (revert) Restored registration of "list" Tcl_ObjType (porter)
-Reduces the ***POTENTIAL INCOMPATIBILITY*** from 2005-05-17.
-
-2005-11-18 (bug fix)[1359094] Tclkit crash (thoyts, kupries)
-
-2005-11-20 (bug fix)[1091431] Tcl_InitStubs failure crashes wish (english)
-
-2005-11-27 (platform support) Darwin 64bit, Tiger copyfile(), and
-Max OSX universal binaries support (steffen)
-
-2005-11-28 (bug fix) [clock] DST transition error (mackerras,kenny)
-
-2005-11-29 (bug fix)[1366683] [lsearch -regexp] backrefs (cleverly,fellows)
-
-2005-11-30 (performance) recoded portions of [clock] in C (kenny)
-
-2005-11-30 (enhancement) improved bytecode compiling of [switch] (fellows)
-*** POTENTIAL INCOMPATIBILITY ***
-For loading bytecode compiled and saved by earlier 8.5alpha releases
-
-2005-12-05 (Darwin bug fix)[1034337] NFS recursive file delete (steffen)
-
-2005-12-08 (platform support) Win x64 build (hobbs)
-
-2005-12-09 (bug fix)[1374778] [lsearch -start $pastEnd] => -1 (fellows)
-
-2005-12-12 (bug fix)[1377619] configure syntax error exposed in bash-3.1 (hobbs)
-
-2005-12-13 (bug fix)[1379349] [dict for] CoW error (ring,hippler,fellows)
-
-2005-12-18 (bug fix)[1382528] [dict for {k v} {} {}] crash (kovalenko,fellows)
-
-2005-12-27 clock tzdata updated to Olson's tzdata2005r (kenny)
-
-2005-12-27 libtommath updated to release 0.37 (kenny)
-
-2006-01-09 (bug fix)[1480572] [info level $l] => "namespace inscope" (porter)
-
-2006-01-11 (compat support)[1397843] when ::errorInfo is traced, fall back to
-old pattern of stack trace construction (porter).
-Reduces the ***POTENTIAL INCOMPATIBILITY*** from 2004-10-05.
-
-2006-01-12 (bug fix)[1366227] Win: [file stat] sharing violation (darley)
-
-2006-01-23 (bug fix)[1410553] Tcl_GetRange Unicode confusion (twylite,spjuth)
-
-2006-01-23 (bug fix)[1412695] args handling in precompiled procs (traum,sofer)
-
-2006-02-01 (new feature)[1275435][TIP 250] [namespace upvar] (sofer)
-
-2006-02-01 (new feature)[958222][TIP 181] [namespace unknown] (madden)
-
-2006-02-01 (new feature)[944803][TIP 194] [apply] (mistachkin)
-
-2006-02-08 (new feature)[1413934][TIP 258] [encoding dirs], etc. (porter)
-
-2006-02-09 (new feature)[1413115][TIP 215] auto-init [incr] (leitgeb)
-
-2006-03-02 (bug fix)[1379287] norm of paths with /../ back to root (porter)
-
-2006-03-03 (compat support) Restored registration of a "boolean" Tcl_ObjType
-(porter)
-Reduces the ***POTENTIAL INCOMPATIBILITY*** from 2005-05-17.
-
-2006-03-06 (bug fix)[1439836,1444291] fix TCL_EVAL_{GLOBAL,INVOKE} handling
-when auto-loading or exec traces are present (porter)
-
-2006-03-10 (bug fix)[1437595] Win socket finalize with threads (vasiljevic)
-
-2006-03-13 (revert 2005-07-26 change) ${prefix}/share on ::tcl_pkgPath (porter)
-
-2006-03-14 (bug fix)[1448251] TCLX.y_TM_PATH handling (noble, kupries)
-
-2006-03-14 (bug fix)[768659] pipeline error when last command missing (kupries)
-
-2006-03-18 (bug fix)[1193497] Win porting of [file writable] (darley,vogel)
-
-2006-03-18 (bug fix)[1084705] [glob -nocomplain] silence empty result only,
-no other errors (darley)
-***POTENTIAL INCOMPATIBILITY***
-
-2006-03-21 (platform enhancement)[823329] HFS globbing support (steffen)
-
-2006-03-23 (platform support) updated tcl.spec file (max)
-
-2006-03-28 (bug fix)[1064247] BSD: path normalization with realpath() (steffen)
-
-2006-04-03 (bug fix)[1462248] crash reading utf-8 chars spanning multiple
-buffers at end of file (kraft,kupries)
-
-2006-04-05 (bug fix)[1464039] Tcl_GetIndexFromObj: empty key (fellows)
-
-2006-04-05 (bug fix) overdue dde, registry patchelevel increments (porter)
-=> dde 1.3.2
-=> registry 1.2
-
-2006-04-06 (bug fix)[1457515] TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
-removed (steffen)
-
-2006-04-11 (bug fix)[1458266] enter/enterstep trace interference (leunissen)
-
-2006-04-12 (feature change)[1376892] revised definition of [:print:] (fellows)
-
-(platform support) Use of _ANSI_ARGS_ purged. ANSI compiler required (fellows)
-
-Documentation improvements [1211078,1190891,1292427,1277503,1104682,1359183,
-1415725,666770]
-
---- Released 8.5a4, April 27, 2006 --- See ChangeLog for details ---
-
-2006-05-04 (bug fix)[1480509] srand() accept wide input (porter,afredd)
-
-2006-05-05 (bug fix)[1481986] interactive Tcl_Main blocks main loop (porter,lin)
-
-2006-05-13 (bug fix)[1482718] proc re-compile: preserve the previous
-bytecode while references still on the stack (porter,ryazanov)
-
-2006-05-27 (bug fix)[923072] Darwin: made unthreaded CoreFoundation notifier
-naked-fork safe on Tiger (steffen)
-
-2006-06-20 (internal change) Dropped the internal routines used to hook into
-filesystem operations back in the pre-Tcl_Filesystem days. (porter)
-***POTENTIAL INCOMPATIBILITY***
-For extensions and programs that have never migrated to the supported Tcl 8.4
-interface for virtual filesystems
-
-2006-07-05 (enhancement) Expression parser rewrite avoids stack overflow,
-reduces from O(N^2) to O(N) complexity, and greatly improves syntas error
-messages (porter)
-***POTENTIAL INCOMPATIBILITY***
-For any code relying on exact error messages.
-
-2006-07-20 (platform support) Mac OS X weak linking (steffen)
-
-2006-07-20 (bug fix) Darwin: execve() works iff event loop not yet run (steffen)
-
-2006-07-24 (bug fix)[1518166] Uninitialized Tcl_DString (afredd)
-
-2006-07-30 (bug fix)[1426279,1505383,1494664,1531530] [clock] fixes (kenny)
-
-2006-08-09 (bug fix)[1531184] [dict for {file stat} x {}] crash (fellows)
-
-2006-08-10 (bug fix)[1538262,1530474] code cleanup; optimizations (afredd)
-
-2006-08-18 (bug fix) intermittent failures in TclUnixWaitForFile() (steffen)
-
-2006-08-18 (platform support) Darwin x86_64 (steffen)
-
-2006-08-21 (bug fix)[1457797] Darwin 64-bit notifier hang (steffen)
-
-2006-08-21 (bug fix) Darwin: recursively called event loop (steffen)
-
-2006-08-21 (enhancement) Darwin: nanosec resolution clicks and [time] (steffen)
-
-2006-08-28 (bug fix)[1547681] TclFormatObj count arguments (mistachkin,porter)
-
-2006-08-28 (bug fix) stack.test failure on FreeBSD (mistachkin)
-
-2006-08-30 (bug fix)[1548263] filesystem segfaults (hobbs,mccormack)
-
-2006-08-31 (bug fix)[1541274] [expr {sqrt(-1)}] => -NaN (suchenwirth,porter)
-
-2006-09-06 (bug fix)[999544] use of MT-safe system calls (vasiljevic)
-
-2006-09-10 (platform support) Darwin: msgcat use CFLocale (steffen)
-=> msgcat 1.4.2
-
-2006-09-10 (new feature) tcltest option: -verbose line (steffen)
-=> tcltest 2.3a1
-
-2006-09-19 (bug fix)[1555271,1561260] Several ** operator bugs (porter)
-
-2006-09-22 (bug fix)[1562528] NULL terminates variadic calls (fellows,ryazanov)
-
-2006-09-22 (new feature)[1520767][TIP 268] [package] alpha/beta version;
-[package require] ranges, [package prefer] selection mode (kupries)
-
-2006-09-26 (platform support) MSVC8 AMD64 support (thoyts)
-
-2006-09-27 (bug fix)[1567222] bignum << errors (porter)
-
-2006-09-30 (enhancement)[1190441] quiet no-op [history] (sofer)
-
-2006-10-04 clock tzdata updated to Olson's tzdata2006m (kenny)
-
-2006-10-05 (bug fix)[1570718] make [lappend $nonList] complain (sofer,virden)
-
-2006-10-05 (bug fix)[1122671] alignment fixes in unicode encoding routines
-(hobbs,staplin)
-
-2006-10-05 (enhancement) Allow "_" in Tcl Module filenames (kupries)
-
-2006-10-05 (new feature) [set ::http::strict 0] (default value is 1) to disable
-URL validity checking against RFC 2986 (hobbs)
-=> http 2.5.3
-
-2006-10-06 (new feature)[1565751][TIP 275] [binary scan] unsigned (thoyts)
-
-2006-10-10 (bug fix)[1566526] crash cleaning up [namespace path] data (porter)
-
-2006-10-12 (bug fix)[1576006] better error messages from [interp alias] (sofer)
-
-2006-10-13 (platform support) get stack size on Darwin (steffen)
-
---- Released 8.5a5, October 20, 2006 --- See ChangeLog for details ---
-
-2006-10-20 (configure change) Added autodetection for OS-supplied timezone
-files (max)
-
-2006-10-23 (enhancement)[1577278] Ensure the Tcl call stack always has a
-CallFrame, even at level 0 (sofer)
- *** POTENTIAL INCOMPATIBILITY for users of tclInt.h ***
-
-2006-10-23 (enhancement)[1577492] Tcl_PushCallFrame and [info level]
-enhanced for ensemble rewrites (sofer)
- *** POTENTIAL INCOMPATIBILITY for [info level 0] on interp alias ***
-
-2006-11-02 (feature change)[TIP 293] Replace {expand} with {*} (hobbs)
- *** POTENTIAL INCOMPATIBILITY with previous 8.5 alphas only ***
-
-2006-11-04 (new feature)[TIP 274] Exponentiation operator is right
-associative (porter)
-
-2006-11-09 (new feature)[TIP 272] Added [lreverse] and [string reverse]
-commands (fellows)
-
-2006-11-14 (new feature)[TIP 261] [namespace import] returns list of
-imported commands (porter)
-
-2006-11-15 (new feature)[TIP 270] New C routines Tcl_ObjPrintf,
-Tcl_AppendObjToErrorInfo, Tcl_Format, Tcl_AppendLimitedToObj,
-Tcl_AppendFormatToObj, Tcl_AppendPrintfToObj (porter)
-
-2006-11-22 (feature change) Moved TCL_REG_BOSONLY from tcl.h to tclInt (porter)
-
-2006-11-22 (new feature)[TIP 269] Added [string is list] classification
-command (mistackin, fellows)
-
-2006-11-25 (new feature)[TIP 174] Added commands corresponding to most
-expr operators in ::tcl::mathop (fellows)
-
-2006-11-26 (platform support)[1230558] --enable-64bit on more systems (steffen)
-
-2006-11-27 (bug fix)[1602208] Fix 64-bit handling of select() on unix where
-fd was greater than 32 (fontaine, kenny)
-
-2006-11-28 (new feature)[TIP 280] Added [info frame] command for more
-Tcl-level debugging information (kupries)
-
-2006-12-01 (feature change)[TIP 298] Change Tcl_GetBignumAndClearObj to
-Tcl_TakeBignumFromObj (porter)
-
-2006-12-01 (new feature)[TIP 287] Added [chan pending] subcommand (cleverly)
-
-2006-12-01 (new feature)[TIP 299] Added isqrt() expr operator (kenny)
-
-2006-12-04 (new feature)[TIP 267] Added -ignorestderr option to exec (fellows)
-
-2006-12-05 (new feature)[TIP 291] ::tcl_platform(pointerSize) key (kupries)
-
-2007-01-11 (configure change) Remove "-Wconversion" from deflt CFLAGS (english)
-
-2007-01-25 (configure change) Ensure CPPFLAGS env var is used when set (steffen)
-
-2007-02-19 (configure change) Use SHLIB_SUFFIX=".so" on HP-UX IA64 (was
-".sl") (hobbs)
-
-2007-02-20 (bug fix)[1479814] Handle Windows NT \\?\... extended paths (thoyts)
-
-2007-03-01 (bug fix)[1671138] Fix infinite loop in compiled foreach with an
-empty list (fellows)
-
-2007-03-07 (enhancement) Improved Windows time zone tables to handle new US
-DST rules (kenny)
-
-2007-03-09 (enhancement) Improved Y2038 compliance of zoneinfo files (kenny)
-
-2007-04-02 (enhancement) Added bytecode compilation for global, variable,
-upvar and namespace upvar (sofer)
-
-2007-04-20 (bug fix) Improve clock localization for Japanese locale (kenny)
-
-2007-04-20 (enhancement) Document Tcl_SetNotifier & Tcl_ServiceModeHook (kenny)
-
-2007-04-23 (bug fix) fts_open() crash on 64bit Darwin 8 or earlier (steffen)
-
---- Released 8.5a6, April 25, 2007 --- See ChangeLog for details ---
-
-2007-04-30 (bug fix)[1705778] many valgrind-detected leaks corrected
-
-2007-05-01 (bug fix)[1710709] leak in [string map] (porter)
-
-2007-05-02 (bug fix)[1710707] leaks in filesystem paths (mistachkin,kenny)
-
-2007-05-18 (feature change) {expand} syntax support removed. (porter)
- *** POTENTIAL INCOMPATIBILITY with previous 8.5 alphas only ***
-
-2007-05-29 (bug fix)[1712723] Joinable thread death on 64-bit (virden,hobbs)
-
-2007-05-30 (feature change)[1725186] When expanded literals are parsed,
-(example: {*}{1 2 3}), TCL_TOKEN_EXPAND_WORD token is no longer returned.
-Tokens reflecting the expansion are returned instead. (porter)
- *** POTENTIAL INCOMPATIBILITY with previous 8.5 alphas only ***
-
-2007-06-06 (platform support) Darwin: add plist to tclsh (steffen)
-
-2007-06-12 (enhancement) [info] is now a [namespace ensemble] (fellows)
-
-2007-06-20 (enhancement) better `make html` results (hobbs)
-
-2007-06-21 (feature change)[1740962] leave traces created during execution
-of traced command do not fire (sofer)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2007-06-23 (bug fix) Darwin: prevent post-fork() abort() (steffen)
-
-2007-06-27 (bug fix)[1743941] Infinite loop in Tcl_CreateTrace traces (porter)
-
-2007-06-29 (enhancement) Tcl_Alloc alignment on Darwin (steffen)
-
-2007-06-30 (bug fix)[1726873] crash in thread sync objects (vasiljevic,twylite)
-
-2007-06-30 (bug fix)[1717186] [lsort -command \{ $l] leak (afredd,fellows)
-
-2007-07-05 (bug fix)[1743676] no command named "" error message (porter,virden)
-
-2007-07-11 (bug fix)[1752146] [while 1 {}] & [interp limit] on commands (sofer)
-
-2007-07-31 (bug fix)[681877] tcl_platform(user) from system, not env (fellows)
-
-2007-07-31 (enhancement)[1750051] space efficiency of Tcl variables (sofer)
- *** POTENTIAL INCOMPATIBILITY for C code that accesses internal
- Tcl structs Var, Bytecode, Namespace, or CallFrame. ***
-
-2007-08-01 (enhancement)[1764318] word.tcl proc rewrites (petasis,fellows)
-
-2007-08-08 (bug fix)[1770224] [tcl::mathop::>> $big1 $big2] errors (porter)
-
-2007-08-14 (platform support) Darwin [load] from VFS on intel & 64bit (steffen)
-
-2007-08-15 (bug fix)[1773127] corrected open mode "a+" (rottman,fellows)
-
-2007-08-16 (bug fix)[1773040] ::errorInfo trace crash (janssen,porter)
-
-2007-08-16 (performance)[1564517] pre-compile constant expressions (porter)
-
-2007-08-21 (bug fix)[1775878] 'puts \' in interactive tclsh failed to move to
-prompt for continuation line (porter)
-
-2007-08-25 (bug fix)[1781282] [clock scan] case senstivity (kenny)
-
-2007-08-25 (performance)[1767293] ** on native integer types (kenny)
-
-2007-09-03 clock tzdata updated to Olson's tzdata2007g (kenny)
-
-2007-09-06 (platform support) Darwin: drop support for Xcode 1.5 project, add
-project for Xcode 3.0 (steffen)
-
-2007-09-08 (bug fix)[1786481] nested [dict update] crash (fellows)
-
-2007-09-08 (bug fix)[1710710] TclPtrSetVar leak (mistachkin,sofer)
-
-2005-09-09 (feature removed) Tcl_ObjType "nsName" no longer registered (porter)
- *** POTENTIAL INCOMPATIBILITY for Tcl_GetObjType("nsName") ***
-
-2007-09-10 (bug fix)[1740631] Linked variable unlink prevention (maros,hobbs)
-
-2007-09-11 (bug fix)[1786481] [dict update] stack management (sofer)
- *** POTENTIAL INCOMPATIBILITY with previous 8.5 alpha bytecode only ***
-
-2007-09-11 (bug fix)[1578344] [package require -exact] 8.4 compat (porter)
- *** POTENTIAL INCOMPATIBILITY with previous 8.5 alphas only ***
-
-2007-09-11 (bug fix)[1772989,1071322] Support _, : in test constraints (porter)
-=> tcltest 2.3b1
-
-2007-09-11 (platform support) Windows AMD64 support (thoyts)
-
-2007-09-14 (enhancement)[1793984] DTrace provider for Tcl (steffen)
-
-2007-09-14 (bug fix)[1519940] surplus ns path invalidation (fellows,bauer)
-
-2007-09-15 (platform support) SunOS-5.1x link with cc, not ld (steffen)
-
-2007-09-17 (platform support)[1748251] Fix NetBSD link failures (english)
-
-(bug fix)[1066755] Several stack efficiency efforts increases recursion limit
-on Windows to be larger than the default [interp recursionlimit] value
-
---- Released 8.5b1, September 26, 2007 --- See ChangeLog for details ---
-
-2007-10-02 (bug fix)[1806422] proper [tcl::tm::path] autoload (porter)
-
-2007-10-02 (bug fix) Improve Tcl_DecrRefCount() robustness (staplin)
-
-2007-10-11 (bug fix)[1805887] [string is int -failindex] for 0o, 0b (porter)
-
-2007-10-15 (bug fix)[1813528] Tcl_ParseBraces read past buffer (mistachkin)
-
-2007-10-25 (bug fix)[1726873] intermittent crash in threads (vasiljevic)
-
---- Released 8.5b2, October 26, 2007 --- See ChangeLog for details ---
-
-2007-10-27 (bug fix)[1821159] fixed broken compile on x86_64 (sofer)
-
-2007-10-27 (bug fix)[1810264] stop panic in RE lexer (fellows)
-
-2007-10-28 (enhancement)[1826906] Embed iso8859-1 encoding in libtcl (fellows)
-
-2007-11-01 (bug fix)[1808258] [string is ascii \000] (fellows)
-
-2007-11-05 (bug fix)[1823576] [fconfigure $serial -xchar \000] (cassof)
-
-2007-11-07 (performance)[1827996] binary glob matching (hobbs)
-
-2007-11-07 (performance) binary [gets] (hobbs)
-
-2007-11-09 (performance)[1829248] interp state reset (sofer)
-
-2007-11-10 (performance) stack checking (sofer)
-
-2007-11-10 (performance) list indexing bytecode (sofer)
-
-2007-11-11 (performance)[1830038] macros to fetch Tcl_Obj intreps (sofer)
-
-2007-11-11 (performance)[1830166] RE bytecode for simple cases (hobbs)
-
-2007-11-13 (performance) [switch] & [regexp] use RE bytecode (hobbs, fellows)
-
-2007-11-14 (performance) bytecode for [info exists] (fellows)
-
-2007-11-15 (new feature)[1231022] configure option: --disable-rpath (fellows)
-
-2007-11-15 (bug fix)[1810038] infinite loop in RE compiler (lane,porter)
-
-Many significant documentation improvements (fellows, sofer)
-
---- Released 8.5b3, November 19, 2007 --- See ChangeLog for details ---
-
-2007-11-20 (enhancement) string rep of dict has stable order (fellows)
-
-2007-11-21 (enhancement) compiled ensemble support (fellows)
-
-2007-11-22 (enhancement) [dict] is now an ensemble (fellows)
-
-2007-11-23 (enhancement) [string] is now an ensemble (fellows)
-
-2007-11-26 (bug fix)[1815573] Correct stack checking failure (sofer,golovan)
-
-2007-11-27 (bug fix)[800753] Document single byte char limit for
-[chan configure -eofchar] (cassoff)
-
-2007-12-03 (enhancement)[1836519] [switch $val $body] safe/fast (fellows,spjuth)
-
-2007-12-03 (release) tcltest package bump to 2.3.0 (porter)
-
-2007-12-03 (bug fix)[1618235] fix BSD compile errors (fellows)
-
-2007-12-05 (bug fix)[1844789] fix [lsearch -exact -integer] crash (fellows)
-
-2007-12-05 (performance)[1845092] Tcl_ObjType for channel names (hobbs)
-
-2007-12-14 (bug fix)[1602539] NUL pollution in [glob] result (hobbs)
-
-2007-12-17 (bug fix)[1851832,1851524] memory alignment correction (sofer)
-
-2007-12-18 (bug fix)[1810264] revised regexp engine to prevent debilitating
-over-consumption of resources (drewry,lane,ormandy,fellows)
-
-Several documentation and release notes improvements
-
---- Released 8.5.0, December 20, 2007 --- See ChangeLog for details ---
-
-2007-12-23 (bug fix)[1857126] restore backref support to regexps (hobbs)
-
-2007-12-26 (enhancement)[1856994] [lsort] performance (sofer)
-
-2008-01-10 (bug fix)[1867855] fix [format %lli 0] crash (porter)
-
-2008-01-11 (bug fix)[1850424,1860425] stack checking on *bsd (sofer,noble)
-
-2008-01-13 (bug fix)[1353846] crash in read-only serial (hobbs,newman)
-
-2008-01-15 (bug fix)[1869989] mem leak; expr literals (porter,melbardis)
-
-2008-01-20 (bug fix)[1869405] binary [gets]; stacked channels (hobbs,ficicchia)
-
-2008-01-22 (bug fix)[1867855] fix [lreverse {}] crash (sofer,madden)
-
-2008-01-30 (bug fix)[1882373] fix Tcl_GetAlias pointer code (an00na)
-
-Several documentation and release notes improvements
-
---- Released 8.5.1, February 5, 2008 --- See ChangeLog for details ---
-
-2008-02-06 (enhancement) [clock format] performance (kenny)
-
-2008-02-12 (bug fix)[1891827] compiled [switch -nocase] error (fellows)
-
-2008-02-22 (bug fix)[1818565] missing state array in http::status (thoyts)
-=> http 2.5.4
-
-2008-02-26 (bug fix)[1868845] corrected [eof] ordering (thoyts)
-
-2008-02-26 (new feature) [http::meta] command (thoyts)
-=> http 2.5.5
-
-2008-02-26 (bug fix)[1902436] fixed regexps ending in \* (hobbs)
-
-2008-02-27 (bug fix)[1862555,1902423] [clock] range & l10n (kenny)
-
-2008-02-28 (bug fix) [return -level 0] memory leak (porter)
-
-2008-02-28 (bug fix) [format %llx $big] memory leak (porter)
-
-2008-02-28 (bug fix) expression parser error message memory leak (porter)
-
-2008-02-28 (bug fix) memory leak when enter trace modifies command (porter)
-
-2008-02-29 (enhancement) Consumer refcounting for Tcl_SetReturnOptions()
-and Tcl_AddObjToErrorInfo() (spjuth,porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-03-07 (bug fix)[1899164] Avoid expr and script bytecode confusion (porter)
-
-2008-03-07 (bug fix)[1904907] finalize crash in Tcl_GetReturnOptions (kupries)
-
-2008-03-10 (bug fix)[1893815] expr {abs(-1e-350)} => -0.0 (porter)
-
-2008-03-10 (bug fix)[1901113] crash in [tcl::Bgerror {} {}] (madden,porter)
-
-2008-03-11 (bug fix)[1911919] unset trace inf loop in namespace delete (sofer)
-
-2008-03-12 (new feature) some HTTP 1.1 support in http (and more!) (hobbs)
-=> http 2.7
-
-2008-03-13 (enhancement) support space in INSTALL_ROOT or $builddir (steffen)
-
-2008-03-16 (bug fix)[1903325] bytecode stack space prediction crash (fellows)
-
-2008-03-18 (bug fix)[1914604] Tcl Modules: encoding fixed to utf-8; environment
-variables without "." added to customization hooks (kupries)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-03-18 (bug fix)[1914503] alignment of TclStackAlloc() return (sofer)\
-
-2008-03-20 (bug fix)[1868171] expose Tcl_GetMemoryInfo (for AOLserver) (fellows)
-
-2008-03-24 (bug fix)[1923966] crash in [binary format x0s] (thoyts)
-
-2008-03-27 (platform support)[1921166] Solaris 64bit build fixes (steffen)
-
-2008-03-27 clock tzdata updated to Olson's tzdata2008b (kenny)
-
---- Released 8.5.2, March 28, 2008 --- See ChangeLog for details ---
-
-2008-03-30 (bug fix)[1783544] more robust TclIsNaN() (kenny,teterin)
-
-2008-04-01 (interface)[1819422] tclStubsPtr no longer in libtcl (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-04-01 (bug fix)[1839067] FP round fix for Solaris/x86 (kupries,schlenker)
-
-2008-04-02 (bug fix)[780533,1932639] [fcopy] callbacks unreliable (ferrieux)
-
-2008-04-02 (interface)[1819422] libtclstub symbols MODULE_SCOPE (steffen)
-
-2008-04-04 (bug fix) [chan postevent] crash (kupries)
-
-2008-04-07 (bug fix) Fix broken [format {% d}] (max)
-
-2008-04-07 (bug fix)[1350564] Bi-directional [fcopy] now supported (ferrieux)
-
-2008-04-16 (bug fix)[1938497] Tcl_SetNotifier() fixes (steffen)
-
-2008-04-16 (interface)[1938497] make stubs tables 'static const' (steffen)
-
-2008-05-02 (new feature) [binary] is now a [namespace ensemble] (thoyts)
-
-2008-05-07 (bug fix) [dict append] crash (mccormack,fellows)
-
-2008-05-21 (bug fix)[1968882] [info complete "\\\n"] => 0 (porter)
-
-2008-05-22 (bug fix)[1968245] Tcl_LogCommandInfo() accept length=-1 (darroch)
-
-2008-05-23 (bug fix)[1965787] 32-bit overflow in [tell] result (ferrieux)
-
-2008-05-31 (new feature)[TIP 257] [oo::*] commands from TclOO (fellows)
-
-2008-06-04 (new feature)[TIP 317] [binary encode]; [binary decode] (thoyts)
-
-2008-06-06 (new feature)[TIP 230] [chan push]; [chan pop] (kupries)
-
-2008-06-08 (enhancement)[1973096] bytecompiled [uplevel] scripts (sofer)
-
-2008-06-12 (platform support) Solaris static build with DTrace (steffen)
-
-2008-06-12 (platform support) Solaris/amd64 gcc 64bit support (steffen)
-
-2008-06-13 (new feature)[TIP 285] [interp cancel]; Tcl_CancelEval() (mistachkin)
-
-2008-06-20 (bug fix)[1999035] make [interp bgerror $i] act in $i (porter)
-
-2008-06-23 (bug fix)[1972879] bad path intrep caching (porter)
-
-2008-06-24 (bug fix)[1999176] crash in [glob -dir {} a] (porter)
-
-2008-06-25 (bug fix)[1999119] Support TM packages in Safe Base (kupries)
-
---- Released 8.6a1, June 25, 2008 --- See ChangeLog for details ---
-
-2008-06-29 (bug fix)[2004480] plug memory leaks (ade,porter,steffen)
-
-2008-07-01 (enhancement)[1905562] embed recursion limit in RE engine (fellows)
-
-2008-07-03 (bug fix)[1969717] fix package finding on Samba shares (jos)
-
-2008-07-03 (bug fix)[1987821] mem leak in [seek] on reflected chan (kupries)
-
-2008-07-13 (enhancement)[2017110] new Non-Recursive Evaluation implementation
-enables deep Tcl evaluation stacks without deep C stacks. (sofer)
-
-2008-07-20 (enhancement)[2008248] dict->list preserve item intreps (pasadyn)
-
-2008-07-21 (bug fix)[582506] imported cmds now fire execution traces (sofer)
-
-2008-07-21 (bug fix)[2015723] [file] bad use of inodes on Windows (thoyts)
-
-2008-07-21 (new feature)[TIP 304] [chan pipe] (ferrieux)
-
-2008-07-21 (bug fix)[2021443] more consistent "wrong # args" msgs (nijtmans)
-
-2008-07-21 (enhancement) [info frame] returns file data in more cases (kupries)
-
-2008-07-29 (bug fix)[2030670] fix rare panic in TclStackFree (pasadyn,sofer)
-
-2008-08-01 Tcl_Finalize() no longer called implicitly on DLL_PROCESS_DETACH.
-
-2008-08-05 (enhancement)[1994512] async connect logic simplified (jenglish)
-
-2008-08-06 (bug fix)[2040295] stopped supplying a workaround for bugs
-in Itcl's use of [namespace code]. Itcl now supplies its own workaround.
- *** POTENTIAL INCOMPATIBILITY for older Itcl releases ***
-
-2008-08-06 (bug fix)[2039178] repaired guard against dispatching oo methods
-in a deleted interp. (porter)
-
-2008-08-08 tzdata updated to Olson's tzdata2008e (kenny)
-
-2008-08-11 (bug fix)[2046846] 64bit support for http zlib crc (thoyts)
-=> http 2.7.1
-
-2008-08-11 (enhancement) automatic [package provide] for TMs (kupries)
-
-2008-08-17 (bug fix)[2055782] crash involving Tcl_ConcatObj (sofer)
-
-2008-08-21 (new feature) CONST-ified Tcl routines passing (Tcl_ObjType *),
-(Tcl_Filesystem *), or (Tcl_Timer *) arguments (nijtmans,porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-08-21 (bug fix)[2065115] Restored ***= regexp functioning (hobbs,porter)
-
---- Released 8.6a2, August 25, 2008 --- See ChangeLog for details ---
-
-2008-08-29 (bug fix)[2082299] Install TclOO header files (fellows)
-
-2008-09-01 oo methods called during interp deletion no longer skipped if
-they do not need the dying interp (fellows)
-
-2008-09-02 (support) Dropped support for pre-ANSI compilers. (porter)
-
-2008-09-04 (bug fix)[2093947] var unset trace in coroutine (fellows,sofer)
-
-2008-09-10 (enhancement) efficient list->dict conversion (elby,fellows)
-
-2008-09-10 (bug fix)[2102930] faulty numLevels count (madden,sofer)
-
-2008-09-16 (bug fix)[2114165] eval failure following cancel (sofer)
-
-2008-09-17 (bug fix)[2116053] export [min] and [max] from tcl::mathfunc (sofer)
-
-2008-09-22 (new feature)[TIP 320] oo common variable declaration (fellows)
-
-2008-09-24 (new feature)[TIP 316] portable access to Tcl_StatBuf (fellows)
-
-2008-09-24 (new feature)[TIP 323] [file delete], [file mkdir] zero pathNames (porter)
-
-2008-09-25 (new feature)[TIP 315] new var: tcl_platform(pathSeparator) (vu,fellows)
-
-2008-09-25 (new feature)[TIP 323] [global], [variable] zero varNames (porter)
-
-2008-09-26 (new feature)[TIP 323] [lassign], [namespace upvar], [my variable] zero varNames (porter)
-
-2008-09-26 (new feature)[TIP 323] [tcl::tm::path add|remove] zero pathNames (porter)
-
-2008-09-26 (new feature)[TIP 323] [lrepeat] zero elements; zero repeats (porter)
-
-2008-09-27 (bug fix)[2130992] prevent overflow crash in [lrepeat] (fellows)
-
-2008-09-28 (new feature)[TIP 314] ensemble parameters before subcommand (hellström,fellows)
-
-2008-09-29 (new feature)[TIP 318] revised defaults for [string trim] (poser)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-09-29 (new feature)[TIP 313] [lsearch -bisect] (spjuth)
-
-2008-09-29 (new feature)[TIP 326] [lsort -stride] (elby)
-
-2008-09-29 (new feature)[TIP 323] [linsert] zero elements (porter)
-
-2008-09-29 (new feature)[TIP 323] [glob] zero patterns (porter)
-
-2008-10-02 (new feature)[TIP 330] interp->result access disabled (kenny)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-03 (new feature)[TIP 265] Tcl_ParseArgv() (bromley)
-
-2008-10-03 (new feature)[TIP 195] [tcl::prefix] (spjuth)
-
-2008-10-04 (new feature) CONST-ified Tcl routines Tcl_GetIndexFromObj,
-Tcl_RegisterConfig, Tcl_InitCustomHashTable, and routines passing
-(Tcl_ChannelType *). (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-04 (bug fix)[2059262] unload only libraries marked unloadable (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-05 (new feature)[TIP 331] [lset listVar end+1 $value] (kenny)
-
-2008-10-05 (bug fix)[2143288] correct bad isqrt() results (boffey,kenny)
-
-2008-10-05 (new feature) CONST-ified return value of the
-Tcl_FSFileAttrStringsProc prototype. (nijtmans)
- *** POTENTIAL INCOMPATIBILITY for Tcl_Filesystems ***
-
-2008-10-07 (new feature)[TIP 327] [tailcall] (sofer)
-
-2008-10-07 (new feature)[TIP 328] [coroutine],[yield],[info coroutine] (sofer)
-
-2008-10-08 (bug fix)[2151707] fix stack trace from variable trace (porter)
-
-2008-10-10 (bug fix)[2155658] crash in oo method export (fellows)
-
---- Released 8.6a3, October 10, 2008 --- See ChangeLog for details ---
-
-2008-10-13 (bug fix) Fix ability to join threads on 64-bit Windows (thoyts)
-
-2008-10-23 (bug fix)[2186888] Direct-eval [for] handling of [continue] was
-broken by NRE reform (sofer,porter)
-
-2008-10-24 (bug fix) fix failure to read SHOUTcast streams (thoyts)
-=> http 2.7.2
-
-2008-10-27 (enhancement) system encoding at startup is now "iso8859-1", and
-no longer "identity". Use of identity encoding minimized (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2008-10-31 (bug fix)[2200824] revised [oo::define] to include caller
-context when resolving names. (nassau,fellows)
-
-2008-11-10 (bug fix)[2255235] [platform::shell::LOCATE] update (ring,kupries)
-=> platform::shell 1.1.4
-
-2008-11-13 (bug fix)[2269431] VFS [load] -> tempfile litter (ficicchia,nijtmans)
-
-2008-11-26 (bug fix)[2114900] updated tclIndex file (cassoff,kenny)
-
-2008-11-27 (bug fix)[2251175] [{*}{\{}] errors (hellström,ferrieux,porter)
-
-2008-11-29 (new feature)[TIP 210] [file tempfile] (techentin,fellows)
-
-2008-11-30 (bug fix)[2362156] [clock]: colon in format string (mizuno,kenny)
-
-2008-12-02 (bug fix)[2270477] hang in channel finalization (ferrieux,kupries)
-
-2008-12-02 (new feature)[TIP 336] Tcl_*ErrorLine() routines. Direct access
-to the errorLine field of the interp struct denied by default. (porter)
- *** POTENTIAL INCOMPATIBILITY ***
- *** Define USE_INTERP_ERRORLINE to restore access for legacy code ***
-
-2008-12-04 (bug fix)[2385549] [file normalize] failed on some paths (porter)
-
-2008-12-05 (new feature)[TIP 307] Tcl_TransferResult() (leunissen,fellows)
-
-2008-12-05 (new feature)[TIP 335] Tcl_InterpActive() (mistachkin,fellows)
-
-2008-12-09 (new feature)[TIP 337] Tcl_BackgroundException() (porter)
-
-2008-12-10 (new feature)[TIP 341] >1 [dict filter] patterns (hellström,fellows)
-
-2008-12-10 (new feature)[TIP 343] [format %b $n] [scan $s %b] (ferrieux)
-
-2008-12-10 tzdata updated to Olson's tzdata2008i (kenny)
-
-2008-12-11 (new feature)[TIP 234] [zlib] and Tcl_Zlib*() (sheffers,fellows)
-
-2008-12-11 (bug fix)[2407783] spoil ChannelState when channel name passes
-among multiple interps (kupries)
-
-2008-12-12 (new feature)[TIP 322] Tcl_NR*() routines to enabled non-recursive
-evaluation in extensions (sofer,kenny)
-
-2008-12-09 (new feature)[TIP 338] Tcl_*StartupScript() (porter)
- *** POTENTIAL INCOMPATIBILITY for callers of Tcl*Startup* routines ***
-
-2008-12-16 (new feature)[TIP 329] [try] [throw] (davel,fellows)
-
-2008-12-17 (new feature)[TIP 308] package tdbc 1.0b1 (kenny)
-
-2008-12-18 (new feature)[TIP 332] [close $chan read|write] (ferrieux)
-
-2008-12-18 (bug fix)[2444274] panic in long commands from {*} (goth,porter)
-
---- Released 8.6b1, December 19, 2008 --- See ChangeLog for details ---
-
-2008-12-27 [TIP 234] Tcl_Zlib* interface revisions (fellows)
- *** INCOMPATIBILITY with interface of 8.6b1 ***
-
-2009-01-02 (platform support)[878333] IRIX compat for mkstemp() (fellows)
-
-2009-01-03 (bug fix)[2481670] [clock add] error message (talvo)
-
-2009-01-05 (bug fix)[2412068] NR-enable [source] (fellows)
-
-2009-01-06 (bug fix)[2489836] crash unknown method dispatch (nadkarni,fellows)
-
-2009-01-06 (bug fix)[2481109] fix context of instance name check (fellows)
-
-2009-01-08 (enhancement) more -errorcode values (fellows)
-
-2009-01-19 (new feature) CONFIG_INSTALL_DIR - where tclConfig.sh goes (cassoff)
-
-2009-01-19 (platform support) better tools for BSD ports (cassoff)
-
-2009-01-21 (bug fix)[2458202] exit crash with [chan create]d channel (kupries)
-
-2009-01-26 (bug fix)[2446662] uniformly declare EOF on RST on sockets (ferrieux)
-
-2009-01-26 (bug fix)[1028264] delay WSACleanup() from under our feet (ferrieux)
-
-2009-01-29 (bug fix)[2519474] Tcl_FindCommand() bug exposed by oo (fellows)
-
-2009-01-29 (bug fix)[2537939] Fix Tcl_OOInitStubs() for no-stubs build (fellows)
-
-2009-02-04 (bug fix)[2561746] [string repeat] overflow crash (porter)
-
-2009-02-05 (enhancement) optimize string operations on bytearrays (fellows)
-
-2009-02-12 (bug fix) enable simpler [oo::define] extension (ferri,fellows)
-
-2009-02-15 (bug fix)[2603158] Tcl_AppendObjToObj: append to self crash (porter)
-
-2009-02-17 (platform support) MSVC and _WIN64 (hobbs)
-
-2009-02-20 (bug fix)[2571597] [file pathtype /a] wrong result (nadkarni,porter)
-
-2009-03-03 (bug fix)[2662434] [zlib crc32] result now unsigned (gavilan,fellows)
-
-2009-03-15 (platform support) translate SIGINFO where defined (BSD) (teterin)
-
-2009-03-15 (bug fix)[2687952] TSD struct memleak (mistachkin)
-
-2009-03-18 (bug fix)[2688184] memleak in [file normalize] (mistachkin)
-
-2009-03-20 (bug fix)[2597185] crash in Tcl_AppendStringToObj (porter)
-
-2009-03-20 (bug fix)[2561794,2669109,2494093,2553906] string overflow (porter)
-
-2009-03-22 (bug fix)[2502037] NR-enable [namespace unknown] (sofer)
-
-2009-03-27 (bug fix)[2710920] [file dirname|tail /foo/] errors (epler,porter)
-
-2009-04-08 (bug fix)[2570363] unsafe [eval]s in tcltest (bron,porter)
-=> tcltest 2.3.1
-
-2009-04-08 (platform support) more Darwin kernel patterns (steffen)
-=> platform 1.0.4
-
-2009-04-09 (bug fix)[26245326] [http::geturl] connection failures (golovan)
-=> http 2.7.3
-
-2009-04-10 (new feature) Darwin: embeddable CoreFoundation notifier (steffen)
-
-2009-04-10 (bug fix)[1961211] Darwin [load] back-compatibility (steffen)
-
-2009-04-09 (new feature) http chunked+gzip modes (thoyts)
-=> http 2.8.0
-
-2009-04-11 (enhancement) clarified cmd name resolution in oo forwards (fellows)
-
-20009-04-19 (bug fix)[2715421] http: excess bytes after POST (thoyts)
-=> http 2.8.1
-
-2009-04-30 (bug fix)[2486550] coroutine in [interp invokehidden] (sofer)
-
-2009-05-07 (bug fix)[2785893] find command in deleted namespace (sofer)
-
-2009-05-08 (bug fix)[2414858] tailcall in oo constructor (fellows)
-
-2009-05-14 (new subcommand)[TIP 354] [info object namespace] (fellows)
-
-2009-05-29 (platform support) account for ia64_32 (kupries)
-=> platform 1.0.5
-
-2009-06-02 (bug fix)[2798543] incorrect [expr] integer ** results (porter)
-
-2009-06-10 (bug fix)[2801413] overflow in [format] (porter)
-
-2009-06-13 (bug fix)[2802881] corrected compile env context (tasada,porter)
-
-2009-06-17 (redesign) reduced ambition of [exit] finalization with aim to
-avoid otherwise very tricky multi-thread finalization bugs. (staplin,ferrieux)
- *** POTENTIAL INCOMPATIBILITY for exit handlers ***
-
-2009-06-26 (platform support) updates for Xcode 3.1 & 3.2 (steffen)
-
-2009-06-30 (platform support) clang static analyzer macros (steffen)
-
-2009-07-01 (bug fix)[2806622] Win: bad tcl_platform(user) value (thoyts)
-
-2009-07-05 (bug fix) zlib support asynch [chan copy] on chan transform (fellows)
-
-2009-07-12 (bug fix)[1895546] TclOO support for Itcl 4 method caching (fellows)
-
-2009-07-13 (bug fix)[1605269] NR-related [info frame] fixes (kupries)
-
-2009-07-14 (bug fix)[2821401] NR-enable direct eval [switch] (kenny)
-
-2009-07-16 (bug fix)[2819200] underflow settings on MIPS systems (porter)
-
-2009-07-19 (interface)[TIP 354] new routine Tcl_GetObjectName() (fellows)
-
-2009-07-20 (performance) favor [string is] success cases over empty (fellows)
-
-2009-07-22 (interface) removed TclpPanic() routine (nijtmans)
-
-2009-07-23 (bug fix)[2820349] plug event leak in notifier (mistachkin)
-
-2009-07-24 (bug fix)[2826248] crash in Tcl_GetChannelHandle (sonnenburg,kupries)
-
-2009-07-31 (bug fix)[2830354] overflow in [format] (misch,porter)
-
-2009-08-06 (bug fix)[2827000] reflected channels can signal EGAIN (kupries)
-
-2009-08-12 (new feature)[TIP 353] Tcl_NRExprObj() (porter)
-
-2009-08-20 (bug fix)[2823276] NR-enable [if], [for], [while] (fellows)
-
-2009-08-20 (bug fix)[2806250] EIAS violation in ~foo pathnames (porter)
-
-2009-08-21 (bug fix)[2837800] [glob */foo] return ./~x/foo (porter)
-
-2009-08-24 (bug fix) nested event loop notifier w/TkAqua Cocoa (alaoui,steffen)
-
-2009-08-25 (bug fix) [info frame] account for continuation lines (kupries)
-
-2009-08-27 (bug fix)[2845535] overflows in [format] (porter)
-
-2009-09-01 (bug fix) improved error message in tcltest (porter)
-=> tcltest 2.3.2
-
-2009-09-11 (bug fix)[2849860] http handle "quoted" charset value (fellows)
-=> http 2.7.4
-
-2009-09-11 (enhancement)[2314561] [subst] now bytecompiled, NR-enabled (porter)
-
-2009-09-24 (new feature)[TIP 356] Tcl_NRSubstObj() (porter)
-
-2009-10-04 (bug fix)[2569449] Core Foundation memory bug in Tiger (steffen)
-
-2009-10-06 (bug fix) repair intrep loss in slave interp evaluations
-introduced by first versions of the NRE conversion (nadkarni,porter)
-
-2009-10-06 (bug fix)[1941434] broken tclTomMath.h includes (porter)
-
-2009-10-07 (bug fix)[2871908] leaked hash table (mistachkin,kupries)
-
-2009-10-08 (bug fix)[2874678] bignum leak in [dict incr] (fellows)
-
-2009-10-17 (bug fix)[2629338] crash in var unset traces (raney,fellows)
-
-2009-10-19 (bug fix)[2107634] extend [read] and [gets] to Tcl string limits
-(morrison,parker,porter)
-
-2009-10-21 (bug fix)[2882561] Haiku OS signal support (morrison,fellows)
-
-2009-10-22 (bug fix)[2883857] [my varname arr(index)] (boudaillier,fellows)
-
-2009-10-23 (bug fix) 0-length writes: spurious SIG_PIPE (teterin,kupries)
-
-2009-10-24 Broken DST applied EU rules to US zones (lehenbauer,kenny)
-
-2009-10-29 (bug fix)[2800740] halved bignum memory on 64-bit systems (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2009-11-05 (bug fix)[2854929] TM search path support in Safe Base (kupries)
-
-2009-11-05 (enhancement) rewrite of the Safe Base commands (kupries)
-
-2009-11-11 (bug fix)[2888099] [close] loses ENOSPC error (khomoutov,ferrieux)
-
-2009-11-11 (bug fix)[2891171] RFC 3986 compliance for ? in URL (nijtmans)
-=> http 2.8.2
-
-2009-11-12 (bug fix)[2895565] [fcopy -size] miscounts when converting encodings
-(kupries)
-
-2009-11-16 (bug fix)[2891556] encoding finalization crash (mistachkin,ferrieux)
-
-2009-11-18 (bug fix)[2849797] consistent names for std chans (nijtmans,fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2009-11-19 (enhancement) [load]able Tcltest extension (nijtmans)
-
-2009-11-24 (bug fix)[2893771] [file stat] on Win locked files (thoyts)
-
-2009-11-24 (bug fix)[2903011] crash call destructor from constructor (fellows)
-
-2009-12-03 (bug fix)[2906841] Safe Base [glob ../*] fixes (fellows)
-
-2009-12-09 (bug fix)[2901998] consistent I/O buffering (ferrieux,kupries)
-
-2009-12-11 (bug fix)[2806407] NR-enabled coroutines (sofer)
-
-2009-12-16 (bug fix)[2913616] msgcat: improved safe interp support (fellows)
-=> msgcat 1.4.3
-
-2009-12-22 (bug fix)[2918962] [lsort -index -stride] crash (moore,fellows)
-
-2009-12-23 (bug fix)[2913625] [info script/nameof] in safe interps (fellows)
-
-2009-12-28 (bug fix)[2891362] enable time limit in child interps (fellows)
-
-2009-12-29 (bug fix)[2922555] [binary decode hex { }] crash (thoyts)
-
-2009-12-29 (bug fix)[2895741] enable min(), max() in safe interps (fellows)
-
-2009-12-30 (bug fix)[2824981] guard [unknown] against [set] undef (sofer)
-
-2010-01-05 (bug fix)[2918610] [file rootname] corruption (magerya,porter)
-
-2010-01-18 (bug fix)[2932421] less [format %s] shimmer (ferrieux)
-
-2010-01-18 (bug fix)[2918110] [chan postevent] crash (bron,kupries)
-
-2010-01-21 (bug fix)[2910748] NR-enable epoch fallback direct eval (sofer)
-
-2010-01-30 (enhancement) [unset] now bytecompiled (fellows)
-
-2010-02-01 (bug fix)[2942697] faster match: some pathological regexp patterns
-(lane,fellows)
-
-2010-02-01 (bug fix)[2939073] [array unset] unset trace crash (ferrieux)
-
-2010-02-02 (bug fix)[2944404] crash in oo destructor (fellows)
-
-2010-02-02 (new feature) [array] is now a [namespace ensemble] (fellows)
-
-2010-02-05 (enhancement) [error] now bytecompiled (fellows)
-
-2010-02-08 (bug fix)[2947783] Tcl_Zlib*flate fail on shared values (fellows)
-
-2010-02-09 (enhancement) [try] now bytecompiled (fellows)
-
-2010-02-11 (bug fix)[2826551] line-sensitive matching in regexp (dejong)
-
-2010-02-11 (bug fix)[2949740] [open |noSuch rb] crash (kovalenko,fellows)
-
-2010-02-15 (bug fix)[2950259] harden (delete obj ns -> delete obj) (fellows)
-
-2010-02-21 (bug fix)[2954959] get sign of abs($zero) right (nijtmans)
-
-2010-02-22 (bug fix)[2762041] zlib chan transforms read EOF too early (kupries)
-
-2010-02-27 (bug fix)[801429] Tcl_SetMainLoop() thread safety (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-03-02 (enhancement) -fvisibility-hidden build support (nijtmans)
-
-2010-03-04 (bug fix)[2962664] [oo::class destroy] crash (fellows)
-
-2010-03-05 (interface) TclOO typedefs for function pointers (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-03-09 (bug fix)[2936225] stop [chan copy] to slow channel consuming all
-memory with buffer backup (ferrieux)
-
-2010-03-17 (bug fix)[2921116] crash in chan transfrom teardown (kupries)
-
-2010-03-19 (enhancement) [throw] now bytecompiled (fellows)
-
-2010-03-20 (enhancement) permit [fcopy] of > 2**31 bytes (fellows)
-
-2010-03-24 (new feature) [info object methodtype] (fellows)
-
-2010-03-24 (bug fix)[2383005] [return -errorcode] reject non-list (porter)
-
-2010-03-25 (bug fix)[2976504] broken fstatfs() call (reeuwijk,fellows)
-
-2010-03-30 (new feature)[TIP 362] [registry -32bit|-64bit] (courtney,fellows)
-=> registry 1.3
-
-2010-03-30 (bug fix)[2978773] refchan mem preservation (kupries)
-
-2010-04-02 (new feature)[TIP 357] Tcl_LoadFile, Tcl_FindSymbol, etc. (kenny)
-
-2010-04-05 (configure change)[TIP 364] default build: --enable-threads (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-04-02 (new feature)[TIP 348] [info errorstack], [return -errorstack]
-(ferrieux)
-
-2010-04-20 (enhancement) update bundled zlib to 1.2.5 (nijtmans)
-
-2010-04-29 (enhancement)[2992970] optimize bytearray appends (fellows)
-
-2010-05-19 (bug fix)[3004007] dict/list shimmer w/o string rep loss (fellows)
-
-2010-06-09 (bug fixes) platform: several fixes for 64 bit systems (kupries)
-=> platform 1.0.9
-
-2010-06-16 (bug fix)[3016135] [clock format] in he_IL locale (nijtmans)
-
-2010-06-18 (bug fix)[3017997] Add .cmd to file extensions for [exec] (fellows)
-
-2010-06-28 (bug fix)[3019634] support errno.h changes in MSVC++ 2010 (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-07-02 (enhancement) -errorcode for [expr] domain errors (fellows)
-
-2010-07-28 (bug fix)[3037525] crash deleting vars @ callframe pop (sofer)
-
-2010-08-04 (bug fix)[3034840] mem corrupt when refchan loses interp (kupries)
-
-2010-08-04 (enhancement) Win [load] use LOAD_WITH_ALTERED_SEARCH_PATH (hobbs)
-
-2010-08-04 (platform support) panic on detection of win9x system (hobbs)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-08-10 (fix) Handle non-null-terminated bytearrys in glob matching (hobbs)
-
-2010-08-11 (fix) copy-paste bug in [yield] implementation (sofer, goth)
-
-2010-08-11 (platform) Drop pre-aix 4.2 support, ldAix (hobbs)
-
-2010-08-14 (frq)[2819611] changed signatures of hash fnctions, delete-file, and get-native-path (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-08-15 (bug fix)[3045010] tweaked error message for wrong#args of lambda's (fellows)
-
-2010-08-18 (bug fix)[3004191] fixed safe [glob] (fellows)
-
-2010-08-21 (patch)[3034251] genStubs steal features of ttkGenStubs (nijtmans)
-
-2010-08-26 (bug fix)[1230554] configure, OSF-1 problems, windows manifest issues (hobbs)
-
-2010-08-30 (bug fix) [3046594,3047235,3048771] reimplemented tailcall (sofer)
-
-2010-08-31 fixed manifest handling on windows (hobbs, kupries)
-
-2010-08-31 windows makefile and stub changes (nijtmans)
-
-2010-09-01 (bug fix)[3057639] compiled lappend trace consistency (hobbs,kupries)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-09-01 fixed safe glob handling of -directory (kupries)
-
-2010-09-02 fixed safe glob handling of -join (kupries)
-
-2010-09-08 (bug fix)[3059922] build with mingw on amd64 (porter, mescalinum)
-
-2010-09-15 (bug fix)[3067036] stop hang in bytearray append (fellows)
-
-2010-09-22 unified set of link libraries between mingw and vc (nijtmans)
-
-2010-09-22 (bug fix)[3072640] protect writes to ::error* variables (sofer)
-
-2010-09-23 fix leak of return options [catch $err m constant] (porter, hobbs)
-
-2010-09-24 (bugfix)[3056775] fixed race condition in windows sockets (kupries)
-
-2010-09-24 (performance) string eq/cmp (hobbs)
-
-2010-09-26 (patch)[3072080] rewritten NRE core (sofer)
-
-2010-09-28 (new feature)[TIP 162] implementation of ipv6 sockets (max)
-
-2010-10-02 (bug fix)[3079830] properly invalidate string rep of dicts (fellows)
-
-2010-10-06 (bug fix)[3081065] fix writing to freed Tcl_Obj (porter)
-
-2010-10-08 fix in ipv6 code on windows (nijtmans)
-
-2010-10-09 fixed overallocation of execution stack (sofer)
-
-2010-10-11 windows unicode changes (nijtmans)
-
-2010-10-12 (bug fix)[3084338] fixed meamleak in ipv6 code (max)
-
-2010-10-13 (bug fix)[467523,983660] alt fix allows empty literal share (porter)
-
-2010-10-15 (bugfix)[3085863] updated unicode tables (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2010-10-16 refactored implementation of dict iteration (fellows)
-
-2010-10-17 (patch)[2995655] report inner contexts on error stack (ferrieux)
-
-2010-10-19 (bug fix)[3081008] fixed bytearray zlib interaction (fellows)
-
-2010-10-19 improved crc, appending to bytearray (fellows)
-
-2010-10-20 improved compilation of [dict for] (fellows)
-
-2010-10-26 Added private support to disable reverse dns (max)
-
-2010-10-26 Prevent crashes when querying socket options (fellows, max)
-
-2010-10-28 (bug fix)[3093120] prevent freeaddrinfo(NULL) (porter, virden)
-
-2010-10-29 (bug fix)[2905784] stop cycle waste in short [after] (ferrieux)
-
-2010-11-01 tzdata updated to Olson's tzdata2010o (kenny)
-
-2010-11-04 (bug fix)[3099086] Clarified docs of var substitution (fellows)
-
-2010-11-04 improved install targets (cassof)
-
-2010-11-04 improved testing of sockets (max)
-
-2010-11-05 (frq)[491789] setargv/unicode cmdline for MSVC (nijtmans)
-
-2010-11-09 (bug fix)[3105999] fixed memleak in OO var resolver (fellows)
-
-2010-11-15 (TIP 378)[3081184] improved TIP 280 performance (kupries)
-
-2010-11-16 (platform) VS 2005 SP1 MSVC compiler (nijtmans)
-
-2010-11-18 (bug fix)[3111059] leak in [namespace delete] w coroutines (sofer)
-
-2010-11-28 [3120139,3105247] Tcl_PrintDouble improvements (kenny)
-
-2010-11-29 (new cmd) [tcl::unsupported::inject] (ferrieux,sofer)
-
-2010-11-30 (enhancement) Restore TclFormatInt for performance (hobbs)
-
-2010-12-09 (new feature) [file] is now a [namespace ensemble] (fellows)
-
-2010-12-19 (bug fix) [fcopy -size 1 -command] asynchronous (ferrieux)
-
-2010-12-12 (platform) OpenBSD build improvements (cassoff)
-
-2010-12-17 (platform) Revisions to support rpm 4.4.2 (cassoff)
-
-2010-12-27 (bug fix) crash in [lsort] w multiple -index options (fellows)
-
-2010-12-30 (bug fix)[3142026] GrowEvaluationStack OBOE (harder,sofer)
-
-2011-01-18 (bug fix)[3001438] [info frame -1] crash (mccormack,fellows)
-
-2011-03-01 (performance)[3168398] optimize [interp cancel] (mistachkin)
-
-2011-03-05 (bug fix)[3185009] crash in OO variables (danckaert,fellows)
-
-2011-03-05 (new cmd) [tcl::unsupported::assemble] (ugurlu,kenny)
-
-2011-03-06 (bug fix)[3200987,3192636] parser buffer overruns (porter)
-
-2011-03-08 (bug fix)[3202905] failed intrep release of interp result (mccormack)
-
-2011-03-09 (bug fix)[3202171] repair [namespace inscope] optimizer (porter)
-
-2011-03-10 (new version) better tcltest reporting from child interps (fellows)
-=> tcltest 2.3.3
-
-2011-03-10 (new feature) [namespace] is now a [namespace ensemble] (fellows)
-
-2011-03-12 (interface) reduce casting by ckalloc(), ckfree() callers (fellows)
-
-2011-03-14 (bug fix) Fixes from libtommath 0.42.0 release (fellows)
-
-2011-03-21 (bug fix)[3216070] [load] extension from embed Tcl apps (nijtmans)
- ***POTENTIAL INCOMPATIBILITY***
-
-2011-03-27 (performance) NRE: LIST lset foreach benchmark (twylite)
-
-2011-04-11 (bug fix)[3282869] coroutine + eval + locals crash (ferrieux,sofer)
-
-2011-04-13 (bug fix)[2662380] crash when variable append trace unsets (sofer)
-
-2011-04-13 (bug fix)[3285375] Buffer overflow in [concat] (porter)
-
-2011-05-02 (internals change) revised TclFindElement() interface (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2011-05-05 (enhancement) dict->list w/o string rep generation (porter)
-
-2011-05-10 (bug fix)[3173086] Crash parsing long lists (rogers,porter)
-
-2011-05-24 (enhancement) msgcat internal improvements (fellows)
-=> msgcat 1.4.4
-
-2011-05-25 (TIP 381) [info object|class call] [self call] [nextto] (fellows)
-
-2011-05-31 (bug fix)[3293874] let lists grow all the way to the limit (porter)
-
-2011-06-02 (bug fix)[3185407] cmd resolution epoch flaw (nadkarni,fellows)
-
-2011-06-13 (bug fix)[3315098] mem leak generating double string rep (neumann)
-
-2011-06-22 (new feature) DEB_HOST_MULTIARCH support (kupries)
-=> platform 1.0.10
-
-2011-07-15 (bug fix)[3357771] Prevent circular refs in bytecode (porter)
-
-2011-07-28 tzdata updated to Olson's tzdata2011h (porter)
-
-2011-08-01 (bug fix)[3383616] memleak exposed by XOTcl (neumann,sofer)
-
-Many more Tcl built-in command errors now set an -errorcode.
-
---- Released 8.6b2, August 8, 2011 --- See ChangeLog for details ---
-
-2011-07-02 (bug fix)[3349507] correct double(1[string repeat 0 23]) (kenny)
-
-2011-07-19 (bug fix)[3371644] Tcl_ConvertElement() segfault (sader, ferrieux)
-
-2011-07-21 (bug fix)[3372130] hypot(.) segfault (nijtmans)
-
-2011-08-12 (bug fix)[3389764] memleaks due to reference cycles in dup'd paths
-
-2011-08-15 (bug fix)[3390272] leak of [info script] value (porter)
-
-2011-08-17 (bug fix)[3393150] bignum leaks in Tcl_Get*() routines (porter)
-
-2011-08-18 (bug fix)[3393714] [string toupper] overflow (nijtmans)
-
-2011-08-30 (bug fix)[3398794] panic in interp limit setting (gavlian,fellows)
-
-2011-09-08 (bug fix)[3401704] revised expr parser to permit function names
-like "nano()" instead of parsing as "nan o()" with missing op (duquette,porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2011-09-10 (bug fix)[3400658] wrong num args msg with TclOO (rsooltan,fellows)
-
-2011-09-13 (bug fix)[3390638] solaris studio cc workaround (kechel,porter)
-
-2011-09-13 (bug fix)[3405652] DTrace workaround (michelson,porter)
-
-2011-09-16 (bug fix)[3391977] -headers overrides -type (ziegenhagen,fellows)
-=> http 2.8.3
-
-2011-09-16 (TIP 388) New \Uhhhhhhhh syntax (nijtmans)
-
-2011-10-06 (enhancement) bytecode compile [dict with] (fellows)
-
-2011-10-11 (bug fix)[2935503] [file stat] returns bad mode (nadkarni,nijtmans)
-
-2011-10-20 (bug fix)[3418547] cmd lits and custom resolvers (soberning,fellows)
-
-2011-10-31 (bug fix)[3414754] EIAS violation in fs paths (porter)
-
-2011-11-22 (bug fix)[3354324] Win: [file mtime] sets wrong time (nijtmans)
-
-2011-11-30 (bug fix)[967195] Simply args passed to child processes (nijtmans)
-=> tcltest 2.3.4
-
-2011-12-07 (bug fix)[3444754] fix [string tolower \u01C5] (nijtmans)
-
-2011-12-11 (update)[3457031] Update [[:print:]] to Unicode 6.0 (nijtmans)
-
-2011-12-24 (bug fix)[3464428] fix [string is graph \u0120] (nijtmans)
-
-2012-01-08 (bug fix)[3470928] zoneinfo trouble with Windhoek data file (kenny)
-
-2012-01-13 (bug fix)[3472316] fix retrieval of socket error (fellows)
-
-2012-01-21 (bug fix)[3475667] [regexp] buffer read overflow (sebres)
-
-2012-01-22 (bug fix)[3475264] [dict exists] return 0, not error (fellows)
-
-2012-01-25 (bug fix)[3474460] [oo::copy] var resolution list (fellows)
-
-2012-01-26 (bug fix)[3475569,3479689] mem corrupt in fs path (sebres,porter)
-
-2012-01-30 (enhancement) improve bytecode compile of [catch] (fellows)
-
-2012-02-02 (bug fix)[2974459,2879351,1951574,1852572,1661378,1613456] Fix
-problems where [file *able] would return false results on Win/Samba (porter)
-
-2012-02-06 (bug fix)[3484621] bump bytecode epoch on exec traces (kuhn,sofer)
-
-2012-02-15 (bug fix)[3487626] crash compiling [dict for] (fellows)
-
-2012-02-15 (enhancement) bytecode compile [lrange],[lreplace] (fellows)
-
-2012-02-17 (bug fix)[2233954] compile problem on AIX & Android (nijtmans)
-
-2012-02-29 (bug fix)[3466099] BOM in Unicode (nijtmans)
-
-2012-03-07 (bug fix)[3498327] RFC 3986 compliance (kupries)
-
-2012-03-26 (TIP 380) New builtin class [oo::Slot] (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2012-03-27 (TIP 397) <cloned> method to extend [oo::copy] (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2012-03-27 (TIP 395) New subcommand [string is entier] (fellows)
-
-2012-04-02 (TIP 396) New command [yieldto] (fellows)
-
-2012-04-04 (bug fix)[3514761] crash combining objects and ensembles (fellows)
-
-2012-04-09 (bug fix)[2712377] [info vars] and oo variables (fellows)
-
-2012-04-09 (bug fix)[3396896] no dups in oo var lists (fellows)
-
-2012-04-11 (bug fix)[3448512] [clock scan 1958-01-01] fail on Win (nijtmans)
-
-2012-04-15 (bug fix)[3517696] fix flush of zlib chan xform (fellows)
-
-2012-04-18 tzdata updated to Olson's tzdata2012c (kenny)
-
-2012-04-28 (TIP 398) exit non-blocking chan without flush (ferrieux)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2012-05-02 (enhancement) Better use of Intel cpuid instruction (nijtmans)
-
-2012-05-03 (bug fix)[3428753] Unbreak synchronous [socket -async] (porter)
-
-2012-05-10 (bug fix)[2812981] force consistent config of Tcl+pkgs (ferrieux)
-
-2012-05-10 (bug fix)[473946] correct send of special characters (nijtmans)
-
-2012-05-17 (bug fix)[3445787] fix [file] ensemble in Safe Base (fellows)
-
-2012-05-17 (bug fix)[2964715] fix [glob] in Safe Base (fellows)
-
-2012-05-17 (bug fix)[3106532] proper [switch -indexvar] values (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2012-05-21 (TIP 106) New -binary option to [dde execute|poke] (oehlmann)
-=> dde 1.4.0
-
-2012-05-23 (bug fix)[3525907] [zlib push decompress] & [chan event]
-(fellows,ferrieux,kupries)
-
-2012-05-28 (bug fix)[3529949] Protect ~ paths in Safe Base (fellows)
-
-2012-06-21 (bug fix)[3362446] [registry keys] failure (nijtmans)
-=> registry 1.3.0
-
-2012-06-25 (bug fix)[3537605] [encoding dirs a b] error message (fellows)
-
-2012-06-25 (bug fix)[3024359] crash when multi-thread concurrent [file system]
-and Tcl_FSMountsChanged(). (porter)
-
-2012-06-29 (bug fix)[3536888] fix locale guessing (oehlmann,nijtmans)
-
-2012-07-05 (bug fix)[1189293] make "<<" redirect binary safe (porter)
-
-2012-07-08 (bug fix)[3531209] accept IPv6 URLs (max)
-=> http 2.8.4
-
-2012-07-24 (bug fix) stop mem corruption in stacked channel events (max,porter)
-
-2012-07-25 (bug fix)[3546275] [auto_execok] search match [exec] (danckaert)
-
-2012-07-27 (update)[3464401] Support Unicode 6.2 (nijtmans)
-
-2012-08-20 (bug fix)[3559678] [file normalize] EIAS failure (phao,dgp)
-
-2012-08-25 (bug fix)[3561330] Ukranian translation of "March" (teterin)
-
-2012-09-07 (TIP 404) New msgcat commands [mcflset], [mcflmset] (oehlmann)
-=> msgcat 1.5.0
-
-Many revisions to better support a Cygwin environment (nijtmans)
-
-Dropped support for OS X versions less than 10.4 (Tiger) (fellows)
-
---- Released 8.6b3, September 18, 2012 --- See ChangeLog for details ---
-
-2012-09-20 (enhancement) full Unicode support (nijtmans)
-=> dde 1.4.0
-
-2012-09-20 (enhancement) update bundled zlib to 1.2.7 (nijtmans)
-
-2012-10-03 (bug fix) exit panic on stacked std channel (griffin,porter)
-
-2012-10-14 (bug fix) [tcl::Bgerror] crash on non-dict options (nijtmans)
-
-2012-10-16 (TIP 400) New [zlib] options to set compression dict (fellows)
-
-2012-10-16 (TIP 405) New commands [lmap] and [dict map] (fellows)
-
-2012-10-24 (enhancement) [dict unset] now bytecompiled (fellows)
-
-2012-11-05 (TIP 413) Revisions to default [string trim*] trimset (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2012-11-05 (enhancement) Now bytecompiled: [array exists], [array set],
-[array unset], [dict create], [dict exists], [dict merge], [format],
-[info commands], [info coroutine], [info level], [info object],
-[namespace current], [namespace code], [namespace qualifiers], [namespace tail],
-[namespace which], [regsub], [self], [string first], [string last],
-[string map], [string range], [tailcall], [yield]. (fellows)
-
-2012-11-06 (bug fix)[3581754] avoid multiple callback on keep-alive (fellows)
-=> http 2.8.5
-
-2012-11-07 tzdata updated to Olson's tzdata2012i (kenny)
-
-2012-11-13 (bug fix)[3567063] thread fp settings from master (mistachkin)
-
-2012-11-14 (bug fix)[2933003] tempfile creation in $TMPDIR (fellows)
-
-2012-11-15 (TIP 416) New [load] options -global and -lazy (nijtmans)
-
-2012-11-20 (bug fix)[3033307] base64 trail whitespace (kovalenko,goth)
-
-2012-12-03 (bug fix) [configure] query broke init from argv (porter)
-=> tcltest 2.3.5
-
-2012-12-13 (bug fix)[3595576] crash: [catch {} -> noSuchNs::var] (sofer,porter)
-
-2012-12-13 (bug fix) crash: [zlib gunzip $data -header noSuchNs::var] (porter)
-
---- Released 8.6.0, December 20, 2012 --- See ChangeLog for details ---
-
-2012-12-22 (bug fix)[3598150] DString to Tcl_Obj memleak (afredd)
-
-2012-12-27 (bug fix)[3598580] Tcl_ListObjReplace() refcount fix (nijtmans)
-
-2013-01-04 (bug fix) memleak in [format] compiler (fellows)
-
-2013-01-08 (bug fix)[3092089,3587096] [file normalize] on junction points
-
-2013-01-09 (bug fix)[3599395] status line processing (nijtmans)
-2013-01-23 (bug fix)[2911139] repair async connection management (fellows)
-=> http 2.8.6
-
-2013-01-26 (bug fix)[3601804] Darwin segfault platformCPUID (nijtmans)
-
-2013-01-28 (enhancement) improve ensemble bytecode (fellows)
-
-2013-01-30 (enhancement) selected script code improvements (fradin)
-=> tcltest 2.3.6
-
-2013-01-30 (bug fix)[3599098] update to handle glibc banner changes (kupries)
-=> platform 1.0.11
-
-2013-01-31 (bug fix)[3598282] make install DESTDIR support (cassoff)
-
-2013-02-05 (bug fix)[3603434] [file normalize a:/] flaw in VFS (porter,griffin)
-
-2013-02-09 (bug fix)[3603695] $obj varname resolution rules (venable,fellows)
-
-2013-02-11 (bug fix)[3603553] zlib flushing errors (vampiera,fellows)
-
-2013-02-14 (bug fix)[3604576] msgcat use of Windows registry (oehlmann,nijtmans)
-=> msgcat 1.5.1
-
-2013-02-19 (bug fix)[2438181] report errors in trace handlers (yorick)
-
-2013-02-21 (bug fix)[3605447] unbreak [namespace export -clear] (porter)
-
-2013-02-23 (bug fix)[3599194] fallback IPv6 routines (afredd,max)
-
-2013-02-27 (bug fix)[3606139] stop crash in [regexp] (lane)
-
-2013-03-03 (bug fix)[3606258] major serial port update (english)
-
-2013-03-06 (bug fix)[3606683] [regexp (((((a)*)*)*)*)* {}] hangs
-(grathwohl,lane,porter)
-
-2013-03-12 (enhancement) better build support for Debian arch (shadura)
-
-2013-03-19 (bug fix)[2893771] [file stat] on locked files (thoyts,nijtmans)
-
-2013-03-21 (bug fix)[2102614] [auto_mkindex] ensemble support (griffin)
-
-2013-03-27 Tcl_Zlib*() routines tolerate NULL interps (porter
-
-2013-04-04 (bug fix) Support URLs with query but no path (max)
-=> http 2.8.7
-
-2013-04-08 (bug fix)[3610026] regexp crash on color overflow (linnakangas)
-
-2013-04-29 (enhancement) [array set] compile improvement (fellows)
-
-2013-04-30 (enhancement) broaden glibc version detection (kupries)
-=> platform 1.0.12
-
-2013-05-06 (platform support) Cygwin64 (nijtmans)
-
-2013-05-15 (enhancement) Improved [list {*}...] compile (fellows)
-
-2013-05-16 (platform support) mingw-4.0 (nijtmans)
-
-2013-05-19 (platform support) FreeBSD updates (cerutti)
-
-2013-05-20 (bug fix)[3613567] access error temp file creation (keene)
-
-2013-05-20 (bug fix)[3613569] temp file open fail can crash [load] (keene)
-
-2013-05-22 (bug fix)[3613609] [lsort -nocase] failed on non-ASCII (fellows)
-
-2013-05-28 (bug fix)[3036566] Use language packs (Vista+) locale (oehlmann)
-=> msgcat 1.5.2
-
-2013-05-29 (bug fix)[3614102] [apply {{} {list [if 1]}}] stack woes (porter)
-
-2013-06-03 Restored lost performance appending to long strings (elby,porter)
-
-2013-06-05 (bug fix)[2835313] [while 1 {foo [continue]}] crash (fellows)
-
-2013-06-17 (bug fix)[a876646] [:cntrl:] includes \x00 to \x1f (nijtmans)
-
-2013-06-27 (bug fix)[983509] missing encodings for config values (nijtmans)
-
-2013-06-27 (bug fix)[34538b] apply DST in 2099 (lang)
-
-2013-07-02 (bug fix)[32afa6] corrected dirent64 check (griffin)
-
-2013-07-06 tzdata updated to Olson's tzdata2013d (kenny)
-
-2013-07-10 (bug fix)[86fb5e] [info frame] in compiled ensembles (porter)
-
-2013-07-18 (bug fix)[1c17fb] revisd syntax errorinfo that shows error (porter)
-
-2013-07-26 (bug fix)[6585b2] regexp {(\w).*?\1} abb (lane)
-
-2013-07-29 [string is space \u202f] => 1 (nijtmans)
-
-2013-08-01 [a0bc85] Limited support for fork with threads (for Rivet) (nijtmans)
-
-2013-08-01 (bug fix)[1905562] RE recursion limit increased to support
-reported usage of large expressions (porter)
-
-2013-08-02 (bug fix)[9d6162] superclass slot empty crash (vdgoot,fellows)
-
-2013-08-03 (enhancement)[3611643] [auto_mkindex] support TclOO (fellows)
-
-2013-08-14 (bug fix)[a16752] Missing command delete callbacks (porter)
-
-2013-08-15 (bug fix)[3610404] reresolve traced forwards (porter)
-
-2013-08-15 Errors from execution traces become errors of the command (porter)
-
-2013-08-23 (bug fix)[8ff0cb9] Tcl_NR*Eval*() schedule only, as doc'd (porter)
-
-2013-08-29 (bug fix)[2486550] enable [interp invokehidden {} yield] (porter)
-
-2013-09-01 (bug fix)[b98fa55] [binary decode] fail on whitespace (reche,fellows)
-
-2013-09-07 (bug fix)[86ceb4] have tm path favor first provider (neumann,porter)
-
-2013-09-09 (bug fix)[3609693] copied object member variable confusion (fellows)
-=> TclOO 1.0.1
-
-2013-09-17 (bug fix)[2152292] [binary encode uuencode] corrected (fellows)
-
-2013-09-19 (bug fix)[3487626] segfaults in [dict] compilers (porter)
-
-2013-09-19 (bug fix)[31661d2] mem leak in [lreplace] (ade,porter)
-
-Many optmizations, improvements, and tightened stack management in bytecode.
-
---- Released 8.6.1, September 20, 2013 --- http://core.tcl.tk/tcl/ for details
-
-2013-09-27 (enhancement) improved ::env synchronization (fellows)
-
-2013-10-20 (bug fix)[2835313] segfault from
-[apply {{} {while 1 {a {*}[return -level 0 -code continue]}}}] (fellows)
-
-2013-10-22 (bug fix)[3556215] [scan %E%G%X] support (fellows)
-
-2013-10-25 (bug fix)[3eb2ec1] upper case scheme names in url. (nijtmans)
-=> http 2.8.8
-
-2013-10-29 (bug fix)[414d103] HP-UX: restore [exec] in threaded Tcl (nijtmans)
-
-2013-11-04 (bug fix) C++ friendly stubs struct declarations (nijtmans)
-
-2013-11-05 (bug fix)[426679e] OpenBSD man page rendering (nijtmans)
-
-2013-11-12 (bug fix)[5425f2c] [fconfigure -error] breaks [socket -async]
-
-2013-11-20 (bug fix) Improved environment variable management (nijtmans)
-=> tcltest 2.3.7
-
-2013-11-21 (platforms) Support for Windows 8.1 (nijtmans)
-
-2013-12-06 (RFE) improved [foreach] bytecode (fellows)
-
-2013-12-10 (RFE) improved [lmap] bytecode (sofer)
-
-2013-12-11 (RFE) improved [catch] bytecode (sofer)
-
-2013-12-18 (bug fix)[0b874c3] SEGV [coroutine X coroutine Y info frame] (porter)
-
-2013-12-20 (RFE) reduced numeric conversion in bytecode (sofer)
-
-2014-01-07 (RFE) compilers for [concat], [linsert], [namespace origin],
-[next], [string replace], [string tolower], [string totitle], [string toupper],
-[string trim], [string trimleft], [string trimright] (fellows)
-
-2014-01-22 (RFE) compilers for [nextto], [yieldto] (fellows)
-
-2014-02-02 (RFE) compiler for [string is] (fellows)
-
-2014-02-06 (bug fix)[a4494e2] panic in test namespace-13.2 (porter)
-
-2014-03-20 (bug fix)[2f7cbd0] FreeBSD 10.0 build failure (nijtmans)
-
-2014-03-26 (RFE)[b42b208] Cygwin: [file attr -readonly -archive -hidden -system]
-(nijtmans)
-
-2014-03-27 (bug fix) segfault iocmd-23.11 (porter)
-
-2014-04-02 (bug fix)[581937a] Win: readable event on async connect failure
-
-2014-04-04 (bug fix)[581937a,97069ea] async socket connect fail (oehlmann)
-
-2014-04-10 (bug fix)[792641f] Win: no \ in normalized path (nijtmans)
-
-2014-04-11 (bug fix)[3118489] protect NUL in filenames (nijtmans)
-
-2014-04-15 (bug fix)[88aef05] segfault iocmd-21.20 (porter)
-
-2014-04-16 (update) Win: use Winsock 2.2 (nijtmans)
-
-2014-04-16 (bug fix)[d19a30d] segfault clock-67.[23] (sebres)
-
-2014-04-21 (bug fix) segfault iocmd-21.2[12] (porter)
-
-2014-04-22 (bug fix) segfault iogt-2.4 (porter)
-
-2014-04-23 (bug fix)[3493120] memleak in thread exit
-
-2014-05-08 refactoring of core I/O functions (porter)
-
-2014-05-09 (bug fix)[3389978] Win: extended paths support (nijtmans)
-
-2014-05-09 (bug fix) segfault iocmd-32.1 (porter)
-
-2014-05-11 (bug fix)[6d2f249] nested ensemble compile failure (fellows)
-
-2014-05-17 (RFE)[47d6625] wideint support in [lsearch -integer] [lsort -integer] (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-05-20 (bug fix) Stop eof and blocked state leaking thru stacks (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-05-20 (bug fix)[13d3af3] Win: socket -async tried only first IP address
-
-2014-05-28 (platforms) work around systems that fail when a shared library
-is deleted after it is [load]ed (kupries)
-
-2014-05-31 (bug fix) chan events on pipes must be on proper ends (porter)
-
-2014-06-04 (bug fix) socket-2.12 (porter)
-
-2014-06-05 (bug fix) io-12.6 (kupries,porter)
-
-2014-06-15 (RFE)[1b0266d] [dict replace|remove] return canonical dict (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-06-16 (bug fix) socket-2.13 workaround broken select() (porter)
-
-2014-06-20 (bug fix)[b47b176] iortrans.tf-11.0 (porter)
-
-2014-06-22 (RFE)[2f9df4c] -cleanup scripts before -out compare (nijtmans)
-
-2014-07-04 (update) Update Unicode data to 7.0 (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-07-08 (bug) [chan push] converts blocked writes to error (aspect,porter)
-
-2014-07-10 (bug fix)[7368d2] memleak Tcl_SetVar2(..,TCL_APPEND_VALUE) (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-07-11 (bug) leaks in SetFsPathFromAny, [info frame] (porter)
-
-2014-07-15 (bug) compress dict leak in zlib xform channel close (porter)
-
-2014-07-17 (bug fix)[9969cf8] leak trace data in coroutine deletion (porter)
-
-2014-07-18 (RFE)[b43f2b4] fix [lappend] multi performance collapse (fellows)
-
-2014-07-19 (bug fix)[75b8433] memleak managing oo instance lists (porter)
-
-2014-07-21 (bug fix)[e6477e1] memleak in AtForkChild() (porter)
-
-2014-07-22 (bug fix)[12b0997] memleak in iocmd.tf-32.0 (porter)
-
-2014-07-28 (RFE) Optimized binary [chan copy] by moving buffers (porter)
-
-2014-07-30 (enhancement) use refcounts, not Tcl_Preserve to manage lifetime
-of Tcl_Channel (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-07-31 (bug fix)[a84a720] double free in oo chain deletion (porter)
-
-2014-08-01 (bug fix)[e75faba] SEGV [apply {{} {namespace upvar a b [x]}}] (porter)
-
-2014-08-01 (update) "macosx*-i386-x86_64" "macosx-universal" no longer compatible (kupries)
-=> platform 1.0.13
-
-2014-08-12 tzdata updated to Olson's tzdata2014f (kenny)
-
-2014-08-17 (bug fix)[7d52e11] [info class subclasses oo::object] should
-include ::oo::class (fellows)
-
-2014-08-25 (TIP 429) New command [string cat] (leitgeb,ferrieux)
-
---- Released 8.6.2, August 27, 2014 --- http://core.tcl.tk/tcl/ for details
-
-2014-08-28 (bug)[b9e1a3] Correct Method Search Order (nadkarni,fellows)
-=> TclOO 1.0.3
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-09-05 (bug)[ccc2c2] Regression [lreplace {} 1 1] (bron,fellows)
-
-2014-09-08 (bug)<oo-1.18.2> Crash regression in [oo::class destroy] (porter)
-
-2014-09-09 (bug)[84af11] Regress [regsub -all {\(.*} a(b) {}] (fellows)
-
-2014-09-10 (bug)[cee90e] [try {} on ok {} - on return {} {}] panic (porter)
-
-2014-09-20 (feature) [tcl::unsupported::getbytecode] disassember (fellows)
-
-2014-09-27 (enhancement) [string cat] bytecode optimization (leitgeb,ferrieux)
-
-2014-09-27 (bug)[82521b] segfault in mangled bytecode (ogilvie,sofer)
-
-2014-10-02 (bug)[bc5b79] Hang in some [read]s of limited size (rogers,porter)
-
-2014-10-03 (bug)[bc1a96] segfault in [array set] of traced array (tab,porter)
-
-2014-10-08 (bug)[59a2e7] MSVC14 compile support (dower,nijtmans)
-
-2014-10-10 (bug)[ed29c4] [fcopy] treats [blocked] as error (rowen,porter)
-
-2014-10-10 (bug)[bf7135] regression in Tcl_Write() interface (porter)
-
-2014-10-18 (bug)[10dc6d] fix [gets] on non-blocking channels (fassel,porter)
-
-2014-10-26 Support for Windows 10 (nijtmans)
-
-2014-10-31 (bug)[dcc034] restore [open comX: r+] (lll,nijtmans)
-
-2014-11-05 (bug)[214cc0] Restore [lappend v] return value (sayers,porter)
-
-2014-11-06 (bug)[5adc35] Stop forcing EOF to be permanent (porter)
-
---- Released 8.6.3, November 12, 2014 --- http://core.tcl.tk/tcl/ for details
-
-2014-11-21 (bug)[743338] Win: socket error encoding (ladayaroslav,nijtmans)
-
-2014-12-01 (bug) restore tbcload/tclcompiler support (kupries)
-
-2014-12-03 (bug)[0c043a] Fix compiled [set var($) val] (porter)
-
-2014-12-04 (bug)[d2ffcc] Limit $... and bareword parsing to ASCII (ladayaroslav,porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2014-12-06 (bug)[c6cd4a] Win: hang in async socket connection (shults,nadkarni)
-
-2014-12-10 tzdata updated to Olson's tzdata2014j (venkat)
-
-2014-12-13 fix header files installation on OS X (houben)
-
-2014-12-17 (TIP 427) [fconfigure $h -connecting, -peername, -sockname] (oehlmann,rmax)
-
-2014-12-18 (bug)[af08c8] Crash in full finalize encoding teardown (porter)
-
-2014-12-18 (bug)[7c187a] [chan copy] crash (io-53.17) (benno,porter)
-
-2015-01-26 (bug)[df0848] Trouble with INFINITY macro (dower,nijtmans)
-
-2015-01-29 (bug) Stop crashes when extension var resolvers misbehave (porter)
-
-2015-01-29 (bug)[088727] [read] past EOF (io-73.4) (fenugrec,porter)
-
-2015-02-11 tzdata updated to Olson's tzdata2015a (venkat)
-
-2015-02-20 (bug)[32b615] Fix compiled [lreplace] (lreplace-4.[345]) (aspect)
-
-2015-03-10 (enhancement) Revise OS X notifier for better Cocoa (walzer)
- *** POTENTIAL INCOMPATIBILITY ***
-
---- Released 8.6.4, March 12, 2015 --- http://core.tcl.tk/tcl/ for details
-
-2015-03-19 (bug)[e66e44] Win: Ctrl-C/Ctrl-Break in console not EOF (nadkarni)
-
-2015-03-21 (bug)[d87cb1] Proper tailcall from compiled ensembles (sofer)
-
-2015-04-23 (bug)[19ea02] Win: shared read from linked dirs (bogdan,oehhar)
-
-2015-04-24 (bug)[879a07] Incomplete chars @ buffer ends (leunissen,porter)
-
-2015-04-29 (bug)[894da1] Hang flushing blocking channels (yorick)
-
-2015-05-14 (enhance)[b9d043] Default use of gzip transfer encoding (fellows)
-=> http 2.8.9
- *** POTENTIAL INCOMPATIBILITY ***
-
-2015-05-15 (bug)[9dd1bd] destructor [self] after failed constructor (calvo,fellows)
-
-2015-05-15 (bug)[0f42ff] [tailcall] combined with [next] (aspect,fellows)
-
-2015-05-18 (bug)[c11a51] http: race condition in -accept option (fellows)
-
-2015-05-19 (enhance) More pure lists from compiled [list] (porter,fellows)
-
-2015-05-27 (enhancement) Relax memdebug constraint on extensions (kupries)
-
-2015-06-03 (bug)[268b23] crash in traced [expr] (execute-11.2)(tomkinson,porter)
-
-2015-06-11 (bug)[478c44] Memleak in zlib compresion errors (mistachkin)
-
-2015-06-16 (bug)[e770d9] Higher baud on serial channels (woods,nijtmans)
-
-2015-06-18 (update) Update Unicode data to 8.0 (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2015-06-18 (bug)[a4cb3f] compiled [lreplace] handling of end (bron,aspect)
-
-2015-06-23 (enhance) Use Unicode SendMessageTimeout() (nijtmans)
-=> registry 1.3.1
-
-2015-06-25 (TIP 412) msgcat dynamic locale change and package private locale (oehlmann)
-=> msgcat 1.6.0
-
-2015-07-05 (bug)[a0ece9] crash in traced [expr] (execute-11.3) (hans,porter)
-
-2015-07-10 (TIP 436) [info object isa] favors 'false' over error (fellows)
-=> TclOO 1.0.4
-
-2015-07-15 (bug)[b1534b][9bad63] writes beyond buffer bounds (hanno,porter)
-
-2015-07-18 (bug)[a3309d] Memleak in compiled [unset a($i)] (jeff,porter)
-
-2015-07-23 (bug)[57945b] lock in forking/multi-threading (neumann,mistachkin)
-
-2015-07-29 (bug)[3e7eca] Allocation overflow in expr parsing (rickyb,porter)
-
-2015-07-30 (bug)[f00009] Win: Memleak in [file] (rp,sebres)
-
-2015-07-31 (bug) Correct problems found in Coverity audit (sofer)
-
-2015-08-19 (bug)[00189c] MSVC 14: semi-static UCRT support (dower,nijtmans)
-
-2015-08-26 (bug)[0df7a1] Tolerate getcwd() failures (cato,nijtmans)
-
-2015-09-21 (bug)[1115587][a3c350][d7ea9f][0e0e15][187d7f] Many fixes and
-improvements to regexp engine from Postgres (lane,porter,fellows,seltenreich)
-
-2015-09-23 (enhance) hash lookup microoptimization (hipp)
-
-2015-09-23 (bug)[e0a7b3] Input buffer draining & file events (griffin,porter)
-
-2015-09-29 (bug)[219866] Cygwin support error (yorick,nijtmans)
-=> platform 1.0.14
-
-2015-10-06 (bug)[b42a85] Win: [file normalize ~user] wrong dir (nadkarni)
-
-2015-10-21 (bug)[1080042][8f2450] More regexp from Postgres (lane,porter)
-
-2015-10-23 (bug)[4a0c16] [clock] react to msgcat locale change (oehlmann)
-
-2015-11-10 (bug)[261a8a] Overflow segfault in I/O translation (brooks,porter)
-
-2015-11-20 (bug)[40f628] ListObjReplace callers fail to detect max (porter)
-
-2015-11-30 (enhance)[32c574] Improve list growth performance (brooks,porter)
-
-2015-12-11 (bug)[c9eb6b] tolerate unset ::env(TZ) (gahr, nijtmans)
-
-2016-01-29 (TIP 440) tcl_platform(engine) -- Tcl implementation (mistachkin)
-
-2016-02-03 (bug)[25842c] stream [zlib deflate] fails with 0 input (ade,fellows)
-
-2016-02-04 (bug)[3d96b7][593baa][cf74de] crashes in OO teardown (porter,fellows)
-
-2016-02-22 (bug)[9b4702] [info exists env(missing)] kills trace (nijtmans)
-
---- Released 8.6.5, February 29, 2016 --- http://core.tcl.tk/tcl/ for details
-
-2016-03-01 (bug)[803042] mem leak due to reference cycle (porter)
-
-2016-03-08 (bug)[bbc304] reflected watch race condition (porter)
-
-2016-03-17 (bug)[fadc99] compile-5.3 (rodriguez,porter)
-
-2016-03-17 (enhancement)[1a25fd] compile [variable ${ns}::v] (porter)
-
-2016-03-20 (bug)[1af8de] crash in compiled [string replace] (harder,fellows)
-
-2016-03-21 (bug)[d30718] segv in notifier finalize (hirofumi,nijtmans)
-
-2016-03-23 (enhancement)[7d0db7] parallel make (yarda,nijtmans)
-
-2016-03-23 [f12535] enable test bindings customization (vogel,nijtmans)
-
-2016-04-04 (bug)[47ac84] compiled [lreplace] fixes (aspect,ferrieux,fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-04-08 (bug)[866368] RE \w includes 'Punctuation Connector' (nijtmans)
-
-2016-04-08 (bug)[2538f3] Win crash Tcl_OpenTcpServer() (griffin)
-
-2016-04-10 [07d13d] Restore TclBlend support lost in 8.6.1 (buratti)
-
-2016-05-13 (bug)[3154ea] Mem corruption in assembler exceptions (tkob,kenny)
-
-2016-05-13 (bug) registry package support any Unicode env (nijtmans)
-=> registry 1.3.2
-
-2016-05-21 (bug)[f7d4e] [namespace delete] performance (fellows)
-
-2016-06-02 (TIP 447) execution time verbosity option (cerutti)
-=> tcltest 2.4.0
-
-2016-06-16 (bug)[16828b] crash due to [vwait] trace undo fail (dah,porter)
-
-2016-06-16 (enhancement)[4b61af] good [info frame] from more cases (beric)
-
-2016-06-21 (bug)[c383eb] crash in [glob -path a] (oehlmann,porter)
-
-2016-06-21 (update) Update Unicode data to 9.0 (nijtmans)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-06-22 (bug)[16896d] Tcl_DString tolerate append to self. (dah,porter)
-
-2016-06-23 (bug)[d55322] crash in [dict update] (yorick,fellows)
-
-2016-06-27 (bug)[dd260a] crash in [chan configure -dictionary] (madden,aspect)
-
-2016-07-02 (bug)[f961d7] usage message with parameters with spaces (porter)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-07-02 (enhancement)[09fabc] Sort order of -relateddir (lanam)
-
-2016-07-07 (bug)[5d7ca0] Win: [file executable] for .cmd and .ps1 (nadkarni)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-07-08 (bug)[a47641] [file normalize] & Windows junctions (nadkarni)
-
-2016-07-09 [ae61a6] [file] handling of Win hardcoded names (CON) (nadkarni)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-07-09 [3613671] [file owned] (more) useful on Win (nadkarni)
-
-2016-07-09 (bug)[1493a4] [namespace upvar] use of resolvers (beric,fellows)
- *** POTENTIAL INCOMPATIBILITY ***
-
-2016-07-10 (bug)[da340d] integer division in clock math (nadkarni)
-
-2016-07-20 tzdata updated to Olson's tzdata2016f (venkat)
-
---- Released 8.6.6, July 27, 2016 --- http://core.tcl.tk/tcl/ for details
diff --git a/tcl8.6/compat/README b/tcl8.6/compat/README
deleted file mode 100644
index 9af4285..0000000
--- a/tcl8.6/compat/README
+++ /dev/null
@@ -1,6 +0,0 @@
-This directory contains various header and code files that are
-used make Tcl compatible with various releases of UNIX and UNIX-like
-systems. Typically, files from this directory are used to compile
-Tcl when a system doesn't contain the corresponding files or when
-they are known to be incorrect. When the whole world becomes POSIX-
-compliant this directory should be unnecessary.
diff --git a/tcl8.6/compat/dirent.h b/tcl8.6/compat/dirent.h
deleted file mode 100644
index fa6222a..0000000
--- a/tcl8.6/compat/dirent.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * dirent.h --
- *
- * This file is a replacement for <dirent.h> in systems that
- * support the old BSD-style <sys/dir.h> with a "struct direct".
- *
- * Copyright (c) 1991 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _DIRENT
-#define _DIRENT
-
-#include <sys/dir.h>
-
-#define dirent direct
-
-#endif /* _DIRENT */
diff --git a/tcl8.6/compat/dirent2.h b/tcl8.6/compat/dirent2.h
deleted file mode 100644
index 5be08ba..0000000
--- a/tcl8.6/compat/dirent2.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * dirent.h --
- *
- * Declarations of a library of directory-reading procedures
- * in the POSIX style ("struct dirent").
- *
- * Copyright (c) 1991 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _DIRENT
-#define _DIRENT
-
-/*
- * Dirent structure, which holds information about a single
- * directory entry.
- */
-
-#define MAXNAMLEN 255
-#define DIRBLKSIZ 512
-
-struct dirent {
- long d_ino; /* Inode number of entry */
- short d_reclen; /* Length of this record */
- short d_namlen; /* Length of string in d_name */
- char d_name[MAXNAMLEN + 1]; /* Name must be no longer than this */
-};
-
-/*
- * State that keeps track of the reading of a directory (clients
- * should never look inside this structure; the fields should
- * only be accessed by the library procedures).
- */
-
-typedef struct _dirdesc {
- int dd_fd;
- long dd_loc;
- long dd_size;
- char dd_buf[DIRBLKSIZ];
-} DIR;
-
-/*
- * Procedures defined for reading directories:
- */
-
-extern void closedir (DIR *dirp);
-extern DIR * opendir (char *name);
-extern struct dirent * readdir (DIR *dirp);
-
-#endif /* _DIRENT */
diff --git a/tcl8.6/compat/dlfcn.h b/tcl8.6/compat/dlfcn.h
deleted file mode 100644
index fb27ea0..0000000
--- a/tcl8.6/compat/dlfcn.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * dlfcn.h --
- *
- * This file provides a replacement for the header file "dlfcn.h"
- * on systems where dlfcn.h is missing. It's primary use is for
- * AIX, where Tcl emulates the dl library.
- *
- * This file is subject to the following copyright notice, which is
- * different from the notice used elsewhere in Tcl but rougly
- * equivalent in meaning.
- *
- * Copyright (c) 1992,1993,1995,1996, Jens-Uwe Mager, Helios Software GmbH
- * Not derived from licensed software.
- *
- * Permission is granted to freely use, copy, modify, and redistribute
- * this software, provided that the author is not construed to be liable
- * for any results of using the software, alterations are clearly marked
- * as such, and this notice is not modified.
- */
-
-/*
- * This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
- * 30159 Hannover, Germany
- */
-
-#ifndef __dlfcn_h__
-#define __dlfcn_h__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Mode flags for the dlopen routine.
- */
-#define RTLD_LAZY 1 /* lazy function call binding */
-#define RTLD_NOW 2 /* immediate function call binding */
-#define RTLD_GLOBAL 0x100 /* allow symbols to be global */
-
-/*
- * To be able to intialize, a library may provide a dl_info structure
- * that contains functions to be called to initialize and terminate.
- */
-struct dl_info {
- void (*init) (void);
- void (*fini) (void);
-};
-
-void *dlopen (const char *path, int mode);
-void *dlsym (void *handle, const char *symbol);
-char *dlerror (void);
-int dlclose (void *handle);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __dlfcn_h__ */
diff --git a/tcl8.6/compat/fake-rfc2553.c b/tcl8.6/compat/fake-rfc2553.c
deleted file mode 100644
index c8e6940..0000000
--- a/tcl8.6/compat/fake-rfc2553.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright (C) 2000-2003 Damien Miller. All rights reserved.
- * Copyright (C) 1999 WIDE Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Pseudo-implementation of RFC2553 name / address resolution functions
- *
- * But these functions are not implemented correctly. The minimum subset
- * is implemented for ssh use only. For example, this routine assumes
- * that ai_family is AF_INET. Don't use it for another purpose.
- */
-#include "tclInt.h"
-
-TCL_DECLARE_MUTEX(netdbMutex)
-
-#ifndef HAVE_GETNAMEINFO
-#ifndef HAVE_STRLCPY
-static size_t
-strlcpy(char *dst, const char *src, size_t siz)
-{
- char *d = dst;
- const char *s = src;
- size_t n = siz;
-
- /* Copy as many bytes as will fit */
- if (n != 0 && --n != 0) {
- do {
- if ((*d++ = *s++) == 0)
- break;
- } while (--n != 0);
- }
-
- /* Not enough room in dst, add NUL and traverse rest of src */
- if (n == 0) {
- if (siz != 0)
- *d = '\0'; /* NUL-terminate dst */
- while (*s++)
- ;
- }
-
- return(s - src - 1); /* count does not include NUL */
-}
-#endif
-
-int fake_getnameinfo(const struct sockaddr *sa, size_t salen, char *host,
- size_t hostlen, char *serv, size_t servlen, int flags)
-{
- struct sockaddr_in *sin = (struct sockaddr_in *)sa;
- struct hostent *hp;
- char tmpserv[16];
-
- if (sa->sa_family != AF_UNSPEC && sa->sa_family != AF_INET)
- return (EAI_FAMILY);
- if (serv != NULL) {
- snprintf(tmpserv, sizeof(tmpserv), "%d", ntohs(sin->sin_port));
- if (strlcpy(serv, tmpserv, servlen) >= servlen)
- return (EAI_MEMORY);
- }
-
- if (host != NULL) {
- if (flags & NI_NUMERICHOST) {
- size_t len;
- Tcl_MutexLock(&netdbMutex);
- len = strlcpy(host, inet_ntoa(sin->sin_addr), hostlen);
- Tcl_MutexUnlock(&netdbMutex);
- if (len >= hostlen) {
- return (EAI_MEMORY);
- } else {
- return (0);
- }
- } else {
- int ret;
- Tcl_MutexLock(&netdbMutex);
- hp = gethostbyaddr((char *)&sin->sin_addr,
- sizeof(struct in_addr), AF_INET);
- if (hp == NULL) {
- ret = EAI_NODATA;
- } else if (strlcpy(host, hp->h_name, hostlen)
- >= hostlen) {
- ret = EAI_MEMORY;
- } else {
- ret = 0;
- }
- Tcl_MutexUnlock(&netdbMutex);
- return ret;
- }
- }
- return (0);
-}
-#endif /* !HAVE_GETNAMEINFO */
-
-#ifndef HAVE_GAI_STRERROR
-const char *
-fake_gai_strerror(int err)
-{
- switch (err) {
- case EAI_NODATA:
- return ("no address associated with name");
- case EAI_MEMORY:
- return ("memory allocation failure.");
- case EAI_NONAME:
- return ("nodename nor servname provided, or not known");
- case EAI_FAMILY:
- return ("ai_family not supported");
- default:
- return ("unknown/invalid error.");
- }
-}
-#endif /* !HAVE_GAI_STRERROR */
-
-#ifndef HAVE_FREEADDRINFO
-void
-fake_freeaddrinfo(struct addrinfo *ai)
-{
- struct addrinfo *next;
-
- for(; ai != NULL;) {
- next = ai->ai_next;
- free(ai);
- ai = next;
- }
-}
-#endif /* !HAVE_FREEADDRINFO */
-
-#ifndef HAVE_GETADDRINFO
-static struct
-addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints)
-{
- struct addrinfo *ai;
-
- ai = malloc(sizeof(*ai) + sizeof(struct sockaddr_in));
- if (ai == NULL)
- return (NULL);
-
- memset(ai, '\0', sizeof(*ai) + sizeof(struct sockaddr_in));
-
- ai->ai_addr = (struct sockaddr *)(ai + 1);
- /* XXX -- ssh doesn't use sa_len */
- ai->ai_addrlen = sizeof(struct sockaddr_in);
- ai->ai_addr->sa_family = ai->ai_family = AF_INET;
-
- ((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port;
- ((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr;
-
- /* XXX: the following is not generally correct, but does what we want */
- if (hints->ai_socktype)
- ai->ai_socktype = hints->ai_socktype;
- else
- ai->ai_socktype = SOCK_STREAM;
-
- if (hints->ai_protocol)
- ai->ai_protocol = hints->ai_protocol;
-
- return (ai);
-}
-
-int
-fake_getaddrinfo(const char *hostname, const char *servname,
- const struct addrinfo *hints, struct addrinfo **res)
-{
- struct hostent *hp;
- struct servent *sp;
- struct in_addr in;
- int i;
- long int port;
- u_long addr;
-
- port = 0;
- if (hints && hints->ai_family != AF_UNSPEC &&
- hints->ai_family != AF_INET)
- return (EAI_FAMILY);
- if (servname != NULL) {
- char *cp;
-
- port = strtol(servname, &cp, 10);
- if (port > 0 && port <= 65535 && *cp == '\0')
- port = htons((unsigned short)port);
- else if ((sp = getservbyname(servname, NULL)) != NULL)
- port = sp->s_port;
- else
- port = 0;
- }
-
- if (hints && hints->ai_flags & AI_PASSIVE) {
- addr = htonl(0x00000000);
- if (hostname && inet_aton(hostname, &in) != 0)
- addr = in.s_addr;
- *res = malloc_ai(port, addr, hints);
- if (*res == NULL)
- return (EAI_MEMORY);
- return (0);
- }
-
- if (!hostname) {
- *res = malloc_ai(port, htonl(0x7f000001), hints);
- if (*res == NULL)
- return (EAI_MEMORY);
- return (0);
- }
-
- if (inet_aton(hostname, &in)) {
- *res = malloc_ai(port, in.s_addr, hints);
- if (*res == NULL)
- return (EAI_MEMORY);
- return (0);
- }
-
- /* Don't try DNS if AI_NUMERICHOST is set */
- if (hints && hints->ai_flags & AI_NUMERICHOST)
- return (EAI_NONAME);
-
- Tcl_MutexLock(&netdbMutex);
- hp = gethostbyname(hostname);
- if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) {
- struct addrinfo *cur, *prev;
-
- cur = prev = *res = NULL;
- for (i = 0; hp->h_addr_list[i]; i++) {
- struct in_addr *in = (struct in_addr *)hp->h_addr_list[i];
-
- cur = malloc_ai(port, in->s_addr, hints);
- if (cur == NULL) {
- if (*res != NULL)
- freeaddrinfo(*res);
- Tcl_MutexUnlock(&netdbMutex);
- return (EAI_MEMORY);
- }
- if (prev)
- prev->ai_next = cur;
- else
- *res = cur;
-
- prev = cur;
- }
- Tcl_MutexUnlock(&netdbMutex);
- return (0);
- }
- Tcl_MutexUnlock(&netdbMutex);
- return (EAI_NODATA);
-}
-#endif /* !HAVE_GETADDRINFO */
diff --git a/tcl8.6/compat/fake-rfc2553.h b/tcl8.6/compat/fake-rfc2553.h
deleted file mode 100644
index 6413170..0000000
--- a/tcl8.6/compat/fake-rfc2553.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2000-2003 Damien Miller. All rights reserved.
- * Copyright (C) 1999 WIDE Project. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the project nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Pseudo-implementation of RFC2553 name / address resolution functions
- *
- * But these functions are not implemented correctly. The minimum subset
- * is implemented for ssh use only. For example, this routine assumes
- * that ai_family is AF_INET. Don't use it for another purpose.
- */
-
-#ifndef _FAKE_RFC2553_H
-#define _FAKE_RFC2553_H
-
-/*
- * First, socket and INET6 related definitions
- */
-#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
-# define _SS_MAXSIZE 128 /* Implementation specific max size */
-# define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr))
-struct sockaddr_storage {
- struct sockaddr ss_sa;
- char __ss_pad2[_SS_PADSIZE];
-};
-# define ss_family ss_sa.sa_family
-#endif /* !HAVE_STRUCT_SOCKADDR_STORAGE */
-
-#ifndef IN6_IS_ADDR_LOOPBACK
-# define IN6_IS_ADDR_LOOPBACK(a) \
- (((uint32_t *)(a))[0] == 0 && ((uint32_t *)(a))[1] == 0 && \
- ((uint32_t *)(a))[2] == 0 && ((uint32_t *)(a))[3] == htonl(1))
-#endif /* !IN6_IS_ADDR_LOOPBACK */
-
-#ifndef HAVE_STRUCT_IN6_ADDR
-struct in6_addr {
- uint8_t s6_addr[16];
-};
-#endif /* !HAVE_STRUCT_IN6_ADDR */
-
-#ifndef HAVE_STRUCT_SOCKADDR_IN6
-struct sockaddr_in6 {
- unsigned short sin6_family;
- uint16_t sin6_port;
- uint32_t sin6_flowinfo;
- struct in6_addr sin6_addr;
- uint32_t sin6_scope_id;
-};
-#endif /* !HAVE_STRUCT_SOCKADDR_IN6 */
-
-#ifndef AF_INET6
-/* Define it to something that should never appear */
-#define AF_INET6 AF_MAX
-#endif
-
-/*
- * Next, RFC2553 name / address resolution API
- */
-
-#ifndef NI_NUMERICHOST
-# define NI_NUMERICHOST (1)
-#endif
-#ifndef NI_NAMEREQD
-# define NI_NAMEREQD (1<<1)
-#endif
-#ifndef NI_NUMERICSERV
-# define NI_NUMERICSERV (1<<2)
-#endif
-
-#ifndef AI_PASSIVE
-# define AI_PASSIVE (1)
-#endif
-#ifndef AI_CANONNAME
-# define AI_CANONNAME (1<<1)
-#endif
-#ifndef AI_NUMERICHOST
-# define AI_NUMERICHOST (1<<2)
-#endif
-
-#ifndef NI_MAXSERV
-# define NI_MAXSERV 32
-#endif /* !NI_MAXSERV */
-#ifndef NI_MAXHOST
-# define NI_MAXHOST 1025
-#endif /* !NI_MAXHOST */
-
-#ifndef EAI_NODATA
-# define EAI_NODATA (INT_MAX - 1)
-#endif
-#ifndef EAI_MEMORY
-# define EAI_MEMORY (INT_MAX - 2)
-#endif
-#ifndef EAI_NONAME
-# define EAI_NONAME (INT_MAX - 3)
-#endif
-#ifndef EAI_SYSTEM
-# define EAI_SYSTEM (INT_MAX - 4)
-#endif
-#ifndef EAI_FAMILY
-# define EAI_FAMILY (INT_MAX - 5)
-#endif
-#ifndef EAI_SERVICE
-# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */
-#endif
-
-#ifndef HAVE_STRUCT_ADDRINFO
-struct addrinfo {
- int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
- int ai_family; /* PF_xxx */
- int ai_socktype; /* SOCK_xxx */
- int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
- size_t ai_addrlen; /* length of ai_addr */
- char *ai_canonname; /* canonical name for hostname */
- struct sockaddr *ai_addr; /* binary address */
- struct addrinfo *ai_next; /* next structure in linked list */
-};
-#endif /* !HAVE_STRUCT_ADDRINFO */
-
-#ifndef HAVE_GETADDRINFO
-#ifdef getaddrinfo
-# undef getaddrinfo
-#endif
-#define getaddrinfo(a,b,c,d) (fake_getaddrinfo(a,b,c,d))
-int getaddrinfo(const char *, const char *,
- const struct addrinfo *, struct addrinfo **);
-#endif /* !HAVE_GETADDRINFO */
-
-#ifndef HAVE_GAI_STRERROR
-#define gai_strerror(a) (fake_gai_strerror(a))
-const char *gai_strerror(int);
-#endif /* !HAVE_GAI_STRERROR */
-
-#ifndef HAVE_FREEADDRINFO
-#define freeaddrinfo(a) (fake_freeaddrinfo(a))
-void freeaddrinfo(struct addrinfo *);
-#endif /* !HAVE_FREEADDRINFO */
-
-#ifndef HAVE_GETNAMEINFO
-#define getnameinfo(a,b,c,d,e,f,g) (fake_getnameinfo(a,b,c,d,e,f,g))
-int getnameinfo(const struct sockaddr *, size_t, char *, size_t,
- char *, size_t, int);
-#endif /* !HAVE_GETNAMEINFO */
-
-
-#endif /* !_FAKE_RFC2553_H */
diff --git a/tcl8.6/compat/fixstrtod.c b/tcl8.6/compat/fixstrtod.c
deleted file mode 100644
index 63fb8ef..0000000
--- a/tcl8.6/compat/fixstrtod.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * fixstrtod.c --
- *
- * Source code for the "fixstrtod" procedure. This procedure is
- * used in place of strtod under Solaris 2.4, in order to fix
- * a bug where the "end" pointer gets set incorrectly.
- *
- * Copyright (c) 1995 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include <stdio.h>
-
-#undef strtod
-
-/*
- * Declare strtod explicitly rather than including stdlib.h, since in
- * somes systems (e.g. SunOS 4.1.4) stdlib.h doesn't declare strtod.
- */
-
-extern double strtod(char *, char **);
-
-double
-fixstrtod(
- char *string,
- char **endPtr)
-{
- double d;
- d = strtod(string, endPtr);
- if ((endPtr != NULL) && (*endPtr != string) && ((*endPtr)[-1] == 0)) {
- *endPtr -= 1;
- }
- return d;
-}
diff --git a/tcl8.6/compat/float.h b/tcl8.6/compat/float.h
deleted file mode 100644
index 411edbf..0000000
--- a/tcl8.6/compat/float.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * float.h --
- *
- * This is a dummy header file to #include in Tcl when there
- * is no float.h in /usr/include. Right now this file is empty:
- * Tcl contains #ifdefs to deal with the lack of definitions;
- * all it needs is for the #include statement to work.
- *
- * Copyright (c) 1993 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
diff --git a/tcl8.6/compat/gettod.c b/tcl8.6/compat/gettod.c
deleted file mode 100644
index ca20cf8..0000000
--- a/tcl8.6/compat/gettod.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * gettod.c --
- *
- * This file provides the gettimeofday function on systems
- * that only have the System V ftime function.
- *
- * Copyright (c) 1995 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclPort.h"
-#include <sys/timeb.h>
-
-#undef timezone
-
-int
-gettimeofday(
- struct timeval *tp,
- struct timezone *tz)
-{
- struct timeb t;
-
- ftime(&t);
- tp->tv_sec = t.time;
- tp->tv_usec = t. millitm * 1000;
- return 0;
-}
-
diff --git a/tcl8.6/compat/memcmp.c b/tcl8.6/compat/memcmp.c
deleted file mode 100644
index c4e25a8..0000000
--- a/tcl8.6/compat/memcmp.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * memcmp.c --
- *
- * Source code for the "memcmp" library routine.
- *
- * Copyright (c) 1998 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclPort.h"
-
-/*
- * Here is the prototype just in case it is not included in tclPort.h.
- */
-
-int memcmp(const void *s1, const void *s2, size_t n);
-
-/*
- *----------------------------------------------------------------------
- *
- * memcmp --
- *
- * Compares two bytes sequences.
- *
- * Results:
- * Compares its arguments, looking at the first n bytes (each interpreted
- * as an unsigned char), and returns an integer less than, equal to, or
- * greater than 0, according as s1 is less than, equal to, or greater
- * than s2 when taken to be unsigned 8 bit numbers.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-memcmp(
- const void *s1, /* First string. */
- const void *s2, /* Second string. */
- size_t n) /* Length to compare. */
-{
- const unsigned char *ptr1 = (const unsigned char *) s1;
- const unsigned char *ptr2 = (const unsigned char *) s2;
-
- for ( ; n-- ; ptr1++, ptr2++) {
- unsigned char u1 = *ptr1, u2 = *ptr2;
-
- if (u1 != u2) {
- return (u1-u2);
- }
- }
- return 0;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/tcl8.6/compat/mkstemp.c b/tcl8.6/compat/mkstemp.c
deleted file mode 100644
index 1a44dfa..0000000
--- a/tcl8.6/compat/mkstemp.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * mkstemp.c --
- *
- * Source code for the "mkstemp" library routine.
- *
- * Copyright (c) 2009 Donal K. Fellows
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-/*
- *----------------------------------------------------------------------
- *
- * mkstemp --
- *
- * Create an open temporary file from a template.
- *
- * Results:
- * A file descriptor, or -1 (with errno set) in the case of an error.
- *
- * Side effects:
- * The template is updated to contain the real filename.
- *
- *----------------------------------------------------------------------
- */
-
-int
-mkstemp(
- char *template) /* Template for filename. */
-{
- static const char alphanumerics[] =
- "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- register char *a, *b;
- int fd, count, alphanumericsLen = strlen(alphanumerics); /* == 62 */
-
- a = template + strlen(template);
- while (a > template && *(a-1) == 'X') {
- a--;
- }
-
- if (a == template) {
- errno = ENOENT;
- return -1;
- }
-
- /*
- * We'll only try up to 10 times; after that, we're suffering from enemy
- * action and should let the caller know.
- */
-
- count = 10;
- do {
- /*
- * Replace the X's in the original template with random alphanumeric
- * digits.
- */
-
- for (b=a ; *b ; b++) {
- float r = rand() / ((float) RAND_MAX);
-
- *b = alphanumerics[(int)(r * alphanumericsLen)];
- }
-
- /*
- * Template is now realized; try to open (with correct options).
- */
-
- fd = open(template, O_RDWR|O_CREAT|O_EXCL, 0600);
- } while (fd == -1 && errno == EEXIST && --count > 0);
-
- return fd;
-}
diff --git a/tcl8.6/compat/opendir.c b/tcl8.6/compat/opendir.c
deleted file mode 100644
index 22e8a3a..0000000
--- a/tcl8.6/compat/opendir.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * opendir.c --
- *
- * This file provides dirent-style directory-reading procedures for V7
- * Unix systems that don't have such procedures. The origin of this code
- * is unclear, but it seems to have come originally from Larry Wall.
- */
-
-#include "tclInt.h"
-
-#undef DIRSIZ
-#define DIRSIZ(dp) \
- ((sizeof(struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
-
-/*
- * open a directory.
- */
-
-DIR *
-opendir(
- char *name)
-{
- register DIR *dirp;
- register int fd;
- char *myname;
-
- myname = ((*name == '\0') ? "." : name);
- if ((fd = open(myname, 0, 0)) == -1) {
- return NULL;
- }
- dirp = (DIR *) ckalloc(sizeof(DIR));
- if (dirp == NULL) {
- /* unreachable? */
- close(fd);
- return NULL;
- }
- dirp->dd_fd = fd;
- dirp->dd_loc = 0;
- return dirp;
-}
-
-/*
- * read an old style directory entry and present it as a new one
- */
-#ifndef pyr
-#define ODIRSIZ 14
-
-struct olddirect {
- ino_t od_ino;
- char od_name[ODIRSIZ];
-};
-#else /* a Pyramid in the ATT universe */
-#define ODIRSIZ 248
-
-struct olddirect {
- long od_ino;
- short od_fill1, od_fill2;
- char od_name[ODIRSIZ];
-};
-#endif
-
-/*
- * get next entry in a directory.
- */
-
-struct dirent *
-readdir(
- register DIR *dirp)
-{
- register struct olddirect *dp;
- static struct dirent dir;
-
- for (;;) {
- if (dirp->dd_loc == 0) {
- dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, DIRBLKSIZ);
- if (dirp->dd_size <= 0) {
- return NULL;
- }
- }
- if (dirp->dd_loc >= dirp->dd_size) {
- dirp->dd_loc = 0;
- continue;
- }
- dp = (struct olddirect *)(dirp->dd_buf + dirp->dd_loc);
- dirp->dd_loc += sizeof(struct olddirect);
- if (dp->od_ino == 0) {
- continue;
- }
- dir.d_ino = dp->od_ino;
- strncpy(dir.d_name, dp->od_name, ODIRSIZ);
- dir.d_name[ODIRSIZ] = '\0'; /* insure null termination */
- dir.d_namlen = strlen(dir.d_name);
- dir.d_reclen = DIRSIZ(&dir);
- return &dir;
- }
-}
-
-/*
- * close a directory.
- */
-
-void
-closedir(
- register DIR *dirp)
-{
- close(dirp->dd_fd);
- dirp->dd_fd = -1;
- dirp->dd_loc = 0;
- ckfree((char *) dirp);
-}
diff --git a/tcl8.6/compat/stdlib.h b/tcl8.6/compat/stdlib.h
deleted file mode 100644
index 0ad4c1d..0000000
--- a/tcl8.6/compat/stdlib.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * stdlib.h --
- *
- * Declares facilities exported by the "stdlib" portion of the C library.
- * This file isn't complete in the ANSI-C sense; it only declares things
- * that are needed by Tcl. This file is needed even on many systems with
- * their own stdlib.h (e.g. SunOS) because not all stdlib.h files declare
- * all the procedures needed here (such as strtod).
- *
- * Copyright (c) 1991 The Regents of the University of California.
- * Copyright (c) 1994-1998 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _STDLIB
-#define _STDLIB
-
-extern void abort(void);
-extern double atof(const char *string);
-extern int atoi(const char *string);
-extern long atol(const char *string);
-extern char * calloc(unsigned int numElements, unsigned int size);
-extern void exit(int status);
-extern int free(char *blockPtr);
-extern char * getenv(const char *name);
-extern char * malloc(unsigned int numBytes);
-extern void qsort(void *base, int n, int size, int (*compar)(
- const void *element1, const void *element2));
-extern char * realloc(char *ptr, unsigned int numBytes);
-extern double strtod(const char *string, char **endPtr);
-extern long strtol(const char *string, char **endPtr, int base);
-extern unsigned long strtoul(const char *string, char **endPtr, int base);
-
-#endif /* _STDLIB */
diff --git a/tcl8.6/compat/string.h b/tcl8.6/compat/string.h
deleted file mode 100644
index 42be10c..0000000
--- a/tcl8.6/compat/string.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * string.h --
- *
- * Declarations of ANSI C library procedures for string handling.
- *
- * Copyright (c) 1991-1993 The Regents of the University of California.
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#ifndef _STRING
-#define _STRING
-
-/*
- * The following #include is needed to define size_t. (This used to include
- * sys/stdtypes.h but that doesn't exist on older versions of SunOS, e.g.
- * 4.0.2, so I'm trying sys/types.h now.... hopefully it exists everywhere)
- */
-
-#include <sys/types.h>
-
-#ifdef __APPLE__
-extern void * memchr(const void *s, int c, size_t n);
-#else
-extern char * memchr(const void *s, int c, size_t n);
-#endif
-extern int memcmp(const void *s1, const void *s2, size_t n);
-extern char * memcpy(void *t, const void *f, size_t n);
-#ifdef NO_MEMMOVE
-#define memmove(d,s,n) (bcopy((s), (d), (n)))
-#else
-extern char * memmove(void *t, const void *f, size_t n);
-#endif
-extern char * memset(void *s, int c, size_t n);
-
-extern int strcasecmp(const char *s1, const char *s2);
-extern char * strcat(char *dst, const char *src);
-extern char * strchr(const char *string, int c);
-extern int strcmp(const char *s1, const char *s2);
-extern char * strcpy(char *dst, const char *src);
-extern size_t strcspn(const char *string, const char *chars);
-extern char * strdup(const char *string);
-extern char * strerror(int error);
-extern size_t strlen(const char *string);
-extern int strncasecmp(const char *s1, const char *s2, size_t n);
-extern char * strncat(char *dst, const char *src, size_t numChars);
-extern int strncmp(const char *s1, const char *s2, size_t nChars);
-extern char * strncpy(char *dst, const char *src, size_t numChars);
-extern char * strpbrk(const char *string, const char *chars);
-extern char * strrchr(const char *string, int c);
-extern size_t strspn(const char *string, const char *chars);
-extern char * strstr(const char *string, const char *substring);
-extern char * strtok(char *s, const char *delim);
-
-#endif /* _STRING */
diff --git a/tcl8.6/compat/strncasecmp.c b/tcl8.6/compat/strncasecmp.c
deleted file mode 100644
index 0a69f35..0000000
--- a/tcl8.6/compat/strncasecmp.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * strncasecmp.c --
- *
- * Source code for the "strncasecmp" library routine.
- *
- * Copyright (c) 1988-1993 The Regents of the University of California.
- * Copyright (c) 1995-1996 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclPort.h"
-
-/*
- * This array is designed for mapping upper and lower case letter together for
- * a case independent comparison. The mappings are based upon ASCII character
- * sequences.
- */
-
-static const unsigned char charmap[] = {
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
- 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
- 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
- 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
- 0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
- 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
- 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
- 0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
- 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
- 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
- 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
- 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
- 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
- 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
- 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
- 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
- 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
- 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
- 0xc0, 0xe1, 0xe2, 0xe3, 0xe4, 0xc5, 0xe6, 0xe7,
- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
- 0xf8, 0xf9, 0xfa, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
- 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
- 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
-};
-
-/*
- * Here are the prototypes just in case they are not included in tclPort.h.
- */
-
-int strncasecmp(const char *s1, const char *s2, size_t n);
-int strcasecmp(const char *s1, const char *s2);
-
-/*
- *----------------------------------------------------------------------
- *
- * strcasecmp --
- *
- * Compares two strings, ignoring case differences.
- *
- * Results:
- * Compares two null-terminated strings s1 and s2, returning -1, 0, or 1
- * if s1 is lexicographically less than, equal to, or greater than s2.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-strcasecmp(
- const char *s1, /* First string. */
- const char *s2) /* Second string. */
-{
- unsigned char u1, u2;
-
- for ( ; ; s1++, s2++) {
- u1 = (unsigned char) *s1;
- u2 = (unsigned char) *s2;
- if ((u1 == '\0') || (charmap[u1] != charmap[u2])) {
- break;
- }
- }
- return charmap[u1] - charmap[u2];
-}
-
-/*
- *----------------------------------------------------------------------
- *
- * strncasecmp --
- *
- * Compares two strings, ignoring case differences.
- *
- * Results:
- * Compares up to length chars of s1 and s2, returning -1, 0, or 1 if s1
- * is lexicographically less than, equal to, or greater than s2 over
- * those characters.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-int
-strncasecmp(
- const char *s1, /* First string. */
- const char *s2, /* Second string. */
- size_t length) /* Maximum number of characters to compare
- * (stop earlier if the end of either string
- * is reached). */
-{
- unsigned char u1, u2;
-
- for (; length != 0; length--, s1++, s2++) {
- u1 = (unsigned char) *s1;
- u2 = (unsigned char) *s2;
- if (charmap[u1] != charmap[u2]) {
- return charmap[u1] - charmap[u2];
- }
- if (u1 == '\0') {
- return 0;
- }
- }
- return 0;
-}
diff --git a/tcl8.6/compat/strstr.c b/tcl8.6/compat/strstr.c
deleted file mode 100644
index e3b9b8d..0000000
--- a/tcl8.6/compat/strstr.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * strstr.c --
- *
- * Source code for the "strstr" library routine.
- *
- * Copyright (c) 1988-1993 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tcl.h"
-#ifndef NULL
-#define NULL 0
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * strstr --
- *
- * Locate the first instance of a substring in a string.
- *
- * Results:
- * If string contains substring, the return value is the location of the
- * first matching instance of substring in string. If string doesn't
- * contain substring, the return value is 0. Matching is done on an exact
- * character-for-character basis with no wildcards or special characters.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-char *
-strstr(
- register char *string, /* String to search. */
- char *substring) /* Substring to try to find in string. */
-{
- register char *a, *b;
-
- /*
- * First scan quickly through the two strings looking for a
- * single-character match. When it's found, then compare the rest of the
- * substring.
- */
-
- b = substring;
- if (*b == 0) {
- return string;
- }
- for ( ; *string != 0; string += 1) {
- if (*string != *b) {
- continue;
- }
- a = string;
- while (1) {
- if (*b == 0) {
- return string;
- }
- if (*a++ != *b++) {
- break;
- }
- }
- b = substring;
- }
- return NULL;
-}
diff --git a/tcl8.6/compat/strtod.c b/tcl8.6/compat/strtod.c
deleted file mode 100644
index 9643c09..0000000
--- a/tcl8.6/compat/strtod.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * strtod.c --
- *
- * Source code for the "strtod" library procedure.
- *
- * Copyright (c) 1988-1993 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclInt.h"
-
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-#ifndef NULL
-#define NULL 0
-#endif
-
-static const int maxExponent = 511; /* Largest possible base 10 exponent. Any
- * exponent larger than this will already
- * produce underflow or overflow, so there's
- * no need to worry about additional digits.
- */
-static const double powersOf10[] = { /* Table giving binary powers of 10. Entry */
- 10., /* is 10^2^i. Used to convert decimal */
- 100., /* exponents into floating-point numbers. */
- 1.0e4,
- 1.0e8,
- 1.0e16,
- 1.0e32,
- 1.0e64,
- 1.0e128,
- 1.0e256
-};
-
-/*
- *----------------------------------------------------------------------
- *
- * strtod --
- *
- * This procedure converts a floating-point number from an ASCII
- * decimal representation to internal double-precision format.
- *
- * Results:
- * The return value is the double-precision floating-point
- * representation of the characters in string. If endPtr isn't
- * NULL, then *endPtr is filled in with the address of the
- * next character after the last one that was part of the
- * floating-point number.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-double
-strtod(
- const char *string, /* A decimal ASCII floating-point number,
- * optionally preceded by white space. Must
- * have form "-I.FE-X", where I is the integer
- * part of the mantissa, F is the fractional
- * part of the mantissa, and X is the
- * exponent. Either of the signs may be "+",
- * "-", or omitted. Either I or F may be
- * omitted, or both. The decimal point isn't
- * necessary unless F is present. The "E" may
- * actually be an "e". E and X may both be
- * omitted (but not just one). */
- char **endPtr) /* If non-NULL, store terminating character's
- * address here. */
-{
- int sign, expSign = FALSE;
- double fraction, dblExp;
- const double *d;
- register const char *p;
- register int c;
- int exp = 0; /* Exponent read from "EX" field. */
- int fracExp = 0; /* Exponent that derives from the fractional
- * part. Under normal circumstatnces, it is
- * the negative of the number of digits in F.
- * However, if I is very long, the last digits
- * of I get dropped (otherwise a long I with a
- * large negative exponent could cause an
- * unnecessary overflow on I alone). In this
- * case, fracExp is incremented one for each
- * dropped digit. */
- int mantSize; /* Number of digits in mantissa. */
- int decPt; /* Number of mantissa digits BEFORE decimal
- * point. */
- const char *pExp; /* Temporarily holds location of exponent in
- * string. */
-
- /*
- * Strip off leading blanks and check for a sign.
- */
-
- p = string;
- while (isspace(UCHAR(*p))) {
- p += 1;
- }
- if (*p == '-') {
- sign = TRUE;
- p += 1;
- } else {
- if (*p == '+') {
- p += 1;
- }
- sign = FALSE;
- }
-
- /*
- * Count the number of digits in the mantissa (including the decimal
- * point), and also locate the decimal point.
- */
-
- decPt = -1;
- for (mantSize = 0; ; mantSize += 1)
- {
- c = *p;
- if (!isdigit(c)) {
- if ((c != '.') || (decPt >= 0)) {
- break;
- }
- decPt = mantSize;
- }
- p += 1;
- }
-
- /*
- * Now suck up the digits in the mantissa. Use two integers to collect 9
- * digits each (this is faster than using floating-point). If the mantissa
- * has more than 18 digits, ignore the extras, since they can't affect the
- * value anyway.
- */
-
- pExp = p;
- p -= mantSize;
- if (decPt < 0) {
- decPt = mantSize;
- } else {
- mantSize -= 1; /* One of the digits was the point. */
- }
- if (mantSize > 18) {
- fracExp = decPt - 18;
- mantSize = 18;
- } else {
- fracExp = decPt - mantSize;
- }
- if (mantSize == 0) {
- fraction = 0.0;
- p = string;
- goto done;
- } else {
- int frac1, frac2;
-
- frac1 = 0;
- for ( ; mantSize > 9; mantSize -= 1) {
- c = *p;
- p += 1;
- if (c == '.') {
- c = *p;
- p += 1;
- }
- frac1 = 10*frac1 + (c - '0');
- }
- frac2 = 0;
- for (; mantSize > 0; mantSize -= 1) {
- c = *p;
- p += 1;
- if (c == '.') {
- c = *p;
- p += 1;
- }
- frac2 = 10*frac2 + (c - '0');
- }
- fraction = (1.0e9 * frac1) + frac2;
- }
-
- /*
- * Skim off the exponent.
- */
-
- p = pExp;
- if ((*p == 'E') || (*p == 'e')) {
- p += 1;
- if (*p == '-') {
- expSign = TRUE;
- p += 1;
- } else {
- if (*p == '+') {
- p += 1;
- }
- expSign = FALSE;
- }
- if (!isdigit(UCHAR(*p))) {
- p = pExp;
- goto done;
- }
- while (isdigit(UCHAR(*p))) {
- exp = exp * 10 + (*p - '0');
- p += 1;
- }
- }
- if (expSign) {
- exp = fracExp - exp;
- } else {
- exp = fracExp + exp;
- }
-
- /*
- * Generate a floating-point number that represents the exponent. Do this
- * by processing the exponent one bit at a time to combine many powers of
- * 2 of 10. Then combine the exponent with the fraction.
- */
-
- if (exp < 0) {
- expSign = TRUE;
- exp = -exp;
- } else {
- expSign = FALSE;
- }
- if (exp > maxExponent) {
- exp = maxExponent;
- errno = ERANGE;
- }
- dblExp = 1.0;
- for (d = powersOf10; exp != 0; exp >>= 1, ++d) {
- if (exp & 01) {
- dblExp *= *d;
- }
- }
- if (expSign) {
- fraction /= dblExp;
- } else {
- fraction *= dblExp;
- }
-
- done:
- if (endPtr != NULL) {
- *endPtr = (char *) p;
- }
-
- if (sign) {
- return -fraction;
- }
- return fraction;
-}
diff --git a/tcl8.6/compat/strtol.c b/tcl8.6/compat/strtol.c
deleted file mode 100644
index 811006a..0000000
--- a/tcl8.6/compat/strtol.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * strtol.c --
- *
- * Source code for the "strtol" library procedure.
- *
- * Copyright (c) 1988 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclInt.h"
-
-/*
- *----------------------------------------------------------------------
- *
- * strtol --
- *
- * Convert an ASCII string into an integer.
- *
- * Results:
- * The return value is the integer equivalent of string. If endPtr is
- * non-NULL, then *endPtr is filled in with the character after the last
- * one that was part of the integer. If string doesn't contain a valid
- * integer value, then zero is returned and *endPtr is set to string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-long int
-strtol(
- const char *string, /* String of ASCII digits, possibly preceded
- * by white space. For bases greater than 10,
- * either lower- or upper-case digits may be
- * used. */
- char **endPtr, /* Where to store address of terminating
- * character, or NULL. */
- int base) /* Base for conversion. Must be less than 37.
- * If 0, then the base is chosen from the
- * leading characters of string: "0x" means
- * hex, "0" means octal, anything else means
- * decimal. */
-{
- register const char *p;
- long result;
-
- /*
- * Skip any leading blanks.
- */
-
- p = string;
- while (isspace(UCHAR(*p))) {
- p += 1;
- }
-
- /*
- * Check for a sign.
- */
-
- if (*p == '-') {
- p += 1;
- result = -(strtoul(p, endPtr, base));
- } else {
- if (*p == '+') {
- p += 1;
- }
- result = strtoul(p, endPtr, base);
- }
- if ((result == 0) && (endPtr != 0) && (*endPtr == p)) {
- *endPtr = (char *) string;
- }
- return result;
-}
diff --git a/tcl8.6/compat/strtoul.c b/tcl8.6/compat/strtoul.c
deleted file mode 100644
index 15587f1..0000000
--- a/tcl8.6/compat/strtoul.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * strtoul.c --
- *
- * Source code for the "strtoul" library procedure.
- *
- * Copyright (c) 1988 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclInt.h"
-
-/*
- * The table below is used to convert from ASCII digits to a numerical
- * equivalent. It maps from '0' through 'z' to integers (100 for non-digit
- * characters).
- */
-
-static const char cvtIn[] = {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* '0' - '9' */
- 100, 100, 100, 100, 100, 100, 100, /* punctuation */
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, /* 'A' - 'Z' */
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35,
- 100, 100, 100, 100, 100, 100, /* punctuation */
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, /* 'a' - 'z' */
- 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35};
-
-/*
- *----------------------------------------------------------------------
- *
- * strtoul --
- *
- * Convert an ASCII string into an integer.
- *
- * Results:
- * The return value is the integer equivalent of string. If endPtr is
- * non-NULL, then *endPtr is filled in with the character after the last
- * one that was part of the integer. If string doesn't contain a valid
- * integer value, then zero is returned and *endPtr is set to string.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-unsigned long int
-strtoul(
- const char *string, /* String of ASCII digits, possibly preceded
- * by white space. For bases greater than 10,
- * either lower- or upper-case digits may be
- * used. */
- char **endPtr, /* Where to store address of terminating
- * character, or NULL. */
- int base) /* Base for conversion. Must be less than 37.
- * If 0, then the base is chosen from the
- * leading characters of string: "0x" means
- * hex, "0" means octal, anything else means
- * decimal. */
-{
- register const char *p;
- register unsigned long int result = 0;
- register unsigned digit;
- int anyDigits = 0;
- int negative=0;
- int overflow=0;
-
- /*
- * Skip any leading blanks.
- */
-
- p = string;
- while (isspace(UCHAR(*p))) {
- p += 1;
- }
- if (*p == '-') {
- negative = 1;
- p += 1;
- } else {
- if (*p == '+') {
- p += 1;
- }
- }
-
- /*
- * If no base was provided, pick one from the leading characters of the
- * string.
- */
-
- if (base == 0) {
- if (*p == '0') {
- p += 1;
- if ((*p == 'x') || (*p == 'X')) {
- p += 1;
- base = 16;
- } else {
- /*
- * Must set anyDigits here, otherwise "0" produces a "no
- * digits" error.
- */
-
- anyDigits = 1;
- base = 8;
- }
- } else {
- base = 10;
- }
- } else if (base == 16) {
- /*
- * Skip a leading "0x" from hex numbers.
- */
-
- if ((p[0] == '0') && ((p[1] == 'x') || (p[1] == 'X'))) {
- p += 2;
- }
- }
-
- /*
- * Sorry this code is so messy, but speed seems important. Do different
- * things for base 8, 10, 16, and other.
- */
-
- if (base == 8) {
- unsigned long maxres = ULONG_MAX >> 3;
-
- for ( ; ; p += 1) {
- digit = *p - '0';
- if (digit > 7) {
- break;
- }
- if (result > maxres) { overflow = 1; }
- result = (result << 3);
- if (digit > (ULONG_MAX - result)) { overflow = 1; }
- result += digit;
- anyDigits = 1;
- }
- } else if (base == 10) {
- unsigned long maxres = ULONG_MAX / 10;
-
- for ( ; ; p += 1) {
- digit = *p - '0';
- if (digit > 9) {
- break;
- }
- if (result > maxres) { overflow = 1; }
- result *= 10;
- if (digit > (ULONG_MAX - result)) { overflow = 1; }
- result += digit;
- anyDigits = 1;
- }
- } else if (base == 16) {
- unsigned long maxres = ULONG_MAX >> 4;
-
- for ( ; ; p += 1) {
- digit = *p - '0';
- if (digit > ('z' - '0')) {
- break;
- }
- digit = cvtIn[digit];
- if (digit > 15) {
- break;
- }
- if (result > maxres) { overflow = 1; }
- result = (result << 4);
- if (digit > (ULONG_MAX - result)) { overflow = 1; }
- result += digit;
- anyDigits = 1;
- }
- } else if (base >= 2 && base <= 36) {
- unsigned long maxres = ULONG_MAX / base;
-
- for ( ; ; p += 1) {
- digit = *p - '0';
- if (digit > ('z' - '0')) {
- break;
- }
- digit = cvtIn[digit];
- if (digit >= ( (unsigned) base )) {
- break;
- }
- if (result > maxres) { overflow = 1; }
- result *= base;
- if (digit > (ULONG_MAX - result)) { overflow = 1; }
- result += digit;
- anyDigits = 1;
- }
- }
-
- /*
- * See if there were any digits at all.
- */
-
- if (!anyDigits) {
- p = string;
- }
-
- if (endPtr != 0) {
- /* unsafe, but required by the strtoul prototype */
- *endPtr = (char *) p;
- }
-
- if (overflow) {
- errno = ERANGE;
- return ULONG_MAX;
- }
- if (negative) {
- return -result;
- }
- return result;
-}
diff --git a/tcl8.6/compat/unistd.h b/tcl8.6/compat/unistd.h
deleted file mode 100644
index a8f14f2..0000000
--- a/tcl8.6/compat/unistd.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * unistd.h --
- *
- * Macros, constants and prototypes for Posix conformance.
- *
- * Copyright 1989 Regents of the University of California Permission to use,
- * copy, modify, and distribute this software and its documentation for any
- * purpose and without fee is hereby granted, provided that the above
- * copyright notice appear in all copies. The University of California makes
- * no representations about the suitability of this software for any purpose.
- * It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _UNISTD
-#define _UNISTD
-
-#include <sys/types.h>
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-/*
- * Strict POSIX stuff goes here. Extensions go down below, in the ifndef
- * _POSIX_SOURCE section.
- */
-
-extern void _exit(int status);
-extern int access(const char *path, int mode);
-extern int chdir(const char *path);
-extern int chown(const char *path, uid_t owner, gid_t group);
-extern int close(int fd);
-extern int dup(int oldfd);
-extern int dup2(int oldfd, int newfd);
-extern int execl(const char *path, ...);
-extern int execle(const char *path, ...);
-extern int execlp(const char *file, ...);
-extern int execv(const char *path, char **argv);
-extern int execve(const char *path, char **argv, char **envp);
-extern int execvpw(const char *file, char **argv);
-extern pid_t fork(void);
-extern char * getcwd(char *buf, size_t size);
-extern gid_t getegid(void);
-extern uid_t geteuid(void);
-extern gid_t getgid(void);
-extern int getgroups(int bufSize, int *buffer);
-extern pid_t getpid(void);
-extern uid_t getuid(void);
-extern int isatty(int fd);
-extern long lseek(int fd, long offset, int whence);
-extern int pipe(int *fildes);
-extern int read(int fd, char *buf, size_t size);
-extern int setgid(gid_t group);
-extern int setuid(uid_t user);
-extern unsigned sleep(unsigned seconds);
-extern char * ttyname(int fd);
-extern int unlink(const char *path);
-extern int write(int fd, const char *buf, size_t size);
-
-#ifndef _POSIX_SOURCE
-extern char * crypt(const char *, const char *);
-extern int fchown(int fd, uid_t owner, gid_t group);
-extern int flock(int fd, int operation);
-extern int ftruncate(int fd, unsigned long length);
-extern int ioctl(int fd, int request, ...);
-extern int readlink(const char *path, char *buf, int bufsize);
-extern int setegid(gid_t group);
-extern int seteuidw(uid_t user);
-extern int setreuid(int ruid, int euid);
-extern int symlink(const char *, const char *);
-extern int ttyslot(void);
-extern int truncate(const char *path, unsigned long length);
-extern int vfork(void);
-#endif /* _POSIX_SOURCE */
-
-#endif /* _UNISTD */
diff --git a/tcl8.6/compat/waitpid.c b/tcl8.6/compat/waitpid.c
deleted file mode 100644
index e03275a..0000000
--- a/tcl8.6/compat/waitpid.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * waitpid.c --
- *
- * This procedure emulates the POSIX waitpid kernel call on BSD systems
- * that don't have waitpid but do have wait3. This code is based on a
- * prototype version written by Mark Diekhans and Karl Lehenbauer.
- *
- * Copyright (c) 1993 The Regents of the University of California.
- * Copyright (c) 1994 Sun Microsystems, Inc.
- *
- * See the file "license.terms" for information on usage and redistribution of
- * this file, and for a DISCLAIMER OF ALL WARRANTIES.
- */
-
-#include "tclPort.h"
-
-#ifndef pid_t
-#define pid_t int
-#endif
-
-/*
- * A linked list of the following structures is used to keep track of
- * processes for which we received notification from the kernel, but the
- * application hasn't waited for them yet (this can happen because wait may
- * not return the process we really want). We save the information here until
- * the application finally does wait for the process.
- */
-
-typedef struct WaitInfo {
- pid_t pid; /* Pid of process that exited. */
- WAIT_STATUS_TYPE status; /* Status returned when child exited or
- * suspended. */
- struct WaitInfo *nextPtr; /* Next in list of exited processes. */
-} WaitInfo;
-
-static WaitInfo *deadList = NULL;
- /* First in list of all dead processes. */
-
-/*
- *----------------------------------------------------------------------
- *
- * waitpid --
- *
- * This procedure emulates the functionality of the POSIX waitpid kernel
- * call, using the BSD wait3 kernel call. Note: it doesn't emulate
- * absolutely all of the waitpid functionality, in that it doesn't
- * support pid's of 0 or < -1.
- *
- * Results:
- * -1 is returned if there is an error in the wait kernel call. Otherwise
- * the pid of an exited or suspended process is returned and *statusPtr
- * is set to the status value of the process.
- *
- * Side effects:
- * None.
- *
- *----------------------------------------------------------------------
- */
-
-#ifdef waitpid
-# undef waitpid
-#endif
-
-pid_t
-waitpid(
- pid_t pid, /* The pid to wait on. Must be -1 or greater
- * than zero. */
- int *statusPtr, /* Where to store wait status for the
- * process. */
- int options) /* OR'ed combination of WNOHANG and
- * WUNTRACED. */
-{
- register WaitInfo *waitPtr, *prevPtr;
- pid_t result;
- WAIT_STATUS_TYPE status;
-
- if ((pid < -1) || (pid == 0)) {
- errno = EINVAL;
- return -1;
- }
-
- /*
- * See if there's a suitable process that has already stopped or exited.
- * If so, remove it from the list of exited processes and return its
- * information.
- */
-
- for (waitPtr = deadList, prevPtr = NULL; waitPtr != NULL;
- prevPtr = waitPtr, waitPtr = waitPtr->nextPtr) {
- if ((pid != waitPtr->pid) && (pid != -1)) {
- continue;
- }
- if (!(options & WUNTRACED) && (WIFSTOPPED(waitPtr->status))) {
- continue;
- }
- result = waitPtr->pid;
- *statusPtr = *((int *) &waitPtr->status);
- if (prevPtr == NULL) {
- deadList = waitPtr->nextPtr;
- } else {
- prevPtr->nextPtr = waitPtr->nextPtr;
- }
- ckfree((char *) waitPtr);
- return result;
- }
-
- /*
- * Wait for any process to stop or exit. If it's an acceptable one then
- * return it to the caller; otherwise store information about it in the
- * list of exited processes and try again. On systems that have only wait
- * but not wait3, there are several situations we can't handle, but we do
- * the best we can (e.g. can still handle some combinations of options by
- * invoking wait instead of wait3).
- */
-
- while (1) {
-#if NO_WAIT3
- if (options & WNOHANG) {
- return 0;
- }
- if (options != 0) {
- errno = EINVAL;
- return -1;
- }
- result = wait(&status);
-#else
- result = wait3(&status, options, 0);
-#endif
- if ((result == -1) && (errno == EINTR)) {
- continue;
- }
- if (result <= 0) {
- return result;
- }
-
- if ((pid != result) && (pid != -1)) {
- goto saveInfo;
- }
- if (!(options & WUNTRACED) && (WIFSTOPPED(status))) {
- goto saveInfo;
- }
- *statusPtr = *((int *) &status);
- return result;
-
- /*
- * Can't return this info to caller. Save it in the list of stopped or
- * exited processes. Tricky point: first check for an existing entry
- * for the process and overwrite it if it exists (e.g. a previously
- * stopped process might now be dead).
- */
-
- saveInfo:
- for (waitPtr = deadList; waitPtr != NULL; waitPtr = waitPtr->nextPtr) {
- if (waitPtr->pid == result) {
- waitPtr->status = status;
- goto waitAgain;
- }
- }
- waitPtr = (WaitInfo *) ckalloc(sizeof(WaitInfo));
- waitPtr->pid = result;
- waitPtr->status = status;
- waitPtr->nextPtr = deadList;
- deadList = waitPtr;
-
- waitAgain:
- continue;
- }
-}
diff --git a/tcl8.6/compat/zlib/CMakeLists.txt b/tcl8.6/compat/zlib/CMakeLists.txt
deleted file mode 100644
index 0c0247c..0000000
--- a/tcl8.6/compat/zlib/CMakeLists.txt
+++ /dev/null
@@ -1,249 +0,0 @@
-cmake_minimum_required(VERSION 2.4.4)
-set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
-
-project(zlib C)
-
-set(VERSION "1.2.8")
-
-option(ASM686 "Enable building i686 assembly implementation")
-option(AMD64 "Enable building amd64 assembly implementation")
-
-set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
-set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
-set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
-set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
-set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
-
-include(CheckTypeSize)
-include(CheckFunctionExists)
-include(CheckIncludeFile)
-include(CheckCSourceCompiles)
-enable_testing()
-
-check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-check_include_file(stdint.h HAVE_STDINT_H)
-check_include_file(stddef.h HAVE_STDDEF_H)
-
-#
-# Check to see if we have large file support
-#
-set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
-# We add these other definitions here because CheckTypeSize.cmake
-# in CMake 2.4.x does not automatically do so and we want
-# compatibility with CMake 2.4.x.
-if(HAVE_SYS_TYPES_H)
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
-endif()
-if(HAVE_STDINT_H)
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
-endif()
-if(HAVE_STDDEF_H)
- list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
-endif()
-check_type_size(off64_t OFF64_T)
-if(HAVE_OFF64_T)
- add_definitions(-D_LARGEFILE64_SOURCE=1)
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
-
-#
-# Check for fseeko
-#
-check_function_exists(fseeko HAVE_FSEEKO)
-if(NOT HAVE_FSEEKO)
- add_definitions(-DNO_FSEEKO)
-endif()
-
-#
-# Check for unistd.h
-#
-check_include_file(unistd.h Z_HAVE_UNISTD_H)
-
-if(MSVC)
- set(CMAKE_DEBUG_POSTFIX "d")
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
- add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-endif()
-
-if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
- # If we're doing an out of source build and the user has a zconf.h
- # in their source tree...
- if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
- message(STATUS "Renaming")
- message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h")
- message(STATUS "to 'zconf.h.included' because this file is included with zlib")
- message(STATUS "but CMake generates it automatically in the build directory.")
- file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included)
- endif()
-endif()
-
-set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
-configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
- ${ZLIB_PC} @ONLY)
-configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
- ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
-
-
-#============================================================================
-# zlib
-#============================================================================
-
-set(ZLIB_PUBLIC_HDRS
- ${CMAKE_CURRENT_BINARY_DIR}/zconf.h
- zlib.h
-)
-set(ZLIB_PRIVATE_HDRS
- crc32.h
- deflate.h
- gzguts.h
- inffast.h
- inffixed.h
- inflate.h
- inftrees.h
- trees.h
- zutil.h
-)
-set(ZLIB_SRCS
- adler32.c
- compress.c
- crc32.c
- deflate.c
- gzclose.c
- gzlib.c
- gzread.c
- gzwrite.c
- inflate.c
- infback.c
- inftrees.c
- inffast.c
- trees.c
- uncompr.c
- zutil.c
-)
-
-if(NOT MINGW)
- set(ZLIB_DLL_SRCS
- win32/zlib1.rc # If present will override custom build rule below.
- )
-endif()
-
-if(CMAKE_COMPILER_IS_GNUCC)
- if(ASM686)
- set(ZLIB_ASMS contrib/asm686/match.S)
- elseif (AMD64)
- set(ZLIB_ASMS contrib/amd64/amd64-match.S)
- endif ()
-
- if(ZLIB_ASMS)
- add_definitions(-DASMV)
- set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
- endif()
-endif()
-
-if(MSVC)
- if(ASM686)
- ENABLE_LANGUAGE(ASM_MASM)
- set(ZLIB_ASMS
- contrib/masmx86/inffas32.asm
- contrib/masmx86/match686.asm
- )
- elseif (AMD64)
- ENABLE_LANGUAGE(ASM_MASM)
- set(ZLIB_ASMS
- contrib/masmx64/gvmat64.asm
- contrib/masmx64/inffasx64.asm
- )
- endif()
-
- if(ZLIB_ASMS)
- add_definitions(-DASMV -DASMINF)
- endif()
-endif()
-
-# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
-file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
-string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
- "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
-
-if(MINGW)
- # This gets us DLL resource information when compiling on MinGW.
- if(NOT CMAKE_RC_COMPILER)
- set(CMAKE_RC_COMPILER windres.exe)
- endif()
-
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
- COMMAND ${CMAKE_RC_COMPILER}
- -D GCC_WINDRES
- -I ${CMAKE_CURRENT_SOURCE_DIR}
- -I ${CMAKE_CURRENT_BINARY_DIR}
- -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
- -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
- set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
-endif(MINGW)
-
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
-set_target_properties(zlib PROPERTIES SOVERSION 1)
-
-if(NOT CYGWIN)
- # This property causes shared libraries on Linux to have the full version
- # encoded into their final filename. We disable this on Cygwin because
- # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll
- # seems to be the default.
- #
- # This has no effect with MSVC, on that platform the version info for
- # the DLL comes from the resource file win32/zlib1.rc
- set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
-endif()
-
-if(UNIX)
- # On unix-like platforms the library is almost always called libz
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
- if(NOT APPLE)
- set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
- endif()
-elseif(BUILD_SHARED_LIBS AND WIN32)
- # Creates zlib1.dll when building shared library version
- set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
-endif()
-
-if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
- install(TARGETS zlib zlibstatic
- RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
- ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
- LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
-endif()
-if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
- install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION "${INSTALL_INC_DIR}")
-endif()
-if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
- install(FILES zlib.3 DESTINATION "${INSTALL_MAN_DIR}/man3")
-endif()
-if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
- install(FILES ${ZLIB_PC} DESTINATION "${INSTALL_PKGCONFIG_DIR}")
-endif()
-
-#============================================================================
-# Example binaries
-#============================================================================
-
-add_executable(example test/example.c)
-target_link_libraries(example zlib)
-add_test(example example)
-
-add_executable(minigzip test/minigzip.c)
-target_link_libraries(minigzip zlib)
-
-if(HAVE_OFF64_T)
- add_executable(example64 test/example.c)
- target_link_libraries(example64 zlib)
- set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
- add_test(example64 example64)
-
- add_executable(minigzip64 test/minigzip.c)
- target_link_libraries(minigzip64 zlib)
- set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
-endif()
diff --git a/tcl8.6/compat/zlib/ChangeLog b/tcl8.6/compat/zlib/ChangeLog
deleted file mode 100644
index f22aaba..0000000
--- a/tcl8.6/compat/zlib/ChangeLog
+++ /dev/null
@@ -1,1472 +0,0 @@
-
- ChangeLog file for zlib
-
-Changes in 1.2.8 (28 Apr 2013)
-- Update contrib/minizip/iowin32.c for Windows RT [Vollant]
-- Do not force Z_CONST for C++
-- Clean up contrib/vstudio [Ro§]
-- Correct spelling error in zlib.h
-- Fix mixed line endings in contrib/vstudio
-
-Changes in 1.2.7.3 (13 Apr 2013)
-- Fix version numbers and DLL names in contrib/vstudio/*/zlib.rc
-
-Changes in 1.2.7.2 (13 Apr 2013)
-- Change check for a four-byte type back to hexadecimal
-- Fix typo in win32/Makefile.msc
-- Add casts in gzwrite.c for pointer differences
-
-Changes in 1.2.7.1 (24 Mar 2013)
-- Replace use of unsafe string functions with snprintf if available
-- Avoid including stddef.h on Windows for Z_SOLO compile [Niessink]
-- Fix gzgetc undefine when Z_PREFIX set [Turk]
-- Eliminate use of mktemp in Makefile (not always available)
-- Fix bug in 'F' mode for gzopen()
-- Add inflateGetDictionary() function
-- Correct comment in deflate.h
-- Use _snprintf for snprintf in Microsoft C
-- On Darwin, only use /usr/bin/libtool if libtool is not Apple
-- Delete "--version" file if created by "ar --version" [Richard G.]
-- Fix configure check for veracity of compiler error return codes
-- Fix CMake compilation of static lib for MSVC2010 x64
-- Remove unused variable in infback9.c
-- Fix argument checks in gzlog_compress() and gzlog_write()
-- Clean up the usage of z_const and respect const usage within zlib
-- Clean up examples/gzlog.[ch] comparisons of different types
-- Avoid shift equal to bits in type (caused endless loop)
-- Fix unintialized value bug in gzputc() introduced by const patches
-- Fix memory allocation error in examples/zran.c [Nor]
-- Fix bug where gzopen(), gzclose() would write an empty file
-- Fix bug in gzclose() when gzwrite() runs out of memory
-- Check for input buffer malloc failure in examples/gzappend.c
-- Add note to contrib/blast to use binary mode in stdio
-- Fix comparisons of differently signed integers in contrib/blast
-- Check for invalid code length codes in contrib/puff
-- Fix serious but very rare decompression bug in inftrees.c
-- Update inflateBack() comments, since inflate() can be faster
-- Use underscored I/O function names for WINAPI_FAMILY
-- Add _tr_flush_bits to the external symbols prefixed by --zprefix
-- Add contrib/vstudio/vc10 pre-build step for static only
-- Quote --version-script argument in CMakeLists.txt
-- Don't specify --version-script on Apple platforms in CMakeLists.txt
-- Fix casting error in contrib/testzlib/testzlib.c
-- Fix types in contrib/minizip to match result of get_crc_table()
-- Simplify contrib/vstudio/vc10 with 'd' suffix
-- Add TOP support to win32/Makefile.msc
-- Suport i686 and amd64 assembler builds in CMakeLists.txt
-- Fix typos in the use of _LARGEFILE64_SOURCE in zconf.h
-- Add vc11 and vc12 build files to contrib/vstudio
-- Add gzvprintf() as an undocumented function in zlib
-- Fix configure for Sun shell
-- Remove runtime check in configure for four-byte integer type
-- Add casts and consts to ease user conversion to C++
-- Add man pages for minizip and miniunzip
-- In Makefile uninstall, don't rm if preceding cd fails
-- Do not return Z_BUF_ERROR if deflateParam() has nothing to write
-
-Changes in 1.2.7 (2 May 2012)
-- Replace use of memmove() with a simple copy for portability
-- Test for existence of strerror
-- Restore gzgetc_ for backward compatibility with 1.2.6
-- Fix build with non-GNU make on Solaris
-- Require gcc 4.0 or later on Mac OS X to use the hidden attribute
-- Include unistd.h for Watcom C
-- Use __WATCOMC__ instead of __WATCOM__
-- Do not use the visibility attribute if NO_VIZ defined
-- Improve the detection of no hidden visibility attribute
-- Avoid using __int64 for gcc or solo compilation
-- Cast to char * in gzprintf to avoid warnings [Zinser]
-- Fix make_vms.com for VAX [Zinser]
-- Don't use library or built-in byte swaps
-- Simplify test and use of gcc hidden attribute
-- Fix bug in gzclose_w() when gzwrite() fails to allocate memory
-- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
-- Fix bug in test/minigzip.c for configure --solo
-- Fix contrib/vstudio project link errors [Mohanathas]
-- Add ability to choose the builder in make_vms.com [Schweda]
-- Add DESTDIR support to mingw32 win32/Makefile.gcc
-- Fix comments in win32/Makefile.gcc for proper usage
-- Allow overriding the default install locations for cmake
-- Generate and install the pkg-config file with cmake
-- Build both a static and a shared version of zlib with cmake
-- Include version symbols for cmake builds
-- If using cmake with MSVC, add the source directory to the includes
-- Remove unneeded EXTRA_CFLAGS from win32/Makefile.gcc [Truta]
-- Move obsolete emx makefile to old [Truta]
-- Allow the use of -Wundef when compiling or using zlib
-- Avoid the use of the -u option with mktemp
-- Improve inflate() documentation on the use of Z_FINISH
-- Recognize clang as gcc
-- Add gzopen_w() in Windows for wide character path names
-- Rename zconf.h in CMakeLists.txt to move it out of the way
-- Add source directory in CMakeLists.txt for building examples
-- Look in build directory for zlib.pc in CMakeLists.txt
-- Remove gzflags from zlibvc.def in vc9 and vc10
-- Fix contrib/minizip compilation in the MinGW environment
-- Update ./configure for Solaris, support --64 [Mooney]
-- Remove -R. from Solaris shared build (possible security issue)
-- Avoid race condition for parallel make (-j) running example
-- Fix type mismatch between get_crc_table() and crc_table
-- Fix parsing of version with "-" in CMakeLists.txt [Snider, Ziegler]
-- Fix the path to zlib.map in CMakeLists.txt
-- Force the native libtool in Mac OS X to avoid GNU libtool [Beebe]
-- Add instructions to win32/Makefile.gcc for shared install [Torri]
-
-Changes in 1.2.6.1 (12 Feb 2012)
-- Avoid the use of the Objective-C reserved name "id"
-- Include io.h in gzguts.h for Microsoft compilers
-- Fix problem with ./configure --prefix and gzgetc macro
-- Include gz_header definition when compiling zlib solo
-- Put gzflags() functionality back in zutil.c
-- Avoid library header include in crc32.c for Z_SOLO
-- Use name in GCC_CLASSIC as C compiler for coverage testing, if set
-- Minor cleanup in contrib/minizip/zip.c [Vollant]
-- Update make_vms.com [Zinser]
-- Remove unnecessary gzgetc_ function
-- Use optimized byte swap operations for Microsoft and GNU [Snyder]
-- Fix minor typo in zlib.h comments [Rzesniowiecki]
-
-Changes in 1.2.6 (29 Jan 2012)
-- Update the Pascal interface in contrib/pascal
-- Fix function numbers for gzgetc_ in zlibvc.def files
-- Fix configure.ac for contrib/minizip [Schiffer]
-- Fix large-entry detection in minizip on 64-bit systems [Schiffer]
-- Have ./configure use the compiler return code for error indication
-- Fix CMakeLists.txt for cross compilation [McClure]
-- Fix contrib/minizip/zip.c for 64-bit architectures [Dalsnes]
-- Fix compilation of contrib/minizip on FreeBSD [Marquez]
-- Correct suggested usages in win32/Makefile.msc [Shachar, Horvath]
-- Include io.h for Turbo C / Borland C on all platforms [Truta]
-- Make version explicit in contrib/minizip/configure.ac [Bosmans]
-- Avoid warning for no encryption in contrib/minizip/zip.c [Vollant]
-- Minor cleanup up contrib/minizip/unzip.c [Vollant]
-- Fix bug when compiling minizip with C++ [Vollant]
-- Protect for long name and extra fields in contrib/minizip [Vollant]
-- Avoid some warnings in contrib/minizip [Vollant]
-- Add -I../.. -L../.. to CFLAGS for minizip and miniunzip
-- Add missing libs to minizip linker command
-- Add support for VPATH builds in contrib/minizip
-- Add an --enable-demos option to contrib/minizip/configure
-- Add the generation of configure.log by ./configure
-- Exit when required parameters not provided to win32/Makefile.gcc
-- Have gzputc return the character written instead of the argument
-- Use the -m option on ldconfig for BSD systems [Tobias]
-- Correct in zlib.map when deflateResetKeep was added
-
-Changes in 1.2.5.3 (15 Jan 2012)
-- Restore gzgetc function for binary compatibility
-- Do not use _lseeki64 under Borland C++ [Truta]
-- Update win32/Makefile.msc to build test/*.c [Truta]
-- Remove old/visualc6 given CMakefile and other alternatives
-- Update AS400 build files and documentation [Monnerat]
-- Update win32/Makefile.gcc to build test/*.c [Truta]
-- Permit stronger flushes after Z_BLOCK flushes
-- Avoid extraneous empty blocks when doing empty flushes
-- Permit Z_NULL arguments to deflatePending
-- Allow deflatePrime() to insert bits in the middle of a stream
-- Remove second empty static block for Z_PARTIAL_FLUSH
-- Write out all of the available bits when using Z_BLOCK
-- Insert the first two strings in the hash table after a flush
-
-Changes in 1.2.5.2 (17 Dec 2011)
-- fix ld error: unable to find version dependency 'ZLIB_1.2.5'
-- use relative symlinks for shared libs
-- Avoid searching past window for Z_RLE strategy
-- Assure that high-water mark initialization is always applied in deflate
-- Add assertions to fill_window() in deflate.c to match comments
-- Update python link in README
-- Correct spelling error in gzread.c
-- Fix bug in gzgets() for a concatenated empty gzip stream
-- Correct error in comment for gz_make()
-- Change gzread() and related to ignore junk after gzip streams
-- Allow gzread() and related to continue after gzclearerr()
-- Allow gzrewind() and gzseek() after a premature end-of-file
-- Simplify gzseek() now that raw after gzip is ignored
-- Change gzgetc() to a macro for speed (~40% speedup in testing)
-- Fix gzclose() to return the actual error last encountered
-- Always add large file support for windows
-- Include zconf.h for windows large file support
-- Include zconf.h.cmakein for windows large file support
-- Update zconf.h.cmakein on make distclean
-- Merge vestigial vsnprintf determination from zutil.h to gzguts.h
-- Clarify how gzopen() appends in zlib.h comments
-- Correct documentation of gzdirect() since junk at end now ignored
-- Add a transparent write mode to gzopen() when 'T' is in the mode
-- Update python link in zlib man page
-- Get inffixed.h and MAKEFIXED result to match
-- Add a ./config --solo option to make zlib subset with no libary use
-- Add undocumented inflateResetKeep() function for CAB file decoding
-- Add --cover option to ./configure for gcc coverage testing
-- Add #define ZLIB_CONST option to use const in the z_stream interface
-- Add comment to gzdopen() in zlib.h to use dup() when using fileno()
-- Note behavior of uncompress() to provide as much data as it can
-- Add files in contrib/minizip to aid in building libminizip
-- Split off AR options in Makefile.in and configure
-- Change ON macro to Z_ARG to avoid application conflicts
-- Facilitate compilation with Borland C++ for pragmas and vsnprintf
-- Include io.h for Turbo C / Borland C++
-- Move example.c and minigzip.c to test/
-- Simplify incomplete code table filling in inflate_table()
-- Remove code from inflate.c and infback.c that is impossible to execute
-- Test the inflate code with full coverage
-- Allow deflateSetDictionary, inflateSetDictionary at any time (in raw)
-- Add deflateResetKeep and fix inflateResetKeep to retain dictionary
-- Fix gzwrite.c to accommodate reduced memory zlib compilation
-- Have inflate() with Z_FINISH avoid the allocation of a window
-- Do not set strm->adler when doing raw inflate
-- Fix gzeof() to behave just like feof() when read is not past end of file
-- Fix bug in gzread.c when end-of-file is reached
-- Avoid use of Z_BUF_ERROR in gz* functions except for premature EOF
-- Document gzread() capability to read concurrently written files
-- Remove hard-coding of resource compiler in CMakeLists.txt [Blammo]
-
-Changes in 1.2.5.1 (10 Sep 2011)
-- Update FAQ entry on shared builds (#13)
-- Avoid symbolic argument to chmod in Makefile.in
-- Fix bug and add consts in contrib/puff [Oberhumer]
-- Update contrib/puff/zeros.raw test file to have all block types
-- Add full coverage test for puff in contrib/puff/Makefile
-- Fix static-only-build install in Makefile.in
-- Fix bug in unzGetCurrentFileInfo() in contrib/minizip [Kuno]
-- Add libz.a dependency to shared in Makefile.in for parallel builds
-- Spell out "number" (instead of "nb") in zlib.h for total_in, total_out
-- Replace $(...) with `...` in configure for non-bash sh [Bowler]
-- Add darwin* to Darwin* and solaris* to SunOS\ 5* in configure [Groffen]
-- Add solaris* to Linux* in configure to allow gcc use [Groffen]
-- Add *bsd* to Linux* case in configure [Bar-Lev]
-- Add inffast.obj to dependencies in win32/Makefile.msc
-- Correct spelling error in deflate.h [Kohler]
-- Change libzdll.a again to libz.dll.a (!) in win32/Makefile.gcc
-- Add test to configure for GNU C looking for gcc in output of $cc -v
-- Add zlib.pc generation to win32/Makefile.gcc [Weigelt]
-- Fix bug in zlib.h for _FILE_OFFSET_BITS set and _LARGEFILE64_SOURCE not
-- Add comment in zlib.h that adler32_combine with len2 < 0 makes no sense
-- Make NO_DIVIDE option in adler32.c much faster (thanks to John Reiser)
-- Make stronger test in zconf.h to include unistd.h for LFS
-- Apply Darwin patches for 64-bit file offsets to contrib/minizip [Slack]
-- Fix zlib.h LFS support when Z_PREFIX used
-- Add updated as400 support (removed from old) [Monnerat]
-- Avoid deflate sensitivity to volatile input data
-- Avoid division in adler32_combine for NO_DIVIDE
-- Clarify the use of Z_FINISH with deflateBound() amount of space
-- Set binary for output file in puff.c
-- Use u4 type for crc_table to avoid conversion warnings
-- Apply casts in zlib.h to avoid conversion warnings
-- Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller]
-- Improve inflateSync() documentation to note indeterminancy
-- Add deflatePending() function to return the amount of pending output
-- Correct the spelling of "specification" in FAQ [Randers-Pehrson]
-- Add a check in configure for stdarg.h, use for gzprintf()
-- Check that pointers fit in ints when gzprint() compiled old style
-- Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler]
-- Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt]
-- Add debug records in assmebler code [Londer]
-- Update RFC references to use http://tools.ietf.org/html/... [Li]
-- Add --archs option, use of libtool to configure for Mac OS X [Borstel]
-
-Changes in 1.2.5 (19 Apr 2010)
-- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev]
-- Default to libdir as sharedlibdir in configure [Nieder]
-- Update copyright dates on modified source files
-- Update trees.c to be able to generate modified trees.h
-- Exit configure for MinGW, suggesting win32/Makefile.gcc
-- Check for NULL path in gz_open [Homurlu]
-
-Changes in 1.2.4.5 (18 Apr 2010)
-- Set sharedlibdir in configure [Torok]
-- Set LDFLAGS in Makefile.in [Bar-Lev]
-- Avoid mkdir objs race condition in Makefile.in [Bowler]
-- Add ZLIB_INTERNAL in front of internal inter-module functions and arrays
-- Define ZLIB_INTERNAL to hide internal functions and arrays for GNU C
-- Don't use hidden attribute when it is a warning generator (e.g. Solaris)
-
-Changes in 1.2.4.4 (18 Apr 2010)
-- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [Torok]
-- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty
-- Try to use bash or ksh regardless of functionality of /bin/sh
-- Fix configure incompatibility with NetBSD sh
-- Remove attempt to run under bash or ksh since have better NetBSD fix
-- Fix win32/Makefile.gcc for MinGW [Bar-Lev]
-- Add diagnostic messages when using CROSS_PREFIX in configure
-- Added --sharedlibdir option to configure [Weigelt]
-- Use hidden visibility attribute when available [Frysinger]
-
-Changes in 1.2.4.3 (10 Apr 2010)
-- Only use CROSS_PREFIX in configure for ar and ranlib if they exist
-- Use CROSS_PREFIX for nm [Bar-Lev]
-- Assume _LARGEFILE64_SOURCE defined is equivalent to true
-- Avoid use of undefined symbols in #if with && and ||
-- Make *64 prototypes in gzguts.h consistent with functions
-- Add -shared load option for MinGW in configure [Bowler]
-- Move z_off64_t to public interface, use instead of off64_t
-- Remove ! from shell test in configure (not portable to Solaris)
-- Change +0 macro tests to -0 for possibly increased portability
-
-Changes in 1.2.4.2 (9 Apr 2010)
-- Add consistent carriage returns to readme.txt's in masmx86 and masmx64
-- Really provide prototypes for *64 functions when building without LFS
-- Only define unlink() in minigzip.c if unistd.h not included
-- Update README to point to contrib/vstudio project files
-- Move projects/vc6 to old/ and remove projects/
-- Include stdlib.h in minigzip.c for setmode() definition under WinCE
-- Clean up assembler builds in win32/Makefile.msc [Rowe]
-- Include sys/types.h for Microsoft for off_t definition
-- Fix memory leak on error in gz_open()
-- Symbolize nm as $NM in configure [Weigelt]
-- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt]
-- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined
-- Fix bug in gzeof() to take into account unused input data
-- Avoid initialization of structures with variables in puff.c
-- Updated win32/README-WIN32.txt [Rowe]
-
-Changes in 1.2.4.1 (28 Mar 2010)
-- Remove the use of [a-z] constructs for sed in configure [gentoo 310225]
-- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech]
-- Restore "for debugging" comment on sprintf() in gzlib.c
-- Remove fdopen for MVS from gzguts.h
-- Put new README-WIN32.txt in win32 [Rowe]
-- Add check for shell to configure and invoke another shell if needed
-- Fix big fat stinking bug in gzseek() on uncompressed files
-- Remove vestigial F_OPEN64 define in zutil.h
-- Set and check the value of _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE
-- Avoid errors on non-LFS systems when applications define LFS macros
-- Set EXE to ".exe" in configure for MINGW [Kahle]
-- Match crc32() in crc32.c exactly to the prototype in zlib.h [Sherrill]
-- Add prefix for cross-compilation in win32/makefile.gcc [Bar-Lev]
-- Add DLL install in win32/makefile.gcc [Bar-Lev]
-- Allow Linux* or linux* from uname in configure [Bar-Lev]
-- Allow ldconfig to be redefined in configure and Makefile.in [Bar-Lev]
-- Add cross-compilation prefixes to configure [Bar-Lev]
-- Match type exactly in gz_load() invocation in gzread.c
-- Match type exactly of zcalloc() in zutil.c to zlib.h alloc_func
-- Provide prototypes for *64 functions when building zlib without LFS
-- Don't use -lc when linking shared library on MinGW
-- Remove errno.h check in configure and vestigial errno code in zutil.h
-
-Changes in 1.2.4 (14 Mar 2010)
-- Fix VER3 extraction in configure for no fourth subversion
-- Update zlib.3, add docs to Makefile.in to make .pdf out of it
-- Add zlib.3.pdf to distribution
-- Don't set error code in gzerror() if passed pointer is NULL
-- Apply destination directory fixes to CMakeLists.txt [Lowman]
-- Move #cmakedefine's to a new zconf.in.cmakein
-- Restore zconf.h for builds that don't use configure or cmake
-- Add distclean to dummy Makefile for convenience
-- Update and improve INDEX, README, and FAQ
-- Update CMakeLists.txt for the return of zconf.h [Lowman]
-- Update contrib/vstudio/vc9 and vc10 [Vollant]
-- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc
-- Apply license and readme changes to contrib/asm686 [Raiter]
-- Check file name lengths and add -c option in minigzip.c [Li]
-- Update contrib/amd64 and contrib/masmx86/ [Vollant]
-- Avoid use of "eof" parameter in trees.c to not shadow library variable
-- Update make_vms.com for removal of zlibdefs.h [Zinser]
-- Update assembler code and vstudio projects in contrib [Vollant]
-- Remove outdated assembler code contrib/masm686 and contrib/asm586
-- Remove old vc7 and vc8 from contrib/vstudio
-- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe]
-- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open()
-- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant]
-- Remove *64 functions from win32/zlib.def (they're not 64-bit yet)
-- Fix bug in void-returning vsprintf() case in gzwrite.c
-- Fix name change from inflate.h in contrib/inflate86/inffas86.c
-- Check if temporary file exists before removing in make_vms.com [Zinser]
-- Fix make install and uninstall for --static option
-- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta]
-- Update readme.txt in contrib/masmx64 and masmx86 to assemble
-
-Changes in 1.2.3.9 (21 Feb 2010)
-- Expunge gzio.c
-- Move as400 build information to old
-- Fix updates in contrib/minizip and contrib/vstudio
-- Add const to vsnprintf test in configure to avoid warnings [Weigelt]
-- Delete zconf.h (made by configure) [Weigelt]
-- Change zconf.in.h to zconf.h.in per convention [Weigelt]
-- Check for NULL buf in gzgets()
-- Return empty string for gzgets() with len == 1 (like fgets())
-- Fix description of gzgets() in zlib.h for end-of-file, NULL return
-- Update minizip to 1.1 [Vollant]
-- Avoid MSVC loss of data warnings in gzread.c, gzwrite.c
-- Note in zlib.h that gzerror() should be used to distinguish from EOF
-- Remove use of snprintf() from gzlib.c
-- Fix bug in gzseek()
-- Update contrib/vstudio, adding vc9 and vc10 [Kuno, Vollant]
-- Fix zconf.h generation in CMakeLists.txt [Lowman]
-- Improve comments in zconf.h where modified by configure
-
-Changes in 1.2.3.8 (13 Feb 2010)
-- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer]
-- Use z_off64_t in gz_zero() and gz_skip() to match state->skip
-- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t)
-- Revert to Makefile.in from 1.2.3.6 (live with the clutter)
-- Fix missing error return in gzflush(), add zlib.h note
-- Add *64 functions to zlib.map [Levin]
-- Fix signed/unsigned comparison in gz_comp()
-- Use SFLAGS when testing shared linking in configure
-- Add --64 option to ./configure to use -m64 with gcc
-- Fix ./configure --help to correctly name options
-- Have make fail if a test fails [Levin]
-- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson]
-- Remove assembler object files from contrib
-
-Changes in 1.2.3.7 (24 Jan 2010)
-- Always gzopen() with O_LARGEFILE if available
-- Fix gzdirect() to work immediately after gzopen() or gzdopen()
-- Make gzdirect() more precise when the state changes while reading
-- Improve zlib.h documentation in many places
-- Catch memory allocation failure in gz_open()
-- Complete close operation if seek forward in gzclose_w() fails
-- Return Z_ERRNO from gzclose_r() if close() fails
-- Return Z_STREAM_ERROR instead of EOF for gzclose() being passed NULL
-- Return zero for gzwrite() errors to match zlib.h description
-- Return -1 on gzputs() error to match zlib.h description
-- Add zconf.in.h to allow recovery from configure modification [Weigelt]
-- Fix static library permissions in Makefile.in [Weigelt]
-- Avoid warnings in configure tests that hide functionality [Weigelt]
-- Add *BSD and DragonFly to Linux case in configure [gentoo 123571]
-- Change libzdll.a to libz.dll.a in win32/Makefile.gcc [gentoo 288212]
-- Avoid access of uninitialized data for first inflateReset2 call [Gomes]
-- Keep object files in subdirectories to reduce the clutter somewhat
-- Remove default Makefile and zlibdefs.h, add dummy Makefile
-- Add new external functions to Z_PREFIX, remove duplicates, z_z_ -> z_
-- Remove zlibdefs.h completely -- modify zconf.h instead
-
-Changes in 1.2.3.6 (17 Jan 2010)
-- Avoid void * arithmetic in gzread.c and gzwrite.c
-- Make compilers happier with const char * for gz_error message
-- Avoid unused parameter warning in inflate.c
-- Avoid signed-unsigned comparison warning in inflate.c
-- Indent #pragma's for traditional C
-- Fix usage of strwinerror() in glib.c, change to gz_strwinerror()
-- Correct email address in configure for system options
-- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser]
-- Update zlib.map [Brown]
-- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Torok]
-- Apply various fixes to CMakeLists.txt [Lowman]
-- Add checks on len in gzread() and gzwrite()
-- Add error message for no more room for gzungetc()
-- Remove zlib version check in gzwrite()
-- Defer compression of gzprintf() result until need to
-- Use snprintf() in gzdopen() if available
-- Remove USE_MMAP configuration determination (only used by minigzip)
-- Remove examples/pigz.c (available separately)
-- Update examples/gun.c to 1.6
-
-Changes in 1.2.3.5 (8 Jan 2010)
-- Add space after #if in zutil.h for some compilers
-- Fix relatively harmless bug in deflate_fast() [Exarevsky]
-- Fix same problem in deflate_slow()
-- Add $(SHAREDLIBV) to LIBS in Makefile.in [Brown]
-- Add deflate_rle() for faster Z_RLE strategy run-length encoding
-- Add deflate_huff() for faster Z_HUFFMAN_ONLY encoding
-- Change name of "write" variable in inffast.c to avoid library collisions
-- Fix premature EOF from gzread() in gzio.c [Brown]
-- Use zlib header window size if windowBits is 0 in inflateInit2()
-- Remove compressBound() call in deflate.c to avoid linking compress.o
-- Replace use of errno in gz* with functions, support WinCE [Alves]
-- Provide alternative to perror() in minigzip.c for WinCE [Alves]
-- Don't use _vsnprintf on later versions of MSVC [Lowman]
-- Add CMake build script and input file [Lowman]
-- Update contrib/minizip to 1.1 [Svensson, Vollant]
-- Moved nintendods directory from contrib to .
-- Replace gzio.c with a new set of routines with the same functionality
-- Add gzbuffer(), gzoffset(), gzclose_r(), gzclose_w() as part of above
-- Update contrib/minizip to 1.1b
-- Change gzeof() to return 0 on error instead of -1 to agree with zlib.h
-
-Changes in 1.2.3.4 (21 Dec 2009)
-- Use old school .SUFFIXES in Makefile.in for FreeBSD compatibility
-- Update comments in configure and Makefile.in for default --shared
-- Fix test -z's in configure [Marquess]
-- Build examplesh and minigzipsh when not testing
-- Change NULL's to Z_NULL's in deflate.c and in comments in zlib.h
-- Import LDFLAGS from the environment in configure
-- Fix configure to populate SFLAGS with discovered CFLAGS options
-- Adapt make_vms.com to the new Makefile.in [Zinser]
-- Add zlib2ansi script for C++ compilation [Marquess]
-- Add _FILE_OFFSET_BITS=64 test to make test (when applicable)
-- Add AMD64 assembler code for longest match to contrib [Teterin]
-- Include options from $SFLAGS when doing $LDSHARED
-- Simplify 64-bit file support by introducing z_off64_t type
-- Make shared object files in objs directory to work around old Sun cc
-- Use only three-part version number for Darwin shared compiles
-- Add rc option to ar in Makefile.in for when ./configure not run
-- Add -WI,-rpath,. to LDFLAGS for OSF 1 V4*
-- Set LD_LIBRARYN32_PATH for SGI IRIX shared compile
-- Protect against _FILE_OFFSET_BITS being defined when compiling zlib
-- Rename Makefile.in targets allstatic to static and allshared to shared
-- Fix static and shared Makefile.in targets to be independent
-- Correct error return bug in gz_open() by setting state [Brown]
-- Put spaces before ;;'s in configure for better sh compatibility
-- Add pigz.c (parallel implementation of gzip) to examples/
-- Correct constant in crc32.c to UL [Leventhal]
-- Reject negative lengths in crc32_combine()
-- Add inflateReset2() function to work like inflateEnd()/inflateInit2()
-- Include sys/types.h for _LARGEFILE64_SOURCE [Brown]
-- Correct typo in doc/algorithm.txt [Janik]
-- Fix bug in adler32_combine() [Zhu]
-- Catch missing-end-of-block-code error in all inflates and in puff
- Assures that random input to inflate eventually results in an error
-- Added enough.c (calculation of ENOUGH for inftrees.h) to examples/
-- Update ENOUGH and its usage to reflect discovered bounds
-- Fix gzerror() error report on empty input file [Brown]
-- Add ush casts in trees.c to avoid pedantic runtime errors
-- Fix typo in zlib.h uncompress() description [Reiss]
-- Correct inflate() comments with regard to automatic header detection
-- Remove deprecation comment on Z_PARTIAL_FLUSH (it stays)
-- Put new version of gzlog (2.0) in examples with interruption recovery
-- Add puff compile option to permit invalid distance-too-far streams
-- Add puff TEST command options, ability to read piped input
-- Prototype the *64 functions in zlib.h when _FILE_OFFSET_BITS == 64, but
- _LARGEFILE64_SOURCE not defined
-- Fix Z_FULL_FLUSH to truly erase the past by resetting s->strstart
-- Fix deflateSetDictionary() to use all 32K for output consistency
-- Remove extraneous #define MIN_LOOKAHEAD in deflate.c (in deflate.h)
-- Clear bytes after deflate lookahead to avoid use of uninitialized data
-- Change a limit in inftrees.c to be more transparent to Coverity Prevent
-- Update win32/zlib.def with exported symbols from zlib.h
-- Correct spelling errors in zlib.h [Willem, Sobrado]
-- Allow Z_BLOCK for deflate() to force a new block
-- Allow negative bits in inflatePrime() to delete existing bit buffer
-- Add Z_TREES flush option to inflate() to return at end of trees
-- Add inflateMark() to return current state information for random access
-- Add Makefile for NintendoDS to contrib [Costa]
-- Add -w in configure compile tests to avoid spurious warnings [Beucler]
-- Fix typos in zlib.h comments for deflateSetDictionary()
-- Fix EOF detection in transparent gzread() [Maier]
-
-Changes in 1.2.3.3 (2 October 2006)
-- Make --shared the default for configure, add a --static option
-- Add compile option to permit invalid distance-too-far streams
-- Add inflateUndermine() function which is required to enable above
-- Remove use of "this" variable name for C++ compatibility [Marquess]
-- Add testing of shared library in make test, if shared library built
-- Use ftello() and fseeko() if available instead of ftell() and fseek()
-- Provide two versions of all functions that use the z_off_t type for
- binary compatibility -- a normal version and a 64-bit offset version,
- per the Large File Support Extension when _LARGEFILE64_SOURCE is
- defined; use the 64-bit versions by default when _FILE_OFFSET_BITS
- is defined to be 64
-- Add a --uname= option to configure to perhaps help with cross-compiling
-
-Changes in 1.2.3.2 (3 September 2006)
-- Turn off silly Borland warnings [Hay]
-- Use off64_t and define _LARGEFILE64_SOURCE when present
-- Fix missing dependency on inffixed.h in Makefile.in
-- Rig configure --shared to build both shared and static [Teredesai, Truta]
-- Remove zconf.in.h and instead create a new zlibdefs.h file
-- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant]
-- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt]
-
-Changes in 1.2.3.1 (16 August 2006)
-- Add watcom directory with OpenWatcom make files [Daniel]
-- Remove #undef of FAR in zconf.in.h for MVS [Fedtke]
-- Update make_vms.com [Zinser]
-- Use -fPIC for shared build in configure [Teredesai, Nicholson]
-- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen]
-- Use fdopen() (not _fdopen()) for Interix in zutil.h [BŠck]
-- Add some FAQ entries about the contrib directory
-- Update the MVS question in the FAQ
-- Avoid extraneous reads after EOF in gzio.c [Brown]
-- Correct spelling of "successfully" in gzio.c [Randers-Pehrson]
-- Add comments to zlib.h about gzerror() usage [Brown]
-- Set extra flags in gzip header in gzopen() like deflate() does
-- Make configure options more compatible with double-dash conventions
- [Weigelt]
-- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen]
-- Fix uninstall target in Makefile.in [Truta]
-- Add pkgconfig support [Weigelt]
-- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt]
-- Replace set_data_type() with a more accurate detect_data_type() in
- trees.c, according to the txtvsbin.txt document [Truta]
-- Swap the order of #include <stdio.h> and #include "zlib.h" in
- gzio.c, example.c and minigzip.c [Truta]
-- Shut up annoying VS2005 warnings about standard C deprecation [Rowe,
- Truta] (where?)
-- Fix target "clean" from win32/Makefile.bor [Truta]
-- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe]
-- Update zlib www home address in win32/DLL_FAQ.txt [Truta]
-- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove]
-- Enable browse info in the "Debug" and "ASM Debug" configurations in
- the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta]
-- Add pkgconfig support [Weigelt]
-- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h,
- for use in win32/zlib1.rc [Polushin, Rowe, Truta]
-- Add a document that explains the new text detection scheme to
- doc/txtvsbin.txt [Truta]
-- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta]
-- Move algorithm.txt into doc/ [Truta]
-- Synchronize FAQ with website
-- Fix compressBound(), was low for some pathological cases [Fearnley]
-- Take into account wrapper variations in deflateBound()
-- Set examples/zpipe.c input and output to binary mode for Windows
-- Update examples/zlib_how.html with new zpipe.c (also web site)
-- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems
- that gcc became pickier in 4.0)
-- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain
- un-versioned, the patch adds versioning only for symbols introduced in
- zlib-1.2.0 or later. It also declares as local those symbols which are
- not designed to be exported." [Levin]
-- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure
-- Do not initialize global static by default in trees.c, add a response
- NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess]
-- Don't use strerror() in gzio.c under WinCE [Yakimov]
-- Don't use errno.h in zutil.h under WinCE [Yakimov]
-- Move arguments for AR to its usage to allow replacing ar [Marot]
-- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson]
-- Improve inflateInit() and inflateInit2() documentation
-- Fix structure size comment in inflate.h
-- Change configure help option from --h* to --help [Santos]
-
-Changes in 1.2.3 (18 July 2005)
-- Apply security vulnerability fixes to contrib/infback9 as well
-- Clean up some text files (carriage returns, trailing space)
-- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant]
-
-Changes in 1.2.2.4 (11 July 2005)
-- Add inflatePrime() function for starting inflation at bit boundary
-- Avoid some Visual C warnings in deflate.c
-- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit
- compile
-- Fix some spelling errors in comments [Betts]
-- Correct inflateInit2() error return documentation in zlib.h
-- Add zran.c example of compressed data random access to examples
- directory, shows use of inflatePrime()
-- Fix cast for assignments to strm->state in inflate.c and infback.c
-- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer]
-- Move declarations of gf2 functions to right place in crc32.c [Oberhumer]
-- Add cast in trees.c t avoid a warning [Oberhumer]
-- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer]
-- Update make_vms.com [Zinser]
-- Initialize state->write in inflateReset() since copied in inflate_fast()
-- Be more strict on incomplete code sets in inflate_table() and increase
- ENOUGH and MAXD -- this repairs a possible security vulnerability for
- invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for
- discovering the vulnerability and providing test cases.
-- Add ia64 support to configure for HP-UX [Smith]
-- Add error return to gzread() for format or i/o error [Levin]
-- Use malloc.h for OS/2 [Necasek]
-
-Changes in 1.2.2.3 (27 May 2005)
-- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile
-- Typecast fread() return values in gzio.c [Vollant]
-- Remove trailing space in minigzip.c outmode (VC++ can't deal with it)
-- Fix crc check bug in gzread() after gzungetc() [Heiner]
-- Add the deflateTune() function to adjust internal compression parameters
-- Add a fast gzip decompressor, gun.c, to examples (use of inflateBack)
-- Remove an incorrect assertion in examples/zpipe.c
-- Add C++ wrapper in infback9.h [Donais]
-- Fix bug in inflateCopy() when decoding fixed codes
-- Note in zlib.h how much deflateSetDictionary() actually uses
-- Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used)
-- Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer]
-- Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer]
-- Add gzdirect() function to indicate transparent reads
-- Update contrib/minizip [Vollant]
-- Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer]
-- Add casts in crc32.c to avoid warnings [Oberhumer]
-- Add contrib/masmx64 [Vollant]
-- Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant]
-
-Changes in 1.2.2.2 (30 December 2004)
-- Replace structure assignments in deflate.c and inflate.c with zmemcpy to
- avoid implicit memcpy calls (portability for no-library compilation)
-- Increase sprintf() buffer size in gzdopen() to allow for large numbers
-- Add INFLATE_STRICT to check distances against zlib header
-- Improve WinCE errno handling and comments [Chang]
-- Remove comment about no gzip header processing in FAQ
-- Add Z_FIXED strategy option to deflateInit2() to force fixed trees
-- Add updated make_vms.com [Coghlan], update README
-- Create a new "examples" directory, move gzappend.c there, add zpipe.c,
- fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html.
-- Add FAQ entry and comments in deflate.c on uninitialized memory access
-- Add Solaris 9 make options in configure [Gilbert]
-- Allow strerror() usage in gzio.c for STDC
-- Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer]
-- Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant]
-- Use z_off_t for adler32_combine() and crc32_combine() lengths
-- Make adler32() much faster for small len
-- Use OS_CODE in deflate() default gzip header
-
-Changes in 1.2.2.1 (31 October 2004)
-- Allow inflateSetDictionary() call for raw inflate
-- Fix inflate header crc check bug for file names and comments
-- Add deflateSetHeader() and gz_header structure for custom gzip headers
-- Add inflateGetheader() to retrieve gzip headers
-- Add crc32_combine() and adler32_combine() functions
-- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list
-- Use zstreamp consistently in zlib.h (inflate_back functions)
-- Remove GUNZIP condition from definition of inflate_mode in inflate.h
- and in contrib/inflate86/inffast.S [Truta, Anderson]
-- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson]
-- Update projects/README.projects and projects/visualc6 [Truta]
-- Update win32/DLL_FAQ.txt [Truta]
-- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta]
-- Deprecate Z_ASCII; use Z_TEXT instead [Truta]
-- Use a new algorithm for setting strm->data_type in trees.c [Truta]
-- Do not define an exit() prototype in zutil.c unless DEBUG defined
-- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta]
-- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate()
-- Fix Darwin build version identification [Peterson]
-
-Changes in 1.2.2 (3 October 2004)
-- Update zlib.h comments on gzip in-memory processing
-- Set adler to 1 in inflateReset() to support Java test suite [Walles]
-- Add contrib/dotzlib [Ravn]
-- Update win32/DLL_FAQ.txt [Truta]
-- Update contrib/minizip [Vollant]
-- Move contrib/visual-basic.txt to old/ [Truta]
-- Fix assembler builds in projects/visualc6/ [Truta]
-
-Changes in 1.2.1.2 (9 September 2004)
-- Update INDEX file
-- Fix trees.c to update strm->data_type (no one ever noticed!)
-- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown]
-- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE)
-- Add limited multitasking protection to DYNAMIC_CRC_TABLE
-- Add NO_vsnprintf for VMS in zutil.h [Mozilla]
-- Don't declare strerror() under VMS [Mozilla]
-- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize
-- Update contrib/ada [Anisimkov]
-- Update contrib/minizip [Vollant]
-- Fix configure to not hardcode directories for Darwin [Peterson]
-- Fix gzio.c to not return error on empty files [Brown]
-- Fix indentation; update version in contrib/delphi/ZLib.pas and
- contrib/pascal/zlibpas.pas [Truta]
-- Update mkasm.bat in contrib/masmx86 [Truta]
-- Update contrib/untgz [Truta]
-- Add projects/README.projects [Truta]
-- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta]
-- Update win32/DLL_FAQ.txt [Truta]
-- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta]
-- Remove an unnecessary assignment to curr in inftrees.c [Truta]
-- Add OS/2 to exe builds in configure [Poltorak]
-- Remove err dummy parameter in zlib.h [Kientzle]
-
-Changes in 1.2.1.1 (9 January 2004)
-- Update email address in README
-- Several FAQ updates
-- Fix a big fat bug in inftrees.c that prevented decoding valid
- dynamic blocks with only literals and no distance codes --
- Thanks to "Hot Emu" for the bug report and sample file
-- Add a note to puff.c on no distance codes case.
-
-Changes in 1.2.1 (17 November 2003)
-- Remove a tab in contrib/gzappend/gzappend.c
-- Update some interfaces in contrib for new zlib functions
-- Update zlib version number in some contrib entries
-- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta]
-- Support shared libraries on Hurd and KFreeBSD [Brown]
-- Fix error in NO_DIVIDE option of adler32.c
-
-Changes in 1.2.0.8 (4 November 2003)
-- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas
-- Add experimental NO_DIVIDE #define in adler32.c
- - Possibly faster on some processors (let me know if it is)
-- Correct Z_BLOCK to not return on first inflate call if no wrap
-- Fix strm->data_type on inflate() return to correctly indicate EOB
-- Add deflatePrime() function for appending in the middle of a byte
-- Add contrib/gzappend for an example of appending to a stream
-- Update win32/DLL_FAQ.txt [Truta]
-- Delete Turbo C comment in README [Truta]
-- Improve some indentation in zconf.h [Truta]
-- Fix infinite loop on bad input in configure script [Church]
-- Fix gzeof() for concatenated gzip files [Johnson]
-- Add example to contrib/visual-basic.txt [Michael B.]
-- Add -p to mkdir's in Makefile.in [vda]
-- Fix configure to properly detect presence or lack of printf functions
-- Add AS400 support [Monnerat]
-- Add a little Cygwin support [Wilson]
-
-Changes in 1.2.0.7 (21 September 2003)
-- Correct some debug formats in contrib/infback9
-- Cast a type in a debug statement in trees.c
-- Change search and replace delimiter in configure from % to # [Beebe]
-- Update contrib/untgz to 0.2 with various fixes [Truta]
-- Add build support for Amiga [Nikl]
-- Remove some directories in old that have been updated to 1.2
-- Add dylib building for Mac OS X in configure and Makefile.in
-- Remove old distribution stuff from Makefile
-- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X
-- Update links in README
-
-Changes in 1.2.0.6 (13 September 2003)
-- Minor FAQ updates
-- Update contrib/minizip to 1.00 [Vollant]
-- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta]
-- Update POSTINC comment for 68060 [Nikl]
-- Add contrib/infback9 with deflate64 decoding (unsupported)
-- For MVS define NO_vsnprintf and undefine FAR [van Burik]
-- Add pragma for fdopen on MVS [van Burik]
-
-Changes in 1.2.0.5 (8 September 2003)
-- Add OF to inflateBackEnd() declaration in zlib.h
-- Remember start when using gzdopen in the middle of a file
-- Use internal off_t counters in gz* functions to properly handle seeks
-- Perform more rigorous check for distance-too-far in inffast.c
-- Add Z_BLOCK flush option to return from inflate at block boundary
-- Set strm->data_type on return from inflate
- - Indicate bits unused, if at block boundary, and if in last block
-- Replace size_t with ptrdiff_t in crc32.c, and check for correct size
-- Add condition so old NO_DEFLATE define still works for compatibility
-- FAQ update regarding the Windows DLL [Truta]
-- INDEX update: add qnx entry, remove aix entry [Truta]
-- Install zlib.3 into mandir [Wilson]
-- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta]
-- Adapt the zlib interface to the new DLL convention guidelines [Truta]
-- Introduce ZLIB_WINAPI macro to allow the export of functions using
- the WINAPI calling convention, for Visual Basic [Vollant, Truta]
-- Update msdos and win32 scripts and makefiles [Truta]
-- Export symbols by name, not by ordinal, in win32/zlib.def [Truta]
-- Add contrib/ada [Anisimkov]
-- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta]
-- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant]
-- Add contrib/masm686 [Truta]
-- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm
- [Truta, Vollant]
-- Update contrib/delphi; rename to contrib/pascal; add example [Truta]
-- Remove contrib/delphi2; add a new contrib/delphi [Truta]
-- Avoid inclusion of the nonstandard <memory.h> in contrib/iostream,
- and fix some method prototypes [Truta]
-- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip
- [Truta]
-- Avoid the use of backslash (\) in contrib/minizip [Vollant]
-- Fix file time handling in contrib/untgz; update makefiles [Truta]
-- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines
- [Vollant]
-- Remove contrib/vstudio/vc15_16 [Vollant]
-- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta]
-- Update README.contrib [Truta]
-- Invert the assignment order of match_head and s->prev[...] in
- INSERT_STRING [Truta]
-- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings
- [Truta]
-- Compare function pointers with 0, not with NULL or Z_NULL [Truta]
-- Fix prototype of syncsearch in inflate.c [Truta]
-- Introduce ASMINF macro to be enabled when using an ASM implementation
- of inflate_fast [Truta]
-- Change NO_DEFLATE to NO_GZCOMPRESS [Truta]
-- Modify test_gzio in example.c to take a single file name as a
- parameter [Truta]
-- Exit the example.c program if gzopen fails [Truta]
-- Add type casts around strlen in example.c [Truta]
-- Remove casting to sizeof in minigzip.c; give a proper type
- to the variable compared with SUFFIX_LEN [Truta]
-- Update definitions of STDC and STDC99 in zconf.h [Truta]
-- Synchronize zconf.h with the new Windows DLL interface [Truta]
-- Use SYS16BIT instead of __32BIT__ to distinguish between
- 16- and 32-bit platforms [Truta]
-- Use far memory allocators in small 16-bit memory models for
- Turbo C [Truta]
-- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in
- zlibCompileFlags [Truta]
-- Cygwin has vsnprintf [Wilson]
-- In Windows16, OS_CODE is 0, as in MSDOS [Truta]
-- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson]
-
-Changes in 1.2.0.4 (10 August 2003)
-- Minor FAQ updates
-- Be more strict when checking inflateInit2's windowBits parameter
-- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well
-- Add gzip wrapper option to deflateInit2 using windowBits
-- Add updated QNX rule in configure and qnx directory [Bonnefoy]
-- Make inflate distance-too-far checks more rigorous
-- Clean up FAR usage in inflate
-- Add casting to sizeof() in gzio.c and minigzip.c
-
-Changes in 1.2.0.3 (19 July 2003)
-- Fix silly error in gzungetc() implementation [Vollant]
-- Update contrib/minizip and contrib/vstudio [Vollant]
-- Fix printf format in example.c
-- Correct cdecl support in zconf.in.h [Anisimkov]
-- Minor FAQ updates
-
-Changes in 1.2.0.2 (13 July 2003)
-- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons
-- Attempt to avoid warnings in crc32.c for pointer-int conversion
-- Add AIX to configure, remove aix directory [Bakker]
-- Add some casts to minigzip.c
-- Improve checking after insecure sprintf() or vsprintf() calls
-- Remove #elif's from crc32.c
-- Change leave label to inf_leave in inflate.c and infback.c to avoid
- library conflicts
-- Remove inflate gzip decoding by default--only enable gzip decoding by
- special request for stricter backward compatibility
-- Add zlibCompileFlags() function to return compilation information
-- More typecasting in deflate.c to avoid warnings
-- Remove leading underscore from _Capital #defines [Truta]
-- Fix configure to link shared library when testing
-- Add some Windows CE target adjustments [Mai]
-- Remove #define ZLIB_DLL in zconf.h [Vollant]
-- Add zlib.3 [Rodgers]
-- Update RFC URL in deflate.c and algorithm.txt [Mai]
-- Add zlib_dll_FAQ.txt to contrib [Truta]
-- Add UL to some constants [Truta]
-- Update minizip and vstudio [Vollant]
-- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h
-- Expand use of NO_DUMMY_DECL to avoid all dummy structures
-- Added iostream3 to contrib [Schwardt]
-- Replace rewind() with fseek() for WinCE [Truta]
-- Improve setting of zlib format compression level flags
- - Report 0 for huffman and rle strategies and for level == 0 or 1
- - Report 2 only for level == 6
-- Only deal with 64K limit when necessary at compile time [Truta]
-- Allow TOO_FAR check to be turned off at compile time [Truta]
-- Add gzclearerr() function [Souza]
-- Add gzungetc() function
-
-Changes in 1.2.0.1 (17 March 2003)
-- Add Z_RLE strategy for run-length encoding [Truta]
- - When Z_RLE requested, restrict matches to distance one
- - Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE
-- Correct FASTEST compilation to allow level == 0
-- Clean up what gets compiled for FASTEST
-- Incorporate changes to zconf.in.h [Vollant]
- - Refine detection of Turbo C need for dummy returns
- - Refine ZLIB_DLL compilation
- - Include additional header file on VMS for off_t typedef
-- Try to use _vsnprintf where it supplants vsprintf [Vollant]
-- Add some casts in inffast.c
-- Enchance comments in zlib.h on what happens if gzprintf() tries to
- write more than 4095 bytes before compression
-- Remove unused state from inflateBackEnd()
-- Remove exit(0) from minigzip.c, example.c
-- Get rid of all those darn tabs
-- Add "check" target to Makefile.in that does the same thing as "test"
-- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in
-- Update contrib/inflate86 [Anderson]
-- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant]
-- Add msdos and win32 directories with makefiles [Truta]
-- More additions and improvements to the FAQ
-
-Changes in 1.2.0 (9 March 2003)
-- New and improved inflate code
- - About 20% faster
- - Does not allocate 32K window unless and until needed
- - Automatically detects and decompresses gzip streams
- - Raw inflate no longer needs an extra dummy byte at end
- - Added inflateBack functions using a callback interface--even faster
- than inflate, useful for file utilities (gzip, zip)
- - Added inflateCopy() function to record state for random access on
- externally generated deflate streams (e.g. in gzip files)
- - More readable code (I hope)
-- New and improved crc32()
- - About 50% faster, thanks to suggestions from Rodney Brown
-- Add deflateBound() and compressBound() functions
-- Fix memory leak in deflateInit2()
-- Permit setting dictionary for raw deflate (for parallel deflate)
-- Fix const declaration for gzwrite()
-- Check for some malloc() failures in gzio.c
-- Fix bug in gzopen() on single-byte file 0x1f
-- Fix bug in gzread() on concatenated file with 0x1f at end of buffer
- and next buffer doesn't start with 0x8b
-- Fix uncompress() to return Z_DATA_ERROR on truncated input
-- Free memory at end of example.c
-- Remove MAX #define in trees.c (conflicted with some libraries)
-- Fix static const's in deflate.c, gzio.c, and zutil.[ch]
-- Declare malloc() and free() in gzio.c if STDC not defined
-- Use malloc() instead of calloc() in zutil.c if int big enough
-- Define STDC for AIX
-- Add aix/ with approach for compiling shared library on AIX
-- Add HP-UX support for shared libraries in configure
-- Add OpenUNIX support for shared libraries in configure
-- Use $cc instead of gcc to build shared library
-- Make prefix directory if needed when installing
-- Correct Macintosh avoidance of typedef Byte in zconf.h
-- Correct Turbo C memory allocation when under Linux
-- Use libz.a instead of -lz in Makefile (assure use of compiled library)
-- Update configure to check for snprintf or vsnprintf functions and their
- return value, warn during make if using an insecure function
-- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that
- is lost when library is used--resolution is to build new zconf.h
-- Documentation improvements (in zlib.h):
- - Document raw deflate and inflate
- - Update RFCs URL
- - Point out that zlib and gzip formats are different
- - Note that Z_BUF_ERROR is not fatal
- - Document string limit for gzprintf() and possible buffer overflow
- - Note requirement on avail_out when flushing
- - Note permitted values of flush parameter of inflate()
-- Add some FAQs (and even answers) to the FAQ
-- Add contrib/inflate86/ for x86 faster inflate
-- Add contrib/blast/ for PKWare Data Compression Library decompression
-- Add contrib/puff/ simple inflate for deflate format description
-
-Changes in 1.1.4 (11 March 2002)
-- ZFREE was repeated on same allocation on some error conditions.
- This creates a security problem described in
- http://www.zlib.org/advisory-2002-03-11.txt
-- Returned incorrect error (Z_MEM_ERROR) on some invalid data
-- Avoid accesses before window for invalid distances with inflate window
- less than 32K.
-- force windowBits > 8 to avoid a bug in the encoder for a window size
- of 256 bytes. (A complete fix will be available in 1.1.5).
-
-Changes in 1.1.3 (9 July 1998)
-- fix "an inflate input buffer bug that shows up on rare but persistent
- occasions" (Mark)
-- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
-- fix gzseek(..., SEEK_SET) in write mode
-- fix crc check after a gzeek (Frank Faubert)
-- fix miniunzip when the last entry in a zip file is itself a zip file
- (J Lillge)
-- add contrib/asm586 and contrib/asm686 (Brian Raiter)
- See http://www.muppetlabs.com/~breadbox/software/assembly.html
-- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
-- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
-- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
-- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
-- added a FAQ file
-
-- Support gzdopen on Mac with Metrowerks (Jason Linhart)
-- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)
-- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)
-- avoid some warnings with Borland C (Tom Tanner)
-- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)
-- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant)
-- allow several arguments to configure (Tim Mooney, Frodo Looijaard)
-- use libdir and includedir in Makefile.in (Tim Mooney)
-- support shared libraries on OSF1 V4 (Tim Mooney)
-- remove so_locations in "make clean" (Tim Mooney)
-- fix maketree.c compilation error (Glenn, Mark)
-- Python interface to zlib now in Python 1.5 (Jeremy Hylton)
-- new Makefile.riscos (Rich Walker)
-- initialize static descriptors in trees.c for embedded targets (Nick Smith)
-- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)
-- add the OS/2 files in Makefile.in too (Andrew Zabolotny)
-- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)
-- fix maketree.c to allow clean compilation of inffixed.h (Mark)
-- fix parameter check in deflateCopy (Gunther Nikl)
-- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)
-- Many portability patches by Christian Spieler:
- . zutil.c, zutil.h: added "const" for zmem*
- . Make_vms.com: fixed some typos
- . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists
- . msdos/Makefile.msc: remove "default rtl link library" info from obj files
- . msdos/Makefile.*: use model-dependent name for the built zlib library
- . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:
- new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)
-- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)
-- replace __far with _far for better portability (Christian Spieler, Tom Lane)
-- fix test for errno.h in configure (Tim Newsham)
-
-Changes in 1.1.2 (19 March 98)
-- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
- See http://www.winimage.com/zLibDll/unzip.html
-- preinitialize the inflate tables for fixed codes, to make the code
- completely thread safe (Mark)
-- some simplifications and slight speed-up to the inflate code (Mark)
-- fix gzeof on non-compressed files (Allan Schrum)
-- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
-- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
-- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
-- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
-- do not wrap extern "C" around system includes (Tom Lane)
-- mention zlib binding for TCL in README (Andreas Kupries)
-- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
-- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
-- allow "configure --prefix $HOME" (Tim Mooney)
-- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)
-- move Makefile.sas to amiga/Makefile.sas
-
-Changes in 1.1.1 (27 Feb 98)
-- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson)
-- remove block truncation heuristic which had very marginal effect for zlib
- (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
- compression ratio on some files. This also allows inlining _tr_tally for
- matches in deflate_slow.
-- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)
-
-Changes in 1.1.0 (24 Feb 98)
-- do not return STREAM_END prematurely in inflate (John Bowler)
-- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
-- compile with -DFASTEST to get compression code optimized for speed only
-- in minigzip, try mmap'ing the input file first (Miguel Albrecht)
-- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
- on Sun but significant on HP)
-
-- add a pointer to experimental unzip library in README (Gilles Vollant)
-- initialize variable gcc in configure (Chris Herborth)
-
-Changes in 1.0.9 (17 Feb 1998)
-- added gzputs and gzgets functions
-- do not clear eof flag in gzseek (Mark Diekhans)
-- fix gzseek for files in transparent mode (Mark Diekhans)
-- do not assume that vsprintf returns the number of bytes written (Jens Krinke)
-- replace EXPORT with ZEXPORT to avoid conflict with other programs
-- added compress2 in zconf.h, zlib.def, zlib.dnt
-- new asm code from Gilles Vollant in contrib/asm386
-- simplify the inflate code (Mark):
- . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new()
- . ZALLOC the length list in inflate_trees_fixed() instead of using stack
- . ZALLOC the value area for huft_build() instead of using stack
- . Simplify Z_FINISH check in inflate()
-
-- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
-- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
-- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
- the declaration of FAR (Gilles VOllant)
-- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
-- read_buf buf parameter of type Bytef* instead of charf*
-- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
-- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
-- fix check for presence of directories in "make install" (Ian Willis)
-
-Changes in 1.0.8 (27 Jan 1998)
-- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)
-- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)
-- added compress2() to allow setting the compression level
-- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)
-- use constant arrays for the static trees in trees.c instead of computing
- them at run time (thanks to Ken Raeburn for this suggestion). To create
- trees.h, compile with GEN_TREES_H and run "make test".
-- check return code of example in "make test" and display result
-- pass minigzip command line options to file_compress
-- simplifying code of inflateSync to avoid gcc 2.8 bug
-
-- support CC="gcc -Wall" in configure -s (QingLong)
-- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)
-- fix test for shared library support to avoid compiler warnings
-- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)
-- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)
-- do not use fdopen for Metrowerks on Mac (Brad Pettit))
-- add checks for gzputc and gzputc in example.c
-- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)
-- use const for the CRC table (Ken Raeburn)
-- fixed "make uninstall" for shared libraries
-- use Tracev instead of Trace in infblock.c
-- in example.c use correct compressed length for test_sync
-- suppress +vnocompatwarnings in configure for HPUX (not always supported)
-
-Changes in 1.0.7 (20 Jan 1998)
-- fix gzseek which was broken in write mode
-- return error for gzseek to negative absolute position
-- fix configure for Linux (Chun-Chung Chen)
-- increase stack space for MSC (Tim Wegner)
-- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)
-- define EXPORTVA for gzprintf (Gilles Vollant)
-- added man page zlib.3 (Rick Rodgers)
-- for contrib/untgz, fix makedir() and improve Makefile
-
-- check gzseek in write mode in example.c
-- allocate extra buffer for seeks only if gzseek is actually called
-- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)
-- add inflateSyncPoint in zconf.h
-- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def
-
-Changes in 1.0.6 (19 Jan 1998)
-- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
- gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
-- Fix a deflate bug occurring only with compression level 0 (thanks to
- Andy Buckler for finding this one).
-- In minigzip, pass transparently also the first byte for .Z files.
-- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
-- check Z_FINISH in inflate (thanks to Marc Schluper)
-- Implement deflateCopy (thanks to Adam Costello)
-- make static libraries by default in configure, add --shared option.
-- move MSDOS or Windows specific files to directory msdos
-- suppress the notion of partial flush to simplify the interface
- (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)
-- suppress history buffer provided by application to simplify the interface
- (this feature was not implemented anyway in 1.0.4)
-- next_in and avail_in must be initialized before calling inflateInit or
- inflateInit2
-- add EXPORT in all exported functions (for Windows DLL)
-- added Makefile.nt (thanks to Stephen Williams)
-- added the unsupported "contrib" directory:
- contrib/asm386/ by Gilles Vollant <info@winimage.com>
- 386 asm code replacing longest_match().
- contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
- A C++ I/O streams interface to the zlib gz* functions
- contrib/iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
- Another C++ I/O streams interface
- contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
- A very simple tar.gz file extractor using zlib
- contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
- How to use compress(), uncompress() and the gz* functions from VB.
-- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression
- level) in minigzip (thanks to Tom Lane)
-
-- use const for rommable constants in deflate
-- added test for gzseek and gztell in example.c
-- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)
-- add undocumented function zError to convert error code to string
- (for Tim Smithers)
-- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.
-- Use default memcpy for Symantec MSDOS compiler.
-- Add EXPORT keyword for check_func (needed for Windows DLL)
-- add current directory to LD_LIBRARY_PATH for "make test"
-- create also a link for libz.so.1
-- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)
-- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)
-- added -soname for Linux in configure (Chun-Chung Chen,
-- assign numbers to the exported functions in zlib.def (for Windows DLL)
-- add advice in zlib.h for best usage of deflateSetDictionary
-- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)
-- allow compilation with ANSI keywords only enabled for TurboC in large model
-- avoid "versionString"[0] (Borland bug)
-- add NEED_DUMMY_RETURN for Borland
-- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).
-- allow compilation with CC
-- defined STDC for OS/2 (David Charlap)
-- limit external names to 8 chars for MVS (Thomas Lund)
-- in minigzip.c, use static buffers only for 16-bit systems
-- fix suffix check for "minigzip -d foo.gz"
-- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)
-- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)
-- added makelcc.bat for lcc-win32 (Tom St Denis)
-- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)
-- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
-- check for unistd.h in configure (for off_t)
-- remove useless check parameter in inflate_blocks_free
-- avoid useless assignment of s->check to itself in inflate_blocks_new
-- do not flush twice in gzclose (thanks to Ken Raeburn)
-- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h
-- use NO_ERRNO_H instead of enumeration of operating systems with errno.h
-- work around buggy fclose on pipes for HP/UX
-- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)
-- fix configure if CC is already equal to gcc
-
-Changes in 1.0.5 (3 Jan 98)
-- Fix inflate to terminate gracefully when fed corrupted or invalid data
-- Use const for rommable constants in inflate
-- Eliminate memory leaks on error conditions in inflate
-- Removed some vestigial code in inflate
-- Update web address in README
-
-Changes in 1.0.4 (24 Jul 96)
-- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF
- bit, so the decompressor could decompress all the correct data but went
- on to attempt decompressing extra garbage data. This affected minigzip too.
-- zlibVersion and gzerror return const char* (needed for DLL)
-- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)
-- use z_error only for DEBUG (avoid problem with DLLs)
-
-Changes in 1.0.3 (2 Jul 96)
-- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS
- small and medium models; this makes the library incompatible with previous
- versions for these models. (No effect in large model or on other systems.)
-- return OK instead of BUF_ERROR if previous deflate call returned with
- avail_out as zero but there is nothing to do
-- added memcmp for non STDC compilers
-- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)
-- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)
-- better check for 16-bit mode MSC (avoids problem with Symantec)
-
-Changes in 1.0.2 (23 May 96)
-- added Windows DLL support
-- added a function zlibVersion (for the DLL support)
-- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)
-- Bytef is define's instead of typedef'd only for Borland C
-- avoid reading uninitialized memory in example.c
-- mention in README that the zlib format is now RFC1950
-- updated Makefile.dj2
-- added algorithm.doc
-
-Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
-- fix array overlay in deflate.c which sometimes caused bad compressed data
-- fix inflate bug with empty stored block
-- fix MSDOS medium model which was broken in 0.99
-- fix deflateParams() which could generated bad compressed data.
-- Bytef is define'd instead of typedef'ed (work around Borland bug)
-- added an INDEX file
-- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
- Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)
-- speed up adler32 for modern machines without auto-increment
-- added -ansi for IRIX in configure
-- static_init_done in trees.c is an int
-- define unlink as delete for VMS
-- fix configure for QNX
-- add configure branch for SCO and HPUX
-- avoid many warnings (unused variables, dead assignments, etc...)
-- no fdopen for BeOS
-- fix the Watcom fix for 32 bit mode (define FAR as empty)
-- removed redefinition of Byte for MKWERKS
-- work around an MWKERKS bug (incorrect merge of all .h files)
-
-Changes in 0.99 (27 Jan 96)
-- allow preset dictionary shared between compressor and decompressor
-- allow compression level 0 (no compression)
-- add deflateParams in zlib.h: allow dynamic change of compression level
- and compression strategy.
-- test large buffers and deflateParams in example.c
-- add optional "configure" to build zlib as a shared library
-- suppress Makefile.qnx, use configure instead
-- fixed deflate for 64-bit systems (detected on Cray)
-- fixed inflate_blocks for 64-bit systems (detected on Alpha)
-- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
-- always return Z_BUF_ERROR when deflate() has nothing to do
-- deflateInit and inflateInit are now macros to allow version checking
-- prefix all global functions and types with z_ with -DZ_PREFIX
-- make falloc completely reentrant (inftrees.c)
-- fixed very unlikely race condition in ct_static_init
-- free in reverse order of allocation to help memory manager
-- use zlib-1.0/* instead of zlib/* inside the tar.gz
-- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith
- -Wconversion -Wstrict-prototypes -Wmissing-prototypes"
-- allow gzread on concatenated .gz files
-- deflateEnd now returns Z_DATA_ERROR if it was premature
-- deflate is finally (?) fully deterministic (no matches beyond end of input)
-- Document Z_SYNC_FLUSH
-- add uninstall in Makefile
-- Check for __cpluplus in zlib.h
-- Better test in ct_align for partial flush
-- avoid harmless warnings for Borland C++
-- initialize hash_head in deflate.c
-- avoid warning on fdopen (gzio.c) for HP cc -Aa
-- include stdlib.h for STDC compilers
-- include errno.h for Cray
-- ignore error if ranlib doesn't exist
-- call ranlib twice for NeXTSTEP
-- use exec_prefix instead of prefix for libz.a
-- renamed ct_* as _tr_* to avoid conflict with applications
-- clear z->msg in inflateInit2 before any error return
-- initialize opaque in example.c, gzio.c, deflate.c and inflate.c
-- fixed typo in zconf.h (_GNUC__ => __GNUC__)
-- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)
-- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)
-- in fcalloc, normalize pointer if size > 65520 bytes
-- don't use special fcalloc for 32 bit Borland C++
-- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...
-- use Z_BINARY instead of BINARY
-- document that gzclose after gzdopen will close the file
-- allow "a" as mode in gzopen.
-- fix error checking in gzread
-- allow skipping .gz extra-field on pipes
-- added reference to Perl interface in README
-- put the crc table in FAR data (I dislike more and more the medium model :)
-- added get_crc_table
-- added a dimension to all arrays (Borland C can't count).
-- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast
-- guard against multiple inclusion of *.h (for precompiled header on Mac)
-- Watcom C pretends to be Microsoft C small model even in 32 bit mode.
-- don't use unsized arrays to avoid silly warnings by Visual C++:
- warning C4746: 'inflate_mask' : unsized array treated as '__far'
- (what's wrong with far data in far model?).
-- define enum out of inflate_blocks_state to allow compilation with C++
-
-Changes in 0.95 (16 Aug 95)
-- fix MSDOS small and medium model (now easier to adapt to any compiler)
-- inlined send_bits
-- fix the final (:-) bug for deflate with flush (output was correct but
- not completely flushed in rare occasions).
-- default window size is same for compression and decompression
- (it's now sufficient to set MAX_WBITS in zconf.h).
-- voidp -> voidpf and voidnp -> voidp (for consistency with other
- typedefs and because voidnp was not near in large model).
-
-Changes in 0.94 (13 Aug 95)
-- support MSDOS medium model
-- fix deflate with flush (could sometimes generate bad output)
-- fix deflateReset (zlib header was incorrectly suppressed)
-- added support for VMS
-- allow a compression level in gzopen()
-- gzflush now calls fflush
-- For deflate with flush, flush even if no more input is provided.
-- rename libgz.a as libz.a
-- avoid complex expression in infcodes.c triggering Turbo C bug
-- work around a problem with gcc on Alpha (in INSERT_STRING)
-- don't use inline functions (problem with some gcc versions)
-- allow renaming of Byte, uInt, etc... with #define.
-- avoid warning about (unused) pointer before start of array in deflate.c
-- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c
-- avoid reserved word 'new' in trees.c
-
-Changes in 0.93 (25 June 95)
-- temporarily disable inline functions
-- make deflate deterministic
-- give enough lookahead for PARTIAL_FLUSH
-- Set binary mode for stdin/stdout in minigzip.c for OS/2
-- don't even use signed char in inflate (not portable enough)
-- fix inflate memory leak for segmented architectures
-
-Changes in 0.92 (3 May 95)
-- don't assume that char is signed (problem on SGI)
-- Clear bit buffer when starting a stored block
-- no memcpy on Pyramid
-- suppressed inftest.c
-- optimized fill_window, put longest_match inline for gcc
-- optimized inflate on stored blocks.
-- untabify all sources to simplify patches
-
-Changes in 0.91 (2 May 95)
-- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
-- Document the memory requirements in zconf.h
-- added "make install"
-- fix sync search logic in inflateSync
-- deflate(Z_FULL_FLUSH) now works even if output buffer too short
-- after inflateSync, don't scare people with just "lo world"
-- added support for DJGPP
-
-Changes in 0.9 (1 May 95)
-- don't assume that zalloc clears the allocated memory (the TurboC bug
- was Mark's bug after all :)
-- let again gzread copy uncompressed data unchanged (was working in 0.71)
-- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented
-- added a test of inflateSync in example.c
-- moved MAX_WBITS to zconf.h because users might want to change that.
-- document explicitly that zalloc(64K) on MSDOS must return a normalized
- pointer (zero offset)
-- added Makefiles for Microsoft C, Turbo C, Borland C++
-- faster crc32()
-
-Changes in 0.8 (29 April 95)
-- added fast inflate (inffast.c)
-- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this
- is incompatible with previous versions of zlib which returned Z_OK.
-- work around a TurboC compiler bug (bad code for b << 0, see infutil.h)
- (actually that was not a compiler bug, see 0.81 above)
-- gzread no longer reads one extra byte in certain cases
-- In gzio destroy(), don't reference a freed structure
-- avoid many warnings for MSDOS
-- avoid the ERROR symbol which is used by MS Windows
-
-Changes in 0.71 (14 April 95)
-- Fixed more MSDOS compilation problems :( There is still a bug with
- TurboC large model.
-
-Changes in 0.7 (14 April 95)
-- Added full inflate support.
-- Simplified the crc32() interface. The pre- and post-conditioning
- (one's complement) is now done inside crc32(). WARNING: this is
- incompatible with previous versions; see zlib.h for the new usage.
-
-Changes in 0.61 (12 April 95)
-- workaround for a bug in TurboC. example and minigzip now work on MSDOS.
-
-Changes in 0.6 (11 April 95)
-- added minigzip.c
-- added gzdopen to reopen a file descriptor as gzFile
-- added transparent reading of non-gziped files in gzread.
-- fixed bug in gzread (don't read crc as data)
-- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).
-- don't allocate big arrays in the stack (for MSDOS)
-- fix some MSDOS compilation problems
-
-Changes in 0.5:
-- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but
- not yet Z_FULL_FLUSH.
-- support decompression but only in a single step (forced Z_FINISH)
-- added opaque object for zalloc and zfree.
-- added deflateReset and inflateReset
-- added a variable zlib_version for consistency checking.
-- renamed the 'filter' parameter of deflateInit2 as 'strategy'.
- Added Z_FILTERED and Z_HUFFMAN_ONLY constants.
-
-Changes in 0.4:
-- avoid "zip" everywhere, use zlib instead of ziplib.
-- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush
- if compression method == 8.
-- added adler32 and crc32
-- renamed deflateOptions as deflateInit2, call one or the other but not both
-- added the method parameter for deflateInit2.
-- added inflateInit2
-- simplied considerably deflateInit and inflateInit by not supporting
- user-provided history buffer. This is supported only in deflateInit2
- and inflateInit2.
-
-Changes in 0.3:
-- prefix all macro names with Z_
-- use Z_FINISH instead of deflateEnd to finish compression.
-- added Z_HUFFMAN_ONLY
-- added gzerror()
diff --git a/tcl8.6/compat/zlib/FAQ b/tcl8.6/compat/zlib/FAQ
deleted file mode 100644
index 99b7cf9..0000000
--- a/tcl8.6/compat/zlib/FAQ
+++ /dev/null
@@ -1,368 +0,0 @@
-
- Frequently Asked Questions about zlib
-
-
-If your question is not there, please check the zlib home page
-http://zlib.net/ which may have more recent information.
-The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
-
-
- 1. Is zlib Y2K-compliant?
-
- Yes. zlib doesn't handle dates.
-
- 2. Where can I get a Windows DLL version?
-
- The zlib sources can be compiled without change to produce a DLL. See the
- file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the
- precompiled DLL are found in the zlib web site at http://zlib.net/ .
-
- 3. Where can I get a Visual Basic interface to zlib?
-
- See
- * http://marknelson.us/1997/01/01/zlib-engine/
- * win32/DLL_FAQ.txt in the zlib distribution
-
- 4. compress() returns Z_BUF_ERROR.
-
- Make sure that before the call of compress(), the length of the compressed
- buffer is equal to the available size of the compressed buffer and not
- zero. For Visual Basic, check that this parameter is passed by reference
- ("as any"), not by value ("as long").
-
- 5. deflate() or inflate() returns Z_BUF_ERROR.
-
- Before making the call, make sure that avail_in and avail_out are not zero.
- When setting the parameter flush equal to Z_FINISH, also make sure that
- avail_out is big enough to allow processing all pending input. Note that a
- Z_BUF_ERROR is not fatal--another call to deflate() or inflate() can be
- made with more input or output space. A Z_BUF_ERROR may in fact be
- unavoidable depending on how the functions are used, since it is not
- possible to tell whether or not there is more output pending when
- strm.avail_out returns with zero. See http://zlib.net/zlib_how.html for a
- heavily annotated example.
-
- 6. Where's the zlib documentation (man pages, etc.)?
-
- It's in zlib.h . Examples of zlib usage are in the files test/example.c
- and test/minigzip.c, with more in examples/ .
-
- 7. Why don't you use GNU autoconf or libtool or ...?
-
- Because we would like to keep zlib as a very small and simple package.
- zlib is rather portable and doesn't need much configuration.
-
- 8. I found a bug in zlib.
-
- Most of the time, such problems are due to an incorrect usage of zlib.
- Please try to reproduce the problem with a small program and send the
- corresponding source to us at zlib@gzip.org . Do not send multi-megabyte
- data files without prior agreement.
-
- 9. Why do I get "undefined reference to gzputc"?
-
- If "make test" produces something like
-
- example.o(.text+0x154): undefined reference to `gzputc'
-
- check that you don't have old files libz.* in /usr/lib, /usr/local/lib or
- /usr/X11R6/lib. Remove any old versions, then do "make install".
-
-10. I need a Delphi interface to zlib.
-
- See the contrib/delphi directory in the zlib distribution.
-
-11. Can zlib handle .zip archives?
-
- Not by itself, no. See the directory contrib/minizip in the zlib
- distribution.
-
-12. Can zlib handle .Z files?
-
- No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt
- the code of uncompress on your own.
-
-13. How can I make a Unix shared library?
-
- By default a shared (and a static) library is built for Unix. So:
-
- make distclean
- ./configure
- make
-
-14. How do I install a shared zlib library on Unix?
-
- After the above, then:
-
- make install
-
- However, many flavors of Unix come with a shared zlib already installed.
- Before going to the trouble of compiling a shared version of zlib and
- trying to install it, you may want to check if it's already there! If you
- can #include <zlib.h>, it's there. The -lz option will probably link to
- it. You can check the version at the top of zlib.h or with the
- ZLIB_VERSION symbol defined in zlib.h .
-
-15. I have a question about OttoPDF.
-
- We are not the authors of OttoPDF. The real author is on the OttoPDF web
- site: Joel Hainley, jhainley@myndkryme.com.
-
-16. Can zlib decode Flate data in an Adobe PDF file?
-
- Yes. See http://www.pdflib.com/ . To modify PDF forms, see
- http://sourceforge.net/projects/acroformtool/ .
-
-17. Why am I getting this "register_frame_info not found" error on Solaris?
-
- After installing zlib 1.1.4 on Solaris 2.6, running applications using zlib
- generates an error such as:
-
- ld.so.1: rpm: fatal: relocation error: file /usr/local/lib/libz.so:
- symbol __register_frame_info: referenced symbol not found
-
- The symbol __register_frame_info is not part of zlib, it is generated by
- the C compiler (cc or gcc). You must recompile applications using zlib
- which have this problem. This problem is specific to Solaris. See
- http://www.sunfreeware.com for Solaris versions of zlib and applications
- using zlib.
-
-18. Why does gzip give an error on a file I make with compress/deflate?
-
- The compress and deflate functions produce data in the zlib format, which
- is different and incompatible with the gzip format. The gz* functions in
- zlib on the other hand use the gzip format. Both the zlib and gzip formats
- use the same compressed data format internally, but have different headers
- and trailers around the compressed data.
-
-19. Ok, so why are there two different formats?
-
- The gzip format was designed to retain the directory information about a
- single file, such as the name and last modification date. The zlib format
- on the other hand was designed for in-memory and communication channel
- applications, and has a much more compact header and trailer and uses a
- faster integrity check than gzip.
-
-20. Well that's nice, but how do I make a gzip file in memory?
-
- You can request that deflate write the gzip format instead of the zlib
- format using deflateInit2(). You can also request that inflate decode the
- gzip format using inflateInit2(). Read zlib.h for more details.
-
-21. Is zlib thread-safe?
-
- Yes. However any library routines that zlib uses and any application-
- provided memory allocation routines must also be thread-safe. zlib's gz*
- functions use stdio library routines, and most of zlib's functions use the
- library memory allocation routines by default. zlib's *Init* functions
- allow for the application to provide custom memory allocation routines.
-
- Of course, you should only operate on any given zlib or gzip stream from a
- single thread at a time.
-
-22. Can I use zlib in my commercial application?
-
- Yes. Please read the license in zlib.h.
-
-23. Is zlib under the GNU license?
-
- No. Please read the license in zlib.h.
-
-24. The license says that altered source versions must be "plainly marked". So
- what exactly do I need to do to meet that requirement?
-
- You need to change the ZLIB_VERSION and ZLIB_VERNUM #defines in zlib.h. In
- particular, the final version number needs to be changed to "f", and an
- identification string should be appended to ZLIB_VERSION. Version numbers
- x.x.x.f are reserved for modifications to zlib by others than the zlib
- maintainers. For example, if the version of the base zlib you are altering
- is "1.2.3.4", then in zlib.h you should change ZLIB_VERNUM to 0x123f, and
- ZLIB_VERSION to something like "1.2.3.f-zachary-mods-v3". You can also
- update the version strings in deflate.c and inftrees.c.
-
- For altered source distributions, you should also note the origin and
- nature of the changes in zlib.h, as well as in ChangeLog and README, along
- with the dates of the alterations. The origin should include at least your
- name (or your company's name), and an email address to contact for help or
- issues with the library.
-
- Note that distributing a compiled zlib library along with zlib.h and
- zconf.h is also a source distribution, and so you should change
- ZLIB_VERSION and ZLIB_VERNUM and note the origin and nature of the changes
- in zlib.h as you would for a full source distribution.
-
-25. Will zlib work on a big-endian or little-endian architecture, and can I
- exchange compressed data between them?
-
- Yes and yes.
-
-26. Will zlib work on a 64-bit machine?
-
- Yes. It has been tested on 64-bit machines, and has no dependence on any
- data types being limited to 32-bits in length. If you have any
- difficulties, please provide a complete problem report to zlib@gzip.org
-
-27. Will zlib decompress data from the PKWare Data Compression Library?
-
- No. The PKWare DCL uses a completely different compressed data format than
- does PKZIP and zlib. However, you can look in zlib's contrib/blast
- directory for a possible solution to your problem.
-
-28. Can I access data randomly in a compressed stream?
-
- No, not without some preparation. If when compressing you periodically use
- Z_FULL_FLUSH, carefully write all the pending data at those points, and
- keep an index of those locations, then you can start decompression at those
- points. You have to be careful to not use Z_FULL_FLUSH too often, since it
- can significantly degrade compression. Alternatively, you can scan a
- deflate stream once to generate an index, and then use that index for
- random access. See examples/zran.c .
-
-29. Does zlib work on MVS, OS/390, CICS, etc.?
-
- It has in the past, but we have not heard of any recent evidence. There
- were working ports of zlib 1.1.4 to MVS, but those links no longer work.
- If you know of recent, successful applications of zlib on these operating
- systems, please let us know. Thanks.
-
-30. Is there some simpler, easier to read version of inflate I can look at to
- understand the deflate format?
-
- First off, you should read RFC 1951. Second, yes. Look in zlib's
- contrib/puff directory.
-
-31. Does zlib infringe on any patents?
-
- As far as we know, no. In fact, that was originally the whole point behind
- zlib. Look here for some more information:
-
- http://www.gzip.org/#faq11
-
-32. Can zlib work with greater than 4 GB of data?
-
- Yes. inflate() and deflate() will process any amount of data correctly.
- Each call of inflate() or deflate() is limited to input and output chunks
- of the maximum value that can be stored in the compiler's "unsigned int"
- type, but there is no limit to the number of chunks. Note however that the
- strm.total_in and strm_total_out counters may be limited to 4 GB. These
- counters are provided as a convenience and are not used internally by
- inflate() or deflate(). The application can easily set up its own counters
- updated after each call of inflate() or deflate() to count beyond 4 GB.
- compress() and uncompress() may be limited to 4 GB, since they operate in a
- single call. gzseek() and gztell() may be limited to 4 GB depending on how
- zlib is compiled. See the zlibCompileFlags() function in zlib.h.
-
- The word "may" appears several times above since there is a 4 GB limit only
- if the compiler's "long" type is 32 bits. If the compiler's "long" type is
- 64 bits, then the limit is 16 exabytes.
-
-33. Does zlib have any security vulnerabilities?
-
- The only one that we are aware of is potentially in gzprintf(). If zlib is
- compiled to use sprintf() or vsprintf(), then there is no protection
- against a buffer overflow of an 8K string space (or other value as set by
- gzbuffer()), other than the caller of gzprintf() assuring that the output
- will not exceed 8K. On the other hand, if zlib is compiled to use
- snprintf() or vsnprintf(), which should normally be the case, then there is
- no vulnerability. The ./configure script will display warnings if an
- insecure variation of sprintf() will be used by gzprintf(). Also the
- zlibCompileFlags() function will return information on what variant of
- sprintf() is used by gzprintf().
-
- If you don't have snprintf() or vsnprintf() and would like one, you can
- find a portable implementation here:
-
- http://www.ijs.si/software/snprintf/
-
- Note that you should be using the most recent version of zlib. Versions
- 1.1.3 and before were subject to a double-free vulnerability, and versions
- 1.2.1 and 1.2.2 were subject to an access exception when decompressing
- invalid compressed data.
-
-34. Is there a Java version of zlib?
-
- Probably what you want is to use zlib in Java. zlib is already included
- as part of the Java SDK in the java.util.zip package. If you really want
- a version of zlib written in the Java language, look on the zlib home
- page for links: http://zlib.net/ .
-
-35. I get this or that compiler or source-code scanner warning when I crank it
- up to maximally-pedantic. Can't you guys write proper code?
-
- Many years ago, we gave up attempting to avoid warnings on every compiler
- in the universe. It just got to be a waste of time, and some compilers
- were downright silly as well as contradicted each other. So now, we simply
- make sure that the code always works.
-
-36. Valgrind (or some similar memory access checker) says that deflate is
- performing a conditional jump that depends on an uninitialized value.
- Isn't that a bug?
-
- No. That is intentional for performance reasons, and the output of deflate
- is not affected. This only started showing up recently since zlib 1.2.x
- uses malloc() by default for allocations, whereas earlier versions used
- calloc(), which zeros out the allocated memory. Even though the code was
- correct, versions 1.2.4 and later was changed to not stimulate these
- checkers.
-
-37. Will zlib read the (insert any ancient or arcane format here) compressed
- data format?
-
- Probably not. Look in the comp.compression FAQ for pointers to various
- formats and associated software.
-
-38. How can I encrypt/decrypt zip files with zlib?
-
- zlib doesn't support encryption. The original PKZIP encryption is very
- weak and can be broken with freely available programs. To get strong
- encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib
- compression. For PKZIP compatible "encryption", look at
- http://www.info-zip.org/
-
-39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings?
-
- "gzip" is the gzip format, and "deflate" is the zlib format. They should
- probably have called the second one "zlib" instead to avoid confusion with
- the raw deflate compressed data format. While the HTTP 1.1 RFC 2616
- correctly points to the zlib specification in RFC 1950 for the "deflate"
- transfer encoding, there have been reports of servers and browsers that
- incorrectly produce or expect raw deflate data per the deflate
- specification in RFC 1951, most notably Microsoft. So even though the
- "deflate" transfer encoding using the zlib format would be the more
- efficient approach (and in fact exactly what the zlib format was designed
- for), using the "gzip" transfer encoding is probably more reliable due to
- an unfortunate choice of name on the part of the HTTP 1.1 authors.
-
- Bottom line: use the gzip format for HTTP 1.1 encoding.
-
-40. Does zlib support the new "Deflate64" format introduced by PKWare?
-
- No. PKWare has apparently decided to keep that format proprietary, since
- they have not documented it as they have previous compression formats. In
- any case, the compression improvements are so modest compared to other more
- modern approaches, that it's not worth the effort to implement.
-
-41. I'm having a problem with the zip functions in zlib, can you help?
-
- There are no zip functions in zlib. You are probably using minizip by
- Giles Vollant, which is found in the contrib directory of zlib. It is not
- part of zlib. In fact none of the stuff in contrib is part of zlib. The
- files in there are not supported by the zlib authors. You need to contact
- the authors of the respective contribution for help.
-
-42. The match.asm code in contrib is under the GNU General Public License.
- Since it's part of zlib, doesn't that mean that all of zlib falls under the
- GNU GPL?
-
- No. The files in contrib are not part of zlib. They were contributed by
- other authors and are provided as a convenience to the user within the zlib
- distribution. Each item in contrib has its own license.
-
-43. Is zlib subject to export controls? What is its ECCN?
-
- zlib is not subject to export controls, and so is classified as EAR99.
-
-44. Can you please sign these lengthy legal documents and fax them back to us
- so that we can use your software in our product?
-
- No. Go away. Shoo.
diff --git a/tcl8.6/compat/zlib/INDEX b/tcl8.6/compat/zlib/INDEX
deleted file mode 100644
index 2ba0641..0000000
--- a/tcl8.6/compat/zlib/INDEX
+++ /dev/null
@@ -1,68 +0,0 @@
-CMakeLists.txt cmake build file
-ChangeLog history of changes
-FAQ Frequently Asked Questions about zlib
-INDEX this file
-Makefile dummy Makefile that tells you to ./configure
-Makefile.in template for Unix Makefile
-README guess what
-configure configure script for Unix
-make_vms.com makefile for VMS
-test/example.c zlib usages examples for build testing
-test/minigzip.c minimal gzip-like functionality for build testing
-test/infcover.c inf*.c code coverage for build coverage testing
-treebuild.xml XML description of source file dependencies
-zconf.h.cmakein zconf.h template for cmake
-zconf.h.in zconf.h template for configure
-zlib.3 Man page for zlib
-zlib.3.pdf Man page in PDF format
-zlib.map Linux symbol information
-zlib.pc.in Template for pkg-config descriptor
-zlib.pc.cmakein zlib.pc template for cmake
-zlib2ansi perl script to convert source files for C++ compilation
-
-amiga/ makefiles for Amiga SAS C
-as400/ makefiles for AS/400
-doc/ documentation for formats and algorithms
-msdos/ makefiles for MSDOS
-nintendods/ makefile for Nintendo DS
-old/ makefiles for various architectures and zlib documentation
- files that have not yet been updated for zlib 1.2.x
-qnx/ makefiles for QNX
-watcom/ makefiles for OpenWatcom
-win32/ makefiles for Windows
-
- zlib public header files (required for library use):
-zconf.h
-zlib.h
-
- private source files used to build the zlib library:
-adler32.c
-compress.c
-crc32.c
-crc32.h
-deflate.c
-deflate.h
-gzclose.c
-gzguts.h
-gzlib.c
-gzread.c
-gzwrite.c
-infback.c
-inffast.c
-inffast.h
-inffixed.h
-inflate.c
-inflate.h
-inftrees.c
-inftrees.h
-trees.c
-trees.h
-uncompr.c
-zutil.c
-zutil.h
-
- source files for sample programs
-See examples/README.examples
-
- unsupported contributions by third parties
-See contrib/README.contrib
diff --git a/tcl8.6/compat/zlib/Makefile b/tcl8.6/compat/zlib/Makefile
deleted file mode 100644
index 6bba86c..0000000
--- a/tcl8.6/compat/zlib/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-all:
- -@echo "Please use ./configure first. Thank you."
-
-distclean:
- make -f Makefile.in distclean
diff --git a/tcl8.6/compat/zlib/Makefile.in b/tcl8.6/compat/zlib/Makefile.in
deleted file mode 100644
index c61aa30..0000000
--- a/tcl8.6/compat/zlib/Makefile.in
+++ /dev/null
@@ -1,288 +0,0 @@
-# Makefile for zlib
-# Copyright (C) 1995-2013 Jean-loup Gailly, Mark Adler
-# For conditions of distribution and use, see copyright notice in zlib.h
-
-# To compile and test, type:
-# ./configure; make test
-# Normally configure builds both a static and a shared library.
-# If you want to build just a static library, use: ./configure --static
-
-# To use the asm code, type:
-# cp contrib/asm?86/match.S ./match.S
-# make LOC=-DASMV OBJA=match.o
-
-# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
-# make install
-# To install in $HOME instead of /usr/local, use:
-# make install prefix=$HOME
-
-CC=cc
-
-CFLAGS=-O
-#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
-#CFLAGS=-g -DDEBUG
-#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
-# -Wstrict-prototypes -Wmissing-prototypes
-
-SFLAGS=-O
-LDFLAGS=
-TEST_LDFLAGS=-L. libz.a
-LDSHARED=$(CC)
-CPP=$(CC) -E
-
-STATICLIB=libz.a
-SHAREDLIB=libz.so
-SHAREDLIBV=libz.so.1.2.8
-SHAREDLIBM=libz.so.1
-LIBS=$(STATICLIB) $(SHAREDLIBV)
-
-AR=ar
-ARFLAGS=rc
-RANLIB=ranlib
-LDCONFIG=ldconfig
-LDSHAREDLIBC=-lc
-TAR=tar
-SHELL=/bin/sh
-EXE=
-
-prefix = /usr/local
-exec_prefix = ${prefix}
-libdir = ${exec_prefix}/lib
-sharedlibdir = ${libdir}
-includedir = ${prefix}/include
-mandir = ${prefix}/share/man
-man3dir = ${mandir}/man3
-pkgconfigdir = ${libdir}/pkgconfig
-
-OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
-OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
-OBJC = $(OBJZ) $(OBJG)
-
-PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
-PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
-PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG)
-
-# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
-OBJA =
-PIC_OBJA =
-
-OBJS = $(OBJC) $(OBJA)
-
-PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
-
-all: static shared
-
-static: example$(EXE) minigzip$(EXE)
-
-shared: examplesh$(EXE) minigzipsh$(EXE)
-
-all64: example64$(EXE) minigzip64$(EXE)
-
-check: test
-
-test: all teststatic testshared
-
-teststatic: static
- @TMPST=tmpst_$$; \
- if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
- echo ' *** zlib test OK ***'; \
- else \
- echo ' *** zlib test FAILED ***'; false; \
- fi; \
- rm -f $$TMPST
-
-testshared: shared
- @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
- LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
- DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
- SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
- TMPSH=tmpsh_$$; \
- if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
- echo ' *** zlib shared test OK ***'; \
- else \
- echo ' *** zlib shared test FAILED ***'; false; \
- fi; \
- rm -f $$TMPSH
-
-test64: all64
- @TMP64=tmp64_$$; \
- if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
- echo ' *** zlib 64-bit test OK ***'; \
- else \
- echo ' *** zlib 64-bit test FAILED ***'; false; \
- fi; \
- rm -f $$TMP64
-
-infcover.o: test/infcover.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
-
-infcover: infcover.o libz.a
- $(CC) $(CFLAGS) -o $@ infcover.o libz.a
-
-cover: infcover
- rm -f *.gcda
- ./infcover
- gcov inf*.c
-
-libz.a: $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
- -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
-
-match.o: match.S
- $(CPP) match.S > _match.s
- $(CC) -c _match.s
- mv _match.o match.o
- rm -f _match.s
-
-match.lo: match.S
- $(CPP) match.S > _match.s
- $(CC) -c -fPIC _match.s
- mv _match.o match.lo
- rm -f _match.s
-
-example.o: test/example.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -c -o $@ test/example.c
-
-minigzip.o: test/minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
-
-example64.o: test/example.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
-
-minigzip64.o: test/minigzip.c zlib.h zconf.h
- $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c
-
-.SUFFIXES: .lo
-
-.c.lo:
- -@mkdir objs 2>/dev/null || test -d objs
- $(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
- -@mv objs/$*.o $@
-
-placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
- $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS)
- rm -f $(SHAREDLIB) $(SHAREDLIBM)
- ln -s $@ $(SHAREDLIB)
- ln -s $@ $(SHAREDLIBM)
- -@rmdir objs
-
-example$(EXE): example.o $(STATICLIB)
- $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
-
-minigzip$(EXE): minigzip.o $(STATICLIB)
- $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
-
-examplesh$(EXE): example.o $(SHAREDLIBV)
- $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
-
-minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
- $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
-
-example64$(EXE): example64.o $(STATICLIB)
- $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
-
-minigzip64$(EXE): minigzip64.o $(STATICLIB)
- $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
-
-install-libs: $(LIBS)
- -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
- -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi
- -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi
- -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi
- -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi
- cp $(STATICLIB) $(DESTDIR)$(libdir)
- chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB)
- -@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1
- -@if test -n "$(SHAREDLIBV)"; then \
- cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \
- echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
- chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \
- echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
- rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \
- ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \
- ($(LDCONFIG) || true) >/dev/null 2>&1; \
- fi
- cp zlib.3 $(DESTDIR)$(man3dir)
- chmod 644 $(DESTDIR)$(man3dir)/zlib.3
- cp zlib.pc $(DESTDIR)$(pkgconfigdir)
- chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc
-# The ranlib in install is needed on NeXTSTEP which checks file times
-# ldconfig is for Linux
-
-install: install-libs
- -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi
- cp zlib.h zconf.h $(DESTDIR)$(includedir)
- chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h
-
-uninstall:
- cd $(DESTDIR)$(includedir) && rm -f zlib.h zconf.h
- cd $(DESTDIR)$(libdir) && rm -f libz.a; \
- if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \
- rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \
- fi
- cd $(DESTDIR)$(man3dir) && rm -f zlib.3
- cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
-
-docs: zlib.3.pdf
-
-zlib.3.pdf: zlib.3
- groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf
-
-zconf.h.cmakein: zconf.h.in
- -@ TEMPFILE=zconfh_$$; \
- echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
- sed -f $$TEMPFILE zconf.h.in > zconf.h.cmakein &&\
- touch -r zconf.h.in zconf.h.cmakein &&\
- rm $$TEMPFILE
-
-zconf: zconf.h.in
- cp -p zconf.h.in zconf.h
-
-mostlyclean: clean
-clean:
- rm -f *.o *.lo *~ \
- example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
- example64$(EXE) minigzip64$(EXE) \
- infcover \
- libz.* foo.gz so_locations \
- _match.s maketree contrib/infback9/*.o
- rm -rf objs
- rm -f *.gcda *.gcno *.gcov
- rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
-
-maintainer-clean: distclean
-distclean: clean zconf zconf.h.cmakein docs
- rm -f Makefile zlib.pc configure.log
- -@rm -f .DS_Store
- -@printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile
- -@printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile
- -@touch -r Makefile.in Makefile
-
-tags:
- etags *.[ch]
-
-depend:
- makedepend -- $(CFLAGS) -- *.[ch]
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o zutil.o: zutil.h zlib.h zconf.h
-gzclose.o gzlib.o gzread.o gzwrite.o: zlib.h zconf.h gzguts.h
-compress.o example.o minigzip.o uncompr.o: zlib.h zconf.h
-crc32.o: zutil.h zlib.h zconf.h crc32.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-infback.o inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
-
-adler32.lo zutil.lo: zutil.h zlib.h zconf.h
-gzclose.lo gzlib.lo gzread.lo gzwrite.lo: zlib.h zconf.h gzguts.h
-compress.lo example.lo minigzip.lo uncompr.lo: zlib.h zconf.h
-crc32.lo: zutil.h zlib.h zconf.h crc32.h
-deflate.lo: deflate.h zutil.h zlib.h zconf.h
-infback.lo inflate.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h
-inffast.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inftrees.lo: zutil.h zlib.h zconf.h inftrees.h
-trees.lo: deflate.h zutil.h zlib.h zconf.h trees.h
diff --git a/tcl8.6/compat/zlib/README b/tcl8.6/compat/zlib/README
deleted file mode 100644
index 5ca9d12..0000000
--- a/tcl8.6/compat/zlib/README
+++ /dev/null
@@ -1,115 +0,0 @@
-ZLIB DATA COMPRESSION LIBRARY
-
-zlib 1.2.8 is a general purpose data compression library. All the code is
-thread safe. The data format used by the zlib library is described by RFCs
-(Request for Comments) 1950 to 1952 in the files
-http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
-rfc1952 (gzip format).
-
-All functions of the compression library are documented in the file zlib.h
-(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
-of the library is given in the file test/example.c which also tests that
-the library is working correctly. Another example is given in the file
-test/minigzip.c. The compression library itself is composed of all source
-files in the root directory.
-
-To compile all files and run the test program, follow the instructions given at
-the top of Makefile.in. In short "./configure; make test", and if that goes
-well, "make install" should work for most flavors of Unix. For Windows, use
-one of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
-make_vms.com.
-
-Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
-<info@winimage.com> for the Windows DLL version. The zlib home page is
-http://zlib.net/ . Before reporting a problem, please check this site to
-verify that you have the latest version of zlib; otherwise get the latest
-version and check whether the problem still exists or not.
-
-PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
-
-Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
-issue of Dr. Dobb's Journal; a copy of the article is available at
-http://marknelson.us/1997/01/01/zlib-engine/ .
-
-The changes made in version 1.2.8 are documented in the file ChangeLog.
-
-Unsupported third party contributions are provided in directory contrib/ .
-
-zlib is available in Java using the java.util.zip package, documented at
-http://java.sun.com/developer/technicalArticles/Programming/compression/ .
-
-A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is available
-at CPAN (Comprehensive Perl Archive Network) sites, including
-http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
-
-A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
-available in Python 1.5 and later versions, see
-http://docs.python.org/library/zlib.html .
-
-zlib is built into tcl: http://wiki.tcl.tk/4610 .
-
-An experimental package to read and write files in .zip format, written on top
-of zlib by Gilles Vollant <info@winimage.com>, is available in the
-contrib/minizip directory of zlib.
-
-
-Notes for some targets:
-
-- For Windows DLL versions, please see win32/DLL_FAQ.txt
-
-- For 64-bit Irix, deflate.c must be compiled without any optimization. With
- -O, one libpng test fails. The test works in 32 bit mode (with the -n32
- compiler flag). The compiler bug has been reported to SGI.
-
-- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
- when compiled with cc.
-
-- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
- necessary to get gzprintf working correctly. This is done by configure.
-
-- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
- other compilers. Use "make test" to check your compiler.
-
-- gzdopen is not supported on RISCOS or BEOS.
-
-- For PalmOs, see http://palmzlib.sourceforge.net/
-
-
-Acknowledgments:
-
- The deflate format used by zlib was defined by Phil Katz. The deflate and
- zlib specifications were written by L. Peter Deutsch. Thanks to all the
- people who reported problems and suggested various improvements in zlib; they
- are too numerous to cite here.
-
-Copyright notice:
-
- (C) 1995-2013 Jean-loup Gailly and Mark Adler
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-If you use the zlib library in a product, we would appreciate *not* receiving
-lengthy legal documents to sign. The sources are provided for free but without
-warranty of any kind. The library has been entirely written by Jean-loup
-Gailly and Mark Adler; it does not include third-party code.
-
-If you redistribute modified sources, we would appreciate that you include in
-the file ChangeLog history information documenting your changes. Please read
-the FAQ for more information on the distribution of modified source versions.
diff --git a/tcl8.6/compat/zlib/adler32.c b/tcl8.6/compat/zlib/adler32.c
deleted file mode 100644
index a868f07..0000000
--- a/tcl8.6/compat/zlib/adler32.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2011 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#include "zutil.h"
-
-#define local static
-
-local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
-
-#define BASE 65521 /* largest prime smaller than 65536 */
-#define NMAX 5552
-/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
-
-#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;}
-#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
-#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
-#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
-#define DO16(buf) DO8(buf,0); DO8(buf,8);
-
-/* use NO_DIVIDE if your processor does not do division in hardware --
- try it both ways to see which is faster */
-#ifdef NO_DIVIDE
-/* note that this assumes BASE is 65521, where 65536 % 65521 == 15
- (thank you to John Reiser for pointing this out) */
-# define CHOP(a) \
- do { \
- unsigned long tmp = a >> 16; \
- a &= 0xffffUL; \
- a += (tmp << 4) - tmp; \
- } while (0)
-# define MOD28(a) \
- do { \
- CHOP(a); \
- if (a >= BASE) a -= BASE; \
- } while (0)
-# define MOD(a) \
- do { \
- CHOP(a); \
- MOD28(a); \
- } while (0)
-# define MOD63(a) \
- do { /* this assumes a is not negative */ \
- z_off64_t tmp = a >> 32; \
- a &= 0xffffffffL; \
- a += (tmp << 8) - (tmp << 5) + tmp; \
- tmp = a >> 16; \
- a &= 0xffffL; \
- a += (tmp << 4) - tmp; \
- tmp = a >> 16; \
- a &= 0xffffL; \
- a += (tmp << 4) - tmp; \
- if (a >= BASE) a -= BASE; \
- } while (0)
-#else
-# define MOD(a) a %= BASE
-# define MOD28(a) a %= BASE
-# define MOD63(a) a %= BASE
-#endif
-
-/* ========================================================================= */
-uLong ZEXPORT adler32(adler, buf, len)
- uLong adler;
- const Bytef *buf;
- uInt len;
-{
- unsigned long sum2;
- unsigned n;
-
- /* split Adler-32 into component sums */
- sum2 = (adler >> 16) & 0xffff;
- adler &= 0xffff;
-
- /* in case user likes doing a byte at a time, keep it fast */
- if (len == 1) {
- adler += buf[0];
- if (adler >= BASE)
- adler -= BASE;
- sum2 += adler;
- if (sum2 >= BASE)
- sum2 -= BASE;
- return adler | (sum2 << 16);
- }
-
- /* initial Adler-32 value (deferred check for len == 1 speed) */
- if (buf == Z_NULL)
- return 1L;
-
- /* in case short lengths are provided, keep it somewhat fast */
- if (len < 16) {
- while (len--) {
- adler += *buf++;
- sum2 += adler;
- }
- if (adler >= BASE)
- adler -= BASE;
- MOD28(sum2); /* only added so many BASE's */
- return adler | (sum2 << 16);
- }
-
- /* do length NMAX blocks -- requires just one modulo operation */
- while (len >= NMAX) {
- len -= NMAX;
- n = NMAX / 16; /* NMAX is divisible by 16 */
- do {
- DO16(buf); /* 16 sums unrolled */
- buf += 16;
- } while (--n);
- MOD(adler);
- MOD(sum2);
- }
-
- /* do remaining bytes (less than NMAX, still just one modulo) */
- if (len) { /* avoid modulos if none remaining */
- while (len >= 16) {
- len -= 16;
- DO16(buf);
- buf += 16;
- }
- while (len--) {
- adler += *buf++;
- sum2 += adler;
- }
- MOD(adler);
- MOD(sum2);
- }
-
- /* return recombined sums */
- return adler | (sum2 << 16);
-}
-
-/* ========================================================================= */
-local uLong adler32_combine_(adler1, adler2, len2)
- uLong adler1;
- uLong adler2;
- z_off64_t len2;
-{
- unsigned long sum1;
- unsigned long sum2;
- unsigned rem;
-
- /* for negative len, return invalid adler32 as a clue for debugging */
- if (len2 < 0)
- return 0xffffffffUL;
-
- /* the derivation of this formula is left as an exercise for the reader */
- MOD63(len2); /* assumes len2 >= 0 */
- rem = (unsigned)len2;
- sum1 = adler1 & 0xffff;
- sum2 = rem * sum1;
- MOD(sum2);
- sum1 += (adler2 & 0xffff) + BASE - 1;
- sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
- if (sum1 >= BASE) sum1 -= BASE;
- if (sum1 >= BASE) sum1 -= BASE;
- if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
- if (sum2 >= BASE) sum2 -= BASE;
- return sum1 | (sum2 << 16);
-}
-
-/* ========================================================================= */
-uLong ZEXPORT adler32_combine(adler1, adler2, len2)
- uLong adler1;
- uLong adler2;
- z_off_t len2;
-{
- return adler32_combine_(adler1, adler2, len2);
-}
-
-uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
- uLong adler1;
- uLong adler2;
- z_off64_t len2;
-{
- return adler32_combine_(adler1, adler2, len2);
-}
diff --git a/tcl8.6/compat/zlib/amiga/Makefile.pup b/tcl8.6/compat/zlib/amiga/Makefile.pup
deleted file mode 100644
index 8940c12..0000000
--- a/tcl8.6/compat/zlib/amiga/Makefile.pup
+++ /dev/null
@@ -1,69 +0,0 @@
-# Amiga powerUP (TM) Makefile
-# makefile for libpng and SAS C V6.58/7.00 PPC compiler
-# Copyright (C) 1998 by Andreas R. Kleinert
-
-LIBNAME = libzip.a
-
-CC = scppc
-CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \
- OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8 NOVER
-AR = ppc-amigaos-ar cr
-RANLIB = ppc-amigaos-ranlib
-LD = ppc-amigaos-ld -r
-LDFLAGS = -o
-LDLIBS = LIB:scppc.a LIB:end.o
-RM = delete quiet
-
-OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \
- uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: example minigzip
-
-check: test
-test: all
- example
- echo hello world | minigzip | minigzip -d
-
-$(LIBNAME): $(OBJS)
- $(AR) $@ $(OBJS)
- -$(RANLIB) $@
-
-example: example.o $(LIBNAME)
- $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS)
-
-minigzip: minigzip.o $(LIBNAME)
- $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS)
-
-mostlyclean: clean
-clean:
- $(RM) *.o example minigzip $(LIBNAME) foo.gz
-
-zip:
- zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \
- descrip.mms *.[ch]
-
-tgz:
- cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \
- zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch]
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: crc32.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzclose.o: zlib.h zconf.h gzguts.h
-gzlib.o: zlib.h zconf.h gzguts.h
-gzread.o: zlib.h zconf.h gzguts.h
-gzwrite.o: zlib.h zconf.h gzguts.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
diff --git a/tcl8.6/compat/zlib/amiga/Makefile.sas b/tcl8.6/compat/zlib/amiga/Makefile.sas
deleted file mode 100644
index 749e291..0000000
--- a/tcl8.6/compat/zlib/amiga/Makefile.sas
+++ /dev/null
@@ -1,68 +0,0 @@
-# SMakefile for zlib
-# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly
-# Osma Ahvenlampi <Osma.Ahvenlampi@hut.fi>
-# Amiga, SAS/C 6.56 & Smake
-
-CC=sc
-CFLAGS=OPT
-#CFLAGS=OPT CPU=68030
-#CFLAGS=DEBUG=LINE
-LDFLAGS=LIB z.lib
-
-SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \
- NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX \
- DEF=POSTINC
-
-OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \
- uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
-
-TEST_OBJS = example.o minigzip.o
-
-all: SCOPTIONS example minigzip
-
-check: test
-test: all
- example
- echo hello world | minigzip | minigzip -d
-
-install: z.lib
- copy clone zlib.h zconf.h INCLUDE:
- copy clone z.lib LIB:
-
-z.lib: $(OBJS)
- oml z.lib r $(OBJS)
-
-example: example.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS)
-
-minigzip: minigzip.o z.lib
- $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS)
-
-mostlyclean: clean
-clean:
- -delete force quiet example minigzip *.o z.lib foo.gz *.lnk SCOPTIONS
-
-SCOPTIONS: Makefile.sas
- copy to $@ <from <
-$(SCOPTIONS)
-<
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-adler32.o: zlib.h zconf.h
-compress.o: zlib.h zconf.h
-crc32.o: crc32.h zlib.h zconf.h
-deflate.o: deflate.h zutil.h zlib.h zconf.h
-example.o: zlib.h zconf.h
-gzclose.o: zlib.h zconf.h gzguts.h
-gzlib.o: zlib.h zconf.h gzguts.h
-gzread.o: zlib.h zconf.h gzguts.h
-gzwrite.o: zlib.h zconf.h gzguts.h
-inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
-inftrees.o: zutil.h zlib.h zconf.h inftrees.h
-minigzip.o: zlib.h zconf.h
-trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
-uncompr.o: zlib.h zconf.h
-zutil.o: zutil.h zlib.h zconf.h
diff --git a/tcl8.6/compat/zlib/as400/bndsrc b/tcl8.6/compat/zlib/as400/bndsrc
deleted file mode 100644
index 98814fd..0000000
--- a/tcl8.6/compat/zlib/as400/bndsrc
+++ /dev/null
@@ -1,215 +0,0 @@
-STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB')
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.1.3 entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("adler32")
-
-/********************************************************************/
-/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("compress")
- EXPORT SYMBOL("compress2")
-
-/********************************************************************/
-/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("crc32")
- EXPORT SYMBOL("get_crc_table")
-
-/********************************************************************/
-/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("deflate")
- EXPORT SYMBOL("deflateEnd")
- EXPORT SYMBOL("deflateSetDictionary")
- EXPORT SYMBOL("deflateCopy")
- EXPORT SYMBOL("deflateReset")
- EXPORT SYMBOL("deflateParams")
- EXPORT SYMBOL("deflatePrime")
- EXPORT SYMBOL("deflateInit_")
- EXPORT SYMBOL("deflateInit2_")
-
-/********************************************************************/
-/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzopen")
- EXPORT SYMBOL("gzdopen")
- EXPORT SYMBOL("gzsetparams")
- EXPORT SYMBOL("gzread")
- EXPORT SYMBOL("gzwrite")
- EXPORT SYMBOL("gzprintf")
- EXPORT SYMBOL("gzputs")
- EXPORT SYMBOL("gzgets")
- EXPORT SYMBOL("gzputc")
- EXPORT SYMBOL("gzgetc")
- EXPORT SYMBOL("gzflush")
- EXPORT SYMBOL("gzseek")
- EXPORT SYMBOL("gzrewind")
- EXPORT SYMBOL("gztell")
- EXPORT SYMBOL("gzeof")
- EXPORT SYMBOL("gzclose")
- EXPORT SYMBOL("gzerror")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflate")
- EXPORT SYMBOL("inflateEnd")
- EXPORT SYMBOL("inflateSetDictionary")
- EXPORT SYMBOL("inflateSync")
- EXPORT SYMBOL("inflateReset")
- EXPORT SYMBOL("inflateInit_")
- EXPORT SYMBOL("inflateInit2_")
- EXPORT SYMBOL("inflateSyncPoint")
-
-/********************************************************************/
-/* *MODULE UNCOMPR ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("uncompress")
-
-/********************************************************************/
-/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("zlibVersion")
- EXPORT SYMBOL("zError")
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.2.1 additional entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("compressBound")
-
-/********************************************************************/
-/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("deflateBound")
-
-/********************************************************************/
-/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzungetc")
- EXPORT SYMBOL("gzclearerr")
-
-/********************************************************************/
-/* *MODULE INFBACK ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateBack")
- EXPORT SYMBOL("inflateBackEnd")
- EXPORT SYMBOL("inflateBackInit_")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateCopy")
-
-/********************************************************************/
-/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("zlibCompileFlags")
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.2.5 additional entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("adler32_combine")
- EXPORT SYMBOL("adler32_combine64")
-
-/********************************************************************/
-/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("crc32_combine")
- EXPORT SYMBOL("crc32_combine64")
-
-/********************************************************************/
-/* *MODULE GZLIB ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzbuffer")
- EXPORT SYMBOL("gzoffset")
- EXPORT SYMBOL("gzoffset64")
- EXPORT SYMBOL("gzopen64")
- EXPORT SYMBOL("gzseek64")
- EXPORT SYMBOL("gztell64")
-
-/********************************************************************/
-/* *MODULE GZREAD ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzclose_r")
-
-/********************************************************************/
-/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzclose_w")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateMark")
- EXPORT SYMBOL("inflatePrime")
- EXPORT SYMBOL("inflateReset2")
- EXPORT SYMBOL("inflateUndermine")
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.2.6 additional entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("deflateResetKeep")
- EXPORT SYMBOL("deflatePending")
-
-/********************************************************************/
-/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("gzgetc_")
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateResetKeep")
-
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-/* Version 1.2.8 additional entry points. */
-/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
-
-/********************************************************************/
-/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */
-/********************************************************************/
-
- EXPORT SYMBOL("inflateGetDictionary")
-
-ENDPGMEXP
diff --git a/tcl8.6/compat/zlib/as400/compile.clp b/tcl8.6/compat/zlib/as400/compile.clp
deleted file mode 100644
index e3f47c6..0000000
--- a/tcl8.6/compat/zlib/as400/compile.clp
+++ /dev/null
@@ -1,110 +0,0 @@
-/******************************************************************************/
-/* */
-/* ZLIB */
-/* */
-/* Compile sources into modules and link them into a service program. */
-/* */
-/******************************************************************************/
-
- PGM
-
-/* Configuration adjustable parameters. */
-
- DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) +
- VALUE('ZLIB') /* Source library. */
- DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) +
- VALUE('SOURCES') /* Source member file. */
- DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) +
- VALUE('TOOLS') /* Control member file. */
-
- DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) +
- VALUE('ZLIB') /* Module library. */
-
- DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) +
- VALUE('LGPL') /* Service program library. */
-
- DCL VAR(&CFLAGS) TYPE(*CHAR) +
- VALUE('OPTIMIZE(40)') /* Compile options. */
-
- DCL VAR(&TGTRLS) TYPE(*CHAR) +
- VALUE('V5R3M0') /* Target release. */
-
-
-/* Working storage. */
-
- DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */
- DCL VAR(&CMD) TYPE(*CHAR) LEN(512)
- DCL VAR(&FIXDCMD) TYPE(*CHAR) LEN(512)
-
-
-/* Compile sources into modules. */
-
- CHGVAR VAR(&FIXDCMD) VALUE('CRTCMOD' *BCAT &CFLAGS *BCAT +
- 'SYSIFCOPT(*IFS64IO)' *BCAT +
- 'DEFINE(''_LARGEFILE64_SOURCE''' *BCAT +
- '''_LFS64_LARGEFILE=1'') TGTRLS(' *TCAT &TGTRLS *TCAT +
- ') SRCFILE(' *TCAT &SRCLIB *TCAT '/' *TCAT +
- &SRCFILE *TCAT ') MODULE(' *TCAT &MODLIB *TCAT '/')
-
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ADLER32)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'COMPRESS)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'CRC32)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'DEFLATE)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZCLOSE)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZLIB)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZREAD)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZWRITE)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFBACK)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFFAST)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFLATE)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFTREES)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'TREES)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'UNCOMPR)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
- CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ZUTIL)')
- CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN)
-
-
-/* Link modules into a service program. */
-
- CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) +
- MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS +
- &MODLIB/CRC32 &MODLIB/DEFLATE +
- &MODLIB/GZCLOSE &MODLIB/GZLIB +
- &MODLIB/GZREAD &MODLIB/GZWRITE +
- &MODLIB/INFBACK &MODLIB/INFFAST +
- &MODLIB/INFLATE &MODLIB/INFTREES +
- &MODLIB/TREES &MODLIB/UNCOMPR +
- &MODLIB/ZUTIL) +
- SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) +
- TEXT('ZLIB 1.2.8') TGTRLS(&TGTRLS)
-
- ENDPGM
diff --git a/tcl8.6/compat/zlib/as400/readme.txt b/tcl8.6/compat/zlib/as400/readme.txt
deleted file mode 100644
index 7b5d93b..0000000
--- a/tcl8.6/compat/zlib/as400/readme.txt
+++ /dev/null
@@ -1,115 +0,0 @@
- ZLIB version 1.2.8 for AS400 installation instructions
-
-I) From an AS400 *SAVF file:
-
-1) Unpacking archive to an AS400 save file
-
-On the AS400:
-
-_ Create the ZLIB AS400 library:
-
- CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library')
-
-_ Create a work save file, for example:
-
- CRTSAVF FILE(ZLIB/ZLIBSAVF)
-
-On a PC connected to the target AS400:
-
-_ Unpack the save file image to a PC file "ZLIBSAVF"
-_ Upload this file into the save file on the AS400, for example
- using ftp in BINARY mode.
-
-
-2) Populating the ZLIB AS400 source library
-
-On the AS400:
-
-_ Extract the saved objects into the ZLIB AS400 library using:
-
-RSTOBJ OBJ(*ALL) SAVLIB(ZLIB) DEV(*SAVF) SAVF(ZLIB/ZLIBSAVF) RSTLIB(ZLIB)
-
-
-3) Customize installation:
-
-_ Edit CL member ZLIB/TOOLS(COMPILE) and change parameters if needed,
- according to the comments.
-
-_ Compile this member with:
-
- CRTCLPGM PGM(ZLIB/COMPILE) SRCFILE(ZLIB/TOOLS) SRCMBR(COMPILE)
-
-
-4) Compile and generate the service program:
-
-_ This can now be done by executing:
-
- CALL PGM(ZLIB/COMPILE)
-
-
-
-II) From the original source distribution:
-
-1) On the AS400, create the source library:
-
- CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library')
-
-2) Create the source files:
-
- CRTSRCPF FILE(ZLIB/SOURCES) RCDLEN(112) TEXT('ZLIB library modules')
- CRTSRCPF FILE(ZLIB/H) RCDLEN(112) TEXT('ZLIB library includes')
- CRTSRCPF FILE(ZLIB/TOOLS) RCDLEN(112) TEXT('ZLIB library control utilities')
-
-3) From the machine hosting the distribution files, upload them (with
- FTP in text mode, for example) according to the following table:
-
- Original AS400 AS400 AS400 AS400
- file file member type description
- SOURCES Original ZLIB C subprogram sources
- adler32.c ADLER32 C ZLIB - Compute the Adler-32 checksum of a dta strm
- compress.c COMPRESS C ZLIB - Compress a memory buffer
- crc32.c CRC32 C ZLIB - Compute the CRC-32 of a data stream
- deflate.c DEFLATE C ZLIB - Compress data using the deflation algorithm
- gzclose.c GZCLOSE C ZLIB - Close .gz files
- gzlib.c GZLIB C ZLIB - Miscellaneous .gz files IO support
- gzread.c GZREAD C ZLIB - Read .gz files
- gzwrite.c GZWRITE C ZLIB - Write .gz files
- infback.c INFBACK C ZLIB - Inflate using a callback interface
- inffast.c INFFAST C ZLIB - Fast proc. literals & length/distance pairs
- inflate.c INFLATE C ZLIB - Interface to inflate modules
- inftrees.c INFTREES C ZLIB - Generate Huffman trees for efficient decode
- trees.c TREES C ZLIB - Output deflated data using Huffman coding
- uncompr.c UNCOMPR C ZLIB - Decompress a memory buffer
- zutil.c ZUTIL C ZLIB - Target dependent utility functions
- H Original ZLIB C and ILE/RPG include files
- crc32.h CRC32 C ZLIB - CRC32 tables
- deflate.h DEFLATE C ZLIB - Internal compression state
- gzguts.h GZGUTS C ZLIB - Definitions for the gzclose module
- inffast.h INFFAST C ZLIB - Header to use inffast.c
- inffixed.h INFFIXED C ZLIB - Table for decoding fixed codes
- inflate.h INFLATE C ZLIB - Internal inflate state definitions
- inftrees.h INFTREES C ZLIB - Header to use inftrees.c
- trees.h TREES C ZLIB - Created automatically with -DGEN_TREES_H
- zconf.h ZCONF C ZLIB - Compression library configuration
- zlib.h ZLIB C ZLIB - Compression library C user interface
- as400/zlib.inc ZLIB.INC RPGLE ZLIB - Compression library ILE RPG user interface
- zutil.h ZUTIL C ZLIB - Internal interface and configuration
- TOOLS Building source software & AS/400 README
- as400/bndsrc BNDSRC Entry point exportation list
- as400/compile.clp COMPILE CLP Compile sources & generate service program
- as400/readme.txt README TXT Installation instructions
-
-4) Continue as in I)3).
-
-
-
-
-Notes: For AS400 ILE RPG programmers, a /copy member defining the ZLIB
- API prototypes for ILE RPG can be found in ZLIB/H(ZLIB.INC).
- Please read comments in this member for more information.
-
- Remember that most foreign textual data are ASCII coded: this
- implementation does not handle conversion from/to ASCII, so
- text data code conversions must be done explicitely.
-
- Mainly for the reason above, always open zipped files in binary mode.
diff --git a/tcl8.6/compat/zlib/as400/zlib.inc b/tcl8.6/compat/zlib/as400/zlib.inc
deleted file mode 100644
index 7341a6d..0000000
--- a/tcl8.6/compat/zlib/as400/zlib.inc
+++ /dev/null
@@ -1,451 +0,0 @@
- * ZLIB.INC - Interface to the general purpose compression library
- *
- * ILE RPG400 version by Patrick Monnerat, DATASPHERE.
- * Version 1.2.8
- *
- *
- * WARNING:
- * Procedures inflateInit(), inflateInit2(), deflateInit(),
- * deflateInit2() and inflateBackInit() need to be called with
- * two additional arguments:
- * the package version string and the stream control structure.
- * size. This is needed because RPG lacks some macro feature.
- * Call these procedures as:
- * inflateInit(...: ZLIB_VERSION: %size(z_stream))
- *
- /if not defined(ZLIB_H_)
- /define ZLIB_H_
- *
- **************************************************************************
- * Constants
- **************************************************************************
- *
- * Versioning information.
- *
- D ZLIB_VERSION C '1.2.8'
- D ZLIB_VERNUM C X'1280'
- D ZLIB_VER_MAJOR C 1
- D ZLIB_VER_MINOR C 2
- D ZLIB_VER_REVISION...
- D C 8
- D ZLIB_VER_SUBREVISION...
- D C 0
- *
- * Other equates.
- *
- D Z_NO_FLUSH C 0
- D Z_PARTIAL_FLUSH...
- D C 1
- D Z_SYNC_FLUSH C 2
- D Z_FULL_FLUSH C 3
- D Z_FINISH C 4
- D Z_BLOCK C 5
- D Z_TREES C 6
- *
- D Z_OK C 0
- D Z_STREAM_END C 1
- D Z_NEED_DICT C 2
- D Z_ERRNO C -1
- D Z_STREAM_ERROR C -2
- D Z_DATA_ERROR C -3
- D Z_MEM_ERROR C -4
- D Z_BUF_ERROR C -5
- DZ_VERSION_ERROR C -6
- *
- D Z_NO_COMPRESSION...
- D C 0
- D Z_BEST_SPEED C 1
- D Z_BEST_COMPRESSION...
- D C 9
- D Z_DEFAULT_COMPRESSION...
- D C -1
- *
- D Z_FILTERED C 1
- D Z_HUFFMAN_ONLY C 2
- D Z_RLE C 3
- D Z_DEFAULT_STRATEGY...
- D C 0
- *
- D Z_BINARY C 0
- D Z_ASCII C 1
- D Z_UNKNOWN C 2
- *
- D Z_DEFLATED C 8
- *
- D Z_NULL C 0
- *
- **************************************************************************
- * Types
- **************************************************************************
- *
- D z_streamp S * Stream struct ptr
- D gzFile S * File pointer
- D z_off_t S 10i 0 Stream offsets
- D z_off64_t S 20i 0 Stream offsets
- *
- **************************************************************************
- * Structures
- **************************************************************************
- *
- * The GZIP encode/decode stream support structure.
- *
- D z_stream DS align based(z_streamp)
- D zs_next_in * Next input byte
- D zs_avail_in 10U 0 Byte cnt at next_in
- D zs_total_in 10U 0 Total bytes read
- D zs_next_out * Output buffer ptr
- D zs_avail_out 10U 0 Room left @ next_out
- D zs_total_out 10U 0 Total bytes written
- D zs_msg * Last errmsg or null
- D zs_state * Internal state
- D zs_zalloc * procptr Int. state allocator
- D zs_free * procptr Int. state dealloc.
- D zs_opaque * Private alloc. data
- D zs_data_type 10i 0 ASC/BIN best guess
- D zs_adler 10u 0 Uncompr. adler32 val
- D 10U 0 Reserved
- D 10U 0 Ptr. alignment
- *
- **************************************************************************
- * Utility function prototypes
- **************************************************************************
- *
- D compress PR 10I 0 extproc('compress')
- D dest 65535 options(*varsize) Destination buffer
- D destLen 10U 0 Destination length
- D source 65535 const options(*varsize) Source buffer
- D sourceLen 10u 0 value Source length
- *
- D compress2 PR 10I 0 extproc('compress2')
- D dest 65535 options(*varsize) Destination buffer
- D destLen 10U 0 Destination length
- D source 65535 const options(*varsize) Source buffer
- D sourceLen 10U 0 value Source length
- D level 10I 0 value Compression level
- *
- D compressBound PR 10U 0 extproc('compressBound')
- D sourceLen 10U 0 value
- *
- D uncompress PR 10I 0 extproc('uncompress')
- D dest 65535 options(*varsize) Destination buffer
- D destLen 10U 0 Destination length
- D source 65535 const options(*varsize) Source buffer
- D sourceLen 10U 0 value Source length
- *
- /if not defined(LARGE_FILES)
- D gzopen PR extproc('gzopen')
- D like(gzFile)
- D path * value options(*string) File pathname
- D mode * value options(*string) Open mode
- /else
- D gzopen PR extproc('gzopen64')
- D like(gzFile)
- D path * value options(*string) File pathname
- D mode * value options(*string) Open mode
- *
- D gzopen64 PR extproc('gzopen64')
- D like(gzFile)
- D path * value options(*string) File pathname
- D mode * value options(*string) Open mode
- /endif
- *
- D gzdopen PR extproc('gzdopen')
- D like(gzFile)
- D fd 10I 0 value File descriptor
- D mode * value options(*string) Open mode
- *
- D gzbuffer PR 10I 0 extproc('gzbuffer')
- D file value like(gzFile) File pointer
- D size 10U 0 value
- *
- D gzsetparams PR 10I 0 extproc('gzsetparams')
- D file value like(gzFile) File pointer
- D level 10I 0 value
- D strategy 10I 0 value
- *
- D gzread PR 10I 0 extproc('gzread')
- D file value like(gzFile) File pointer
- D buf 65535 options(*varsize) Buffer
- D len 10u 0 value Buffer length
- *
- D gzwrite PR 10I 0 extproc('gzwrite')
- D file value like(gzFile) File pointer
- D buf 65535 const options(*varsize) Buffer
- D len 10u 0 value Buffer length
- *
- D gzputs PR 10I 0 extproc('gzputs')
- D file value like(gzFile) File pointer
- D s * value options(*string) String to output
- *
- D gzgets PR * extproc('gzgets')
- D file value like(gzFile) File pointer
- D buf 65535 options(*varsize) Read buffer
- D len 10i 0 value Buffer length
- *
- D gzputc PR 10i 0 extproc('gzputc')
- D file value like(gzFile) File pointer
- D c 10I 0 value Character to write
- *
- D gzgetc PR 10i 0 extproc('gzgetc')
- D file value like(gzFile) File pointer
- *
- D gzgetc_ PR 10i 0 extproc('gzgetc_')
- D file value like(gzFile) File pointer
- *
- D gzungetc PR 10i 0 extproc('gzungetc')
- D c 10I 0 value Character to push
- D file value like(gzFile) File pointer
- *
- D gzflush PR 10i 0 extproc('gzflush')
- D file value like(gzFile) File pointer
- D flush 10I 0 value Type of flush
- *
- /if not defined(LARGE_FILES)
- D gzseek PR extproc('gzseek')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- D offset value like(z_off_t) Offset
- D whence 10i 0 value Origin
- /else
- D gzseek PR extproc('gzseek64')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- D offset value like(z_off_t) Offset
- D whence 10i 0 value Origin
- *
- D gzseek64 PR extproc('gzseek64')
- D like(z_off64_t)
- D file value like(gzFile) File pointer
- D offset value like(z_off64_t) Offset
- D whence 10i 0 value Origin
- /endif
- *
- D gzrewind PR 10i 0 extproc('gzrewind')
- D file value like(gzFile) File pointer
- *
- /if not defined(LARGE_FILES)
- D gztell PR extproc('gztell')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- /else
- D gztell PR extproc('gztell64')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- *
- D gztell64 PR extproc('gztell64')
- D like(z_off64_t)
- D file value like(gzFile) File pointer
- /endif
- *
- /if not defined(LARGE_FILES)
- D gzoffset PR extproc('gzoffset')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- /else
- D gzoffset PR extproc('gzoffset64')
- D like(z_off_t)
- D file value like(gzFile) File pointer
- *
- D gzoffset64 PR extproc('gzoffset64')
- D like(z_off64_t)
- D file value like(gzFile) File pointer
- /endif
- *
- D gzeof PR 10i 0 extproc('gzeof')
- D file value like(gzFile) File pointer
- *
- D gzclose_r PR 10i 0 extproc('gzclose_r')
- D file value like(gzFile) File pointer
- *
- D gzclose_w PR 10i 0 extproc('gzclose_w')
- D file value like(gzFile) File pointer
- *
- D gzclose PR 10i 0 extproc('gzclose')
- D file value like(gzFile) File pointer
- *
- D gzerror PR * extproc('gzerror') Error string
- D file value like(gzFile) File pointer
- D errnum 10I 0 Error code
- *
- D gzclearerr PR extproc('gzclearerr')
- D file value like(gzFile) File pointer
- *
- **************************************************************************
- * Basic function prototypes
- **************************************************************************
- *
- D zlibVersion PR * extproc('zlibVersion') Version string
- *
- D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression
- D strm like(z_stream) Compression stream
- D level 10I 0 value Compression level
- D version * value options(*string) Version string
- D stream_size 10i 0 value Stream struct. size
- *
- D deflate PR 10I 0 extproc('deflate') Compress data
- D strm like(z_stream) Compression stream
- D flush 10I 0 value Flush type required
- *
- D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression
- D strm like(z_stream) Compression stream
- *
- D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion
- D strm like(z_stream) Expansion stream
- D version * value options(*string) Version string
- D stream_size 10i 0 value Stream struct. size
- *
- D inflate PR 10I 0 extproc('inflate') Expand data
- D strm like(z_stream) Expansion stream
- D flush 10I 0 value Flush type required
- *
- D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion
- D strm like(z_stream) Expansion stream
- *
- **************************************************************************
- * Advanced function prototypes
- **************************************************************************
- *
- D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression
- D strm like(z_stream) Compression stream
- D level 10I 0 value Compression level
- D method 10I 0 value Compression method
- D windowBits 10I 0 value log2(window size)
- D memLevel 10I 0 value Mem/cmpress tradeoff
- D strategy 10I 0 value Compression stategy
- D version * value options(*string) Version string
- D stream_size 10i 0 value Stream struct. size
- *
- D deflateSetDictionary...
- D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary
- D strm like(z_stream) Compression stream
- D dictionary 65535 const options(*varsize) Dictionary bytes
- D dictLength 10U 0 value Dictionary length
- *
- D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm
- D dest like(z_stream) Destination stream
- D source like(z_stream) Source stream
- *
- D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream
- D strm like(z_stream) Compression stream
- *
- D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat
- D strm like(z_stream) Compression stream
- D level 10I 0 value Compression level
- D strategy 10I 0 value Compression stategy
- *
- D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat
- D strm like(z_stream) Compression stream
- D sourcelen 10U 0 value Compression level
- *
- D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat
- D strm like(z_stream) Compression stream
- D pending 10U 0 Pending bytes
- D bits 10I 0 Pending bits
- *
- D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat
- D strm like(z_stream) Compression stream
- D bits 10I 0 value # of bits to insert
- D value 10I 0 value Bits to insert
- *
- D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion
- D strm like(z_stream) Expansion stream
- D windowBits 10I 0 value log2(window size)
- D version * value options(*string) Version string
- D stream_size 10i 0 value Stream struct. size
- *
- D inflateSetDictionary...
- D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary
- D strm like(z_stream) Expansion stream
- D dictionary 65535 const options(*varsize) Dictionary bytes
- D dictLength 10U 0 value Dictionary length
- *
- D inflateGetDictionary...
- D PR 10I 0 extproc('inflateGetDictionary') Get dictionary
- D strm like(z_stream) Expansion stream
- D dictionary 65535 options(*varsize) Dictionary bytes
- D dictLength 10U 0 Dictionary length
- *
- D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion
- D strm like(z_stream) Expansion stream
- *
- D inflateCopy PR 10I 0 extproc('inflateCopy')
- D dest like(z_stream) Destination stream
- D source like(z_stream) Source stream
- *
- D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream
- D strm like(z_stream) Expansion stream
- *
- D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream
- D strm like(z_stream) Expansion stream
- D windowBits 10I 0 value Log2(buffer size)
- *
- D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits
- D strm like(z_stream) Expansion stream
- D bits 10I 0 value Bit count
- D value 10I 0 value Bits to insert
- *
- D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info
- D strm like(z_stream) Expansion stream
- *
- D inflateBackInit...
- D PR 10I 0 extproc('inflateBackInit_')
- D strm like(z_stream) Expansion stream
- D windowBits 10I 0 value Log2(buffer size)
- D window 65535 options(*varsize) Buffer
- D version * value options(*string) Version string
- D stream_size 10i 0 value Stream struct. size
- *
- D inflateBack PR 10I 0 extproc('inflateBack')
- D strm like(z_stream) Expansion stream
- D in * value procptr Input function
- D in_desc * value Input descriptor
- D out * value procptr Output function
- D out_desc * value Output descriptor
- *
- D inflateBackEnd PR 10I 0 extproc('inflateBackEnd')
- D strm like(z_stream) Expansion stream
- *
- D zlibCompileFlags...
- D PR 10U 0 extproc('zlibCompileFlags')
- *
- **************************************************************************
- * Checksum function prototypes
- **************************************************************************
- *
- D adler32 PR 10U 0 extproc('adler32') New checksum
- D adler 10U 0 value Old checksum
- D buf 65535 const options(*varsize) Bytes to accumulate
- D len 10U 0 value Buffer length
- *
- D crc32 PR 10U 0 extproc('crc32') New checksum
- D crc 10U 0 value Old checksum
- D buf 65535 const options(*varsize) Bytes to accumulate
- D len 10U 0 value Buffer length
- *
- **************************************************************************
- * Miscellaneous function prototypes
- **************************************************************************
- *
- D zError PR * extproc('zError') Error string
- D err 10I 0 value Error code
- *
- D inflateSyncPoint...
- D PR 10I 0 extproc('inflateSyncPoint')
- D strm like(z_stream) Expansion stream
- *
- D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs
- *
- D inflateUndermine...
- D PR 10I 0 extproc('inflateUndermine')
- D strm like(z_stream) Expansion stream
- D arg 10I 0 value Error code
- *
- D inflateResetKeep...
- D PR 10I 0 extproc('inflateResetKeep') End and init. stream
- D strm like(z_stream) Expansion stream
- *
- D deflateResetKeep...
- D PR 10I 0 extproc('deflateResetKeep') End and init. stream
- D strm like(z_stream) Expansion stream
- *
- /endif
diff --git a/tcl8.6/compat/zlib/compress.c b/tcl8.6/compat/zlib/compress.c
deleted file mode 100644
index 6e97626..0000000
--- a/tcl8.6/compat/zlib/compress.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* compress.c -- compress a memory buffer
- * Copyright (C) 1995-2005 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#define ZLIB_INTERNAL
-#include "zlib.h"
-
-/* ===========================================================================
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least 0.1% larger than sourceLen plus
- 12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
- int level;
-{
- z_stream stream;
- int err;
-
- stream.next_in = (z_const Bytef *)source;
- stream.avail_in = (uInt)sourceLen;
-#ifdef MAXSEG_64K
- /* Check for source > 64K on 16-bit machine: */
- if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-#endif
- stream.next_out = dest;
- stream.avail_out = (uInt)*destLen;
- if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
- stream.zalloc = (alloc_func)0;
- stream.zfree = (free_func)0;
- stream.opaque = (voidpf)0;
-
- err = deflateInit(&stream, level);
- if (err != Z_OK) return err;
-
- err = deflate(&stream, Z_FINISH);
- if (err != Z_STREAM_END) {
- deflateEnd(&stream);
- return err == Z_OK ? Z_BUF_ERROR : err;
- }
- *destLen = stream.total_out;
-
- err = deflateEnd(&stream);
- return err;
-}
-
-/* ===========================================================================
- */
-int ZEXPORT compress (dest, destLen, source, sourceLen)
- Bytef *dest;
- uLongf *destLen;
- const Bytef *source;
- uLong sourceLen;
-{
- return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
-}
-
-/* ===========================================================================
- If the default memLevel or windowBits for deflateInit() is changed, then
- this function needs to be updated.
- */
-uLong ZEXPORT compressBound (sourceLen)
- uLong sourceLen;
-{
- return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
- (sourceLen >> 25) + 13;
-}
diff --git a/tcl8.6/compat/zlib/configure b/tcl8.6/compat/zlib/configure
deleted file mode 100755
index b77a8a8..0000000
--- a/tcl8.6/compat/zlib/configure
+++ /dev/null
@@ -1,831 +0,0 @@
-#!/bin/sh
-# configure script for zlib.
-#
-# Normally configure builds both a static and a shared library.
-# If you want to build just a static library, use: ./configure --static
-#
-# To impose specific compiler or flags or install directory, use for example:
-# prefix=$HOME CC=cc CFLAGS="-O4" ./configure
-# or for csh/tcsh users:
-# (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure)
-
-# Incorrect settings of CC or CFLAGS may prevent creating a shared library.
-# If you have problems, try without defining CC and CFLAGS before reporting
-# an error.
-
-# start off configure.log
-echo -------------------- >> configure.log
-echo $0 $* >> configure.log
-date >> configure.log
-
-# set command prefix for cross-compilation
-if [ -n "${CHOST}" ]; then
- uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
- CROSS_PREFIX="${CHOST}-"
-fi
-
-# destination name for static library
-STATICLIB=libz.a
-
-# extract zlib version numbers from zlib.h
-VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
-VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h`
-VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
-VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
-
-# establish commands for library building
-if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- AR=${AR-"${CROSS_PREFIX}ar"}
- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-else
- AR=${AR-"ar"}
- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-fi
-ARFLAGS=${ARFLAGS-"rc"}
-if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
- test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
-else
- RANLIB=${RANLIB-"ranlib"}
-fi
-if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- NM=${NM-"${CROSS_PREFIX}nm"}
- test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
-else
- NM=${NM-"nm"}
-fi
-
-# set defaults before processing command line options
-LDCONFIG=${LDCONFIG-"ldconfig"}
-LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
-ARCHS=
-prefix=${prefix-/usr/local}
-exec_prefix=${exec_prefix-'${prefix}'}
-libdir=${libdir-'${exec_prefix}/lib'}
-sharedlibdir=${sharedlibdir-'${libdir}'}
-includedir=${includedir-'${prefix}/include'}
-mandir=${mandir-'${prefix}/share/man'}
-shared_ext='.so'
-shared=1
-solo=0
-cover=0
-zprefix=0
-zconst=0
-build64=0
-gcc=0
-old_cc="$CC"
-old_cflags="$CFLAGS"
-OBJC='$(OBJZ) $(OBJG)'
-PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
-
-# leave this script, optionally in a bad way
-leave()
-{
- if test "$*" != "0"; then
- echo "** $0 aborting." | tee -a configure.log
- fi
- rm -f $test.[co] $test $test$shared_ext $test.gcno ./--version
- echo -------------------- >> configure.log
- echo >> configure.log
- echo >> configure.log
- exit $1
-}
-
-# process command line options
-while test $# -ge 1
-do
-case "$1" in
- -h* | --help)
- echo 'usage:' | tee -a configure.log
- echo ' configure [--const] [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log
- echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
- echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
- exit 0 ;;
- -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
- -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
- -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
- --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
- -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
- -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
- -p* | --prefix) prefix="$2"; shift; shift ;;
- -e* | --eprefix) exec_prefix="$2"; shift; shift ;;
- -l* | --libdir) libdir="$2"; shift; shift ;;
- -i* | --includedir) includedir="$2"; shift; shift ;;
- -s* | --shared | --enable-shared) shared=1; shift ;;
- -t | --static) shared=0; shift ;;
- --solo) solo=1; shift ;;
- --cover) cover=1; shift ;;
- -z* | --zprefix) zprefix=1; shift ;;
- -6* | --64) build64=1; shift ;;
- -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
- --sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
- --localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
- -c* | --const) zconst=1; shift ;;
- *)
- echo "unknown option: $1" | tee -a configure.log
- echo "$0 --help for help" | tee -a configure.log
- leave 1;;
- esac
-done
-
-# temporary file name
-test=ztest$$
-
-# put arguments in log, also put test file in log if used in arguments
-show()
-{
- case "$*" in
- *$test.c*)
- echo === $test.c === >> configure.log
- cat $test.c >> configure.log
- echo === >> configure.log;;
- esac
- echo $* >> configure.log
-}
-
-# check for gcc vs. cc and set compile and link flags based on the system identified by uname
-cat > $test.c <<EOF
-extern int getchar();
-int hello() {return getchar();}
-EOF
-
-test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... | tee -a configure.log
-cc=${CC-${CROSS_PREFIX}gcc}
-cflags=${CFLAGS-"-O3"}
-# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
-case "$cc" in
- *gcc*) gcc=1 ;;
- *clang*) gcc=1 ;;
-esac
-case `$cc -v 2>&1` in
- *gcc*) gcc=1 ;;
-esac
-
-show $cc -c $test.c
-if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
- echo ... using gcc >> configure.log
- CC="$cc"
- CFLAGS="${CFLAGS--O3} ${ARCHS}"
- SFLAGS="${CFLAGS--O3} -fPIC"
- LDFLAGS="${LDFLAGS} ${ARCHS}"
- if test $build64 -eq 1; then
- CFLAGS="${CFLAGS} -m64"
- SFLAGS="${SFLAGS} -m64"
- fi
- if test "${ZLIBGCCWARN}" = "YES"; then
- if test "$zconst" -eq 1; then
- CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
- else
- CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
- fi
- fi
- if test -z "$uname"; then
- uname=`(uname -s || echo unknown) 2>/dev/null`
- fi
- case "$uname" in
- Linux* | linux* | GNU | GNU/* | solaris*)
- LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;;
- *BSD | *bsd* | DragonFly)
- LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"}
- LDCONFIG="ldconfig -m" ;;
- CYGWIN* | Cygwin* | cygwin* | OS/2*)
- EXE='.exe' ;;
- MINGW* | mingw*)
-# temporary bypass
- rm -f $test.[co] $test $test$shared_ext
- echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
- leave 1
- LDSHARED=${LDSHARED-"$cc -shared"}
- LDSHAREDLIBC=""
- EXE='.exe' ;;
- QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
- # (alain.bonnefoy@icbt.com)
- LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
- HP-UX*)
- LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
- case `(uname -m || echo unknown) 2>/dev/null` in
- ia64)
- shared_ext='.so'
- SHAREDLIB='libz.so' ;;
- *)
- shared_ext='.sl'
- SHAREDLIB='libz.sl' ;;
- esac ;;
- Darwin* | darwin*)
- shared_ext='.dylib'
- SHAREDLIB=libz$shared_ext
- SHAREDLIBV=libz.$VER$shared_ext
- SHAREDLIBM=libz.$VER1$shared_ext
- LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
- if libtool -V 2>&1 | grep Apple > /dev/null; then
- AR="libtool"
- else
- AR="/usr/bin/libtool"
- fi
- ARFLAGS="-o" ;;
- *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
- esac
-else
- # find system name and corresponding cc options
- CC=${CC-cc}
- gcc=0
- echo ... using $CC >> configure.log
- if test -z "$uname"; then
- uname=`(uname -sr || echo unknown) 2>/dev/null`
- fi
- case "$uname" in
- HP-UX*) SFLAGS=${CFLAGS-"-O +z"}
- CFLAGS=${CFLAGS-"-O"}
-# LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
- LDSHARED=${LDSHARED-"ld -b"}
- case `(uname -m || echo unknown) 2>/dev/null` in
- ia64)
- shared_ext='.so'
- SHAREDLIB='libz.so' ;;
- *)
- shared_ext='.sl'
- SHAREDLIB='libz.sl' ;;
- esac ;;
- IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
- CFLAGS=${CFLAGS-"-ansi -O2"}
- LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;;
- OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
- CFLAGS=${CFLAGS-"-O -std1"}
- LDFLAGS="${LDFLAGS} -Wl,-rpath,."
- LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"} ;;
- OSF1*) SFLAGS=${CFLAGS-"-O -std1"}
- CFLAGS=${CFLAGS-"-O -std1"}
- LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;;
- QNX*) SFLAGS=${CFLAGS-"-4 -O"}
- CFLAGS=${CFLAGS-"-4 -O"}
- LDSHARED=${LDSHARED-"cc"}
- RANLIB=${RANLIB-"true"}
- AR="cc"
- ARFLAGS="-A" ;;
- SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
- CFLAGS=${CFLAGS-"-O3"}
- LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
- SunOS\ 5* | solaris*)
- LDSHARED=${LDSHARED-"cc -G -h libz$shared_ext.$VER1"}
- SFLAGS=${CFLAGS-"-fast -KPIC"}
- CFLAGS=${CFLAGS-"-fast"}
- if test $build64 -eq 1; then
- # old versions of SunPRO/Workshop/Studio don't support -m64,
- # but newer ones do. Check for it.
- flag64=`$CC -flags | egrep -- '^-m64'`
- if test x"$flag64" != x"" ; then
- CFLAGS="${CFLAGS} -m64"
- SFLAGS="${SFLAGS} -m64"
- else
- case `(uname -m || echo unknown) 2>/dev/null` in
- i86*)
- SFLAGS="$SFLAGS -xarch=amd64"
- CFLAGS="$CFLAGS -xarch=amd64" ;;
- *)
- SFLAGS="$SFLAGS -xarch=v9"
- CFLAGS="$CFLAGS -xarch=v9" ;;
- esac
- fi
- fi
- ;;
- SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
- CFLAGS=${CFLAGS-"-O2"}
- LDSHARED=${LDSHARED-"ld"} ;;
- SunStudio\ 9*) SFLAGS=${CFLAGS-"-fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"}
- CFLAGS=${CFLAGS-"-fast -xtarget=ultra3 -xarch=v9b"}
- LDSHARED=${LDSHARED-"cc -xarch=v9b"} ;;
- UNIX_System_V\ 4.2.0)
- SFLAGS=${CFLAGS-"-KPIC -O"}
- CFLAGS=${CFLAGS-"-O"}
- LDSHARED=${LDSHARED-"cc -G"} ;;
- UNIX_SV\ 4.2MP)
- SFLAGS=${CFLAGS-"-Kconform_pic -O"}
- CFLAGS=${CFLAGS-"-O"}
- LDSHARED=${LDSHARED-"cc -G"} ;;
- OpenUNIX\ 5)
- SFLAGS=${CFLAGS-"-KPIC -O"}
- CFLAGS=${CFLAGS-"-O"}
- LDSHARED=${LDSHARED-"cc -G"} ;;
- AIX*) # Courtesy of dbakker@arrayasolutions.com
- SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
- CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
- LDSHARED=${LDSHARED-"xlc -G"} ;;
- # send working options for other systems to zlib@gzip.org
- *) SFLAGS=${CFLAGS-"-O"}
- CFLAGS=${CFLAGS-"-O"}
- LDSHARED=${LDSHARED-"cc -shared"} ;;
- esac
-fi
-
-# destination names for shared library if not defined above
-SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
-SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
-SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
-
-echo >> configure.log
-
-# define functions for testing compiler and library characteristics and logging the results
-
-cat > $test.c <<EOF
-#error error
-EOF
-if ($CC -c $CFLAGS $test.c) 2>/dev/null; then
- try()
- {
- show $*
- test "`( $* ) 2>&1 | tee -a configure.log`" = ""
- }
- echo - using any output from compiler to indicate an error >> configure.log
-else
-try()
-{
- show $*
- ( $* ) >> configure.log 2>&1
- ret=$?
- if test $ret -ne 0; then
- echo "(exit code "$ret")" >> configure.log
- fi
- return $ret
-}
-fi
-
-tryboth()
-{
- show $*
- got=`( $* ) 2>&1`
- ret=$?
- printf %s "$got" >> configure.log
- if test $ret -ne 0; then
- return $ret
- fi
- test "$got" = ""
-}
-
-cat > $test.c << EOF
-int foo() { return 0; }
-EOF
-echo "Checking for obsessive-compulsive compiler options..." >> configure.log
-if try $CC -c $CFLAGS $test.c; then
- :
-else
- echo "Compiler error reporting is too harsh for $0 (perhaps remove -Werror)." | tee -a configure.log
- leave 1
-fi
-
-echo >> configure.log
-
-# see if shared library build supported
-cat > $test.c <<EOF
-extern int getchar();
-int hello() {return getchar();}
-EOF
-if test $shared -eq 1; then
- echo Checking for shared library support... | tee -a configure.log
- # we must test in two steps (cc then ld), required at least on SunOS 4.x
- if try $CC -w -c $SFLAGS $test.c &&
- try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
- echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
- elif test -z "$old_cc" -a -z "$old_cflags"; then
- echo No shared library support. | tee -a configure.log
- shared=0;
- else
- echo 'No shared library support; try without defining CC and CFLAGS' | tee -a configure.log
- shared=0;
- fi
-fi
-if test $shared -eq 0; then
- LDSHARED="$CC"
- ALL="static"
- TEST="all teststatic"
- SHAREDLIB=""
- SHAREDLIBV=""
- SHAREDLIBM=""
- echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log
-else
- ALL="static shared"
- TEST="all teststatic testshared"
-fi
-
-# check for underscores in external names for use by assembler code
-CPP=${CPP-"$CC -E"}
-case $CFLAGS in
- *ASMV*)
- echo >> configure.log
- show "$NM $test.o | grep _hello"
- if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then
- CPP="$CPP -DNO_UNDERLINE"
- echo Checking for underline in external names... No. | tee -a configure.log
- else
- echo Checking for underline in external names... Yes. | tee -a configure.log
- fi ;;
-esac
-
-echo >> configure.log
-
-# check for large file support, and if none, check for fseeko()
-cat > $test.c <<EOF
-#include <sys/types.h>
-off64_t dummy = 0;
-EOF
-if try $CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c; then
- CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE=1"
- SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1"
- ALL="${ALL} all64"
- TEST="${TEST} test64"
- echo "Checking for off64_t... Yes." | tee -a configure.log
- echo "Checking for fseeko... Yes." | tee -a configure.log
-else
- echo "Checking for off64_t... No." | tee -a configure.log
- echo >> configure.log
- cat > $test.c <<EOF
-#include <stdio.h>
-int main(void) {
- fseeko(NULL, 0, 0);
- return 0;
-}
-EOF
- if try $CC $CFLAGS -o $test $test.c; then
- echo "Checking for fseeko... Yes." | tee -a configure.log
- else
- CFLAGS="${CFLAGS} -DNO_FSEEKO"
- SFLAGS="${SFLAGS} -DNO_FSEEKO"
- echo "Checking for fseeko... No." | tee -a configure.log
- fi
-fi
-
-echo >> configure.log
-
-# check for strerror() for use by gz* functions
-cat > $test.c <<EOF
-#include <string.h>
-#include <errno.h>
-int main() { return strlen(strerror(errno)); }
-EOF
-if try $CC $CFLAGS -o $test $test.c; then
- echo "Checking for strerror... Yes." | tee -a configure.log
-else
- CFLAGS="${CFLAGS} -DNO_STRERROR"
- SFLAGS="${SFLAGS} -DNO_STRERROR"
- echo "Checking for strerror... No." | tee -a configure.log
-fi
-
-# copy clean zconf.h for subsequent edits
-cp -p zconf.h.in zconf.h
-
-echo >> configure.log
-
-# check for unistd.h and save result in zconf.h
-cat > $test.c <<EOF
-#include <unistd.h>
-int main() { return 0; }
-EOF
-if try $CC -c $CFLAGS $test.c; then
- sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
- mv zconf.temp.h zconf.h
- echo "Checking for unistd.h... Yes." | tee -a configure.log
-else
- echo "Checking for unistd.h... No." | tee -a configure.log
-fi
-
-echo >> configure.log
-
-# check for stdarg.h and save result in zconf.h
-cat > $test.c <<EOF
-#include <stdarg.h>
-int main() { return 0; }
-EOF
-if try $CC -c $CFLAGS $test.c; then
- sed < zconf.h "/^#ifdef HAVE_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
- mv zconf.temp.h zconf.h
- echo "Checking for stdarg.h... Yes." | tee -a configure.log
-else
- echo "Checking for stdarg.h... No." | tee -a configure.log
-fi
-
-# if the z_ prefix was requested, save that in zconf.h
-if test $zprefix -eq 1; then
- sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h
- mv zconf.temp.h zconf.h
- echo >> configure.log
- echo "Using z_ prefix on all symbols." | tee -a configure.log
-fi
-
-# if --solo compilation was requested, save that in zconf.h and remove gz stuff from object lists
-if test $solo -eq 1; then
- sed '/#define ZCONF_H/a\
-#define Z_SOLO
-
-' < zconf.h > zconf.temp.h
- mv zconf.temp.h zconf.h
-OBJC='$(OBJZ)'
-PIC_OBJC='$(PIC_OBJZ)'
-fi
-
-# if code coverage testing was requested, use older gcc if defined, e.g. "gcc-4.2" on Mac OS X
-if test $cover -eq 1; then
- CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
- if test -n "$GCC_CLASSIC"; then
- CC=$GCC_CLASSIC
- fi
-fi
-
-echo >> configure.log
-
-# conduct a series of tests to resolve eight possible cases of using "vs" or "s" printf functions
-# (using stdarg or not), with or without "n" (proving size of buffer), and with or without a
-# return value. The most secure result is vsnprintf() with a return value. snprintf() with a
-# return value is secure as well, but then gzprintf() will be limited to 20 arguments.
-cat > $test.c <<EOF
-#include <stdio.h>
-#include <stdarg.h>
-#include "zconf.h"
-int main()
-{
-#ifndef STDC
- choke me
-#endif
- return 0;
-}
-EOF
-if try $CC -c $CFLAGS $test.c; then
- echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log
-
- echo >> configure.log
- cat > $test.c <<EOF
-#include <stdio.h>
-#include <stdarg.h>
-int mytest(const char *fmt, ...)
-{
- char buf[20];
- va_list ap;
- va_start(ap, fmt);
- vsnprintf(buf, sizeof(buf), fmt, ap);
- va_end(ap);
- return 0;
-}
-int main()
-{
- return (mytest("Hello%d\n", 1));
-}
-EOF
- if try $CC $CFLAGS -o $test $test.c; then
- echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
-
- echo >> configure.log
- cat >$test.c <<EOF
-#include <stdio.h>
-#include <stdarg.h>
-int mytest(const char *fmt, ...)
-{
- int n;
- char buf[20];
- va_list ap;
- va_start(ap, fmt);
- n = vsnprintf(buf, sizeof(buf), fmt, ap);
- va_end(ap);
- return n;
-}
-int main()
-{
- return (mytest("Hello%d\n", 1));
-}
-EOF
-
- if try $CC -c $CFLAGS $test.c; then
- echo "Checking for return value of vsnprintf()... Yes." | tee -a configure.log
- else
- CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
- SFLAGS="$SFLAGS -DHAS_vsnprintf_void"
- echo "Checking for return value of vsnprintf()... No." | tee -a configure.log
- echo " WARNING: apparently vsnprintf() does not return a value. zlib" | tee -a configure.log
- echo " can build but will be open to possible string-format security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
- fi
- else
- CFLAGS="$CFLAGS -DNO_vsnprintf"
- SFLAGS="$SFLAGS -DNO_vsnprintf"
- echo "Checking for vsnprintf() in stdio.h... No." | tee -a configure.log
- echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib" | tee -a configure.log
- echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
-
- echo >> configure.log
- cat >$test.c <<EOF
-#include <stdio.h>
-#include <stdarg.h>
-int mytest(const char *fmt, ...)
-{
- int n;
- char buf[20];
- va_list ap;
- va_start(ap, fmt);
- n = vsprintf(buf, fmt, ap);
- va_end(ap);
- return n;
-}
-int main()
-{
- return (mytest("Hello%d\n", 1));
-}
-EOF
-
- if try $CC -c $CFLAGS $test.c; then
- echo "Checking for return value of vsprintf()... Yes." | tee -a configure.log
- else
- CFLAGS="$CFLAGS -DHAS_vsprintf_void"
- SFLAGS="$SFLAGS -DHAS_vsprintf_void"
- echo "Checking for return value of vsprintf()... No." | tee -a configure.log
- echo " WARNING: apparently vsprintf() does not return a value. zlib" | tee -a configure.log
- echo " can build but will be open to possible string-format security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
- fi
- fi
-else
- echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." | tee -a configure.log
-
- echo >> configure.log
- cat >$test.c <<EOF
-#include <stdio.h>
-int mytest()
-{
- char buf[20];
- snprintf(buf, sizeof(buf), "%s", "foo");
- return 0;
-}
-int main()
-{
- return (mytest());
-}
-EOF
-
- if try $CC $CFLAGS -o $test $test.c; then
- echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
-
- echo >> configure.log
- cat >$test.c <<EOF
-#include <stdio.h>
-int mytest()
-{
- char buf[20];
- return snprintf(buf, sizeof(buf), "%s", "foo");
-}
-int main()
-{
- return (mytest());
-}
-EOF
-
- if try $CC -c $CFLAGS $test.c; then
- echo "Checking for return value of snprintf()... Yes." | tee -a configure.log
- else
- CFLAGS="$CFLAGS -DHAS_snprintf_void"
- SFLAGS="$SFLAGS -DHAS_snprintf_void"
- echo "Checking for return value of snprintf()... No." | tee -a configure.log
- echo " WARNING: apparently snprintf() does not return a value. zlib" | tee -a configure.log
- echo " can build but will be open to possible string-format security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
- fi
- else
- CFLAGS="$CFLAGS -DNO_snprintf"
- SFLAGS="$SFLAGS -DNO_snprintf"
- echo "Checking for snprintf() in stdio.h... No." | tee -a configure.log
- echo " WARNING: snprintf() not found, falling back to sprintf(). zlib" | tee -a configure.log
- echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
-
- echo >> configure.log
- cat >$test.c <<EOF
-#include <stdio.h>
-int mytest()
-{
- char buf[20];
- return sprintf(buf, "%s", "foo");
-}
-int main()
-{
- return (mytest());
-}
-EOF
-
- if try $CC -c $CFLAGS $test.c; then
- echo "Checking for return value of sprintf()... Yes." | tee -a configure.log
- else
- CFLAGS="$CFLAGS -DHAS_sprintf_void"
- SFLAGS="$SFLAGS -DHAS_sprintf_void"
- echo "Checking for return value of sprintf()... No." | tee -a configure.log
- echo " WARNING: apparently sprintf() does not return a value. zlib" | tee -a configure.log
- echo " can build but will be open to possible string-format security" | tee -a configure.log
- echo " vulnerabilities." | tee -a configure.log
- fi
- fi
-fi
-
-# see if we can hide zlib internal symbols that are linked between separate source files
-if test "$gcc" -eq 1; then
- echo >> configure.log
- cat > $test.c <<EOF
-#define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
-int ZLIB_INTERNAL foo;
-int main()
-{
- return 0;
-}
-EOF
- if tryboth $CC -c $CFLAGS $test.c; then
- CFLAGS="$CFLAGS -DHAVE_HIDDEN"
- SFLAGS="$SFLAGS -DHAVE_HIDDEN"
- echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log
- else
- echo "Checking for attribute(visibility) support... No." | tee -a configure.log
- fi
-fi
-
-# show the results in the log
-echo >> configure.log
-echo ALL = $ALL >> configure.log
-echo AR = $AR >> configure.log
-echo ARFLAGS = $ARFLAGS >> configure.log
-echo CC = $CC >> configure.log
-echo CFLAGS = $CFLAGS >> configure.log
-echo CPP = $CPP >> configure.log
-echo EXE = $EXE >> configure.log
-echo LDCONFIG = $LDCONFIG >> configure.log
-echo LDFLAGS = $LDFLAGS >> configure.log
-echo LDSHARED = $LDSHARED >> configure.log
-echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log
-echo OBJC = $OBJC >> configure.log
-echo PIC_OBJC = $PIC_OBJC >> configure.log
-echo RANLIB = $RANLIB >> configure.log
-echo SFLAGS = $SFLAGS >> configure.log
-echo SHAREDLIB = $SHAREDLIB >> configure.log
-echo SHAREDLIBM = $SHAREDLIBM >> configure.log
-echo SHAREDLIBV = $SHAREDLIBV >> configure.log
-echo STATICLIB = $STATICLIB >> configure.log
-echo TEST = $TEST >> configure.log
-echo VER = $VER >> configure.log
-echo Z_U4 = $Z_U4 >> configure.log
-echo exec_prefix = $exec_prefix >> configure.log
-echo includedir = $includedir >> configure.log
-echo libdir = $libdir >> configure.log
-echo mandir = $mandir >> configure.log
-echo prefix = $prefix >> configure.log
-echo sharedlibdir = $sharedlibdir >> configure.log
-echo uname = $uname >> configure.log
-
-# udpate Makefile with the configure results
-sed < Makefile.in "
-/^CC *=/s#=.*#=$CC#
-/^CFLAGS *=/s#=.*#=$CFLAGS#
-/^SFLAGS *=/s#=.*#=$SFLAGS#
-/^LDFLAGS *=/s#=.*#=$LDFLAGS#
-/^LDSHARED *=/s#=.*#=$LDSHARED#
-/^CPP *=/s#=.*#=$CPP#
-/^STATICLIB *=/s#=.*#=$STATICLIB#
-/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
-/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
-/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
-/^AR *=/s#=.*#=$AR#
-/^ARFLAGS *=/s#=.*#=$ARFLAGS#
-/^RANLIB *=/s#=.*#=$RANLIB#
-/^LDCONFIG *=/s#=.*#=$LDCONFIG#
-/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
-/^EXE *=/s#=.*#=$EXE#
-/^prefix *=/s#=.*#=$prefix#
-/^exec_prefix *=/s#=.*#=$exec_prefix#
-/^libdir *=/s#=.*#=$libdir#
-/^sharedlibdir *=/s#=.*#=$sharedlibdir#
-/^includedir *=/s#=.*#=$includedir#
-/^mandir *=/s#=.*#=$mandir#
-/^OBJC *=/s#=.*#= $OBJC#
-/^PIC_OBJC *=/s#=.*#= $PIC_OBJC#
-/^all: */s#:.*#: $ALL#
-/^test: */s#:.*#: $TEST#
-" > Makefile
-
-# create zlib.pc with the configure results
-sed < zlib.pc.in "
-/^CC *=/s#=.*#=$CC#
-/^CFLAGS *=/s#=.*#=$CFLAGS#
-/^CPP *=/s#=.*#=$CPP#
-/^LDSHARED *=/s#=.*#=$LDSHARED#
-/^STATICLIB *=/s#=.*#=$STATICLIB#
-/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
-/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
-/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
-/^AR *=/s#=.*#=$AR#
-/^ARFLAGS *=/s#=.*#=$ARFLAGS#
-/^RANLIB *=/s#=.*#=$RANLIB#
-/^EXE *=/s#=.*#=$EXE#
-/^prefix *=/s#=.*#=$prefix#
-/^exec_prefix *=/s#=.*#=$exec_prefix#
-/^libdir *=/s#=.*#=$libdir#
-/^sharedlibdir *=/s#=.*#=$sharedlibdir#
-/^includedir *=/s#=.*#=$includedir#
-/^mandir *=/s#=.*#=$mandir#
-/^LDFLAGS *=/s#=.*#=$LDFLAGS#
-" | sed -e "
-s/\@VERSION\@/$VER/g;
-" > zlib.pc
-
-# done
-leave 0
diff --git a/tcl8.6/compat/zlib/contrib/README.contrib b/tcl8.6/compat/zlib/contrib/README.contrib
deleted file mode 100644
index c66349b..0000000
--- a/tcl8.6/compat/zlib/contrib/README.contrib
+++ /dev/null
@@ -1,78 +0,0 @@
-All files under this contrib directory are UNSUPPORTED. There were
-provided by users of zlib and were not tested by the authors of zlib.
-Use at your own risk. Please contact the authors of the contributions
-for help about these, not the zlib authors. Thanks.
-
-
-ada/ by Dmitriy Anisimkov <anisimkov@yahoo.com>
- Support for Ada
- See http://zlib-ada.sourceforge.net/
-
-amd64/ by Mikhail Teterin <mi@ALDAN.algebra.com>
- asm code for AMD64
- See patch at http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/96393
-
-asm686/ by Brian Raiter <breadbox@muppetlabs.com>
- asm code for Pentium and PPro/PII, using the AT&T (GNU as) syntax
- See http://www.muppetlabs.com/~breadbox/software/assembly.html
-
-blast/ by Mark Adler <madler@alumni.caltech.edu>
- Decompressor for output of PKWare Data Compression Library (DCL)
-
-delphi/ by Cosmin Truta <cosmint@cs.ubbcluj.ro>
- Support for Delphi and C++ Builder
-
-dotzlib/ by Henrik Ravn <henrik@ravn.com>
- Support for Microsoft .Net and Visual C++ .Net
-
-gcc_gvmat64/by Gilles Vollant <info@winimage.com>
- GCC Version of x86 64-bit (AMD64 and Intel EM64t) code for x64
- assembler to replace longest_match() and inflate_fast()
-
-infback9/ by Mark Adler <madler@alumni.caltech.edu>
- Unsupported diffs to infback to decode the deflate64 format
-
-inflate86/ by Chris Anderson <christop@charm.net>
- Tuned x86 gcc asm code to replace inflate_fast()
-
-iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
- A C++ I/O streams interface to the zlib gz* functions
-
-iostream2/ by Tyge Løvset <Tyge.Lovset@cmr.no>
- Another C++ I/O streams interface
-
-iostream3/ by Ludwig Schwardt <schwardt@sun.ac.za>
- and Kevin Ruland <kevin@rodin.wustl.edu>
- Yet another C++ I/O streams interface
-
-masmx64/ by Gilles Vollant <info@winimage.com>
- x86 64-bit (AMD64 and Intel EM64t) code for x64 assembler to
- replace longest_match() and inflate_fast(), also masm x86
- 64-bits translation of Chris Anderson inflate_fast()
-
-masmx86/ by Gilles Vollant <info@winimage.com>
- x86 asm code to replace longest_match() and inflate_fast(),
- for Visual C++ and MASM (32 bits).
- Based on Brian Raiter (asm686) and Chris Anderson (inflate86)
-
-minizip/ by Gilles Vollant <info@winimage.com>
- Mini zip and unzip based on zlib
- Includes Zip64 support by Mathias Svensson <mathias@result42.com>
- See http://www.winimage.com/zLibDll/unzip.html
-
-pascal/ by Bob Dellaca <bobdl@xtra.co.nz> et al.
- Support for Pascal
-
-puff/ by Mark Adler <madler@alumni.caltech.edu>
- Small, low memory usage inflate. Also serves to provide an
- unambiguous description of the deflate format.
-
-testzlib/ by Gilles Vollant <info@winimage.com>
- Example of the use of zlib
-
-untgz/ by Pedro A. Aranda Gutierrez <paag@tid.es>
- A very simple tar.gz file extractor using zlib
-
-vstudio/ by Gilles Vollant <info@winimage.com>
- Building a minizip-enhanced zlib with Microsoft Visual Studio
- Includes vc11 from kreuzerkrieg and vc12 from davispuh
diff --git a/tcl8.6/compat/zlib/contrib/ada/buffer_demo.adb b/tcl8.6/compat/zlib/contrib/ada/buffer_demo.adb
deleted file mode 100644
index 46b8638..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/buffer_demo.adb
+++ /dev/null
@@ -1,106 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2004 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
---
--- $Id: buffer_demo.adb,v 1.3 2004/09/06 06:55:35 vagul Exp $
-
--- This demo program provided by Dr Steve Sangwine <sjs@essex.ac.uk>
---
--- Demonstration of a problem with Zlib-Ada (already fixed) when a buffer
--- of exactly the correct size is used for decompressed data, and the last
--- few bytes passed in to Zlib are checksum bytes.
-
--- This program compresses a string of text, and then decompresses the
--- compressed text into a buffer of the same size as the original text.
-
-with Ada.Streams; use Ada.Streams;
-with Ada.Text_IO;
-
-with ZLib; use ZLib;
-
-procedure Buffer_Demo is
- EOL : Character renames ASCII.LF;
- Text : constant String
- := "Four score and seven years ago our fathers brought forth," & EOL &
- "upon this continent, a new nation, conceived in liberty," & EOL &
- "and dedicated to the proposition that `all men are created equal'.";
-
- Source : Stream_Element_Array (1 .. Text'Length);
- for Source'Address use Text'Address;
-
-begin
- Ada.Text_IO.Put (Text);
- Ada.Text_IO.New_Line;
- Ada.Text_IO.Put_Line
- ("Uncompressed size : " & Positive'Image (Text'Length) & " bytes");
-
- declare
- Compressed_Data : Stream_Element_Array (1 .. Text'Length);
- L : Stream_Element_Offset;
- begin
- Compress : declare
- Compressor : Filter_Type;
- I : Stream_Element_Offset;
- begin
- Deflate_Init (Compressor);
-
- -- Compress the whole of T at once.
-
- Translate (Compressor, Source, I, Compressed_Data, L, Finish);
- pragma Assert (I = Source'Last);
-
- Close (Compressor);
-
- Ada.Text_IO.Put_Line
- ("Compressed size : "
- & Stream_Element_Offset'Image (L) & " bytes");
- end Compress;
-
- -- Now we decompress the data, passing short blocks of data to Zlib
- -- (because this demonstrates the problem - the last block passed will
- -- contain checksum information and there will be no output, only a
- -- check inside Zlib that the checksum is correct).
-
- Decompress : declare
- Decompressor : Filter_Type;
-
- Uncompressed_Data : Stream_Element_Array (1 .. Text'Length);
-
- Block_Size : constant := 4;
- -- This makes sure that the last block contains
- -- only Adler checksum data.
-
- P : Stream_Element_Offset := Compressed_Data'First - 1;
- O : Stream_Element_Offset;
- begin
- Inflate_Init (Decompressor);
-
- loop
- Translate
- (Decompressor,
- Compressed_Data
- (P + 1 .. Stream_Element_Offset'Min (P + Block_Size, L)),
- P,
- Uncompressed_Data
- (Total_Out (Decompressor) + 1 .. Uncompressed_Data'Last),
- O,
- No_Flush);
-
- Ada.Text_IO.Put_Line
- ("Total in : " & Count'Image (Total_In (Decompressor)) &
- ", out : " & Count'Image (Total_Out (Decompressor)));
-
- exit when P = L;
- end loop;
-
- Ada.Text_IO.New_Line;
- Ada.Text_IO.Put_Line
- ("Decompressed text matches original text : "
- & Boolean'Image (Uncompressed_Data = Source));
- end Decompress;
- end;
-end Buffer_Demo;
diff --git a/tcl8.6/compat/zlib/contrib/ada/mtest.adb b/tcl8.6/compat/zlib/contrib/ada/mtest.adb
deleted file mode 100644
index c4dfd08..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/mtest.adb
+++ /dev/null
@@ -1,156 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
--- Continuous test for ZLib multithreading. If the test would fail
--- we should provide thread safe allocation routines for the Z_Stream.
---
--- $Id: mtest.adb,v 1.4 2004/07/23 07:49:54 vagul Exp $
-
-with ZLib;
-with Ada.Streams;
-with Ada.Numerics.Discrete_Random;
-with Ada.Text_IO;
-with Ada.Exceptions;
-with Ada.Task_Identification;
-
-procedure MTest is
- use Ada.Streams;
- use ZLib;
-
- Stop : Boolean := False;
-
- pragma Atomic (Stop);
-
- subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#;
-
- package Random_Elements is
- new Ada.Numerics.Discrete_Random (Visible_Symbols);
-
- task type Test_Task;
-
- task body Test_Task is
- Buffer : Stream_Element_Array (1 .. 100_000);
- Gen : Random_Elements.Generator;
-
- Buffer_First : Stream_Element_Offset;
- Compare_First : Stream_Element_Offset;
-
- Deflate : Filter_Type;
- Inflate : Filter_Type;
-
- procedure Further (Item : in Stream_Element_Array);
-
- procedure Read_Buffer
- (Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset);
-
- -------------
- -- Further --
- -------------
-
- procedure Further (Item : in Stream_Element_Array) is
-
- procedure Compare (Item : in Stream_Element_Array);
-
- -------------
- -- Compare --
- -------------
-
- procedure Compare (Item : in Stream_Element_Array) is
- Next_First : Stream_Element_Offset := Compare_First + Item'Length;
- begin
- if Buffer (Compare_First .. Next_First - 1) /= Item then
- raise Program_Error;
- end if;
-
- Compare_First := Next_First;
- end Compare;
-
- procedure Compare_Write is new ZLib.Write (Write => Compare);
- begin
- Compare_Write (Inflate, Item, No_Flush);
- end Further;
-
- -----------------
- -- Read_Buffer --
- -----------------
-
- procedure Read_Buffer
- (Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset)
- is
- Buff_Diff : Stream_Element_Offset := Buffer'Last - Buffer_First;
- Next_First : Stream_Element_Offset;
- begin
- if Item'Length <= Buff_Diff then
- Last := Item'Last;
-
- Next_First := Buffer_First + Item'Length;
-
- Item := Buffer (Buffer_First .. Next_First - 1);
-
- Buffer_First := Next_First;
- else
- Last := Item'First + Buff_Diff;
- Item (Item'First .. Last) := Buffer (Buffer_First .. Buffer'Last);
- Buffer_First := Buffer'Last + 1;
- end if;
- end Read_Buffer;
-
- procedure Translate is new Generic_Translate
- (Data_In => Read_Buffer,
- Data_Out => Further);
-
- begin
- Random_Elements.Reset (Gen);
-
- Buffer := (others => 20);
-
- Main : loop
- for J in Buffer'Range loop
- Buffer (J) := Random_Elements.Random (Gen);
-
- Deflate_Init (Deflate);
- Inflate_Init (Inflate);
-
- Buffer_First := Buffer'First;
- Compare_First := Buffer'First;
-
- Translate (Deflate);
-
- if Compare_First /= Buffer'Last + 1 then
- raise Program_Error;
- end if;
-
- Ada.Text_IO.Put_Line
- (Ada.Task_Identification.Image
- (Ada.Task_Identification.Current_Task)
- & Stream_Element_Offset'Image (J)
- & ZLib.Count'Image (Total_Out (Deflate)));
-
- Close (Deflate);
- Close (Inflate);
-
- exit Main when Stop;
- end loop;
- end loop Main;
- exception
- when E : others =>
- Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information (E));
- Stop := True;
- end Test_Task;
-
- Test : array (1 .. 4) of Test_Task;
-
- pragma Unreferenced (Test);
-
- Dummy : Character;
-
-begin
- Ada.Text_IO.Get_Immediate (Dummy);
- Stop := True;
-end MTest;
diff --git a/tcl8.6/compat/zlib/contrib/ada/read.adb b/tcl8.6/compat/zlib/contrib/ada/read.adb
deleted file mode 100644
index 1f2efbf..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/read.adb
+++ /dev/null
@@ -1,156 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: read.adb,v 1.8 2004/05/31 10:53:40 vagul Exp $
-
--- Test/demo program for the generic read interface.
-
-with Ada.Numerics.Discrete_Random;
-with Ada.Streams;
-with Ada.Text_IO;
-
-with ZLib;
-
-procedure Read is
-
- use Ada.Streams;
-
- ------------------------------------
- -- Test configuration parameters --
- ------------------------------------
-
- File_Size : Stream_Element_Offset := 100_000;
-
- Continuous : constant Boolean := False;
- -- If this constant is True, the test would be repeated again and again,
- -- with increment File_Size for every iteration.
-
- Header : constant ZLib.Header_Type := ZLib.Default;
- -- Do not use Header other than Default in ZLib versions 1.1.4 and older.
-
- Init_Random : constant := 8;
- -- We are using the same random sequence, in case of we catch bug,
- -- so we would be able to reproduce it.
-
- -- End --
-
- Pack_Size : Stream_Element_Offset;
- Offset : Stream_Element_Offset;
-
- Filter : ZLib.Filter_Type;
-
- subtype Visible_Symbols
- is Stream_Element range 16#20# .. 16#7E#;
-
- package Random_Elements is new
- Ada.Numerics.Discrete_Random (Visible_Symbols);
-
- Gen : Random_Elements.Generator;
- Period : constant Stream_Element_Offset := 200;
- -- Period constant variable for random generator not to be very random.
- -- Bigger period, harder random.
-
- Read_Buffer : Stream_Element_Array (1 .. 2048);
- Read_First : Stream_Element_Offset;
- Read_Last : Stream_Element_Offset;
-
- procedure Reset;
-
- procedure Read
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset);
- -- this procedure is for generic instantiation of
- -- ZLib.Read
- -- reading data from the File_In.
-
- procedure Read is new ZLib.Read
- (Read,
- Read_Buffer,
- Rest_First => Read_First,
- Rest_Last => Read_Last);
-
- ----------
- -- Read --
- ----------
-
- procedure Read
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset) is
- begin
- Last := Stream_Element_Offset'Min
- (Item'Last,
- Item'First + File_Size - Offset);
-
- for J in Item'First .. Last loop
- if J < Item'First + Period then
- Item (J) := Random_Elements.Random (Gen);
- else
- Item (J) := Item (J - Period);
- end if;
-
- Offset := Offset + 1;
- end loop;
- end Read;
-
- -----------
- -- Reset --
- -----------
-
- procedure Reset is
- begin
- Random_Elements.Reset (Gen, Init_Random);
- Pack_Size := 0;
- Offset := 1;
- Read_First := Read_Buffer'Last + 1;
- Read_Last := Read_Buffer'Last;
- end Reset;
-
-begin
- Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version);
-
- loop
- for Level in ZLib.Compression_Level'Range loop
-
- Ada.Text_IO.Put ("Level ="
- & ZLib.Compression_Level'Image (Level));
-
- -- Deflate using generic instantiation.
-
- ZLib.Deflate_Init
- (Filter,
- Level,
- Header => Header);
-
- Reset;
-
- Ada.Text_IO.Put
- (Stream_Element_Offset'Image (File_Size) & " ->");
-
- loop
- declare
- Buffer : Stream_Element_Array (1 .. 1024);
- Last : Stream_Element_Offset;
- begin
- Read (Filter, Buffer, Last);
-
- Pack_Size := Pack_Size + Last - Buffer'First + 1;
-
- exit when Last < Buffer'Last;
- end;
- end loop;
-
- Ada.Text_IO.Put_Line (Stream_Element_Offset'Image (Pack_Size));
-
- ZLib.Close (Filter);
- end loop;
-
- exit when not Continuous;
-
- File_Size := File_Size + 1;
- end loop;
-end Read;
diff --git a/tcl8.6/compat/zlib/contrib/ada/readme.txt b/tcl8.6/compat/zlib/contrib/ada/readme.txt
deleted file mode 100644
index ce4d2ca..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/readme.txt
+++ /dev/null
@@ -1,65 +0,0 @@
- ZLib for Ada thick binding (ZLib.Ada)
- Release 1.3
-
-ZLib.Ada is a thick binding interface to the popular ZLib data
-compression library, available at http://www.gzip.org/zlib/.
-It provides Ada-style access to the ZLib C library.
-
-
- Here are the main changes since ZLib.Ada 1.2:
-
-- Attension: ZLib.Read generic routine have a initialization requirement
- for Read_Last parameter now. It is a bit incompartible with previous version,
- but extends functionality, we could use new parameters Allow_Read_Some and
- Flush now.
-
-- Added Is_Open routines to ZLib and ZLib.Streams packages.
-
-- Add pragma Assert to check Stream_Element is 8 bit.
-
-- Fix extraction to buffer with exact known decompressed size. Error reported by
- Steve Sangwine.
-
-- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits
- computers. Patch provided by Pascal Obry.
-
-- Add Status_Error exception definition.
-
-- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit.
-
-
- How to build ZLib.Ada under GNAT
-
-You should have the ZLib library already build on your computer, before
-building ZLib.Ada. Make the directory of ZLib.Ada sources current and
-issue the command:
-
- gnatmake test -largs -L<directory where libz.a is> -lz
-
-Or use the GNAT project file build for GNAT 3.15 or later:
-
- gnatmake -Pzlib.gpr -L<directory where libz.a is>
-
-
- How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2
-
-1. Make a project with all *.ads and *.adb files from the distribution.
-2. Build the libz.a library from the ZLib C sources.
-3. Rename libz.a to z.lib.
-4. Add the library z.lib to the project.
-5. Add the libc.lib library from the ObjectAda distribution to the project.
-6. Build the executable using test.adb as a main procedure.
-
-
- How to use ZLib.Ada
-
-The source files test.adb and read.adb are small demo programs that show
-the main functionality of ZLib.Ada.
-
-The routines from the package specifications are commented.
-
-
-Homepage: http://zlib-ada.sourceforge.net/
-Author: Dmitriy Anisimkov <anisimkov@yahoo.com>
-
-Contributors: Pascal Obry <pascal@obry.org>, Steve Sangwine <sjs@essex.ac.uk>
diff --git a/tcl8.6/compat/zlib/contrib/ada/test.adb b/tcl8.6/compat/zlib/contrib/ada/test.adb
deleted file mode 100644
index 90773ac..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/test.adb
+++ /dev/null
@@ -1,463 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: test.adb,v 1.17 2003/08/12 12:13:30 vagul Exp $
-
--- The program has a few aims.
--- 1. Test ZLib.Ada95 thick binding functionality.
--- 2. Show the example of use main functionality of the ZLib.Ada95 binding.
--- 3. Build this program automatically compile all ZLib.Ada95 packages under
--- GNAT Ada95 compiler.
-
-with ZLib.Streams;
-with Ada.Streams.Stream_IO;
-with Ada.Numerics.Discrete_Random;
-
-with Ada.Text_IO;
-
-with Ada.Calendar;
-
-procedure Test is
-
- use Ada.Streams;
- use Stream_IO;
-
- ------------------------------------
- -- Test configuration parameters --
- ------------------------------------
-
- File_Size : Count := 100_000;
- Continuous : constant Boolean := False;
-
- Header : constant ZLib.Header_Type := ZLib.Default;
- -- ZLib.None;
- -- ZLib.Auto;
- -- ZLib.GZip;
- -- Do not use Header other then Default in ZLib versions 1.1.4
- -- and older.
-
- Strategy : constant ZLib.Strategy_Type := ZLib.Default_Strategy;
- Init_Random : constant := 10;
-
- -- End --
-
- In_File_Name : constant String := "testzlib.in";
- -- Name of the input file
-
- Z_File_Name : constant String := "testzlib.zlb";
- -- Name of the compressed file.
-
- Out_File_Name : constant String := "testzlib.out";
- -- Name of the decompressed file.
-
- File_In : File_Type;
- File_Out : File_Type;
- File_Back : File_Type;
- File_Z : ZLib.Streams.Stream_Type;
-
- Filter : ZLib.Filter_Type;
-
- Time_Stamp : Ada.Calendar.Time;
-
- procedure Generate_File;
- -- Generate file of spetsified size with some random data.
- -- The random data is repeatable, for the good compression.
-
- procedure Compare_Streams
- (Left, Right : in out Root_Stream_Type'Class);
- -- The procedure compearing data in 2 streams.
- -- It is for compare data before and after compression/decompression.
-
- procedure Compare_Files (Left, Right : String);
- -- Compare files. Based on the Compare_Streams.
-
- procedure Copy_Streams
- (Source, Target : in out Root_Stream_Type'Class;
- Buffer_Size : in Stream_Element_Offset := 1024);
- -- Copying data from one stream to another. It is for test stream
- -- interface of the library.
-
- procedure Data_In
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset);
- -- this procedure is for generic instantiation of
- -- ZLib.Generic_Translate.
- -- reading data from the File_In.
-
- procedure Data_Out (Item : in Stream_Element_Array);
- -- this procedure is for generic instantiation of
- -- ZLib.Generic_Translate.
- -- writing data to the File_Out.
-
- procedure Stamp;
- -- Store the timestamp to the local variable.
-
- procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count);
- -- Print the time statistic with the message.
-
- procedure Translate is new ZLib.Generic_Translate
- (Data_In => Data_In,
- Data_Out => Data_Out);
- -- This procedure is moving data from File_In to File_Out
- -- with compression or decompression, depend on initialization of
- -- Filter parameter.
-
- -------------------
- -- Compare_Files --
- -------------------
-
- procedure Compare_Files (Left, Right : String) is
- Left_File, Right_File : File_Type;
- begin
- Open (Left_File, In_File, Left);
- Open (Right_File, In_File, Right);
- Compare_Streams (Stream (Left_File).all, Stream (Right_File).all);
- Close (Left_File);
- Close (Right_File);
- end Compare_Files;
-
- ---------------------
- -- Compare_Streams --
- ---------------------
-
- procedure Compare_Streams
- (Left, Right : in out Ada.Streams.Root_Stream_Type'Class)
- is
- Left_Buffer, Right_Buffer : Stream_Element_Array (0 .. 16#FFF#);
- Left_Last, Right_Last : Stream_Element_Offset;
- begin
- loop
- Read (Left, Left_Buffer, Left_Last);
- Read (Right, Right_Buffer, Right_Last);
-
- if Left_Last /= Right_Last then
- Ada.Text_IO.Put_Line ("Compare error :"
- & Stream_Element_Offset'Image (Left_Last)
- & " /= "
- & Stream_Element_Offset'Image (Right_Last));
-
- raise Constraint_Error;
-
- elsif Left_Buffer (0 .. Left_Last)
- /= Right_Buffer (0 .. Right_Last)
- then
- Ada.Text_IO.Put_Line ("ERROR: IN and OUT files is not equal.");
- raise Constraint_Error;
-
- end if;
-
- exit when Left_Last < Left_Buffer'Last;
- end loop;
- end Compare_Streams;
-
- ------------------
- -- Copy_Streams --
- ------------------
-
- procedure Copy_Streams
- (Source, Target : in out Ada.Streams.Root_Stream_Type'Class;
- Buffer_Size : in Stream_Element_Offset := 1024)
- is
- Buffer : Stream_Element_Array (1 .. Buffer_Size);
- Last : Stream_Element_Offset;
- begin
- loop
- Read (Source, Buffer, Last);
- Write (Target, Buffer (1 .. Last));
-
- exit when Last < Buffer'Last;
- end loop;
- end Copy_Streams;
-
- -------------
- -- Data_In --
- -------------
-
- procedure Data_In
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset) is
- begin
- Read (File_In, Item, Last);
- end Data_In;
-
- --------------
- -- Data_Out --
- --------------
-
- procedure Data_Out (Item : in Stream_Element_Array) is
- begin
- Write (File_Out, Item);
- end Data_Out;
-
- -------------------
- -- Generate_File --
- -------------------
-
- procedure Generate_File is
- subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#;
-
- package Random_Elements is
- new Ada.Numerics.Discrete_Random (Visible_Symbols);
-
- Gen : Random_Elements.Generator;
- Buffer : Stream_Element_Array := (1 .. 77 => 16#20#) & 10;
-
- Buffer_Count : constant Count := File_Size / Buffer'Length;
- -- Number of same buffers in the packet.
-
- Density : constant Count := 30; -- from 0 to Buffer'Length - 2;
-
- procedure Fill_Buffer (J, D : in Count);
- -- Change the part of the buffer.
-
- -----------------
- -- Fill_Buffer --
- -----------------
-
- procedure Fill_Buffer (J, D : in Count) is
- begin
- for K in 0 .. D loop
- Buffer
- (Stream_Element_Offset ((J + K) mod (Buffer'Length - 1) + 1))
- := Random_Elements.Random (Gen);
-
- end loop;
- end Fill_Buffer;
-
- begin
- Random_Elements.Reset (Gen, Init_Random);
-
- Create (File_In, Out_File, In_File_Name);
-
- Fill_Buffer (1, Buffer'Length - 2);
-
- for J in 1 .. Buffer_Count loop
- Write (File_In, Buffer);
-
- Fill_Buffer (J, Density);
- end loop;
-
- -- fill remain size.
-
- Write
- (File_In,
- Buffer
- (1 .. Stream_Element_Offset
- (File_Size - Buffer'Length * Buffer_Count)));
-
- Flush (File_In);
- Close (File_In);
- end Generate_File;
-
- ---------------------
- -- Print_Statistic --
- ---------------------
-
- procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count) is
- use Ada.Calendar;
- use Ada.Text_IO;
-
- package Count_IO is new Integer_IO (ZLib.Count);
-
- Curr_Dur : Duration := Clock - Time_Stamp;
- begin
- Put (Msg);
-
- Set_Col (20);
- Ada.Text_IO.Put ("size =");
-
- Count_IO.Put
- (Data_Size,
- Width => Stream_IO.Count'Image (File_Size)'Length);
-
- Put_Line (" duration =" & Duration'Image (Curr_Dur));
- end Print_Statistic;
-
- -----------
- -- Stamp --
- -----------
-
- procedure Stamp is
- begin
- Time_Stamp := Ada.Calendar.Clock;
- end Stamp;
-
-begin
- Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version);
-
- loop
- Generate_File;
-
- for Level in ZLib.Compression_Level'Range loop
-
- Ada.Text_IO.Put_Line ("Level ="
- & ZLib.Compression_Level'Image (Level));
-
- -- Test generic interface.
- Open (File_In, In_File, In_File_Name);
- Create (File_Out, Out_File, Z_File_Name);
-
- Stamp;
-
- -- Deflate using generic instantiation.
-
- ZLib.Deflate_Init
- (Filter => Filter,
- Level => Level,
- Strategy => Strategy,
- Header => Header);
-
- Translate (Filter);
- Print_Statistic ("Generic compress", ZLib.Total_Out (Filter));
- ZLib.Close (Filter);
-
- Close (File_In);
- Close (File_Out);
-
- Open (File_In, In_File, Z_File_Name);
- Create (File_Out, Out_File, Out_File_Name);
-
- Stamp;
-
- -- Inflate using generic instantiation.
-
- ZLib.Inflate_Init (Filter, Header => Header);
-
- Translate (Filter);
- Print_Statistic ("Generic decompress", ZLib.Total_Out (Filter));
-
- ZLib.Close (Filter);
-
- Close (File_In);
- Close (File_Out);
-
- Compare_Files (In_File_Name, Out_File_Name);
-
- -- Test stream interface.
-
- -- Compress to the back stream.
-
- Open (File_In, In_File, In_File_Name);
- Create (File_Back, Out_File, Z_File_Name);
-
- Stamp;
-
- ZLib.Streams.Create
- (Stream => File_Z,
- Mode => ZLib.Streams.Out_Stream,
- Back => ZLib.Streams.Stream_Access
- (Stream (File_Back)),
- Back_Compressed => True,
- Level => Level,
- Strategy => Strategy,
- Header => Header);
-
- Copy_Streams
- (Source => Stream (File_In).all,
- Target => File_Z);
-
- -- Flushing internal buffers to the back stream.
-
- ZLib.Streams.Flush (File_Z, ZLib.Finish);
-
- Print_Statistic ("Write compress",
- ZLib.Streams.Write_Total_Out (File_Z));
-
- ZLib.Streams.Close (File_Z);
-
- Close (File_In);
- Close (File_Back);
-
- -- Compare reading from original file and from
- -- decompression stream.
-
- Open (File_In, In_File, In_File_Name);
- Open (File_Back, In_File, Z_File_Name);
-
- ZLib.Streams.Create
- (Stream => File_Z,
- Mode => ZLib.Streams.In_Stream,
- Back => ZLib.Streams.Stream_Access
- (Stream (File_Back)),
- Back_Compressed => True,
- Header => Header);
-
- Stamp;
- Compare_Streams (Stream (File_In).all, File_Z);
-
- Print_Statistic ("Read decompress",
- ZLib.Streams.Read_Total_Out (File_Z));
-
- ZLib.Streams.Close (File_Z);
- Close (File_In);
- Close (File_Back);
-
- -- Compress by reading from compression stream.
-
- Open (File_Back, In_File, In_File_Name);
- Create (File_Out, Out_File, Z_File_Name);
-
- ZLib.Streams.Create
- (Stream => File_Z,
- Mode => ZLib.Streams.In_Stream,
- Back => ZLib.Streams.Stream_Access
- (Stream (File_Back)),
- Back_Compressed => False,
- Level => Level,
- Strategy => Strategy,
- Header => Header);
-
- Stamp;
- Copy_Streams
- (Source => File_Z,
- Target => Stream (File_Out).all);
-
- Print_Statistic ("Read compress",
- ZLib.Streams.Read_Total_Out (File_Z));
-
- ZLib.Streams.Close (File_Z);
-
- Close (File_Out);
- Close (File_Back);
-
- -- Decompress to decompression stream.
-
- Open (File_In, In_File, Z_File_Name);
- Create (File_Back, Out_File, Out_File_Name);
-
- ZLib.Streams.Create
- (Stream => File_Z,
- Mode => ZLib.Streams.Out_Stream,
- Back => ZLib.Streams.Stream_Access
- (Stream (File_Back)),
- Back_Compressed => False,
- Header => Header);
-
- Stamp;
-
- Copy_Streams
- (Source => Stream (File_In).all,
- Target => File_Z);
-
- Print_Statistic ("Write decompress",
- ZLib.Streams.Write_Total_Out (File_Z));
-
- ZLib.Streams.Close (File_Z);
- Close (File_In);
- Close (File_Back);
-
- Compare_Files (In_File_Name, Out_File_Name);
- end loop;
-
- Ada.Text_IO.Put_Line (Count'Image (File_Size) & " Ok.");
-
- exit when not Continuous;
-
- File_Size := File_Size + 1;
- end loop;
-end Test;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib-streams.adb b/tcl8.6/compat/zlib/contrib/ada/zlib-streams.adb
deleted file mode 100644
index b6497ba..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib-streams.adb
+++ /dev/null
@@ -1,225 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: zlib-streams.adb,v 1.10 2004/05/31 10:53:40 vagul Exp $
-
-with Ada.Unchecked_Deallocation;
-
-package body ZLib.Streams is
-
- -----------
- -- Close --
- -----------
-
- procedure Close (Stream : in out Stream_Type) is
- procedure Free is new Ada.Unchecked_Deallocation
- (Stream_Element_Array, Buffer_Access);
- begin
- if Stream.Mode = Out_Stream or Stream.Mode = Duplex then
- -- We should flush the data written by the writer.
-
- Flush (Stream, Finish);
-
- Close (Stream.Writer);
- end if;
-
- if Stream.Mode = In_Stream or Stream.Mode = Duplex then
- Close (Stream.Reader);
- Free (Stream.Buffer);
- end if;
- end Close;
-
- ------------
- -- Create --
- ------------
-
- procedure Create
- (Stream : out Stream_Type;
- Mode : in Stream_Mode;
- Back : in Stream_Access;
- Back_Compressed : in Boolean;
- Level : in Compression_Level := Default_Compression;
- Strategy : in Strategy_Type := Default_Strategy;
- Header : in Header_Type := Default;
- Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset
- := Default_Buffer_Size;
- Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset
- := Default_Buffer_Size)
- is
-
- subtype Buffer_Subtype is Stream_Element_Array (1 .. Read_Buffer_Size);
-
- procedure Init_Filter
- (Filter : in out Filter_Type;
- Compress : in Boolean);
-
- -----------------
- -- Init_Filter --
- -----------------
-
- procedure Init_Filter
- (Filter : in out Filter_Type;
- Compress : in Boolean) is
- begin
- if Compress then
- Deflate_Init
- (Filter, Level, Strategy, Header => Header);
- else
- Inflate_Init (Filter, Header => Header);
- end if;
- end Init_Filter;
-
- begin
- Stream.Back := Back;
- Stream.Mode := Mode;
-
- if Mode = Out_Stream or Mode = Duplex then
- Init_Filter (Stream.Writer, Back_Compressed);
- Stream.Buffer_Size := Write_Buffer_Size;
- else
- Stream.Buffer_Size := 0;
- end if;
-
- if Mode = In_Stream or Mode = Duplex then
- Init_Filter (Stream.Reader, not Back_Compressed);
-
- Stream.Buffer := new Buffer_Subtype;
- Stream.Rest_First := Stream.Buffer'Last + 1;
- Stream.Rest_Last := Stream.Buffer'Last;
- end if;
- end Create;
-
- -----------
- -- Flush --
- -----------
-
- procedure Flush
- (Stream : in out Stream_Type;
- Mode : in Flush_Mode := Sync_Flush)
- is
- Buffer : Stream_Element_Array (1 .. Stream.Buffer_Size);
- Last : Stream_Element_Offset;
- begin
- loop
- Flush (Stream.Writer, Buffer, Last, Mode);
-
- Ada.Streams.Write (Stream.Back.all, Buffer (1 .. Last));
-
- exit when Last < Buffer'Last;
- end loop;
- end Flush;
-
- -------------
- -- Is_Open --
- -------------
-
- function Is_Open (Stream : Stream_Type) return Boolean is
- begin
- return Is_Open (Stream.Reader) or else Is_Open (Stream.Writer);
- end Is_Open;
-
- ----------
- -- Read --
- ----------
-
- procedure Read
- (Stream : in out Stream_Type;
- Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset)
- is
-
- procedure Read
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset);
-
- ----------
- -- Read --
- ----------
-
- procedure Read
- (Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset) is
- begin
- Ada.Streams.Read (Stream.Back.all, Item, Last);
- end Read;
-
- procedure Read is new ZLib.Read
- (Read => Read,
- Buffer => Stream.Buffer.all,
- Rest_First => Stream.Rest_First,
- Rest_Last => Stream.Rest_Last);
-
- begin
- Read (Stream.Reader, Item, Last);
- end Read;
-
- -------------------
- -- Read_Total_In --
- -------------------
-
- function Read_Total_In (Stream : in Stream_Type) return Count is
- begin
- return Total_In (Stream.Reader);
- end Read_Total_In;
-
- --------------------
- -- Read_Total_Out --
- --------------------
-
- function Read_Total_Out (Stream : in Stream_Type) return Count is
- begin
- return Total_Out (Stream.Reader);
- end Read_Total_Out;
-
- -----------
- -- Write --
- -----------
-
- procedure Write
- (Stream : in out Stream_Type;
- Item : in Stream_Element_Array)
- is
-
- procedure Write (Item : in Stream_Element_Array);
-
- -----------
- -- Write --
- -----------
-
- procedure Write (Item : in Stream_Element_Array) is
- begin
- Ada.Streams.Write (Stream.Back.all, Item);
- end Write;
-
- procedure Write is new ZLib.Write
- (Write => Write,
- Buffer_Size => Stream.Buffer_Size);
-
- begin
- Write (Stream.Writer, Item, No_Flush);
- end Write;
-
- --------------------
- -- Write_Total_In --
- --------------------
-
- function Write_Total_In (Stream : in Stream_Type) return Count is
- begin
- return Total_In (Stream.Writer);
- end Write_Total_In;
-
- ---------------------
- -- Write_Total_Out --
- ---------------------
-
- function Write_Total_Out (Stream : in Stream_Type) return Count is
- begin
- return Total_Out (Stream.Writer);
- end Write_Total_Out;
-
-end ZLib.Streams;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib-streams.ads b/tcl8.6/compat/zlib/contrib/ada/zlib-streams.ads
deleted file mode 100644
index f0193c6..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib-streams.ads
+++ /dev/null
@@ -1,114 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: zlib-streams.ads,v 1.12 2004/05/31 10:53:40 vagul Exp $
-
-package ZLib.Streams is
-
- type Stream_Mode is (In_Stream, Out_Stream, Duplex);
-
- type Stream_Access is access all Ada.Streams.Root_Stream_Type'Class;
-
- type Stream_Type is
- new Ada.Streams.Root_Stream_Type with private;
-
- procedure Read
- (Stream : in out Stream_Type;
- Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset);
-
- procedure Write
- (Stream : in out Stream_Type;
- Item : in Ada.Streams.Stream_Element_Array);
-
- procedure Flush
- (Stream : in out Stream_Type;
- Mode : in Flush_Mode := Sync_Flush);
- -- Flush the written data to the back stream,
- -- all data placed to the compressor is flushing to the Back stream.
- -- Should not be used untill necessary, becouse it is decreasing
- -- compression.
-
- function Read_Total_In (Stream : in Stream_Type) return Count;
- pragma Inline (Read_Total_In);
- -- Return total number of bytes read from back stream so far.
-
- function Read_Total_Out (Stream : in Stream_Type) return Count;
- pragma Inline (Read_Total_Out);
- -- Return total number of bytes read so far.
-
- function Write_Total_In (Stream : in Stream_Type) return Count;
- pragma Inline (Write_Total_In);
- -- Return total number of bytes written so far.
-
- function Write_Total_Out (Stream : in Stream_Type) return Count;
- pragma Inline (Write_Total_Out);
- -- Return total number of bytes written to the back stream.
-
- procedure Create
- (Stream : out Stream_Type;
- Mode : in Stream_Mode;
- Back : in Stream_Access;
- Back_Compressed : in Boolean;
- Level : in Compression_Level := Default_Compression;
- Strategy : in Strategy_Type := Default_Strategy;
- Header : in Header_Type := Default;
- Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset
- := Default_Buffer_Size;
- Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset
- := Default_Buffer_Size);
- -- Create the Comression/Decompression stream.
- -- If mode is In_Stream then Write operation is disabled.
- -- If mode is Out_Stream then Read operation is disabled.
-
- -- If Back_Compressed is true then
- -- Data written to the Stream is compressing to the Back stream
- -- and data read from the Stream is decompressed data from the Back stream.
-
- -- If Back_Compressed is false then
- -- Data written to the Stream is decompressing to the Back stream
- -- and data read from the Stream is compressed data from the Back stream.
-
- -- !!! When the Need_Header is False ZLib-Ada is using undocumented
- -- ZLib 1.1.4 functionality to do not create/wait for ZLib headers.
-
- function Is_Open (Stream : Stream_Type) return Boolean;
-
- procedure Close (Stream : in out Stream_Type);
-
-private
-
- use Ada.Streams;
-
- type Buffer_Access is access all Stream_Element_Array;
-
- type Stream_Type
- is new Root_Stream_Type with
- record
- Mode : Stream_Mode;
-
- Buffer : Buffer_Access;
- Rest_First : Stream_Element_Offset;
- Rest_Last : Stream_Element_Offset;
- -- Buffer for Read operation.
- -- We need to have this buffer in the record
- -- becouse not all read data from back stream
- -- could be processed during the read operation.
-
- Buffer_Size : Stream_Element_Offset;
- -- Buffer size for write operation.
- -- We do not need to have this buffer
- -- in the record becouse all data could be
- -- processed in the write operation.
-
- Back : Stream_Access;
- Reader : Filter_Type;
- Writer : Filter_Type;
- end record;
-
-end ZLib.Streams;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib-thin.adb b/tcl8.6/compat/zlib/contrib/ada/zlib-thin.adb
deleted file mode 100644
index 0ca4a71..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib-thin.adb
+++ /dev/null
@@ -1,141 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $
-
-package body ZLib.Thin is
-
- ZLIB_VERSION : constant Chars_Ptr := zlibVersion;
-
- Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit;
-
- --------------
- -- Avail_In --
- --------------
-
- function Avail_In (Strm : in Z_Stream) return UInt is
- begin
- return Strm.Avail_In;
- end Avail_In;
-
- ---------------
- -- Avail_Out --
- ---------------
-
- function Avail_Out (Strm : in Z_Stream) return UInt is
- begin
- return Strm.Avail_Out;
- end Avail_Out;
-
- ------------------
- -- Deflate_Init --
- ------------------
-
- function Deflate_Init
- (strm : Z_Streamp;
- level : Int;
- method : Int;
- windowBits : Int;
- memLevel : Int;
- strategy : Int)
- return Int is
- begin
- return deflateInit2
- (strm,
- level,
- method,
- windowBits,
- memLevel,
- strategy,
- ZLIB_VERSION,
- Z_Stream_Size);
- end Deflate_Init;
-
- ------------------
- -- Inflate_Init --
- ------------------
-
- function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is
- begin
- return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size);
- end Inflate_Init;
-
- ------------------------
- -- Last_Error_Message --
- ------------------------
-
- function Last_Error_Message (Strm : in Z_Stream) return String is
- use Interfaces.C.Strings;
- begin
- if Strm.msg = Null_Ptr then
- return "";
- else
- return Value (Strm.msg);
- end if;
- end Last_Error_Message;
-
- ------------
- -- Set_In --
- ------------
-
- procedure Set_In
- (Strm : in out Z_Stream;
- Buffer : in Voidp;
- Size : in UInt) is
- begin
- Strm.Next_In := Buffer;
- Strm.Avail_In := Size;
- end Set_In;
-
- ------------------
- -- Set_Mem_Func --
- ------------------
-
- procedure Set_Mem_Func
- (Strm : in out Z_Stream;
- Opaque : in Voidp;
- Alloc : in alloc_func;
- Free : in free_func) is
- begin
- Strm.opaque := Opaque;
- Strm.zalloc := Alloc;
- Strm.zfree := Free;
- end Set_Mem_Func;
-
- -------------
- -- Set_Out --
- -------------
-
- procedure Set_Out
- (Strm : in out Z_Stream;
- Buffer : in Voidp;
- Size : in UInt) is
- begin
- Strm.Next_Out := Buffer;
- Strm.Avail_Out := Size;
- end Set_Out;
-
- --------------
- -- Total_In --
- --------------
-
- function Total_In (Strm : in Z_Stream) return ULong is
- begin
- return Strm.Total_In;
- end Total_In;
-
- ---------------
- -- Total_Out --
- ---------------
-
- function Total_Out (Strm : in Z_Stream) return ULong is
- begin
- return Strm.Total_Out;
- end Total_Out;
-
-end ZLib.Thin;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib-thin.ads b/tcl8.6/compat/zlib/contrib/ada/zlib-thin.ads
deleted file mode 100644
index d4407eb..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib-thin.ads
+++ /dev/null
@@ -1,450 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2003 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: zlib-thin.ads,v 1.11 2004/07/23 06:33:11 vagul Exp $
-
-with Interfaces.C.Strings;
-
-with System;
-
-private package ZLib.Thin is
-
- -- From zconf.h
-
- MAX_MEM_LEVEL : constant := 9; -- zconf.h:105
- -- zconf.h:105
- MAX_WBITS : constant := 15; -- zconf.h:115
- -- 32K LZ77 window
- -- zconf.h:115
- SEEK_SET : constant := 8#0000#; -- zconf.h:244
- -- Seek from beginning of file.
- -- zconf.h:244
- SEEK_CUR : constant := 1; -- zconf.h:245
- -- Seek from current position.
- -- zconf.h:245
- SEEK_END : constant := 2; -- zconf.h:246
- -- Set file pointer to EOF plus "offset"
- -- zconf.h:246
-
- type Byte is new Interfaces.C.unsigned_char; -- 8 bits
- -- zconf.h:214
- type UInt is new Interfaces.C.unsigned; -- 16 bits or more
- -- zconf.h:216
- type Int is new Interfaces.C.int;
-
- type ULong is new Interfaces.C.unsigned_long; -- 32 bits or more
- -- zconf.h:217
- subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr;
-
- type ULong_Access is access ULong;
- type Int_Access is access Int;
-
- subtype Voidp is System.Address; -- zconf.h:232
-
- subtype Byte_Access is Voidp;
-
- Nul : constant Voidp := System.Null_Address;
- -- end from zconf
-
- Z_NO_FLUSH : constant := 8#0000#; -- zlib.h:125
- -- zlib.h:125
- Z_PARTIAL_FLUSH : constant := 1; -- zlib.h:126
- -- will be removed, use
- -- Z_SYNC_FLUSH instead
- -- zlib.h:126
- Z_SYNC_FLUSH : constant := 2; -- zlib.h:127
- -- zlib.h:127
- Z_FULL_FLUSH : constant := 3; -- zlib.h:128
- -- zlib.h:128
- Z_FINISH : constant := 4; -- zlib.h:129
- -- zlib.h:129
- Z_OK : constant := 8#0000#; -- zlib.h:132
- -- zlib.h:132
- Z_STREAM_END : constant := 1; -- zlib.h:133
- -- zlib.h:133
- Z_NEED_DICT : constant := 2; -- zlib.h:134
- -- zlib.h:134
- Z_ERRNO : constant := -1; -- zlib.h:135
- -- zlib.h:135
- Z_STREAM_ERROR : constant := -2; -- zlib.h:136
- -- zlib.h:136
- Z_DATA_ERROR : constant := -3; -- zlib.h:137
- -- zlib.h:137
- Z_MEM_ERROR : constant := -4; -- zlib.h:138
- -- zlib.h:138
- Z_BUF_ERROR : constant := -5; -- zlib.h:139
- -- zlib.h:139
- Z_VERSION_ERROR : constant := -6; -- zlib.h:140
- -- zlib.h:140
- Z_NO_COMPRESSION : constant := 8#0000#; -- zlib.h:145
- -- zlib.h:145
- Z_BEST_SPEED : constant := 1; -- zlib.h:146
- -- zlib.h:146
- Z_BEST_COMPRESSION : constant := 9; -- zlib.h:147
- -- zlib.h:147
- Z_DEFAULT_COMPRESSION : constant := -1; -- zlib.h:148
- -- zlib.h:148
- Z_FILTERED : constant := 1; -- zlib.h:151
- -- zlib.h:151
- Z_HUFFMAN_ONLY : constant := 2; -- zlib.h:152
- -- zlib.h:152
- Z_DEFAULT_STRATEGY : constant := 8#0000#; -- zlib.h:153
- -- zlib.h:153
- Z_BINARY : constant := 8#0000#; -- zlib.h:156
- -- zlib.h:156
- Z_ASCII : constant := 1; -- zlib.h:157
- -- zlib.h:157
- Z_UNKNOWN : constant := 2; -- zlib.h:158
- -- zlib.h:158
- Z_DEFLATED : constant := 8; -- zlib.h:161
- -- zlib.h:161
- Z_NULL : constant := 8#0000#; -- zlib.h:164
- -- for initializing zalloc, zfree, opaque
- -- zlib.h:164
- type gzFile is new Voidp; -- zlib.h:646
-
- type Z_Stream is private;
-
- type Z_Streamp is access all Z_Stream; -- zlib.h:89
-
- type alloc_func is access function
- (Opaque : Voidp;
- Items : UInt;
- Size : UInt)
- return Voidp; -- zlib.h:63
-
- type free_func is access procedure (opaque : Voidp; address : Voidp);
-
- function zlibVersion return Chars_Ptr;
-
- function Deflate (strm : Z_Streamp; flush : Int) return Int;
-
- function DeflateEnd (strm : Z_Streamp) return Int;
-
- function Inflate (strm : Z_Streamp; flush : Int) return Int;
-
- function InflateEnd (strm : Z_Streamp) return Int;
-
- function deflateSetDictionary
- (strm : Z_Streamp;
- dictionary : Byte_Access;
- dictLength : UInt)
- return Int;
-
- function deflateCopy (dest : Z_Streamp; source : Z_Streamp) return Int;
- -- zlib.h:478
-
- function deflateReset (strm : Z_Streamp) return Int; -- zlib.h:495
-
- function deflateParams
- (strm : Z_Streamp;
- level : Int;
- strategy : Int)
- return Int; -- zlib.h:506
-
- function inflateSetDictionary
- (strm : Z_Streamp;
- dictionary : Byte_Access;
- dictLength : UInt)
- return Int; -- zlib.h:548
-
- function inflateSync (strm : Z_Streamp) return Int; -- zlib.h:565
-
- function inflateReset (strm : Z_Streamp) return Int; -- zlib.h:580
-
- function compress
- (dest : Byte_Access;
- destLen : ULong_Access;
- source : Byte_Access;
- sourceLen : ULong)
- return Int; -- zlib.h:601
-
- function compress2
- (dest : Byte_Access;
- destLen : ULong_Access;
- source : Byte_Access;
- sourceLen : ULong;
- level : Int)
- return Int; -- zlib.h:615
-
- function uncompress
- (dest : Byte_Access;
- destLen : ULong_Access;
- source : Byte_Access;
- sourceLen : ULong)
- return Int;
-
- function gzopen (path : Chars_Ptr; mode : Chars_Ptr) return gzFile;
-
- function gzdopen (fd : Int; mode : Chars_Ptr) return gzFile;
-
- function gzsetparams
- (file : gzFile;
- level : Int;
- strategy : Int)
- return Int;
-
- function gzread
- (file : gzFile;
- buf : Voidp;
- len : UInt)
- return Int;
-
- function gzwrite
- (file : in gzFile;
- buf : in Voidp;
- len : in UInt)
- return Int;
-
- function gzprintf (file : in gzFile; format : in Chars_Ptr) return Int;
-
- function gzputs (file : in gzFile; s : in Chars_Ptr) return Int;
-
- function gzgets
- (file : gzFile;
- buf : Chars_Ptr;
- len : Int)
- return Chars_Ptr;
-
- function gzputc (file : gzFile; char : Int) return Int;
-
- function gzgetc (file : gzFile) return Int;
-
- function gzflush (file : gzFile; flush : Int) return Int;
-
- function gzseek
- (file : gzFile;
- offset : Int;
- whence : Int)
- return Int;
-
- function gzrewind (file : gzFile) return Int;
-
- function gztell (file : gzFile) return Int;
-
- function gzeof (file : gzFile) return Int;
-
- function gzclose (file : gzFile) return Int;
-
- function gzerror (file : gzFile; errnum : Int_Access) return Chars_Ptr;
-
- function adler32
- (adler : ULong;
- buf : Byte_Access;
- len : UInt)
- return ULong;
-
- function crc32
- (crc : ULong;
- buf : Byte_Access;
- len : UInt)
- return ULong;
-
- function deflateInit
- (strm : Z_Streamp;
- level : Int;
- version : Chars_Ptr;
- stream_size : Int)
- return Int;
-
- function deflateInit2
- (strm : Z_Streamp;
- level : Int;
- method : Int;
- windowBits : Int;
- memLevel : Int;
- strategy : Int;
- version : Chars_Ptr;
- stream_size : Int)
- return Int;
-
- function Deflate_Init
- (strm : Z_Streamp;
- level : Int;
- method : Int;
- windowBits : Int;
- memLevel : Int;
- strategy : Int)
- return Int;
- pragma Inline (Deflate_Init);
-
- function inflateInit
- (strm : Z_Streamp;
- version : Chars_Ptr;
- stream_size : Int)
- return Int;
-
- function inflateInit2
- (strm : in Z_Streamp;
- windowBits : in Int;
- version : in Chars_Ptr;
- stream_size : in Int)
- return Int;
-
- function inflateBackInit
- (strm : in Z_Streamp;
- windowBits : in Int;
- window : in Byte_Access;
- version : in Chars_Ptr;
- stream_size : in Int)
- return Int;
- -- Size of window have to be 2**windowBits.
-
- function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int;
- pragma Inline (Inflate_Init);
-
- function zError (err : Int) return Chars_Ptr;
-
- function inflateSyncPoint (z : Z_Streamp) return Int;
-
- function get_crc_table return ULong_Access;
-
- -- Interface to the available fields of the z_stream structure.
- -- The application must update next_in and avail_in when avail_in has
- -- dropped to zero. It must update next_out and avail_out when avail_out
- -- has dropped to zero. The application must initialize zalloc, zfree and
- -- opaque before calling the init function.
-
- procedure Set_In
- (Strm : in out Z_Stream;
- Buffer : in Voidp;
- Size : in UInt);
- pragma Inline (Set_In);
-
- procedure Set_Out
- (Strm : in out Z_Stream;
- Buffer : in Voidp;
- Size : in UInt);
- pragma Inline (Set_Out);
-
- procedure Set_Mem_Func
- (Strm : in out Z_Stream;
- Opaque : in Voidp;
- Alloc : in alloc_func;
- Free : in free_func);
- pragma Inline (Set_Mem_Func);
-
- function Last_Error_Message (Strm : in Z_Stream) return String;
- pragma Inline (Last_Error_Message);
-
- function Avail_Out (Strm : in Z_Stream) return UInt;
- pragma Inline (Avail_Out);
-
- function Avail_In (Strm : in Z_Stream) return UInt;
- pragma Inline (Avail_In);
-
- function Total_In (Strm : in Z_Stream) return ULong;
- pragma Inline (Total_In);
-
- function Total_Out (Strm : in Z_Stream) return ULong;
- pragma Inline (Total_Out);
-
- function inflateCopy
- (dest : in Z_Streamp;
- Source : in Z_Streamp)
- return Int;
-
- function compressBound (Source_Len : in ULong) return ULong;
-
- function deflateBound
- (Strm : in Z_Streamp;
- Source_Len : in ULong)
- return ULong;
-
- function gzungetc (C : in Int; File : in gzFile) return Int;
-
- function zlibCompileFlags return ULong;
-
-private
-
- type Z_Stream is record -- zlib.h:68
- Next_In : Voidp := Nul; -- next input byte
- Avail_In : UInt := 0; -- number of bytes available at next_in
- Total_In : ULong := 0; -- total nb of input bytes read so far
- Next_Out : Voidp := Nul; -- next output byte should be put there
- Avail_Out : UInt := 0; -- remaining free space at next_out
- Total_Out : ULong := 0; -- total nb of bytes output so far
- msg : Chars_Ptr; -- last error message, NULL if no error
- state : Voidp; -- not visible by applications
- zalloc : alloc_func := null; -- used to allocate the internal state
- zfree : free_func := null; -- used to free the internal state
- opaque : Voidp; -- private data object passed to
- -- zalloc and zfree
- data_type : Int; -- best guess about the data type:
- -- ascii or binary
- adler : ULong; -- adler32 value of the uncompressed
- -- data
- reserved : ULong; -- reserved for future use
- end record;
-
- pragma Convention (C, Z_Stream);
-
- pragma Import (C, zlibVersion, "zlibVersion");
- pragma Import (C, Deflate, "deflate");
- pragma Import (C, DeflateEnd, "deflateEnd");
- pragma Import (C, Inflate, "inflate");
- pragma Import (C, InflateEnd, "inflateEnd");
- pragma Import (C, deflateSetDictionary, "deflateSetDictionary");
- pragma Import (C, deflateCopy, "deflateCopy");
- pragma Import (C, deflateReset, "deflateReset");
- pragma Import (C, deflateParams, "deflateParams");
- pragma Import (C, inflateSetDictionary, "inflateSetDictionary");
- pragma Import (C, inflateSync, "inflateSync");
- pragma Import (C, inflateReset, "inflateReset");
- pragma Import (C, compress, "compress");
- pragma Import (C, compress2, "compress2");
- pragma Import (C, uncompress, "uncompress");
- pragma Import (C, gzopen, "gzopen");
- pragma Import (C, gzdopen, "gzdopen");
- pragma Import (C, gzsetparams, "gzsetparams");
- pragma Import (C, gzread, "gzread");
- pragma Import (C, gzwrite, "gzwrite");
- pragma Import (C, gzprintf, "gzprintf");
- pragma Import (C, gzputs, "gzputs");
- pragma Import (C, gzgets, "gzgets");
- pragma Import (C, gzputc, "gzputc");
- pragma Import (C, gzgetc, "gzgetc");
- pragma Import (C, gzflush, "gzflush");
- pragma Import (C, gzseek, "gzseek");
- pragma Import (C, gzrewind, "gzrewind");
- pragma Import (C, gztell, "gztell");
- pragma Import (C, gzeof, "gzeof");
- pragma Import (C, gzclose, "gzclose");
- pragma Import (C, gzerror, "gzerror");
- pragma Import (C, adler32, "adler32");
- pragma Import (C, crc32, "crc32");
- pragma Import (C, deflateInit, "deflateInit_");
- pragma Import (C, inflateInit, "inflateInit_");
- pragma Import (C, deflateInit2, "deflateInit2_");
- pragma Import (C, inflateInit2, "inflateInit2_");
- pragma Import (C, zError, "zError");
- pragma Import (C, inflateSyncPoint, "inflateSyncPoint");
- pragma Import (C, get_crc_table, "get_crc_table");
-
- -- since zlib 1.2.0:
-
- pragma Import (C, inflateCopy, "inflateCopy");
- pragma Import (C, compressBound, "compressBound");
- pragma Import (C, deflateBound, "deflateBound");
- pragma Import (C, gzungetc, "gzungetc");
- pragma Import (C, zlibCompileFlags, "zlibCompileFlags");
-
- pragma Import (C, inflateBackInit, "inflateBackInit_");
-
- -- I stopped binding the inflateBack routines, becouse realize that
- -- it does not support zlib and gzip headers for now, and have no
- -- symmetric deflateBack routines.
- -- ZLib-Ada is symmetric regarding deflate/inflate data transformation
- -- and has a similar generic callback interface for the
- -- deflate/inflate transformation based on the regular Deflate/Inflate
- -- routines.
-
- -- pragma Import (C, inflateBack, "inflateBack");
- -- pragma Import (C, inflateBackEnd, "inflateBackEnd");
-
-end ZLib.Thin;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib.adb b/tcl8.6/compat/zlib/contrib/ada/zlib.adb
deleted file mode 100644
index 8b6fd68..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib.adb
+++ /dev/null
@@ -1,701 +0,0 @@
-----------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2004 Dmitriy Anisimkov --
--- --
--- Open source license information is in the zlib.ads file. --
-----------------------------------------------------------------
-
--- $Id: zlib.adb,v 1.31 2004/09/06 06:53:19 vagul Exp $
-
-with Ada.Exceptions;
-with Ada.Unchecked_Conversion;
-with Ada.Unchecked_Deallocation;
-
-with Interfaces.C.Strings;
-
-with ZLib.Thin;
-
-package body ZLib is
-
- use type Thin.Int;
-
- type Z_Stream is new Thin.Z_Stream;
-
- type Return_Code_Enum is
- (OK,
- STREAM_END,
- NEED_DICT,
- ERRNO,
- STREAM_ERROR,
- DATA_ERROR,
- MEM_ERROR,
- BUF_ERROR,
- VERSION_ERROR);
-
- type Flate_Step_Function is access
- function (Strm : in Thin.Z_Streamp; Flush : in Thin.Int) return Thin.Int;
- pragma Convention (C, Flate_Step_Function);
-
- type Flate_End_Function is access
- function (Ctrm : in Thin.Z_Streamp) return Thin.Int;
- pragma Convention (C, Flate_End_Function);
-
- type Flate_Type is record
- Step : Flate_Step_Function;
- Done : Flate_End_Function;
- end record;
-
- subtype Footer_Array is Stream_Element_Array (1 .. 8);
-
- Simple_GZip_Header : constant Stream_Element_Array (1 .. 10)
- := (16#1f#, 16#8b#, -- Magic header
- 16#08#, -- Z_DEFLATED
- 16#00#, -- Flags
- 16#00#, 16#00#, 16#00#, 16#00#, -- Time
- 16#00#, -- XFlags
- 16#03# -- OS code
- );
- -- The simplest gzip header is not for informational, but just for
- -- gzip format compatibility.
- -- Note that some code below is using assumption
- -- Simple_GZip_Header'Last > Footer_Array'Last, so do not make
- -- Simple_GZip_Header'Last <= Footer_Array'Last.
-
- Return_Code : constant array (Thin.Int range <>) of Return_Code_Enum
- := (0 => OK,
- 1 => STREAM_END,
- 2 => NEED_DICT,
- -1 => ERRNO,
- -2 => STREAM_ERROR,
- -3 => DATA_ERROR,
- -4 => MEM_ERROR,
- -5 => BUF_ERROR,
- -6 => VERSION_ERROR);
-
- Flate : constant array (Boolean) of Flate_Type
- := (True => (Step => Thin.Deflate'Access,
- Done => Thin.DeflateEnd'Access),
- False => (Step => Thin.Inflate'Access,
- Done => Thin.InflateEnd'Access));
-
- Flush_Finish : constant array (Boolean) of Flush_Mode
- := (True => Finish, False => No_Flush);
-
- procedure Raise_Error (Stream : in Z_Stream);
- pragma Inline (Raise_Error);
-
- procedure Raise_Error (Message : in String);
- pragma Inline (Raise_Error);
-
- procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int);
-
- procedure Free is new Ada.Unchecked_Deallocation
- (Z_Stream, Z_Stream_Access);
-
- function To_Thin_Access is new Ada.Unchecked_Conversion
- (Z_Stream_Access, Thin.Z_Streamp);
-
- procedure Translate_GZip
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode);
- -- Separate translate routine for make gzip header.
-
- procedure Translate_Auto
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode);
- -- translate routine without additional headers.
-
- -----------------
- -- Check_Error --
- -----------------
-
- procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int) is
- use type Thin.Int;
- begin
- if Code /= Thin.Z_OK then
- Raise_Error
- (Return_Code_Enum'Image (Return_Code (Code))
- & ": " & Last_Error_Message (Stream));
- end if;
- end Check_Error;
-
- -----------
- -- Close --
- -----------
-
- procedure Close
- (Filter : in out Filter_Type;
- Ignore_Error : in Boolean := False)
- is
- Code : Thin.Int;
- begin
- if not Ignore_Error and then not Is_Open (Filter) then
- raise Status_Error;
- end if;
-
- Code := Flate (Filter.Compression).Done (To_Thin_Access (Filter.Strm));
-
- if Ignore_Error or else Code = Thin.Z_OK then
- Free (Filter.Strm);
- else
- declare
- Error_Message : constant String
- := Last_Error_Message (Filter.Strm.all);
- begin
- Free (Filter.Strm);
- Ada.Exceptions.Raise_Exception
- (ZLib_Error'Identity,
- Return_Code_Enum'Image (Return_Code (Code))
- & ": " & Error_Message);
- end;
- end if;
- end Close;
-
- -----------
- -- CRC32 --
- -----------
-
- function CRC32
- (CRC : in Unsigned_32;
- Data : in Ada.Streams.Stream_Element_Array)
- return Unsigned_32
- is
- use Thin;
- begin
- return Unsigned_32 (crc32 (ULong (CRC),
- Data'Address,
- Data'Length));
- end CRC32;
-
- procedure CRC32
- (CRC : in out Unsigned_32;
- Data : in Ada.Streams.Stream_Element_Array) is
- begin
- CRC := CRC32 (CRC, Data);
- end CRC32;
-
- ------------------
- -- Deflate_Init --
- ------------------
-
- procedure Deflate_Init
- (Filter : in out Filter_Type;
- Level : in Compression_Level := Default_Compression;
- Strategy : in Strategy_Type := Default_Strategy;
- Method : in Compression_Method := Deflated;
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
- Memory_Level : in Memory_Level_Type := Default_Memory_Level;
- Header : in Header_Type := Default)
- is
- use type Thin.Int;
- Win_Bits : Thin.Int := Thin.Int (Window_Bits);
- begin
- if Is_Open (Filter) then
- raise Status_Error;
- end if;
-
- -- We allow ZLib to make header only in case of default header type.
- -- Otherwise we would either do header by ourselfs, or do not do
- -- header at all.
-
- if Header = None or else Header = GZip then
- Win_Bits := -Win_Bits;
- end if;
-
- -- For the GZip CRC calculation and make headers.
-
- if Header = GZip then
- Filter.CRC := 0;
- Filter.Offset := Simple_GZip_Header'First;
- else
- Filter.Offset := Simple_GZip_Header'Last + 1;
- end if;
-
- Filter.Strm := new Z_Stream;
- Filter.Compression := True;
- Filter.Stream_End := False;
- Filter.Header := Header;
-
- if Thin.Deflate_Init
- (To_Thin_Access (Filter.Strm),
- Level => Thin.Int (Level),
- method => Thin.Int (Method),
- windowBits => Win_Bits,
- memLevel => Thin.Int (Memory_Level),
- strategy => Thin.Int (Strategy)) /= Thin.Z_OK
- then
- Raise_Error (Filter.Strm.all);
- end if;
- end Deflate_Init;
-
- -----------
- -- Flush --
- -----------
-
- procedure Flush
- (Filter : in out Filter_Type;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode)
- is
- No_Data : Stream_Element_Array := (1 .. 0 => 0);
- Last : Stream_Element_Offset;
- begin
- Translate (Filter, No_Data, Last, Out_Data, Out_Last, Flush);
- end Flush;
-
- -----------------------
- -- Generic_Translate --
- -----------------------
-
- procedure Generic_Translate
- (Filter : in out ZLib.Filter_Type;
- In_Buffer_Size : in Integer := Default_Buffer_Size;
- Out_Buffer_Size : in Integer := Default_Buffer_Size)
- is
- In_Buffer : Stream_Element_Array
- (1 .. Stream_Element_Offset (In_Buffer_Size));
- Out_Buffer : Stream_Element_Array
- (1 .. Stream_Element_Offset (Out_Buffer_Size));
- Last : Stream_Element_Offset;
- In_Last : Stream_Element_Offset;
- In_First : Stream_Element_Offset;
- Out_Last : Stream_Element_Offset;
- begin
- Main : loop
- Data_In (In_Buffer, Last);
-
- In_First := In_Buffer'First;
-
- loop
- Translate
- (Filter => Filter,
- In_Data => In_Buffer (In_First .. Last),
- In_Last => In_Last,
- Out_Data => Out_Buffer,
- Out_Last => Out_Last,
- Flush => Flush_Finish (Last < In_Buffer'First));
-
- if Out_Buffer'First <= Out_Last then
- Data_Out (Out_Buffer (Out_Buffer'First .. Out_Last));
- end if;
-
- exit Main when Stream_End (Filter);
-
- -- The end of in buffer.
-
- exit when In_Last = Last;
-
- In_First := In_Last + 1;
- end loop;
- end loop Main;
-
- end Generic_Translate;
-
- ------------------
- -- Inflate_Init --
- ------------------
-
- procedure Inflate_Init
- (Filter : in out Filter_Type;
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
- Header : in Header_Type := Default)
- is
- use type Thin.Int;
- Win_Bits : Thin.Int := Thin.Int (Window_Bits);
-
- procedure Check_Version;
- -- Check the latest header types compatibility.
-
- procedure Check_Version is
- begin
- if Version <= "1.1.4" then
- Raise_Error
- ("Inflate header type " & Header_Type'Image (Header)
- & " incompatible with ZLib version " & Version);
- end if;
- end Check_Version;
-
- begin
- if Is_Open (Filter) then
- raise Status_Error;
- end if;
-
- case Header is
- when None =>
- Check_Version;
-
- -- Inflate data without headers determined
- -- by negative Win_Bits.
-
- Win_Bits := -Win_Bits;
- when GZip =>
- Check_Version;
-
- -- Inflate gzip data defined by flag 16.
-
- Win_Bits := Win_Bits + 16;
- when Auto =>
- Check_Version;
-
- -- Inflate with automatic detection
- -- of gzip or native header defined by flag 32.
-
- Win_Bits := Win_Bits + 32;
- when Default => null;
- end case;
-
- Filter.Strm := new Z_Stream;
- Filter.Compression := False;
- Filter.Stream_End := False;
- Filter.Header := Header;
-
- if Thin.Inflate_Init
- (To_Thin_Access (Filter.Strm), Win_Bits) /= Thin.Z_OK
- then
- Raise_Error (Filter.Strm.all);
- end if;
- end Inflate_Init;
-
- -------------
- -- Is_Open --
- -------------
-
- function Is_Open (Filter : in Filter_Type) return Boolean is
- begin
- return Filter.Strm /= null;
- end Is_Open;
-
- -----------------
- -- Raise_Error --
- -----------------
-
- procedure Raise_Error (Message : in String) is
- begin
- Ada.Exceptions.Raise_Exception (ZLib_Error'Identity, Message);
- end Raise_Error;
-
- procedure Raise_Error (Stream : in Z_Stream) is
- begin
- Raise_Error (Last_Error_Message (Stream));
- end Raise_Error;
-
- ----------
- -- Read --
- ----------
-
- procedure Read
- (Filter : in out Filter_Type;
- Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode := No_Flush)
- is
- In_Last : Stream_Element_Offset;
- Item_First : Ada.Streams.Stream_Element_Offset := Item'First;
- V_Flush : Flush_Mode := Flush;
-
- begin
- pragma Assert (Rest_First in Buffer'First .. Buffer'Last + 1);
- pragma Assert (Rest_Last in Buffer'First - 1 .. Buffer'Last);
-
- loop
- if Rest_Last = Buffer'First - 1 then
- V_Flush := Finish;
-
- elsif Rest_First > Rest_Last then
- Read (Buffer, Rest_Last);
- Rest_First := Buffer'First;
-
- if Rest_Last < Buffer'First then
- V_Flush := Finish;
- end if;
- end if;
-
- Translate
- (Filter => Filter,
- In_Data => Buffer (Rest_First .. Rest_Last),
- In_Last => In_Last,
- Out_Data => Item (Item_First .. Item'Last),
- Out_Last => Last,
- Flush => V_Flush);
-
- Rest_First := In_Last + 1;
-
- exit when Stream_End (Filter)
- or else Last = Item'Last
- or else (Last >= Item'First and then Allow_Read_Some);
-
- Item_First := Last + 1;
- end loop;
- end Read;
-
- ----------------
- -- Stream_End --
- ----------------
-
- function Stream_End (Filter : in Filter_Type) return Boolean is
- begin
- if Filter.Header = GZip and Filter.Compression then
- return Filter.Stream_End
- and then Filter.Offset = Footer_Array'Last + 1;
- else
- return Filter.Stream_End;
- end if;
- end Stream_End;
-
- --------------
- -- Total_In --
- --------------
-
- function Total_In (Filter : in Filter_Type) return Count is
- begin
- return Count (Thin.Total_In (To_Thin_Access (Filter.Strm).all));
- end Total_In;
-
- ---------------
- -- Total_Out --
- ---------------
-
- function Total_Out (Filter : in Filter_Type) return Count is
- begin
- return Count (Thin.Total_Out (To_Thin_Access (Filter.Strm).all));
- end Total_Out;
-
- ---------------
- -- Translate --
- ---------------
-
- procedure Translate
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode) is
- begin
- if Filter.Header = GZip and then Filter.Compression then
- Translate_GZip
- (Filter => Filter,
- In_Data => In_Data,
- In_Last => In_Last,
- Out_Data => Out_Data,
- Out_Last => Out_Last,
- Flush => Flush);
- else
- Translate_Auto
- (Filter => Filter,
- In_Data => In_Data,
- In_Last => In_Last,
- Out_Data => Out_Data,
- Out_Last => Out_Last,
- Flush => Flush);
- end if;
- end Translate;
-
- --------------------
- -- Translate_Auto --
- --------------------
-
- procedure Translate_Auto
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode)
- is
- use type Thin.Int;
- Code : Thin.Int;
-
- begin
- if not Is_Open (Filter) then
- raise Status_Error;
- end if;
-
- if Out_Data'Length = 0 and then In_Data'Length = 0 then
- raise Constraint_Error;
- end if;
-
- Set_Out (Filter.Strm.all, Out_Data'Address, Out_Data'Length);
- Set_In (Filter.Strm.all, In_Data'Address, In_Data'Length);
-
- Code := Flate (Filter.Compression).Step
- (To_Thin_Access (Filter.Strm),
- Thin.Int (Flush));
-
- if Code = Thin.Z_STREAM_END then
- Filter.Stream_End := True;
- else
- Check_Error (Filter.Strm.all, Code);
- end if;
-
- In_Last := In_Data'Last
- - Stream_Element_Offset (Avail_In (Filter.Strm.all));
- Out_Last := Out_Data'Last
- - Stream_Element_Offset (Avail_Out (Filter.Strm.all));
- end Translate_Auto;
-
- --------------------
- -- Translate_GZip --
- --------------------
-
- procedure Translate_GZip
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode)
- is
- Out_First : Stream_Element_Offset;
-
- procedure Add_Data (Data : in Stream_Element_Array);
- -- Add data to stream from the Filter.Offset till necessary,
- -- used for add gzip headr/footer.
-
- procedure Put_32
- (Item : in out Stream_Element_Array;
- Data : in Unsigned_32);
- pragma Inline (Put_32);
-
- --------------
- -- Add_Data --
- --------------
-
- procedure Add_Data (Data : in Stream_Element_Array) is
- Data_First : Stream_Element_Offset renames Filter.Offset;
- Data_Last : Stream_Element_Offset;
- Data_Len : Stream_Element_Offset; -- -1
- Out_Len : Stream_Element_Offset; -- -1
- begin
- Out_First := Out_Last + 1;
-
- if Data_First > Data'Last then
- return;
- end if;
-
- Data_Len := Data'Last - Data_First;
- Out_Len := Out_Data'Last - Out_First;
-
- if Data_Len <= Out_Len then
- Out_Last := Out_First + Data_Len;
- Data_Last := Data'Last;
- else
- Out_Last := Out_Data'Last;
- Data_Last := Data_First + Out_Len;
- end if;
-
- Out_Data (Out_First .. Out_Last) := Data (Data_First .. Data_Last);
-
- Data_First := Data_Last + 1;
- Out_First := Out_Last + 1;
- end Add_Data;
-
- ------------
- -- Put_32 --
- ------------
-
- procedure Put_32
- (Item : in out Stream_Element_Array;
- Data : in Unsigned_32)
- is
- D : Unsigned_32 := Data;
- begin
- for J in Item'First .. Item'First + 3 loop
- Item (J) := Stream_Element (D and 16#FF#);
- D := Shift_Right (D, 8);
- end loop;
- end Put_32;
-
- begin
- Out_Last := Out_Data'First - 1;
-
- if not Filter.Stream_End then
- Add_Data (Simple_GZip_Header);
-
- Translate_Auto
- (Filter => Filter,
- In_Data => In_Data,
- In_Last => In_Last,
- Out_Data => Out_Data (Out_First .. Out_Data'Last),
- Out_Last => Out_Last,
- Flush => Flush);
-
- CRC32 (Filter.CRC, In_Data (In_Data'First .. In_Last));
- end if;
-
- if Filter.Stream_End and then Out_Last <= Out_Data'Last then
- -- This detection method would work only when
- -- Simple_GZip_Header'Last > Footer_Array'Last
-
- if Filter.Offset = Simple_GZip_Header'Last + 1 then
- Filter.Offset := Footer_Array'First;
- end if;
-
- declare
- Footer : Footer_Array;
- begin
- Put_32 (Footer, Filter.CRC);
- Put_32 (Footer (Footer'First + 4 .. Footer'Last),
- Unsigned_32 (Total_In (Filter)));
- Add_Data (Footer);
- end;
- end if;
- end Translate_GZip;
-
- -------------
- -- Version --
- -------------
-
- function Version return String is
- begin
- return Interfaces.C.Strings.Value (Thin.zlibVersion);
- end Version;
-
- -----------
- -- Write --
- -----------
-
- procedure Write
- (Filter : in out Filter_Type;
- Item : in Ada.Streams.Stream_Element_Array;
- Flush : in Flush_Mode := No_Flush)
- is
- Buffer : Stream_Element_Array (1 .. Buffer_Size);
- In_Last : Stream_Element_Offset;
- Out_Last : Stream_Element_Offset;
- In_First : Stream_Element_Offset := Item'First;
- begin
- if Item'Length = 0 and Flush = No_Flush then
- return;
- end if;
-
- loop
- Translate
- (Filter => Filter,
- In_Data => Item (In_First .. Item'Last),
- In_Last => In_Last,
- Out_Data => Buffer,
- Out_Last => Out_Last,
- Flush => Flush);
-
- if Out_Last >= Buffer'First then
- Write (Buffer (1 .. Out_Last));
- end if;
-
- exit when In_Last = Item'Last or Stream_End (Filter);
-
- In_First := In_Last + 1;
- end loop;
- end Write;
-
-end ZLib;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib.ads b/tcl8.6/compat/zlib/contrib/ada/zlib.ads
deleted file mode 100644
index 79ffc40..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib.ads
+++ /dev/null
@@ -1,328 +0,0 @@
-------------------------------------------------------------------------------
--- ZLib for Ada thick binding. --
--- --
--- Copyright (C) 2002-2004 Dmitriy Anisimkov --
--- --
--- This library is free software; you can redistribute it and/or modify --
--- it under the terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2 of the License, or (at --
--- your option) any later version. --
--- --
--- This library is distributed in the hope that it will be useful, but --
--- WITHOUT ANY WARRANTY; without even the implied warranty of --
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --
--- General Public License for more details. --
--- --
--- You should have received a copy of the GNU General Public License --
--- along with this library; if not, write to the Free Software Foundation, --
--- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from this --
--- unit, or you link this unit with other files to produce an executable, --
--- this unit does not by itself cause the resulting executable to be --
--- covered by the GNU General Public License. This exception does not --
--- however invalidate any other reasons why the executable file might be --
--- covered by the GNU Public License. --
-------------------------------------------------------------------------------
-
--- $Id: zlib.ads,v 1.26 2004/09/06 06:53:19 vagul Exp $
-
-with Ada.Streams;
-
-with Interfaces;
-
-package ZLib is
-
- ZLib_Error : exception;
- Status_Error : exception;
-
- type Compression_Level is new Integer range -1 .. 9;
-
- type Flush_Mode is private;
-
- type Compression_Method is private;
-
- type Window_Bits_Type is new Integer range 8 .. 15;
-
- type Memory_Level_Type is new Integer range 1 .. 9;
-
- type Unsigned_32 is new Interfaces.Unsigned_32;
-
- type Strategy_Type is private;
-
- type Header_Type is (None, Auto, Default, GZip);
- -- Header type usage have a some limitation for inflate.
- -- See comment for Inflate_Init.
-
- subtype Count is Ada.Streams.Stream_Element_Count;
-
- Default_Memory_Level : constant Memory_Level_Type := 8;
- Default_Window_Bits : constant Window_Bits_Type := 15;
-
- ----------------------------------
- -- Compression method constants --
- ----------------------------------
-
- Deflated : constant Compression_Method;
- -- Only one method allowed in this ZLib version
-
- ---------------------------------
- -- Compression level constants --
- ---------------------------------
-
- No_Compression : constant Compression_Level := 0;
- Best_Speed : constant Compression_Level := 1;
- Best_Compression : constant Compression_Level := 9;
- Default_Compression : constant Compression_Level := -1;
-
- --------------------------
- -- Flush mode constants --
- --------------------------
-
- No_Flush : constant Flush_Mode;
- -- Regular way for compression, no flush
-
- Partial_Flush : constant Flush_Mode;
- -- Will be removed, use Z_SYNC_FLUSH instead
-
- Sync_Flush : constant Flush_Mode;
- -- All pending output is flushed to the output buffer and the output
- -- is aligned on a byte boundary, so that the decompressor can get all
- -- input data available so far. (In particular avail_in is zero after the
- -- call if enough output space has been provided before the call.)
- -- Flushing may degrade compression for some compression algorithms and so
- -- it should be used only when necessary.
-
- Block_Flush : constant Flush_Mode;
- -- Z_BLOCK requests that inflate() stop
- -- if and when it get to the next deflate block boundary. When decoding the
- -- zlib or gzip format, this will cause inflate() to return immediately
- -- after the header and before the first block. When doing a raw inflate,
- -- inflate() will go ahead and process the first block, and will return
- -- when it gets to the end of that block, or when it runs out of data.
-
- Full_Flush : constant Flush_Mode;
- -- All output is flushed as with SYNC_FLUSH, and the compression state
- -- is reset so that decompression can restart from this point if previous
- -- compressed data has been damaged or if random access is desired. Using
- -- Full_Flush too often can seriously degrade the compression.
-
- Finish : constant Flush_Mode;
- -- Just for tell the compressor that input data is complete.
-
- ------------------------------------
- -- Compression strategy constants --
- ------------------------------------
-
- -- RLE stategy could be used only in version 1.2.0 and later.
-
- Filtered : constant Strategy_Type;
- Huffman_Only : constant Strategy_Type;
- RLE : constant Strategy_Type;
- Default_Strategy : constant Strategy_Type;
-
- Default_Buffer_Size : constant := 4096;
-
- type Filter_Type is tagged limited private;
- -- The filter is for compression and for decompression.
- -- The usage of the type is depend of its initialization.
-
- function Version return String;
- pragma Inline (Version);
- -- Return string representation of the ZLib version.
-
- procedure Deflate_Init
- (Filter : in out Filter_Type;
- Level : in Compression_Level := Default_Compression;
- Strategy : in Strategy_Type := Default_Strategy;
- Method : in Compression_Method := Deflated;
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
- Memory_Level : in Memory_Level_Type := Default_Memory_Level;
- Header : in Header_Type := Default);
- -- Compressor initialization.
- -- When Header parameter is Auto or Default, then default zlib header
- -- would be provided for compressed data.
- -- When Header is GZip, then gzip header would be set instead of
- -- default header.
- -- When Header is None, no header would be set for compressed data.
-
- procedure Inflate_Init
- (Filter : in out Filter_Type;
- Window_Bits : in Window_Bits_Type := Default_Window_Bits;
- Header : in Header_Type := Default);
- -- Decompressor initialization.
- -- Default header type mean that ZLib default header is expecting in the
- -- input compressed stream.
- -- Header type None mean that no header is expecting in the input stream.
- -- GZip header type mean that GZip header is expecting in the
- -- input compressed stream.
- -- Auto header type mean that header type (GZip or Native) would be
- -- detected automatically in the input stream.
- -- Note that header types parameter values None, GZip and Auto are
- -- supported for inflate routine only in ZLib versions 1.2.0.2 and later.
- -- Deflate_Init is supporting all header types.
-
- function Is_Open (Filter : in Filter_Type) return Boolean;
- pragma Inline (Is_Open);
- -- Is the filter opened for compression or decompression.
-
- procedure Close
- (Filter : in out Filter_Type;
- Ignore_Error : in Boolean := False);
- -- Closing the compression or decompressor.
- -- If stream is closing before the complete and Ignore_Error is False,
- -- The exception would be raised.
-
- generic
- with procedure Data_In
- (Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset);
- with procedure Data_Out
- (Item : in Ada.Streams.Stream_Element_Array);
- procedure Generic_Translate
- (Filter : in out Filter_Type;
- In_Buffer_Size : in Integer := Default_Buffer_Size;
- Out_Buffer_Size : in Integer := Default_Buffer_Size);
- -- Compress/decompress data fetch from Data_In routine and pass the result
- -- to the Data_Out routine. User should provide Data_In and Data_Out
- -- for compression/decompression data flow.
- -- Compression or decompression depend on Filter initialization.
-
- function Total_In (Filter : in Filter_Type) return Count;
- pragma Inline (Total_In);
- -- Returns total number of input bytes read so far
-
- function Total_Out (Filter : in Filter_Type) return Count;
- pragma Inline (Total_Out);
- -- Returns total number of bytes output so far
-
- function CRC32
- (CRC : in Unsigned_32;
- Data : in Ada.Streams.Stream_Element_Array)
- return Unsigned_32;
- pragma Inline (CRC32);
- -- Compute CRC32, it could be necessary for make gzip format
-
- procedure CRC32
- (CRC : in out Unsigned_32;
- Data : in Ada.Streams.Stream_Element_Array);
- pragma Inline (CRC32);
- -- Compute CRC32, it could be necessary for make gzip format
-
- -------------------------------------------------
- -- Below is more complex low level routines. --
- -------------------------------------------------
-
- procedure Translate
- (Filter : in out Filter_Type;
- In_Data : in Ada.Streams.Stream_Element_Array;
- In_Last : out Ada.Streams.Stream_Element_Offset;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode);
- -- Compress/decompress the In_Data buffer and place the result into
- -- Out_Data. In_Last is the index of last element from In_Data accepted by
- -- the Filter. Out_Last is the last element of the received data from
- -- Filter. To tell the filter that incoming data are complete put the
- -- Flush parameter to Finish.
-
- function Stream_End (Filter : in Filter_Type) return Boolean;
- pragma Inline (Stream_End);
- -- Return the true when the stream is complete.
-
- procedure Flush
- (Filter : in out Filter_Type;
- Out_Data : out Ada.Streams.Stream_Element_Array;
- Out_Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode);
- pragma Inline (Flush);
- -- Flushing the data from the compressor.
-
- generic
- with procedure Write
- (Item : in Ada.Streams.Stream_Element_Array);
- -- User should provide this routine for accept
- -- compressed/decompressed data.
-
- Buffer_Size : in Ada.Streams.Stream_Element_Offset
- := Default_Buffer_Size;
- -- Buffer size for Write user routine.
-
- procedure Write
- (Filter : in out Filter_Type;
- Item : in Ada.Streams.Stream_Element_Array;
- Flush : in Flush_Mode := No_Flush);
- -- Compress/Decompress data from Item to the generic parameter procedure
- -- Write. Output buffer size could be set in Buffer_Size generic parameter.
-
- generic
- with procedure Read
- (Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset);
- -- User should provide data for compression/decompression
- -- thru this routine.
-
- Buffer : in out Ada.Streams.Stream_Element_Array;
- -- Buffer for keep remaining data from the previous
- -- back read.
-
- Rest_First, Rest_Last : in out Ada.Streams.Stream_Element_Offset;
- -- Rest_First have to be initialized to Buffer'Last + 1
- -- Rest_Last have to be initialized to Buffer'Last
- -- before usage.
-
- Allow_Read_Some : in Boolean := False;
- -- Is it allowed to return Last < Item'Last before end of data.
-
- procedure Read
- (Filter : in out Filter_Type;
- Item : out Ada.Streams.Stream_Element_Array;
- Last : out Ada.Streams.Stream_Element_Offset;
- Flush : in Flush_Mode := No_Flush);
- -- Compress/Decompress data from generic parameter procedure Read to the
- -- Item. User should provide Buffer and initialized Rest_First, Rest_Last
- -- indicators. If Allow_Read_Some is True, Read routines could return
- -- Last < Item'Last only at end of stream.
-
-private
-
- use Ada.Streams;
-
- pragma Assert (Ada.Streams.Stream_Element'Size = 8);
- pragma Assert (Ada.Streams.Stream_Element'Modulus = 2**8);
-
- type Flush_Mode is new Integer range 0 .. 5;
-
- type Compression_Method is new Integer range 8 .. 8;
-
- type Strategy_Type is new Integer range 0 .. 3;
-
- No_Flush : constant Flush_Mode := 0;
- Partial_Flush : constant Flush_Mode := 1;
- Sync_Flush : constant Flush_Mode := 2;
- Full_Flush : constant Flush_Mode := 3;
- Finish : constant Flush_Mode := 4;
- Block_Flush : constant Flush_Mode := 5;
-
- Filtered : constant Strategy_Type := 1;
- Huffman_Only : constant Strategy_Type := 2;
- RLE : constant Strategy_Type := 3;
- Default_Strategy : constant Strategy_Type := 0;
-
- Deflated : constant Compression_Method := 8;
-
- type Z_Stream;
-
- type Z_Stream_Access is access all Z_Stream;
-
- type Filter_Type is tagged limited record
- Strm : Z_Stream_Access;
- Compression : Boolean;
- Stream_End : Boolean;
- Header : Header_Type;
- CRC : Unsigned_32;
- Offset : Stream_Element_Offset;
- -- Offset for gzip header/footer output.
- end record;
-
-end ZLib;
diff --git a/tcl8.6/compat/zlib/contrib/ada/zlib.gpr b/tcl8.6/compat/zlib/contrib/ada/zlib.gpr
deleted file mode 100644
index 296b22a..0000000
--- a/tcl8.6/compat/zlib/contrib/ada/zlib.gpr
+++ /dev/null
@@ -1,20 +0,0 @@
-project Zlib is
-
- for Languages use ("Ada");
- for Source_Dirs use (".");
- for Object_Dir use ".";
- for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo");
-
- package Compiler is
- for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst");
- end Compiler;
-
- package Linker is
- for Default_Switches ("ada") use ("-lz");
- end Linker;
-
- package Builder is
- for Default_Switches ("ada") use ("-s", "-gnatQ");
- end Builder;
-
-end Zlib;
diff --git a/tcl8.6/compat/zlib/contrib/amd64/amd64-match.S b/tcl8.6/compat/zlib/contrib/amd64/amd64-match.S
deleted file mode 100644
index 81d4a1c..0000000
--- a/tcl8.6/compat/zlib/contrib/amd64/amd64-match.S
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
- * match.S -- optimized version of longest_match()
- * based on the similar work by Gilles Vollant, and Brian Raiter, written 1998
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the BSD License. Use by owners of Che Guevarra
- * parafernalia is prohibited, where possible, and highly discouraged
- * elsewhere.
- */
-
-#ifndef NO_UNDERLINE
-# define match_init _match_init
-# define longest_match _longest_match
-#endif
-
-#define scanend ebx
-#define scanendw bx
-#define chainlenwmask edx /* high word: current chain len low word: s->wmask */
-#define curmatch rsi
-#define curmatchd esi
-#define windowbestlen r8
-#define scanalign r9
-#define scanalignd r9d
-#define window r10
-#define bestlen r11
-#define bestlend r11d
-#define scanstart r12d
-#define scanstartw r12w
-#define scan r13
-#define nicematch r14d
-#define limit r15
-#define limitd r15d
-#define prev rcx
-
-/*
- * The 258 is a "magic number, not a parameter -- changing it
- * breaks the hell loose
- */
-#define MAX_MATCH (258)
-#define MIN_MATCH (3)
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
-
-/* stack frame offsets */
-#define LocalVarsSize (112)
-#define _chainlenwmask ( 8-LocalVarsSize)(%rsp)
-#define _windowbestlen (16-LocalVarsSize)(%rsp)
-#define save_r14 (24-LocalVarsSize)(%rsp)
-#define save_rsi (32-LocalVarsSize)(%rsp)
-#define save_rbx (40-LocalVarsSize)(%rsp)
-#define save_r12 (56-LocalVarsSize)(%rsp)
-#define save_r13 (64-LocalVarsSize)(%rsp)
-#define save_r15 (80-LocalVarsSize)(%rsp)
-
-
-.globl match_init, longest_match
-
-/*
- * On AMD64 the first argument of a function (in our case -- the pointer to
- * deflate_state structure) is passed in %rdi, hence our offsets below are
- * all off of that.
- */
-
-/* you can check the structure offset by running
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "deflate.h"
-
-void print_depl()
-{
-deflate_state ds;
-deflate_state *s=&ds;
-printf("size pointer=%u\n",(int)sizeof(void*));
-
-printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s)));
-printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s)));
-printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s)));
-printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s)));
-printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s)));
-printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s)));
-printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s)));
-printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s)));
-printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s)));
-printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s)));
-printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
-printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s)));
-printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s)));
-}
-
-*/
-
-
-/*
- to compile for XCode 3.2 on MacOSX x86_64
- - run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S"
- */
-
-
-#ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE
-#define dsWSize ( 68)(%rdi)
-#define dsWMask ( 76)(%rdi)
-#define dsWindow ( 80)(%rdi)
-#define dsPrev ( 96)(%rdi)
-#define dsMatchLen (144)(%rdi)
-#define dsPrevMatch (148)(%rdi)
-#define dsStrStart (156)(%rdi)
-#define dsMatchStart (160)(%rdi)
-#define dsLookahead (164)(%rdi)
-#define dsPrevLen (168)(%rdi)
-#define dsMaxChainLen (172)(%rdi)
-#define dsGoodMatch (188)(%rdi)
-#define dsNiceMatch (192)(%rdi)
-
-#else
-
-#ifndef STRUCT_OFFSET
-# define STRUCT_OFFSET (0)
-#endif
-
-
-#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi)
-#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi)
-#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi)
-#define dsPrev ( 88 + STRUCT_OFFSET)(%rdi)
-#define dsMatchLen (136 + STRUCT_OFFSET)(%rdi)
-#define dsPrevMatch (140 + STRUCT_OFFSET)(%rdi)
-#define dsStrStart (148 + STRUCT_OFFSET)(%rdi)
-#define dsMatchStart (152 + STRUCT_OFFSET)(%rdi)
-#define dsLookahead (156 + STRUCT_OFFSET)(%rdi)
-#define dsPrevLen (160 + STRUCT_OFFSET)(%rdi)
-#define dsMaxChainLen (164 + STRUCT_OFFSET)(%rdi)
-#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi)
-#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi)
-
-#endif
-
-
-
-
-.text
-
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
-
-longest_match:
-/*
- * Retrieve the function arguments. %curmatch will hold cur_match
- * throughout the entire function (passed via rsi on amd64).
- * rdi will hold the pointer to the deflate_state (first arg on amd64)
- */
- mov %rsi, save_rsi
- mov %rbx, save_rbx
- mov %r12, save_r12
- mov %r13, save_r13
- mov %r14, save_r14
- mov %r15, save_r15
-
-/* uInt wmask = s->w_mask; */
-/* unsigned chain_length = s->max_chain_length; */
-/* if (s->prev_length >= s->good_match) { */
-/* chain_length >>= 2; */
-/* } */
-
- movl dsPrevLen, %eax
- movl dsGoodMatch, %ebx
- cmpl %ebx, %eax
- movl dsWMask, %eax
- movl dsMaxChainLen, %chainlenwmask
- jl LastMatchGood
- shrl $2, %chainlenwmask
-LastMatchGood:
-
-/* chainlen is decremented once beforehand so that the function can */
-/* use the sign flag instead of the zero flag for the exit test. */
-/* It is then shifted into the high word, to make room for the wmask */
-/* value, which it will always accompany. */
-
- decl %chainlenwmask
- shll $16, %chainlenwmask
- orl %eax, %chainlenwmask
-
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
-
- movl dsNiceMatch, %eax
- movl dsLookahead, %ebx
- cmpl %eax, %ebx
- jl LookaheadLess
- movl %eax, %ebx
-LookaheadLess: movl %ebx, %nicematch
-
-/* register Bytef *scan = s->window + s->strstart; */
-
- mov dsWindow, %window
- movl dsStrStart, %limitd
- lea (%limit, %window), %scan
-
-/* Determine how many bytes the scan ptr is off from being */
-/* dword-aligned. */
-
- mov %scan, %scanalign
- negl %scanalignd
- andl $3, %scanalignd
-
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
-
- movl dsWSize, %eax
- subl $MIN_LOOKAHEAD, %eax
- xorl %ecx, %ecx
- subl %eax, %limitd
- cmovng %ecx, %limitd
-
-/* int best_len = s->prev_length; */
-
- movl dsPrevLen, %bestlend
-
-/* Store the sum of s->window + best_len in %windowbestlen locally, and in memory. */
-
- lea (%window, %bestlen), %windowbestlen
- mov %windowbestlen, _windowbestlen
-
-/* register ush scan_start = *(ushf*)scan; */
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
-/* Posf *prev = s->prev; */
-
- movzwl (%scan), %scanstart
- movzwl -1(%scan, %bestlen), %scanend
- mov dsPrev, %prev
-
-/* Jump into the main loop. */
-
- movl %chainlenwmask, _chainlenwmask
- jmp LoopEntry
-
-.balign 16
-
-/* do {
- * match = s->window + cur_match;
- * if (*(ushf*)(match+best_len-1) != scan_end ||
- * *(ushf*)match != scan_start) continue;
- * [...]
- * } while ((cur_match = prev[cur_match & wmask]) > limit
- * && --chain_length != 0);
- *
- * Here is the inner loop of the function. The function will spend the
- * majority of its time in this loop, and majority of that time will
- * be spent in the first ten instructions.
- */
-LookupLoop:
- andl %chainlenwmask, %curmatchd
- movzwl (%prev, %curmatch, 2), %curmatchd
- cmpl %limitd, %curmatchd
- jbe LeaveNow
- subl $0x00010000, %chainlenwmask
- js LeaveNow
-LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw
- jne LookupLoop
- cmpw %scanstartw, (%window, %curmatch)
- jne LookupLoop
-
-/* Store the current value of chainlen. */
- movl %chainlenwmask, _chainlenwmask
-
-/* %scan is the string under scrutiny, and %prev to the string we */
-/* are hoping to match it up with. In actuality, %esi and %edi are */
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
-/* initialized to -(MAX_MATCH_8 - scanalign). */
-
- mov $(-MAX_MATCH_8), %rdx
- lea (%curmatch, %window), %windowbestlen
- lea MAX_MATCH_8(%windowbestlen, %scanalign), %windowbestlen
- lea MAX_MATCH_8(%scan, %scanalign), %prev
-
-/* the prefetching below makes very little difference... */
- prefetcht1 (%windowbestlen, %rdx)
- prefetcht1 (%prev, %rdx)
-
-/*
- * Test the strings for equality, 8 bytes at a time. At the end,
- * adjust %rdx so that it is offset to the exact byte that mismatched.
- *
- * It should be confessed that this loop usually does not represent
- * much of the total running time. Replacing it with a more
- * straightforward "rep cmpsb" would not drastically degrade
- * performance -- unrolling it, for example, makes no difference.
- */
-
-#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */
-
-LoopCmps:
-#ifdef USE_SSE
- /* Preload the SSE registers */
- movdqu (%windowbestlen, %rdx), %xmm1
- movdqu (%prev, %rdx), %xmm2
- pcmpeqb %xmm2, %xmm1
- movdqu 16(%windowbestlen, %rdx), %xmm3
- movdqu 16(%prev, %rdx), %xmm4
- pcmpeqb %xmm4, %xmm3
- movdqu 32(%windowbestlen, %rdx), %xmm5
- movdqu 32(%prev, %rdx), %xmm6
- pcmpeqb %xmm6, %xmm5
- movdqu 48(%windowbestlen, %rdx), %xmm7
- movdqu 48(%prev, %rdx), %xmm8
- pcmpeqb %xmm8, %xmm7
-
- /* Check the comparisions' results */
- pmovmskb %xmm1, %rax
- notw %ax
- bsfw %ax, %ax
- jnz LeaveLoopCmps
-
- /* this is the only iteration of the loop with a possibility of having
- incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40
- and (0x40*4)+8=0x108 */
- add $8, %rdx
- jz LenMaximum
- add $8, %rdx
-
-
- pmovmskb %xmm3, %rax
- notw %ax
- bsfw %ax, %ax
- jnz LeaveLoopCmps
-
-
- add $16, %rdx
-
-
- pmovmskb %xmm5, %rax
- notw %ax
- bsfw %ax, %ax
- jnz LeaveLoopCmps
-
- add $16, %rdx
-
-
- pmovmskb %xmm7, %rax
- notw %ax
- bsfw %ax, %ax
- jnz LeaveLoopCmps
-
- add $16, %rdx
-
- jmp LoopCmps
-LeaveLoopCmps: add %rax, %rdx
-#else
- mov (%windowbestlen, %rdx), %rax
- xor (%prev, %rdx), %rax
- jnz LeaveLoopCmps
-
- mov 8(%windowbestlen, %rdx), %rax
- xor 8(%prev, %rdx), %rax
- jnz LeaveLoopCmps8
-
- mov 16(%windowbestlen, %rdx), %rax
- xor 16(%prev, %rdx), %rax
- jnz LeaveLoopCmps16
-
- add $24, %rdx
- jnz LoopCmps
- jmp LenMaximum
-# if 0
-/*
- * This three-liner is tantalizingly simple, but bsf is a slow instruction,
- * and the complicated alternative down below is quite a bit faster. Sad...
- */
-
-LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */
- shrl $3, %eax /* divide by 8 to get the byte */
- add %rax, %rdx
-# else
-LeaveLoopCmps16:
- add $8, %rdx
-LeaveLoopCmps8:
- add $8, %rdx
-LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */
- jnz Check16
- add $4, %rdx
- shr $32, %rax
-Check16: testw $0xFFFF, %ax
- jnz LenLower
- add $2, %rdx
- shrl $16, %eax
-LenLower: subb $1, %al
- adc $0, %rdx
-# endif
-#endif
-
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
-/* then automatically accept it as the best possible match and leave. */
-
- lea (%prev, %rdx), %rax
- sub %scan, %rax
- cmpl $MAX_MATCH, %eax
- jge LenMaximum
-
-/* If the length of the match is not longer than the best match we */
-/* have so far, then forget it and return to the lookup loop. */
-
- cmpl %bestlend, %eax
- jg LongerMatch
- mov _windowbestlen, %windowbestlen
- mov dsPrev, %prev
- movl _chainlenwmask, %edx
- jmp LookupLoop
-
-/* s->match_start = cur_match; */
-/* best_len = len; */
-/* if (len >= nice_match) break; */
-/* scan_end = *(ushf*)(scan+best_len-1); */
-
-LongerMatch:
- movl %eax, %bestlend
- movl %curmatchd, dsMatchStart
- cmpl %nicematch, %eax
- jge LeaveNow
-
- lea (%window, %bestlen), %windowbestlen
- mov %windowbestlen, _windowbestlen
-
- movzwl -1(%scan, %rax), %scanend
- mov dsPrev, %prev
- movl _chainlenwmask, %chainlenwmask
- jmp LookupLoop
-
-/* Accept the current string, with the maximum possible length. */
-
-LenMaximum:
- movl $MAX_MATCH, %bestlend
- movl %curmatchd, dsMatchStart
-
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
-/* return s->lookahead; */
-
-LeaveNow:
- movl dsLookahead, %eax
- cmpl %eax, %bestlend
- cmovngl %bestlend, %eax
-LookaheadRet:
-
-/* Restore the registers and return from whence we came. */
-
- mov save_rsi, %rsi
- mov save_rbx, %rbx
- mov save_r12, %r12
- mov save_r13, %r13
- mov save_r14, %r14
- mov save_r15, %r15
-
- ret
-
-match_init: ret
diff --git a/tcl8.6/compat/zlib/contrib/asm686/README.686 b/tcl8.6/compat/zlib/contrib/asm686/README.686
deleted file mode 100644
index a0bf3be..0000000
--- a/tcl8.6/compat/zlib/contrib/asm686/README.686
+++ /dev/null
@@ -1,51 +0,0 @@
-This is a patched version of zlib, modified to use
-Pentium-Pro-optimized assembly code in the deflation algorithm. The
-files changed/added by this patch are:
-
-README.686
-match.S
-
-The speedup that this patch provides varies, depending on whether the
-compiler used to build the original version of zlib falls afoul of the
-PPro's speed traps. My own tests show a speedup of around 10-20% at
-the default compression level, and 20-30% using -9, against a version
-compiled using gcc 2.7.2.3. Your mileage may vary.
-
-Note that this code has been tailored for the PPro/PII in particular,
-and will not perform particuarly well on a Pentium.
-
-If you are using an assembler other than GNU as, you will have to
-translate match.S to use your assembler's syntax. (Have fun.)
-
-Brian Raiter
-breadbox@muppetlabs.com
-April, 1998
-
-
-Added for zlib 1.1.3:
-
-The patches come from
-http://www.muppetlabs.com/~breadbox/software/assembly.html
-
-To compile zlib with this asm file, copy match.S to the zlib directory
-then do:
-
-CFLAGS="-O3 -DASMV" ./configure
-make OBJA=match.o
-
-
-Update:
-
-I've been ignoring these assembly routines for years, believing that
-gcc's generated code had caught up with it sometime around gcc 2.95
-and the major rearchitecting of the Pentium 4. However, I recently
-learned that, despite what I believed, this code still has some life
-in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
-faster than the code produced by gcc 4.1.
-
-In acknowledgement of its continuing usefulness, I've altered the
-license to match that of the rest of zlib. Share and Enjoy!
-
-Brian Raiter
-breadbox@muppetlabs.com
-April, 2007
diff --git a/tcl8.6/compat/zlib/contrib/asm686/match.S b/tcl8.6/compat/zlib/contrib/asm686/match.S
deleted file mode 100644
index fa42109..0000000
--- a/tcl8.6/compat/zlib/contrib/asm686/match.S
+++ /dev/null
@@ -1,357 +0,0 @@
-/* match.S -- x86 assembly version of the zlib longest_match() function.
- * Optimized for the Intel 686 chips (PPro and later).
- *
- * Copyright (C) 1998, 2007 Brian Raiter <breadbox@muppetlabs.com>
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the author be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- */
-
-#ifndef NO_UNDERLINE
-#define match_init _match_init
-#define longest_match _longest_match
-#endif
-
-#define MAX_MATCH (258)
-#define MIN_MATCH (3)
-#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1)
-#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7)
-
-/* stack frame offsets */
-
-#define chainlenwmask 0 /* high word: current chain len */
- /* low word: s->wmask */
-#define window 4 /* local copy of s->window */
-#define windowbestlen 8 /* s->window + bestlen */
-#define scanstart 16 /* first two bytes of string */
-#define scanend 12 /* last two bytes of string */
-#define scanalign 20 /* dword-misalignment of string */
-#define nicematch 24 /* a good enough match size */
-#define bestlen 28 /* size of best match so far */
-#define scan 32 /* ptr to string wanting match */
-
-#define LocalVarsSize (36)
-/* saved ebx 36 */
-/* saved edi 40 */
-/* saved esi 44 */
-/* saved ebp 48 */
-/* return address 52 */
-#define deflatestate 56 /* the function arguments */
-#define curmatch 60
-
-/* All the +zlib1222add offsets are due to the addition of fields
- * in zlib in the deflate_state structure since the asm code was first written
- * (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
- * (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
- * if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
- */
-
-#define zlib1222add (8)
-
-#define dsWSize (36+zlib1222add)
-#define dsWMask (44+zlib1222add)
-#define dsWindow (48+zlib1222add)
-#define dsPrev (56+zlib1222add)
-#define dsMatchLen (88+zlib1222add)
-#define dsPrevMatch (92+zlib1222add)
-#define dsStrStart (100+zlib1222add)
-#define dsMatchStart (104+zlib1222add)
-#define dsLookahead (108+zlib1222add)
-#define dsPrevLen (112+zlib1222add)
-#define dsMaxChainLen (116+zlib1222add)
-#define dsGoodMatch (132+zlib1222add)
-#define dsNiceMatch (136+zlib1222add)
-
-
-.file "match.S"
-
-.globl match_init, longest_match
-
-.text
-
-/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
-.cfi_sections .debug_frame
-
-longest_match:
-
-.cfi_startproc
-/* Save registers that the compiler may be using, and adjust %esp to */
-/* make room for our stack frame. */
-
- pushl %ebp
- .cfi_def_cfa_offset 8
- .cfi_offset ebp, -8
- pushl %edi
- .cfi_def_cfa_offset 12
- pushl %esi
- .cfi_def_cfa_offset 16
- pushl %ebx
- .cfi_def_cfa_offset 20
- subl $LocalVarsSize, %esp
- .cfi_def_cfa_offset LocalVarsSize+20
-
-/* Retrieve the function arguments. %ecx will hold cur_match */
-/* throughout the entire function. %edx will hold the pointer to the */
-/* deflate_state structure during the function's setup (before */
-/* entering the main loop). */
-
- movl deflatestate(%esp), %edx
- movl curmatch(%esp), %ecx
-
-/* uInt wmask = s->w_mask; */
-/* unsigned chain_length = s->max_chain_length; */
-/* if (s->prev_length >= s->good_match) { */
-/* chain_length >>= 2; */
-/* } */
-
- movl dsPrevLen(%edx), %eax
- movl dsGoodMatch(%edx), %ebx
- cmpl %ebx, %eax
- movl dsWMask(%edx), %eax
- movl dsMaxChainLen(%edx), %ebx
- jl LastMatchGood
- shrl $2, %ebx
-LastMatchGood:
-
-/* chainlen is decremented once beforehand so that the function can */
-/* use the sign flag instead of the zero flag for the exit test. */
-/* It is then shifted into the high word, to make room for the wmask */
-/* value, which it will always accompany. */
-
- decl %ebx
- shll $16, %ebx
- orl %eax, %ebx
- movl %ebx, chainlenwmask(%esp)
-
-/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */
-
- movl dsNiceMatch(%edx), %eax
- movl dsLookahead(%edx), %ebx
- cmpl %eax, %ebx
- jl LookaheadLess
- movl %eax, %ebx
-LookaheadLess: movl %ebx, nicematch(%esp)
-
-/* register Bytef *scan = s->window + s->strstart; */
-
- movl dsWindow(%edx), %esi
- movl %esi, window(%esp)
- movl dsStrStart(%edx), %ebp
- lea (%esi,%ebp), %edi
- movl %edi, scan(%esp)
-
-/* Determine how many bytes the scan ptr is off from being */
-/* dword-aligned. */
-
- movl %edi, %eax
- negl %eax
- andl $3, %eax
- movl %eax, scanalign(%esp)
-
-/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */
-/* s->strstart - (IPos)MAX_DIST(s) : NIL; */
-
- movl dsWSize(%edx), %eax
- subl $MIN_LOOKAHEAD, %eax
- subl %eax, %ebp
- jg LimitPositive
- xorl %ebp, %ebp
-LimitPositive:
-
-/* int best_len = s->prev_length; */
-
- movl dsPrevLen(%edx), %eax
- movl %eax, bestlen(%esp)
-
-/* Store the sum of s->window + best_len in %esi locally, and in %esi. */
-
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
-
-/* register ush scan_start = *(ushf*)scan; */
-/* register ush scan_end = *(ushf*)(scan+best_len-1); */
-/* Posf *prev = s->prev; */
-
- movzwl (%edi), %ebx
- movl %ebx, scanstart(%esp)
- movzwl -1(%edi,%eax), %ebx
- movl %ebx, scanend(%esp)
- movl dsPrev(%edx), %edi
-
-/* Jump into the main loop. */
-
- movl chainlenwmask(%esp), %edx
- jmp LoopEntry
-
-.balign 16
-
-/* do {
- * match = s->window + cur_match;
- * if (*(ushf*)(match+best_len-1) != scan_end ||
- * *(ushf*)match != scan_start) continue;
- * [...]
- * } while ((cur_match = prev[cur_match & wmask]) > limit
- * && --chain_length != 0);
- *
- * Here is the inner loop of the function. The function will spend the
- * majority of its time in this loop, and majority of that time will
- * be spent in the first ten instructions.
- *
- * Within this loop:
- * %ebx = scanend
- * %ecx = curmatch
- * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
- * %esi = windowbestlen - i.e., (window + bestlen)
- * %edi = prev
- * %ebp = limit
- */
-LookupLoop:
- andl %edx, %ecx
- movzwl (%edi,%ecx,2), %ecx
- cmpl %ebp, %ecx
- jbe LeaveNow
- subl $0x00010000, %edx
- js LeaveNow
-LoopEntry: movzwl -1(%esi,%ecx), %eax
- cmpl %ebx, %eax
- jnz LookupLoop
- movl window(%esp), %eax
- movzwl (%eax,%ecx), %eax
- cmpl scanstart(%esp), %eax
- jnz LookupLoop
-
-/* Store the current value of chainlen. */
-
- movl %edx, chainlenwmask(%esp)
-
-/* Point %edi to the string under scrutiny, and %esi to the string we */
-/* are hoping to match it up with. In actuality, %esi and %edi are */
-/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */
-/* initialized to -(MAX_MATCH_8 - scanalign). */
-
- movl window(%esp), %esi
- movl scan(%esp), %edi
- addl %ecx, %esi
- movl scanalign(%esp), %eax
- movl $(-MAX_MATCH_8), %edx
- lea MAX_MATCH_8(%edi,%eax), %edi
- lea MAX_MATCH_8(%esi,%eax), %esi
-
-/* Test the strings for equality, 8 bytes at a time. At the end,
- * adjust %edx so that it is offset to the exact byte that mismatched.
- *
- * We already know at this point that the first three bytes of the
- * strings match each other, and they can be safely passed over before
- * starting the compare loop. So what this code does is skip over 0-3
- * bytes, as much as necessary in order to dword-align the %edi
- * pointer. (%esi will still be misaligned three times out of four.)
- *
- * It should be confessed that this loop usually does not represent
- * much of the total running time. Replacing it with a more
- * straightforward "rep cmpsb" would not drastically degrade
- * performance.
- */
-LoopCmps:
- movl (%esi,%edx), %eax
- xorl (%edi,%edx), %eax
- jnz LeaveLoopCmps
- movl 4(%esi,%edx), %eax
- xorl 4(%edi,%edx), %eax
- jnz LeaveLoopCmps4
- addl $8, %edx
- jnz LoopCmps
- jmp LenMaximum
-LeaveLoopCmps4: addl $4, %edx
-LeaveLoopCmps: testl $0x0000FFFF, %eax
- jnz LenLower
- addl $2, %edx
- shrl $16, %eax
-LenLower: subb $1, %al
- adcl $0, %edx
-
-/* Calculate the length of the match. If it is longer than MAX_MATCH, */
-/* then automatically accept it as the best possible match and leave. */
-
- lea (%edi,%edx), %eax
- movl scan(%esp), %edi
- subl %edi, %eax
- cmpl $MAX_MATCH, %eax
- jge LenMaximum
-
-/* If the length of the match is not longer than the best match we */
-/* have so far, then forget it and return to the lookup loop. */
-
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- cmpl %ebx, %eax
- jg LongerMatch
- movl windowbestlen(%esp), %esi
- movl dsPrev(%edx), %edi
- movl scanend(%esp), %ebx
- movl chainlenwmask(%esp), %edx
- jmp LookupLoop
-
-/* s->match_start = cur_match; */
-/* best_len = len; */
-/* if (len >= nice_match) break; */
-/* scan_end = *(ushf*)(scan+best_len-1); */
-
-LongerMatch: movl nicematch(%esp), %ebx
- movl %eax, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
- cmpl %ebx, %eax
- jge LeaveNow
- movl window(%esp), %esi
- addl %eax, %esi
- movl %esi, windowbestlen(%esp)
- movzwl -1(%edi,%eax), %ebx
- movl dsPrev(%edx), %edi
- movl %ebx, scanend(%esp)
- movl chainlenwmask(%esp), %edx
- jmp LookupLoop
-
-/* Accept the current string, with the maximum possible length. */
-
-LenMaximum: movl deflatestate(%esp), %edx
- movl $MAX_MATCH, bestlen(%esp)
- movl %ecx, dsMatchStart(%edx)
-
-/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */
-/* return s->lookahead; */
-
-LeaveNow:
- movl deflatestate(%esp), %edx
- movl bestlen(%esp), %ebx
- movl dsLookahead(%edx), %eax
- cmpl %eax, %ebx
- jg LookaheadRet
- movl %ebx, %eax
-LookaheadRet:
-
-/* Restore the stack and return from whence we came. */
-
- addl $LocalVarsSize, %esp
- .cfi_def_cfa_offset 20
- popl %ebx
- .cfi_def_cfa_offset 16
- popl %esi
- .cfi_def_cfa_offset 12
- popl %edi
- .cfi_def_cfa_offset 8
- popl %ebp
- .cfi_def_cfa_offset 4
-.cfi_endproc
-match_init: ret
diff --git a/tcl8.6/compat/zlib/contrib/blast/Makefile b/tcl8.6/compat/zlib/contrib/blast/Makefile
deleted file mode 100644
index 9be80ba..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-blast: blast.c blast.h
- cc -DTEST -o blast blast.c
-
-test: blast
- blast < test.pk | cmp - test.txt
-
-clean:
- rm -f blast blast.o
diff --git a/tcl8.6/compat/zlib/contrib/blast/README b/tcl8.6/compat/zlib/contrib/blast/README
deleted file mode 100644
index e3a60b3..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/README
+++ /dev/null
@@ -1,4 +0,0 @@
-Read blast.h for purpose and usage.
-
-Mark Adler
-madler@alumni.caltech.edu
diff --git a/tcl8.6/compat/zlib/contrib/blast/blast.c b/tcl8.6/compat/zlib/contrib/blast/blast.c
deleted file mode 100644
index 69ef0fe..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/blast.c
+++ /dev/null
@@ -1,446 +0,0 @@
-/* blast.c
- * Copyright (C) 2003, 2012 Mark Adler
- * For conditions of distribution and use, see copyright notice in blast.h
- * version 1.2, 24 Oct 2012
- *
- * blast.c decompresses data compressed by the PKWare Compression Library.
- * This function provides functionality similar to the explode() function of
- * the PKWare library, hence the name "blast".
- *
- * This decompressor is based on the excellent format description provided by
- * Ben Rudiak-Gould in comp.compression on August 13, 2001. Interestingly, the
- * example Ben provided in the post is incorrect. The distance 110001 should
- * instead be 111000. When corrected, the example byte stream becomes:
- *
- * 00 04 82 24 25 8f 80 7f
- *
- * which decompresses to "AIAIAIAIAIAIA" (without the quotes).
- */
-
-/*
- * Change history:
- *
- * 1.0 12 Feb 2003 - First version
- * 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data
- * 1.2 24 Oct 2012 - Add note about using binary mode in stdio
- * - Fix comparisons of differently signed integers
- */
-
-#include <setjmp.h> /* for setjmp(), longjmp(), and jmp_buf */
-#include "blast.h" /* prototype for blast() */
-
-#define local static /* for local function definitions */
-#define MAXBITS 13 /* maximum code length */
-#define MAXWIN 4096 /* maximum window size */
-
-/* input and output state */
-struct state {
- /* input state */
- blast_in infun; /* input function provided by user */
- void *inhow; /* opaque information passed to infun() */
- unsigned char *in; /* next input location */
- unsigned left; /* available input at in */
- int bitbuf; /* bit buffer */
- int bitcnt; /* number of bits in bit buffer */
-
- /* input limit error return state for bits() and decode() */
- jmp_buf env;
-
- /* output state */
- blast_out outfun; /* output function provided by user */
- void *outhow; /* opaque information passed to outfun() */
- unsigned next; /* index of next write location in out[] */
- int first; /* true to check distances (for first 4K) */
- unsigned char out[MAXWIN]; /* output buffer and sliding window */
-};
-
-/*
- * Return need bits from the input stream. This always leaves less than
- * eight bits in the buffer. bits() works properly for need == 0.
- *
- * Format notes:
- *
- * - Bits are stored in bytes from the least significant bit to the most
- * significant bit. Therefore bits are dropped from the bottom of the bit
- * buffer, using shift right, and new bytes are appended to the top of the
- * bit buffer, using shift left.
- */
-local int bits(struct state *s, int need)
-{
- int val; /* bit accumulator */
-
- /* load at least need bits into val */
- val = s->bitbuf;
- while (s->bitcnt < need) {
- if (s->left == 0) {
- s->left = s->infun(s->inhow, &(s->in));
- if (s->left == 0) longjmp(s->env, 1); /* out of input */
- }
- val |= (int)(*(s->in)++) << s->bitcnt; /* load eight bits */
- s->left--;
- s->bitcnt += 8;
- }
-
- /* drop need bits and update buffer, always zero to seven bits left */
- s->bitbuf = val >> need;
- s->bitcnt -= need;
-
- /* return need bits, zeroing the bits above that */
- return val & ((1 << need) - 1);
-}
-
-/*
- * Huffman code decoding tables. count[1..MAXBITS] is the number of symbols of
- * each length, which for a canonical code are stepped through in order.
- * symbol[] are the symbol values in canonical order, where the number of
- * entries is the sum of the counts in count[]. The decoding process can be
- * seen in the function decode() below.
- */
-struct huffman {
- short *count; /* number of symbols of each length */
- short *symbol; /* canonically ordered symbols */
-};
-
-/*
- * Decode a code from the stream s using huffman table h. Return the symbol or
- * a negative value if there is an error. If all of the lengths are zero, i.e.
- * an empty code, or if the code is incomplete and an invalid code is received,
- * then -9 is returned after reading MAXBITS bits.
- *
- * Format notes:
- *
- * - The codes as stored in the compressed data are bit-reversed relative to
- * a simple integer ordering of codes of the same lengths. Hence below the
- * bits are pulled from the compressed data one at a time and used to
- * build the code value reversed from what is in the stream in order to
- * permit simple integer comparisons for decoding.
- *
- * - The first code for the shortest length is all ones. Subsequent codes of
- * the same length are simply integer decrements of the previous code. When
- * moving up a length, a one bit is appended to the code. For a complete
- * code, the last code of the longest length will be all zeros. To support
- * this ordering, the bits pulled during decoding are inverted to apply the
- * more "natural" ordering starting with all zeros and incrementing.
- */
-local int decode(struct state *s, struct huffman *h)
-{
- int len; /* current number of bits in code */
- int code; /* len bits being decoded */
- int first; /* first code of length len */
- int count; /* number of codes of length len */
- int index; /* index of first code of length len in symbol table */
- int bitbuf; /* bits from stream */
- int left; /* bits left in next or left to process */
- short *next; /* next number of codes */
-
- bitbuf = s->bitbuf;
- left = s->bitcnt;
- code = first = index = 0;
- len = 1;
- next = h->count + 1;
- while (1) {
- while (left--) {
- code |= (bitbuf & 1) ^ 1; /* invert code */
- bitbuf >>= 1;
- count = *next++;
- if (code < first + count) { /* if length len, return symbol */
- s->bitbuf = bitbuf;
- s->bitcnt = (s->bitcnt - len) & 7;
- return h->symbol[index + (code - first)];
- }
- index += count; /* else update for next length */
- first += count;
- first <<= 1;
- code <<= 1;
- len++;
- }
- left = (MAXBITS+1) - len;
- if (left == 0) break;
- if (s->left == 0) {
- s->left = s->infun(s->inhow, &(s->in));
- if (s->left == 0) longjmp(s->env, 1); /* out of input */
- }
- bitbuf = *(s->in)++;
- s->left--;
- if (left > 8) left = 8;
- }
- return -9; /* ran out of codes */
-}
-
-/*
- * Given a list of repeated code lengths rep[0..n-1], where each byte is a
- * count (high four bits + 1) and a code length (low four bits), generate the
- * list of code lengths. This compaction reduces the size of the object code.
- * Then given the list of code lengths length[0..n-1] representing a canonical
- * Huffman code for n symbols, construct the tables required to decode those
- * codes. Those tables are the number of codes of each length, and the symbols
- * sorted by length, retaining their original order within each length. The
- * return value is zero for a complete code set, negative for an over-
- * subscribed code set, and positive for an incomplete code set. The tables
- * can be used if the return value is zero or positive, but they cannot be used
- * if the return value is negative. If the return value is zero, it is not
- * possible for decode() using that table to return an error--any stream of
- * enough bits will resolve to a symbol. If the return value is positive, then
- * it is possible for decode() using that table to return an error for received
- * codes past the end of the incomplete lengths.
- */
-local int construct(struct huffman *h, const unsigned char *rep, int n)
-{
- int symbol; /* current symbol when stepping through length[] */
- int len; /* current length when stepping through h->count[] */
- int left; /* number of possible codes left of current length */
- short offs[MAXBITS+1]; /* offsets in symbol table for each length */
- short length[256]; /* code lengths */
-
- /* convert compact repeat counts into symbol bit length list */
- symbol = 0;
- do {
- len = *rep++;
- left = (len >> 4) + 1;
- len &= 15;
- do {
- length[symbol++] = len;
- } while (--left);
- } while (--n);
- n = symbol;
-
- /* count number of codes of each length */
- for (len = 0; len <= MAXBITS; len++)
- h->count[len] = 0;
- for (symbol = 0; symbol < n; symbol++)
- (h->count[length[symbol]])++; /* assumes lengths are within bounds */
- if (h->count[0] == n) /* no codes! */
- return 0; /* complete, but decode() will fail */
-
- /* check for an over-subscribed or incomplete set of lengths */
- left = 1; /* one possible code of zero length */
- for (len = 1; len <= MAXBITS; len++) {
- left <<= 1; /* one more bit, double codes left */
- left -= h->count[len]; /* deduct count from possible codes */
- if (left < 0) return left; /* over-subscribed--return negative */
- } /* left > 0 means incomplete */
-
- /* generate offsets into symbol table for each length for sorting */
- offs[1] = 0;
- for (len = 1; len < MAXBITS; len++)
- offs[len + 1] = offs[len] + h->count[len];
-
- /*
- * put symbols in table sorted by length, by symbol order within each
- * length
- */
- for (symbol = 0; symbol < n; symbol++)
- if (length[symbol] != 0)
- h->symbol[offs[length[symbol]]++] = symbol;
-
- /* return zero for complete set, positive for incomplete set */
- return left;
-}
-
-/*
- * Decode PKWare Compression Library stream.
- *
- * Format notes:
- *
- * - First byte is 0 if literals are uncoded or 1 if they are coded. Second
- * byte is 4, 5, or 6 for the number of extra bits in the distance code.
- * This is the base-2 logarithm of the dictionary size minus six.
- *
- * - Compressed data is a combination of literals and length/distance pairs
- * terminated by an end code. Literals are either Huffman coded or
- * uncoded bytes. A length/distance pair is a coded length followed by a
- * coded distance to represent a string that occurs earlier in the
- * uncompressed data that occurs again at the current location.
- *
- * - A bit preceding a literal or length/distance pair indicates which comes
- * next, 0 for literals, 1 for length/distance.
- *
- * - If literals are uncoded, then the next eight bits are the literal, in the
- * normal bit order in th stream, i.e. no bit-reversal is needed. Similarly,
- * no bit reversal is needed for either the length extra bits or the distance
- * extra bits.
- *
- * - Literal bytes are simply written to the output. A length/distance pair is
- * an instruction to copy previously uncompressed bytes to the output. The
- * copy is from distance bytes back in the output stream, copying for length
- * bytes.
- *
- * - Distances pointing before the beginning of the output data are not
- * permitted.
- *
- * - Overlapped copies, where the length is greater than the distance, are
- * allowed and common. For example, a distance of one and a length of 518
- * simply copies the last byte 518 times. A distance of four and a length of
- * twelve copies the last four bytes three times. A simple forward copy
- * ignoring whether the length is greater than the distance or not implements
- * this correctly.
- */
-local int decomp(struct state *s)
-{
- int lit; /* true if literals are coded */
- int dict; /* log2(dictionary size) - 6 */
- int symbol; /* decoded symbol, extra bits for distance */
- int len; /* length for copy */
- unsigned dist; /* distance for copy */
- int copy; /* copy counter */
- unsigned char *from, *to; /* copy pointers */
- static int virgin = 1; /* build tables once */
- static short litcnt[MAXBITS+1], litsym[256]; /* litcode memory */
- static short lencnt[MAXBITS+1], lensym[16]; /* lencode memory */
- static short distcnt[MAXBITS+1], distsym[64]; /* distcode memory */
- static struct huffman litcode = {litcnt, litsym}; /* length code */
- static struct huffman lencode = {lencnt, lensym}; /* length code */
- static struct huffman distcode = {distcnt, distsym};/* distance code */
- /* bit lengths of literal codes */
- static const unsigned char litlen[] = {
- 11, 124, 8, 7, 28, 7, 188, 13, 76, 4, 10, 8, 12, 10, 12, 10, 8, 23, 8,
- 9, 7, 6, 7, 8, 7, 6, 55, 8, 23, 24, 12, 11, 7, 9, 11, 12, 6, 7, 22, 5,
- 7, 24, 6, 11, 9, 6, 7, 22, 7, 11, 38, 7, 9, 8, 25, 11, 8, 11, 9, 12,
- 8, 12, 5, 38, 5, 38, 5, 11, 7, 5, 6, 21, 6, 10, 53, 8, 7, 24, 10, 27,
- 44, 253, 253, 253, 252, 252, 252, 13, 12, 45, 12, 45, 12, 61, 12, 45,
- 44, 173};
- /* bit lengths of length codes 0..15 */
- static const unsigned char lenlen[] = {2, 35, 36, 53, 38, 23};
- /* bit lengths of distance codes 0..63 */
- static const unsigned char distlen[] = {2, 20, 53, 230, 247, 151, 248};
- static const short base[16] = { /* base for length codes */
- 3, 2, 4, 5, 6, 7, 8, 9, 10, 12, 16, 24, 40, 72, 136, 264};
- static const char extra[16] = { /* extra bits for length codes */
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8};
-
- /* set up decoding tables (once--might not be thread-safe) */
- if (virgin) {
- construct(&litcode, litlen, sizeof(litlen));
- construct(&lencode, lenlen, sizeof(lenlen));
- construct(&distcode, distlen, sizeof(distlen));
- virgin = 0;
- }
-
- /* read header */
- lit = bits(s, 8);
- if (lit > 1) return -1;
- dict = bits(s, 8);
- if (dict < 4 || dict > 6) return -2;
-
- /* decode literals and length/distance pairs */
- do {
- if (bits(s, 1)) {
- /* get length */
- symbol = decode(s, &lencode);
- len = base[symbol] + bits(s, extra[symbol]);
- if (len == 519) break; /* end code */
-
- /* get distance */
- symbol = len == 2 ? 2 : dict;
- dist = decode(s, &distcode) << symbol;
- dist += bits(s, symbol);
- dist++;
- if (s->first && dist > s->next)
- return -3; /* distance too far back */
-
- /* copy length bytes from distance bytes back */
- do {
- to = s->out + s->next;
- from = to - dist;
- copy = MAXWIN;
- if (s->next < dist) {
- from += copy;
- copy = dist;
- }
- copy -= s->next;
- if (copy > len) copy = len;
- len -= copy;
- s->next += copy;
- do {
- *to++ = *from++;
- } while (--copy);
- if (s->next == MAXWIN) {
- if (s->outfun(s->outhow, s->out, s->next)) return 1;
- s->next = 0;
- s->first = 0;
- }
- } while (len != 0);
- }
- else {
- /* get literal and write it */
- symbol = lit ? decode(s, &litcode) : bits(s, 8);
- s->out[s->next++] = symbol;
- if (s->next == MAXWIN) {
- if (s->outfun(s->outhow, s->out, s->next)) return 1;
- s->next = 0;
- s->first = 0;
- }
- }
- } while (1);
- return 0;
-}
-
-/* See comments in blast.h */
-int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow)
-{
- struct state s; /* input/output state */
- int err; /* return value */
-
- /* initialize input state */
- s.infun = infun;
- s.inhow = inhow;
- s.left = 0;
- s.bitbuf = 0;
- s.bitcnt = 0;
-
- /* initialize output state */
- s.outfun = outfun;
- s.outhow = outhow;
- s.next = 0;
- s.first = 1;
-
- /* return if bits() or decode() tries to read past available input */
- if (setjmp(s.env) != 0) /* if came back here via longjmp(), */
- err = 2; /* then skip decomp(), return error */
- else
- err = decomp(&s); /* decompress */
-
- /* write any leftover output and update the error code if needed */
- if (err != 1 && s.next && s.outfun(s.outhow, s.out, s.next) && err == 0)
- err = 1;
- return err;
-}
-
-#ifdef TEST
-/* Example of how to use blast() */
-#include <stdio.h>
-#include <stdlib.h>
-
-#define CHUNK 16384
-
-local unsigned inf(void *how, unsigned char **buf)
-{
- static unsigned char hold[CHUNK];
-
- *buf = hold;
- return fread(hold, 1, CHUNK, (FILE *)how);
-}
-
-local int outf(void *how, unsigned char *buf, unsigned len)
-{
- return fwrite(buf, 1, len, (FILE *)how) != len;
-}
-
-/* Decompress a PKWare Compression Library stream from stdin to stdout */
-int main(void)
-{
- int ret, n;
-
- /* decompress to stdout */
- ret = blast(inf, stdin, outf, stdout);
- if (ret != 0) fprintf(stderr, "blast error: %d\n", ret);
-
- /* see if there are any leftover bytes */
- n = 0;
- while (getchar() != EOF) n++;
- if (n) fprintf(stderr, "blast warning: %d unused bytes of input\n", n);
-
- /* return blast() error code */
- return ret;
-}
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/blast/blast.h b/tcl8.6/compat/zlib/contrib/blast/blast.h
deleted file mode 100644
index 658cfd3..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/blast.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* blast.h -- interface for blast.c
- Copyright (C) 2003, 2012 Mark Adler
- version 1.2, 24 Oct 2012
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the author be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Mark Adler madler@alumni.caltech.edu
- */
-
-
-/*
- * blast() decompresses the PKWare Data Compression Library (DCL) compressed
- * format. It provides the same functionality as the explode() function in
- * that library. (Note: PKWare overused the "implode" verb, and the format
- * used by their library implode() function is completely different and
- * incompatible with the implode compression method supported by PKZIP.)
- *
- * The binary mode for stdio functions should be used to assure that the
- * compressed data is not corrupted when read or written. For example:
- * fopen(..., "rb") and fopen(..., "wb").
- */
-
-
-typedef unsigned (*blast_in)(void *how, unsigned char **buf);
-typedef int (*blast_out)(void *how, unsigned char *buf, unsigned len);
-/* Definitions for input/output functions passed to blast(). See below for
- * what the provided functions need to do.
- */
-
-
-int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow);
-/* Decompress input to output using the provided infun() and outfun() calls.
- * On success, the return value of blast() is zero. If there is an error in
- * the source data, i.e. it is not in the proper format, then a negative value
- * is returned. If there is not enough input available or there is not enough
- * output space, then a positive error is returned.
- *
- * The input function is invoked: len = infun(how, &buf), where buf is set by
- * infun() to point to the input buffer, and infun() returns the number of
- * available bytes there. If infun() returns zero, then blast() returns with
- * an input error. (blast() only asks for input if it needs it.) inhow is for
- * use by the application to pass an input descriptor to infun(), if desired.
- *
- * The output function is invoked: err = outfun(how, buf, len), where the bytes
- * to be written are buf[0..len-1]. If err is not zero, then blast() returns
- * with an output error. outfun() is always called with len <= 4096. outhow
- * is for use by the application to pass an output descriptor to outfun(), if
- * desired.
- *
- * The return codes are:
- *
- * 2: ran out of input before completing decompression
- * 1: output error before completing decompression
- * 0: successful decompression
- * -1: literal flag not zero or one
- * -2: dictionary size not in 4..6
- * -3: distance is too far back
- *
- * At the bottom of blast.c is an example program that uses blast() that can be
- * compiled to produce a command-line decompression filter by defining TEST.
- */
diff --git a/tcl8.6/compat/zlib/contrib/blast/test.pk b/tcl8.6/compat/zlib/contrib/blast/test.pk
deleted file mode 100644
index be10b2b..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/test.pk
+++ /dev/null
Binary files differ
diff --git a/tcl8.6/compat/zlib/contrib/blast/test.txt b/tcl8.6/compat/zlib/contrib/blast/test.txt
deleted file mode 100644
index bfdf1c5..0000000
--- a/tcl8.6/compat/zlib/contrib/blast/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-AIAIAIAIAIAIA \ No newline at end of file
diff --git a/tcl8.6/compat/zlib/contrib/delphi/ZLib.pas b/tcl8.6/compat/zlib/contrib/delphi/ZLib.pas
deleted file mode 100644
index a579974..0000000
--- a/tcl8.6/compat/zlib/contrib/delphi/ZLib.pas
+++ /dev/null
@@ -1,557 +0,0 @@
-{*******************************************************}
-{ }
-{ Borland Delphi Supplemental Components }
-{ ZLIB Data Compression Interface Unit }
-{ }
-{ Copyright (c) 1997,99 Borland Corporation }
-{ }
-{*******************************************************}
-
-{ Updated for zlib 1.2.x by Cosmin Truta <cosmint@cs.ubbcluj.ro> }
-
-unit ZLib;
-
-interface
-
-uses SysUtils, Classes;
-
-type
- TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer; cdecl;
- TFree = procedure (AppData, Block: Pointer); cdecl;
-
- // Internal structure. Ignore.
- TZStreamRec = packed record
- next_in: PChar; // next input byte
- avail_in: Integer; // number of bytes available at next_in
- total_in: Longint; // total nb of input bytes read so far
-
- next_out: PChar; // next output byte should be put here
- avail_out: Integer; // remaining free space at next_out
- total_out: Longint; // total nb of bytes output so far
-
- msg: PChar; // last error message, NULL if no error
- internal: Pointer; // not visible by applications
-
- zalloc: TAlloc; // used to allocate the internal state
- zfree: TFree; // used to free the internal state
- AppData: Pointer; // private data object passed to zalloc and zfree
-
- data_type: Integer; // best guess about the data type: ascii or binary
- adler: Longint; // adler32 value of the uncompressed data
- reserved: Longint; // reserved for future use
- end;
-
- // Abstract ancestor class
- TCustomZlibStream = class(TStream)
- private
- FStrm: TStream;
- FStrmPos: Integer;
- FOnProgress: TNotifyEvent;
- FZRec: TZStreamRec;
- FBuffer: array [Word] of Char;
- protected
- procedure Progress(Sender: TObject); dynamic;
- property OnProgress: TNotifyEvent read FOnProgress write FOnProgress;
- constructor Create(Strm: TStream);
- end;
-
-{ TCompressionStream compresses data on the fly as data is written to it, and
- stores the compressed data to another stream.
-
- TCompressionStream is write-only and strictly sequential. Reading from the
- stream will raise an exception. Using Seek to move the stream pointer
- will raise an exception.
-
- Output data is cached internally, written to the output stream only when
- the internal output buffer is full. All pending output data is flushed
- when the stream is destroyed.
-
- The Position property returns the number of uncompressed bytes of
- data that have been written to the stream so far.
-
- CompressionRate returns the on-the-fly percentage by which the original
- data has been compressed: (1 - (CompressedBytes / UncompressedBytes)) * 100
- If raw data size = 100 and compressed data size = 25, the CompressionRate
- is 75%
-
- The OnProgress event is called each time the output buffer is filled and
- written to the output stream. This is useful for updating a progress
- indicator when you are writing a large chunk of data to the compression
- stream in a single call.}
-
-
- TCompressionLevel = (clNone, clFastest, clDefault, clMax);
-
- TCompressionStream = class(TCustomZlibStream)
- private
- function GetCompressionRate: Single;
- public
- constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property CompressionRate: Single read GetCompressionRate;
- property OnProgress;
- end;
-
-{ TDecompressionStream decompresses data on the fly as data is read from it.
-
- Compressed data comes from a separate source stream. TDecompressionStream
- is read-only and unidirectional; you can seek forward in the stream, but not
- backwards. The special case of setting the stream position to zero is
- allowed. Seeking forward decompresses data until the requested position in
- the uncompressed data has been reached. Seeking backwards, seeking relative
- to the end of the stream, requesting the size of the stream, and writing to
- the stream will raise an exception.
-
- The Position property returns the number of bytes of uncompressed data that
- have been read from the stream so far.
-
- The OnProgress event is called each time the internal input buffer of
- compressed data is exhausted and the next block is read from the input stream.
- This is useful for updating a progress indicator when you are reading a
- large chunk of data from the decompression stream in a single call.}
-
- TDecompressionStream = class(TCustomZlibStream)
- public
- constructor Create(Source: TStream);
- destructor Destroy; override;
- function Read(var Buffer; Count: Longint): Longint; override;
- function Write(const Buffer; Count: Longint): Longint; override;
- function Seek(Offset: Longint; Origin: Word): Longint; override;
- property OnProgress;
- end;
-
-
-
-{ CompressBuf compresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-
-
-{ DecompressBuf decompresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- OutEstimate = zero, or est. size of the decompressed data
- Out: OutBuf = ptr to newly allocated buffer containing decompressed data
- OutBytes = number of bytes in OutBuf }
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-
-{ DecompressToUserBuf decompresses data, buffer to buffer, in one call.
- In: InBuf = ptr to compressed data
- InBytes = number of bytes in InBuf
- Out: OutBuf = ptr to user-allocated buffer to contain decompressed data
- BufSize = number of bytes in OutBuf }
-procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
- const OutBuf: Pointer; BufSize: Integer);
-
-const
- zlib_version = '1.2.8';
-
-type
- EZlibError = class(Exception);
- ECompressionError = class(EZlibError);
- EDecompressionError = class(EZlibError);
-
-implementation
-
-uses ZLibConst;
-
-const
- Z_NO_FLUSH = 0;
- Z_PARTIAL_FLUSH = 1;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
-
- Z_OK = 0;
- Z_STREAM_END = 1;
- Z_NEED_DICT = 2;
- Z_ERRNO = (-1);
- Z_STREAM_ERROR = (-2);
- Z_DATA_ERROR = (-3);
- Z_MEM_ERROR = (-4);
- Z_BUF_ERROR = (-5);
- Z_VERSION_ERROR = (-6);
-
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = (-1);
-
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_RLE = 3;
- Z_DEFAULT_STRATEGY = 0;
-
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
-
- Z_DEFLATED = 8;
-
-
-{$L adler32.obj}
-{$L compress.obj}
-{$L crc32.obj}
-{$L deflate.obj}
-{$L infback.obj}
-{$L inffast.obj}
-{$L inflate.obj}
-{$L inftrees.obj}
-{$L trees.obj}
-{$L uncompr.obj}
-{$L zutil.obj}
-
-procedure adler32; external;
-procedure compressBound; external;
-procedure crc32; external;
-procedure deflateInit2_; external;
-procedure deflateParams; external;
-
-function _malloc(Size: Integer): Pointer; cdecl;
-begin
- Result := AllocMem(Size);
-end;
-
-procedure _free(Block: Pointer); cdecl;
-begin
- FreeMem(Block);
-end;
-
-procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl;
-begin
- FillChar(P^, count, B);
-end;
-
-procedure _memcpy(dest, source: Pointer; count: Integer); cdecl;
-begin
- Move(source^, dest^, count);
-end;
-
-
-
-// deflate compresses data
-function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar;
- recsize: Integer): Integer; external;
-function deflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function deflateEnd(var strm: TZStreamRec): Integer; external;
-
-// inflate decompresses data
-function inflateInit_(var strm: TZStreamRec; version: PChar;
- recsize: Integer): Integer; external;
-function inflate(var strm: TZStreamRec; flush: Integer): Integer; external;
-function inflateEnd(var strm: TZStreamRec): Integer; external;
-function inflateReset(var strm: TZStreamRec): Integer; external;
-
-
-function zlibAllocMem(AppData: Pointer; Items, Size: Integer): Pointer; cdecl;
-begin
-// GetMem(Result, Items*Size);
- Result := AllocMem(Items * Size);
-end;
-
-procedure zlibFreeMem(AppData, Block: Pointer); cdecl;
-begin
- FreeMem(Block);
-end;
-
-{function zlibCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EZlibError.Create('error'); //!!
-end;}
-
-function CCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise ECompressionError.Create('error'); //!!
-end;
-
-function DCheck(code: Integer): Integer;
-begin
- Result := code;
- if code < 0 then
- raise EDecompressionError.Create('error'); //!!
-end;
-
-procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;
- out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
-begin
- FillChar(strm, sizeof(strm), 0);
- strm.zalloc := zlibAllocMem;
- strm.zfree := zlibFreeMem;
- OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm)));
- try
- while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, 256);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := 256;
- end;
- finally
- CCheck(deflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-
-procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;
- OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);
-var
- strm: TZStreamRec;
- P: Pointer;
- BufInc: Integer;
-begin
- FillChar(strm, sizeof(strm), 0);
- strm.zalloc := zlibAllocMem;
- strm.zfree := zlibFreeMem;
- BufInc := (InBytes + 255) and not 255;
- if OutEstimate = 0 then
- OutBytes := BufInc
- else
- OutBytes := OutEstimate;
- GetMem(OutBuf, OutBytes);
- try
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := OutBytes;
- DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));
- try
- while DCheck(inflate(strm, Z_NO_FLUSH)) <> Z_STREAM_END do
- begin
- P := OutBuf;
- Inc(OutBytes, BufInc);
- ReallocMem(OutBuf, OutBytes);
- strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));
- strm.avail_out := BufInc;
- end;
- finally
- DCheck(inflateEnd(strm));
- end;
- ReallocMem(OutBuf, strm.total_out);
- OutBytes := strm.total_out;
- except
- FreeMem(OutBuf);
- raise
- end;
-end;
-
-procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer;
- const OutBuf: Pointer; BufSize: Integer);
-var
- strm: TZStreamRec;
-begin
- FillChar(strm, sizeof(strm), 0);
- strm.zalloc := zlibAllocMem;
- strm.zfree := zlibFreeMem;
- strm.next_in := InBuf;
- strm.avail_in := InBytes;
- strm.next_out := OutBuf;
- strm.avail_out := BufSize;
- DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));
- try
- if DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END then
- raise EZlibError.CreateRes(@sTargetBufferTooSmall);
- finally
- DCheck(inflateEnd(strm));
- end;
-end;
-
-// TCustomZlibStream
-
-constructor TCustomZLibStream.Create(Strm: TStream);
-begin
- inherited Create;
- FStrm := Strm;
- FStrmPos := Strm.Position;
- FZRec.zalloc := zlibAllocMem;
- FZRec.zfree := zlibFreeMem;
-end;
-
-procedure TCustomZLibStream.Progress(Sender: TObject);
-begin
- if Assigned(FOnProgress) then FOnProgress(Sender);
-end;
-
-
-// TCompressionStream
-
-constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel;
- Dest: TStream);
-const
- Levels: array [TCompressionLevel] of ShortInt =
- (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION);
-begin
- inherited Create(Dest);
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec)));
-end;
-
-destructor TCompressionStream.Destroy;
-begin
- FZRec.next_in := nil;
- FZRec.avail_in := 0;
- try
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END)
- and (FZRec.avail_out = 0) do
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- end;
- if FZRec.avail_out < sizeof(FBuffer) then
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out);
- finally
- deflateEnd(FZRec);
- end;
- inherited Destroy;
-end;
-
-function TCompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- raise ECompressionError.CreateRes(@sInvalidStreamOp);
-end;
-
-function TCompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- FZRec.next_in := @Buffer;
- FZRec.avail_in := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_in > 0) do
- begin
- CCheck(deflate(FZRec, 0));
- if FZRec.avail_out = 0 then
- begin
- FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));
- FZRec.next_out := FBuffer;
- FZRec.avail_out := sizeof(FBuffer);
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- end;
- Result := Count;
-end;
-
-function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-begin
- if (Offset = 0) and (Origin = soFromCurrent) then
- Result := FZRec.total_in
- else
- raise ECompressionError.CreateRes(@sInvalidStreamOp);
-end;
-
-function TCompressionStream.GetCompressionRate: Single;
-begin
- if FZRec.total_in = 0 then
- Result := 0
- else
- Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0;
-end;
-
-
-// TDecompressionStream
-
-constructor TDecompressionStream.Create(Source: TStream);
-begin
- inherited Create(Source);
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec)));
-end;
-
-destructor TDecompressionStream.Destroy;
-begin
- FStrm.Seek(-FZRec.avail_in, 1);
- inflateEnd(FZRec);
- inherited Destroy;
-end;
-
-function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;
-begin
- FZRec.next_out := @Buffer;
- FZRec.avail_out := Count;
- if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;
- while (FZRec.avail_out > 0) do
- begin
- if FZRec.avail_in = 0 then
- begin
- FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer));
- if FZRec.avail_in = 0 then
- begin
- Result := Count - FZRec.avail_out;
- Exit;
- end;
- FZRec.next_in := FBuffer;
- FStrmPos := FStrm.Position;
- Progress(Self);
- end;
- CCheck(inflate(FZRec, 0));
- end;
- Result := Count;
-end;
-
-function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;
-begin
- raise EDecompressionError.CreateRes(@sInvalidStreamOp);
-end;
-
-function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;
-var
- I: Integer;
- Buf: array [0..4095] of Char;
-begin
- if (Offset = 0) and (Origin = soFromBeginning) then
- begin
- DCheck(inflateReset(FZRec));
- FZRec.next_in := FBuffer;
- FZRec.avail_in := 0;
- FStrm.Position := 0;
- FStrmPos := 0;
- end
- else if ( (Offset >= 0) and (Origin = soFromCurrent)) or
- ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then
- begin
- if Origin = soFromBeginning then Dec(Offset, FZRec.total_out);
- if Offset > 0 then
- begin
- for I := 1 to Offset div sizeof(Buf) do
- ReadBuffer(Buf, sizeof(Buf));
- ReadBuffer(Buf, Offset mod sizeof(Buf));
- end;
- end
- else
- raise EDecompressionError.CreateRes(@sInvalidStreamOp);
- Result := FZRec.total_out;
-end;
-
-
-end.
diff --git a/tcl8.6/compat/zlib/contrib/delphi/ZLibConst.pas b/tcl8.6/compat/zlib/contrib/delphi/ZLibConst.pas
deleted file mode 100644
index cdfe136..0000000
--- a/tcl8.6/compat/zlib/contrib/delphi/ZLibConst.pas
+++ /dev/null
@@ -1,11 +0,0 @@
-unit ZLibConst;
-
-interface
-
-resourcestring
- sTargetBufferTooSmall = 'ZLib error: target buffer may be too small';
- sInvalidStreamOp = 'Invalid stream operation';
-
-implementation
-
-end.
diff --git a/tcl8.6/compat/zlib/contrib/delphi/readme.txt b/tcl8.6/compat/zlib/contrib/delphi/readme.txt
deleted file mode 100644
index 2dc9a8b..0000000
--- a/tcl8.6/compat/zlib/contrib/delphi/readme.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-
-Overview
-========
-
-This directory contains an update to the ZLib interface unit,
-distributed by Borland as a Delphi supplemental component.
-
-The original ZLib unit is Copyright (c) 1997,99 Borland Corp.,
-and is based on zlib version 1.0.4. There are a series of bugs
-and security problems associated with that old zlib version, and
-we recommend the users to update their ZLib unit.
-
-
-Summary of modifications
-========================
-
-- Improved makefile, adapted to zlib version 1.2.1.
-
-- Some field types from TZStreamRec are changed from Integer to
- Longint, for consistency with the zlib.h header, and for 64-bit
- readiness.
-
-- The zlib_version constant is updated.
-
-- The new Z_RLE strategy has its corresponding symbolic constant.
-
-- The allocation and deallocation functions and function types
- (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl,
- and _malloc and _free are added as C RTL stubs. As a result,
- the original C sources of zlib can be compiled out of the box,
- and linked to the ZLib unit.
-
-
-Suggestions for improvements
-============================
-
-Currently, the ZLib unit provides only a limited wrapper around
-the zlib library, and much of the original zlib functionality is
-missing. Handling compressed file formats like ZIP/GZIP or PNG
-cannot be implemented without having this functionality.
-Applications that handle these formats are either using their own,
-duplicated code, or not using the ZLib unit at all.
-
-Here are a few suggestions:
-
-- Checksum class wrappers around adler32() and crc32(), similar
- to the Java classes that implement the java.util.zip.Checksum
- interface.
-
-- The ability to read and write raw deflate streams, without the
- zlib stream header and trailer. Raw deflate streams are used
- in the ZIP file format.
-
-- The ability to read and write gzip streams, used in the GZIP
- file format, and normally produced by the gzip program.
-
-- The ability to select a different compression strategy, useful
- to PNG and MNG image compression, and to multimedia compression
- in general. Besides the compression level
-
- TCompressionLevel = (clNone, clFastest, clDefault, clMax);
-
- which, in fact, could have used the 'z' prefix and avoided
- TColor-like symbols
-
- TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax);
-
- there could be a compression strategy
-
- TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle);
-
-- ZIP and GZIP stream handling via TStreams.
-
-
---
-Cosmin Truta <cosmint@cs.ubbcluj.ro>
diff --git a/tcl8.6/compat/zlib/contrib/delphi/zlibd32.mak b/tcl8.6/compat/zlib/contrib/delphi/zlibd32.mak
deleted file mode 100644
index 9bb00b7..0000000
--- a/tcl8.6/compat/zlib/contrib/delphi/zlibd32.mak
+++ /dev/null
@@ -1,99 +0,0 @@
-# Makefile for zlib
-# For use with Delphi and C++ Builder under Win32
-# Updated for zlib 1.2.x by Cosmin Truta
-
-# ------------ Borland C++ ------------
-
-# This project uses the Delphi (fastcall/register) calling convention:
-LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl
-
-CC = bcc32
-LD = bcc32
-AR = tlib
-# do not use "-pr" in CFLAGS
-CFLAGS = -a -d -k- -O2 $(LOC)
-LDFLAGS =
-
-
-# variables
-ZLIB_LIB = zlib.lib
-
-OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj
-OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
-OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj
-OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj
-
-
-# targets
-all: $(ZLIB_LIB) example.exe minigzip.exe
-
-.c.obj:
- $(CC) -c $(CFLAGS) $*.c
-
-adler32.obj: adler32.c zlib.h zconf.h
-
-compress.obj: compress.c zlib.h zconf.h
-
-crc32.obj: crc32.c zlib.h zconf.h crc32.h
-
-deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
-
-gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h
-
-gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h
-
-gzread.obj: gzread.c zlib.h zconf.h gzguts.h
-
-gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h
-
-infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
- inffast.h inffixed.h
-
-inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
- inffast.h
-
-inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
- inffast.h inffixed.h
-
-inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
-
-trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
-
-uncompr.obj: uncompr.c zlib.h zconf.h
-
-zutil.obj: zutil.c zutil.h zlib.h zconf.h
-
-example.obj: test/example.c zlib.h zconf.h
-
-minigzip.obj: test/minigzip.c zlib.h zconf.h
-
-
-# For the sake of the old Borland make,
-# the command line is cut to fit in the MS-DOS 128 byte limit:
-$(ZLIB_LIB): $(OBJ1) $(OBJ2)
- -del $(ZLIB_LIB)
- $(AR) $(ZLIB_LIB) $(OBJP1)
- $(AR) $(ZLIB_LIB) $(OBJP2)
-
-
-# testing
-test: example.exe minigzip.exe
- example
- echo hello world | minigzip | minigzip -d
-
-example.exe: example.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB)
-
-minigzip.exe: minigzip.obj $(ZLIB_LIB)
- $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB)
-
-
-# cleanup
-clean:
- -del *.obj
- -del *.exe
- -del *.lib
- -del *.tds
- -del zlib.bak
- -del foo.gz
-
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.build b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.build
deleted file mode 100644
index 7f90d6b..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.build
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<project name="DotZLib" default="build" basedir="./DotZLib">
- <description>A .Net wrapper library around ZLib1.dll</description>
-
- <property name="nunit.location" value="c:/program files/NUnit V2.1/bin" />
- <property name="build.root" value="bin" />
-
- <property name="debug" value="true" />
- <property name="nunit" value="true" />
-
- <property name="build.folder" value="${build.root}/debug/" if="${debug}" />
- <property name="build.folder" value="${build.root}/release/" unless="${debug}" />
-
- <target name="clean" description="Remove all generated files">
- <delete dir="${build.root}" failonerror="false" />
- </target>
-
- <target name="build" description="compiles the source code">
-
- <mkdir dir="${build.folder}" />
- <csc target="library" output="${build.folder}DotZLib.dll" debug="${debug}">
- <references basedir="${nunit.location}">
- <includes if="${nunit}" name="nunit.framework.dll" />
- </references>
- <sources>
- <includes name="*.cs" />
- <excludes name="UnitTests.cs" unless="${nunit}" />
- </sources>
- <arg value="/d:nunit" if="${nunit}" />
- </csc>
- </target>
-
-</project> \ No newline at end of file
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.chm b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.chm
deleted file mode 100644
index f214a44..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.chm
+++ /dev/null
Binary files differ
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.sln b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.sln
deleted file mode 100644
index ac45ca0..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET
- {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET
- {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET
- {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs
deleted file mode 100644
index 0491bfc..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("DotZLib")]
-[assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Henrik Ravn")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing.
-//
-// Notes:
-// (*) If no key is specified, the assembly is not signed.
-// (*) KeyName refers to a key that has been installed in the Crypto Service
-// Provider (CSP) on your machine. KeyFile refers to a file which contains
-// a key.
-// (*) If the KeyFile and the KeyName values are both specified, the
-// following processing occurs:
-// (1) If the KeyName can be found in the CSP, that key is used.
-// (2) If the KeyName does not exist and the KeyFile does exist, the key
-// in the KeyFile is installed into the CSP and used.
-// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-// When specifying the KeyFile, the location of the KeyFile should be
-// relative to the project output directory which is
-// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-// located in the project directory, you would specify the AssemblyKeyFile
-// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-// documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs
deleted file mode 100644
index 788b2fc..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Runtime.InteropServices;
-using System.Text;
-
-
-namespace DotZLib
-{
- #region ChecksumGeneratorBase
- /// <summary>
- /// Implements the common functionality needed for all <see cref="ChecksumGenerator"/>s
- /// </summary>
- /// <example></example>
- public abstract class ChecksumGeneratorBase : ChecksumGenerator
- {
- /// <summary>
- /// The value of the current checksum
- /// </summary>
- protected uint _current;
-
- /// <summary>
- /// Initializes a new instance of the checksum generator base - the current checksum is
- /// set to zero
- /// </summary>
- public ChecksumGeneratorBase()
- {
- _current = 0;
- }
-
- /// <summary>
- /// Initializes a new instance of the checksum generator basewith a specified value
- /// </summary>
- /// <param name="initialValue">The value to set the current checksum to</param>
- public ChecksumGeneratorBase(uint initialValue)
- {
- _current = initialValue;
- }
-
- /// <summary>
- /// Resets the current checksum to zero
- /// </summary>
- public void Reset() { _current = 0; }
-
- /// <summary>
- /// Gets the current checksum value
- /// </summary>
- public uint Value { get { return _current; } }
-
- /// <summary>
- /// Updates the current checksum with part of an array of bytes
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- /// <param name="offset">Where in <c>data</c> to start updating</param>
- /// <param name="count">The number of bytes from <c>data</c> to use</param>
- /// <exception cref="ArgumentException">The sum of offset and count is larger than the length of <c>data</c></exception>
- /// <exception cref="NullReferenceException"><c>data</c> is a null reference</exception>
- /// <exception cref="ArgumentOutOfRangeException">Offset or count is negative.</exception>
- /// <remarks>All the other <c>Update</c> methods are implmeneted in terms of this one.
- /// This is therefore the only method a derived class has to implement</remarks>
- public abstract void Update(byte[] data, int offset, int count);
-
- /// <summary>
- /// Updates the current checksum with an array of bytes.
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- public void Update(byte[] data)
- {
- Update(data, 0, data.Length);
- }
-
- /// <summary>
- /// Updates the current checksum with the data from a string
- /// </summary>
- /// <param name="data">The string to update the checksum with</param>
- /// <remarks>The characters in the string are converted by the UTF-8 encoding</remarks>
- public void Update(string data)
- {
- Update(Encoding.UTF8.GetBytes(data));
- }
-
- /// <summary>
- /// Updates the current checksum with the data from a string, using a specific encoding
- /// </summary>
- /// <param name="data">The string to update the checksum with</param>
- /// <param name="encoding">The encoding to use</param>
- public void Update(string data, Encoding encoding)
- {
- Update(encoding.GetBytes(data));
- }
-
- }
- #endregion
-
- #region CRC32
- /// <summary>
- /// Implements a CRC32 checksum generator
- /// </summary>
- public sealed class CRC32Checksum : ChecksumGeneratorBase
- {
- #region DLL imports
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern uint crc32(uint crc, int data, uint length);
-
- #endregion
-
- /// <summary>
- /// Initializes a new instance of the CRC32 checksum generator
- /// </summary>
- public CRC32Checksum() : base() {}
-
- /// <summary>
- /// Initializes a new instance of the CRC32 checksum generator with a specified value
- /// </summary>
- /// <param name="initialValue">The value to set the current checksum to</param>
- public CRC32Checksum(uint initialValue) : base(initialValue) {}
-
- /// <summary>
- /// Updates the current checksum with part of an array of bytes
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- /// <param name="offset">Where in <c>data</c> to start updating</param>
- /// <param name="count">The number of bytes from <c>data</c> to use</param>
- /// <exception cref="ArgumentException">The sum of offset and count is larger than the length of <c>data</c></exception>
- /// <exception cref="NullReferenceException"><c>data</c> is a null reference</exception>
- /// <exception cref="ArgumentOutOfRangeException">Offset or count is negative.</exception>
- public override void Update(byte[] data, int offset, int count)
- {
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > data.Length) throw new ArgumentException();
- GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned);
- try
- {
- _current = crc32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count);
- }
- finally
- {
- hData.Free();
- }
- }
-
- }
- #endregion
-
- #region Adler
- /// <summary>
- /// Implements a checksum generator that computes the Adler checksum on data
- /// </summary>
- public sealed class AdlerChecksum : ChecksumGeneratorBase
- {
- #region DLL imports
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern uint adler32(uint adler, int data, uint length);
-
- #endregion
-
- /// <summary>
- /// Initializes a new instance of the Adler checksum generator
- /// </summary>
- public AdlerChecksum() : base() {}
-
- /// <summary>
- /// Initializes a new instance of the Adler checksum generator with a specified value
- /// </summary>
- /// <param name="initialValue">The value to set the current checksum to</param>
- public AdlerChecksum(uint initialValue) : base(initialValue) {}
-
- /// <summary>
- /// Updates the current checksum with part of an array of bytes
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- /// <param name="offset">Where in <c>data</c> to start updating</param>
- /// <param name="count">The number of bytes from <c>data</c> to use</param>
- /// <exception cref="ArgumentException">The sum of offset and count is larger than the length of <c>data</c></exception>
- /// <exception cref="NullReferenceException"><c>data</c> is a null reference</exception>
- /// <exception cref="ArgumentOutOfRangeException">Offset or count is negative.</exception>
- public override void Update(byte[] data, int offset, int count)
- {
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > data.Length) throw new ArgumentException();
- GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned);
- try
- {
- _current = adler32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count);
- }
- finally
- {
- hData.Free();
- }
- }
-
- }
- #endregion
-
-} \ No newline at end of file
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs
deleted file mode 100644
index c1cab3a..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Diagnostics;
-
-namespace DotZLib
-{
-
- /// <summary>
- /// This class implements a circular buffer
- /// </summary>
- internal class CircularBuffer
- {
- #region Private data
- private int _capacity;
- private int _head;
- private int _tail;
- private int _size;
- private byte[] _buffer;
- #endregion
-
- public CircularBuffer(int capacity)
- {
- Debug.Assert( capacity > 0 );
- _buffer = new byte[capacity];
- _capacity = capacity;
- _head = 0;
- _tail = 0;
- _size = 0;
- }
-
- public int Size { get { return _size; } }
-
- public int Put(byte[] source, int offset, int count)
- {
- Debug.Assert( count > 0 );
- int trueCount = Math.Min(count, _capacity - Size);
- for (int i = 0; i < trueCount; ++i)
- _buffer[(_tail+i) % _capacity] = source[offset+i];
- _tail += trueCount;
- _tail %= _capacity;
- _size += trueCount;
- return trueCount;
- }
-
- public bool Put(byte b)
- {
- if (Size == _capacity) // no room
- return false;
- _buffer[_tail++] = b;
- _tail %= _capacity;
- ++_size;
- return true;
- }
-
- public int Get(byte[] destination, int offset, int count)
- {
- int trueCount = Math.Min(count,Size);
- for (int i = 0; i < trueCount; ++i)
- destination[offset + i] = _buffer[(_head+i) % _capacity];
- _head += trueCount;
- _head %= _capacity;
- _size -= trueCount;
- return trueCount;
- }
-
- public int Get()
- {
- if (Size == 0)
- return -1;
-
- int result = (int)_buffer[_head++ % _capacity];
- --_size;
- return result;
- }
-
- }
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CodecBase.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CodecBase.cs
deleted file mode 100644
index 42e6da3..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/CodecBase.cs
+++ /dev/null
@@ -1,198 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace DotZLib
-{
- /// <summary>
- /// Implements the common functionality needed for all <see cref="Codec"/>s
- /// </summary>
- public abstract class CodecBase : Codec, IDisposable
- {
-
- #region Data members
-
- /// <summary>
- /// Instance of the internal zlib buffer structure that is
- /// passed to all functions in the zlib dll
- /// </summary>
- internal ZStream _ztream = new ZStream();
-
- /// <summary>
- /// True if the object instance has been disposed, false otherwise
- /// </summary>
- protected bool _isDisposed = false;
-
- /// <summary>
- /// The size of the internal buffers
- /// </summary>
- protected const int kBufferSize = 16384;
-
- private byte[] _outBuffer = new byte[kBufferSize];
- private byte[] _inBuffer = new byte[kBufferSize];
-
- private GCHandle _hInput;
- private GCHandle _hOutput;
-
- private uint _checksum = 0;
-
- #endregion
-
- /// <summary>
- /// Initializes a new instance of the <c>CodeBase</c> class.
- /// </summary>
- public CodecBase()
- {
- try
- {
- _hInput = GCHandle.Alloc(_inBuffer, GCHandleType.Pinned);
- _hOutput = GCHandle.Alloc(_outBuffer, GCHandleType.Pinned);
- }
- catch (Exception)
- {
- CleanUp(false);
- throw;
- }
- }
-
-
- #region Codec Members
-
- /// <summary>
- /// Occurs when more processed data are available.
- /// </summary>
- public event DataAvailableHandler DataAvailable;
-
- /// <summary>
- /// Fires the <see cref="DataAvailable"/> event
- /// </summary>
- protected void OnDataAvailable()
- {
- if (_ztream.total_out > 0)
- {
- if (DataAvailable != null)
- DataAvailable( _outBuffer, 0, (int)_ztream.total_out);
- resetOutput();
- }
- }
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- public void Add(byte[] data)
- {
- Add(data,0,data.Length);
- }
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <param name="offset">The index of the first byte to add from <c>data</c></param>
- /// <param name="count">The number of bytes to add</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- /// <remarks>This must be implemented by a derived class</remarks>
- public abstract void Add(byte[] data, int offset, int count);
-
- /// <summary>
- /// Finishes up any pending data that needs to be processed and handled.
- /// </summary>
- /// <remarks>This must be implemented by a derived class</remarks>
- public abstract void Finish();
-
- /// <summary>
- /// Gets the checksum of the data that has been added so far
- /// </summary>
- public uint Checksum { get { return _checksum; } }
-
- #endregion
-
- #region Destructor & IDisposable stuff
-
- /// <summary>
- /// Destroys this instance
- /// </summary>
- ~CodecBase()
- {
- CleanUp(false);
- }
-
- /// <summary>
- /// Releases any unmanaged resources and calls the <see cref="CleanUp()"/> method of the derived class
- /// </summary>
- public void Dispose()
- {
- CleanUp(true);
- }
-
- /// <summary>
- /// Performs any codec specific cleanup
- /// </summary>
- /// <remarks>This must be implemented by a derived class</remarks>
- protected abstract void CleanUp();
-
- // performs the release of the handles and calls the dereived CleanUp()
- private void CleanUp(bool isDisposing)
- {
- if (!_isDisposed)
- {
- CleanUp();
- if (_hInput.IsAllocated)
- _hInput.Free();
- if (_hOutput.IsAllocated)
- _hOutput.Free();
-
- _isDisposed = true;
- }
- }
-
-
- #endregion
-
- #region Helper methods
-
- /// <summary>
- /// Copies a number of bytes to the internal codec buffer - ready for proccesing
- /// </summary>
- /// <param name="data">The byte array that contains the data to copy</param>
- /// <param name="startIndex">The index of the first byte to copy</param>
- /// <param name="count">The number of bytes to copy from <c>data</c></param>
- protected void copyInput(byte[] data, int startIndex, int count)
- {
- Array.Copy(data, startIndex, _inBuffer,0, count);
- _ztream.next_in = _hInput.AddrOfPinnedObject();
- _ztream.total_in = 0;
- _ztream.avail_in = (uint)count;
-
- }
-
- /// <summary>
- /// Resets the internal output buffers to a known state - ready for processing
- /// </summary>
- protected void resetOutput()
- {
- _ztream.total_out = 0;
- _ztream.avail_out = kBufferSize;
- _ztream.next_out = _hOutput.AddrOfPinnedObject();
- }
-
- /// <summary>
- /// Updates the running checksum property
- /// </summary>
- /// <param name="newSum">The new checksum value</param>
- protected void setChecksum(uint newSum)
- {
- _checksum = newSum;
- }
- #endregion
-
- }
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Deflater.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Deflater.cs
deleted file mode 100644
index c247792..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Deflater.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace DotZLib
-{
-
- /// <summary>
- /// Implements a data compressor, using the deflate algorithm in the ZLib dll
- /// </summary>
- public sealed class Deflater : CodecBase
- {
- #region Dll imports
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)]
- private static extern int deflateInit_(ref ZStream sz, int level, string vs, int size);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int deflate(ref ZStream sz, int flush);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int deflateReset(ref ZStream sz);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int deflateEnd(ref ZStream sz);
- #endregion
-
- /// <summary>
- /// Constructs an new instance of the <c>Deflater</c>
- /// </summary>
- /// <param name="level">The compression level to use for this <c>Deflater</c></param>
- public Deflater(CompressLevel level) : base()
- {
- int retval = deflateInit_(ref _ztream, (int)level, Info.Version, Marshal.SizeOf(_ztream));
- if (retval != 0)
- throw new ZLibException(retval, "Could not initialize deflater");
-
- resetOutput();
- }
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <param name="offset">The index of the first byte to add from <c>data</c></param>
- /// <param name="count">The number of bytes to add</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- public override void Add(byte[] data, int offset, int count)
- {
- if (data == null) throw new ArgumentNullException();
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > data.Length) throw new ArgumentException();
-
- int total = count;
- int inputIndex = offset;
- int err = 0;
-
- while (err >= 0 && inputIndex < total)
- {
- copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize));
- while (err >= 0 && _ztream.avail_in > 0)
- {
- err = deflate(ref _ztream, (int)FlushTypes.None);
- if (err == 0)
- while (_ztream.avail_out == 0)
- {
- OnDataAvailable();
- err = deflate(ref _ztream, (int)FlushTypes.None);
- }
- inputIndex += (int)_ztream.total_in;
- }
- }
- setChecksum( _ztream.adler );
- }
-
-
- /// <summary>
- /// Finishes up any pending data that needs to be processed and handled.
- /// </summary>
- public override void Finish()
- {
- int err;
- do
- {
- err = deflate(ref _ztream, (int)FlushTypes.Finish);
- OnDataAvailable();
- }
- while (err == 0);
- setChecksum( _ztream.adler );
- deflateReset(ref _ztream);
- resetOutput();
- }
-
- /// <summary>
- /// Closes the internal zlib deflate stream
- /// </summary>
- protected override void CleanUp() { deflateEnd(ref _ztream); }
-
- }
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.cs
deleted file mode 100644
index be184b4..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.cs
+++ /dev/null
@@ -1,288 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Text;
-
-
-namespace DotZLib
-{
-
- #region Internal types
-
- /// <summary>
- /// Defines constants for the various flush types used with zlib
- /// </summary>
- internal enum FlushTypes
- {
- None, Partial, Sync, Full, Finish, Block
- }
-
- #region ZStream structure
- // internal mapping of the zlib zstream structure for marshalling
- [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=CharSet.Ansi)]
- internal struct ZStream
- {
- public IntPtr next_in;
- public uint avail_in;
- public uint total_in;
-
- public IntPtr next_out;
- public uint avail_out;
- public uint total_out;
-
- [MarshalAs(UnmanagedType.LPStr)]
- string msg;
- uint state;
-
- uint zalloc;
- uint zfree;
- uint opaque;
-
- int data_type;
- public uint adler;
- uint reserved;
- }
-
- #endregion
-
- #endregion
-
- #region Public enums
- /// <summary>
- /// Defines constants for the available compression levels in zlib
- /// </summary>
- public enum CompressLevel : int
- {
- /// <summary>
- /// The default compression level with a reasonable compromise between compression and speed
- /// </summary>
- Default = -1,
- /// <summary>
- /// No compression at all. The data are passed straight through.
- /// </summary>
- None = 0,
- /// <summary>
- /// The maximum compression rate available.
- /// </summary>
- Best = 9,
- /// <summary>
- /// The fastest available compression level.
- /// </summary>
- Fastest = 1
- }
- #endregion
-
- #region Exception classes
- /// <summary>
- /// The exception that is thrown when an error occurs on the zlib dll
- /// </summary>
- public class ZLibException : ApplicationException
- {
- /// <summary>
- /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified
- /// error message and error code
- /// </summary>
- /// <param name="errorCode">The zlib error code that caused the exception</param>
- /// <param name="msg">A message that (hopefully) describes the error</param>
- public ZLibException(int errorCode, string msg) : base(String.Format("ZLib error {0} {1}", errorCode, msg))
- {
- }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified
- /// error code
- /// </summary>
- /// <param name="errorCode">The zlib error code that caused the exception</param>
- public ZLibException(int errorCode) : base(String.Format("ZLib error {0}", errorCode))
- {
- }
- }
- #endregion
-
- #region Interfaces
-
- /// <summary>
- /// Declares methods and properties that enables a running checksum to be calculated
- /// </summary>
- public interface ChecksumGenerator
- {
- /// <summary>
- /// Gets the current value of the checksum
- /// </summary>
- uint Value { get; }
-
- /// <summary>
- /// Clears the current checksum to 0
- /// </summary>
- void Reset();
-
- /// <summary>
- /// Updates the current checksum with an array of bytes
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- void Update(byte[] data);
-
- /// <summary>
- /// Updates the current checksum with part of an array of bytes
- /// </summary>
- /// <param name="data">The data to update the checksum with</param>
- /// <param name="offset">Where in <c>data</c> to start updating</param>
- /// <param name="count">The number of bytes from <c>data</c> to use</param>
- /// <exception cref="ArgumentException">The sum of offset and count is larger than the length of <c>data</c></exception>
- /// <exception cref="ArgumentNullException"><c>data</c> is a null reference</exception>
- /// <exception cref="ArgumentOutOfRangeException">Offset or count is negative.</exception>
- void Update(byte[] data, int offset, int count);
-
- /// <summary>
- /// Updates the current checksum with the data from a string
- /// </summary>
- /// <param name="data">The string to update the checksum with</param>
- /// <remarks>The characters in the string are converted by the UTF-8 encoding</remarks>
- void Update(string data);
-
- /// <summary>
- /// Updates the current checksum with the data from a string, using a specific encoding
- /// </summary>
- /// <param name="data">The string to update the checksum with</param>
- /// <param name="encoding">The encoding to use</param>
- void Update(string data, Encoding encoding);
- }
-
-
- /// <summary>
- /// Represents the method that will be called from a codec when new data
- /// are available.
- /// </summary>
- /// <paramref name="data">The byte array containing the processed data</paramref>
- /// <paramref name="startIndex">The index of the first processed byte in <c>data</c></paramref>
- /// <paramref name="count">The number of processed bytes available</paramref>
- /// <remarks>On return from this method, the data may be overwritten, so grab it while you can.
- /// You cannot assume that startIndex will be zero.
- /// </remarks>
- public delegate void DataAvailableHandler(byte[] data, int startIndex, int count);
-
- /// <summary>
- /// Declares methods and events for implementing compressors/decompressors
- /// </summary>
- public interface Codec
- {
- /// <summary>
- /// Occurs when more processed data are available.
- /// </summary>
- event DataAvailableHandler DataAvailable;
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- void Add(byte[] data);
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <param name="offset">The index of the first byte to add from <c>data</c></param>
- /// <param name="count">The number of bytes to add</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- void Add(byte[] data, int offset, int count);
-
- /// <summary>
- /// Finishes up any pending data that needs to be processed and handled.
- /// </summary>
- void Finish();
-
- /// <summary>
- /// Gets the checksum of the data that has been added so far
- /// </summary>
- uint Checksum { get; }
-
-
- }
-
- #endregion
-
- #region Classes
- /// <summary>
- /// Encapsulates general information about the ZLib library
- /// </summary>
- public class Info
- {
- #region DLL imports
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern uint zlibCompileFlags();
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern string zlibVersion();
- #endregion
-
- #region Private stuff
- private uint _flags;
-
- // helper function that unpacks a bitsize mask
- private static int bitSize(uint bits)
- {
- switch (bits)
- {
- case 0: return 16;
- case 1: return 32;
- case 2: return 64;
- }
- return -1;
- }
- #endregion
-
- /// <summary>
- /// Constructs an instance of the <c>Info</c> class.
- /// </summary>
- public Info()
- {
- _flags = zlibCompileFlags();
- }
-
- /// <summary>
- /// True if the library is compiled with debug info
- /// </summary>
- public bool HasDebugInfo { get { return 0 != (_flags & 0x100); } }
-
- /// <summary>
- /// True if the library is compiled with assembly optimizations
- /// </summary>
- public bool UsesAssemblyCode { get { return 0 != (_flags & 0x200); } }
-
- /// <summary>
- /// Gets the size of the unsigned int that was compiled into Zlib
- /// </summary>
- public int SizeOfUInt { get { return bitSize(_flags & 3); } }
-
- /// <summary>
- /// Gets the size of the unsigned long that was compiled into Zlib
- /// </summary>
- public int SizeOfULong { get { return bitSize((_flags >> 2) & 3); } }
-
- /// <summary>
- /// Gets the size of the pointers that were compiled into Zlib
- /// </summary>
- public int SizeOfPointer { get { return bitSize((_flags >> 4) & 3); } }
-
- /// <summary>
- /// Gets the size of the z_off_t type that was compiled into Zlib
- /// </summary>
- public int SizeOfOffset { get { return bitSize((_flags >> 6) & 3); } }
-
- /// <summary>
- /// Gets the version of ZLib as a string, e.g. "1.2.1"
- /// </summary>
- public static string Version { get { return zlibVersion(); } }
- }
-
- #endregion
-
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj
deleted file mode 100644
index 71eeb85..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj
+++ /dev/null
@@ -1,141 +0,0 @@
-<VisualStudioProject>
- <CSHARP
- ProjectType = "Local"
- ProductVersion = "7.10.3077"
- SchemaVersion = "2.0"
- ProjectGuid = "{BB1EE0B1-1808-46CB-B786-949D91117FC5}"
- >
- <Build>
- <Settings
- ApplicationIcon = ""
- AssemblyKeyContainerName = ""
- AssemblyName = "DotZLib"
- AssemblyOriginatorKeyFile = ""
- DefaultClientScript = "JScript"
- DefaultHTMLPageLayout = "Grid"
- DefaultTargetSchema = "IE50"
- DelaySign = "false"
- OutputType = "Library"
- PreBuildEvent = ""
- PostBuildEvent = ""
- RootNamespace = "DotZLib"
- RunPostBuildEvent = "OnBuildSuccess"
- StartupObject = ""
- >
- <Config
- Name = "Debug"
- AllowUnsafeBlocks = "false"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "DEBUG;TRACE"
- DocumentationFile = "docs\DotZLib.xml"
- DebugSymbols = "true"
- FileAlignment = "4096"
- IncrementalBuild = "false"
- NoStdLib = "false"
- NoWarn = "1591"
- Optimize = "false"
- OutputPath = "bin\Debug\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- <Config
- Name = "Release"
- AllowUnsafeBlocks = "false"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "TRACE"
- DocumentationFile = "docs\DotZLib.xml"
- DebugSymbols = "false"
- FileAlignment = "4096"
- IncrementalBuild = "false"
- NoStdLib = "false"
- NoWarn = ""
- Optimize = "true"
- OutputPath = "bin\Release\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- </Settings>
- <References>
- <Reference
- Name = "System"
- AssemblyName = "System"
- HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll"
- />
- <Reference
- Name = "System.Data"
- AssemblyName = "System.Data"
- HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
- />
- <Reference
- Name = "System.XML"
- AssemblyName = "System.Xml"
- HintPath = "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
- />
- <Reference
- Name = "nunit.framework"
- AssemblyName = "nunit.framework"
- HintPath = "E:\apps\NUnit V2.1\\bin\nunit.framework.dll"
- AssemblyFolderKey = "hklm\dn\nunit.framework"
- />
- </References>
- </Build>
- <Files>
- <Include>
- <File
- RelPath = "AssemblyInfo.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "ChecksumImpl.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "CircularBuffer.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "CodecBase.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "Deflater.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "DotZLib.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "GZipStream.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "Inflater.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "UnitTests.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- </Include>
- </Files>
- </CSHARP>
-</VisualStudioProject>
-
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/GZipStream.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/GZipStream.cs
deleted file mode 100644
index b161300..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/GZipStream.cs
+++ /dev/null
@@ -1,301 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-
-namespace DotZLib
-{
- /// <summary>
- /// Implements a compressed <see cref="Stream"/>, in GZip (.gz) format.
- /// </summary>
- public class GZipStream : Stream, IDisposable
- {
- #region Dll Imports
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)]
- private static extern IntPtr gzopen(string name, string mode);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int gzclose(IntPtr gzFile);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int gzwrite(IntPtr gzFile, int data, int length);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int gzread(IntPtr gzFile, int data, int length);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int gzgetc(IntPtr gzFile);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int gzputc(IntPtr gzFile, int c);
-
- #endregion
-
- #region Private data
- private IntPtr _gzFile;
- private bool _isDisposed = false;
- private bool _isWriting;
- #endregion
-
- #region Constructors
- /// <summary>
- /// Creates a new file as a writeable GZipStream
- /// </summary>
- /// <param name="fileName">The name of the compressed file to create</param>
- /// <param name="level">The compression level to use when adding data</param>
- /// <exception cref="ZLibException">If an error occurred in the internal zlib function</exception>
- public GZipStream(string fileName, CompressLevel level)
- {
- _isWriting = true;
- _gzFile = gzopen(fileName, String.Format("wb{0}", (int)level));
- if (_gzFile == IntPtr.Zero)
- throw new ZLibException(-1, "Could not open " + fileName);
- }
-
- /// <summary>
- /// Opens an existing file as a readable GZipStream
- /// </summary>
- /// <param name="fileName">The name of the file to open</param>
- /// <exception cref="ZLibException">If an error occurred in the internal zlib function</exception>
- public GZipStream(string fileName)
- {
- _isWriting = false;
- _gzFile = gzopen(fileName, "rb");
- if (_gzFile == IntPtr.Zero)
- throw new ZLibException(-1, "Could not open " + fileName);
-
- }
- #endregion
-
- #region Access properties
- /// <summary>
- /// Returns true of this stream can be read from, false otherwise
- /// </summary>
- public override bool CanRead
- {
- get
- {
- return !_isWriting;
- }
- }
-
-
- /// <summary>
- /// Returns false.
- /// </summary>
- public override bool CanSeek
- {
- get
- {
- return false;
- }
- }
-
- /// <summary>
- /// Returns true if this tsream is writeable, false otherwise
- /// </summary>
- public override bool CanWrite
- {
- get
- {
- return _isWriting;
- }
- }
- #endregion
-
- #region Destructor & IDispose stuff
-
- /// <summary>
- /// Destroys this instance
- /// </summary>
- ~GZipStream()
- {
- cleanUp(false);
- }
-
- /// <summary>
- /// Closes the external file handle
- /// </summary>
- public void Dispose()
- {
- cleanUp(true);
- }
-
- // Does the actual closing of the file handle.
- private void cleanUp(bool isDisposing)
- {
- if (!_isDisposed)
- {
- gzclose(_gzFile);
- _isDisposed = true;
- }
- }
- #endregion
-
- #region Basic reading and writing
- /// <summary>
- /// Attempts to read a number of bytes from the stream.
- /// </summary>
- /// <param name="buffer">The destination data buffer</param>
- /// <param name="offset">The index of the first destination byte in <c>buffer</c></param>
- /// <param name="count">The number of bytes requested</param>
- /// <returns>The number of bytes read</returns>
- /// <exception cref="ArgumentNullException">If <c>buffer</c> is null</exception>
- /// <exception cref="ArgumentOutOfRangeException">If <c>count</c> or <c>offset</c> are negative</exception>
- /// <exception cref="ArgumentException">If <c>offset</c> + <c>count</c> is &gt; buffer.Length</exception>
- /// <exception cref="NotSupportedException">If this stream is not readable.</exception>
- /// <exception cref="ObjectDisposedException">If this stream has been disposed.</exception>
- public override int Read(byte[] buffer, int offset, int count)
- {
- if (!CanRead) throw new NotSupportedException();
- if (buffer == null) throw new ArgumentNullException();
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > buffer.Length) throw new ArgumentException();
- if (_isDisposed) throw new ObjectDisposedException("GZipStream");
-
- GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned);
- int result;
- try
- {
- result = gzread(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count);
- if (result < 0)
- throw new IOException();
- }
- finally
- {
- h.Free();
- }
- return result;
- }
-
- /// <summary>
- /// Attempts to read a single byte from the stream.
- /// </summary>
- /// <returns>The byte that was read, or -1 in case of error or End-Of-File</returns>
- public override int ReadByte()
- {
- if (!CanRead) throw new NotSupportedException();
- if (_isDisposed) throw new ObjectDisposedException("GZipStream");
- return gzgetc(_gzFile);
- }
-
- /// <summary>
- /// Writes a number of bytes to the stream
- /// </summary>
- /// <param name="buffer"></param>
- /// <param name="offset"></param>
- /// <param name="count"></param>
- /// <exception cref="ArgumentNullException">If <c>buffer</c> is null</exception>
- /// <exception cref="ArgumentOutOfRangeException">If <c>count</c> or <c>offset</c> are negative</exception>
- /// <exception cref="ArgumentException">If <c>offset</c> + <c>count</c> is &gt; buffer.Length</exception>
- /// <exception cref="NotSupportedException">If this stream is not writeable.</exception>
- /// <exception cref="ObjectDisposedException">If this stream has been disposed.</exception>
- public override void Write(byte[] buffer, int offset, int count)
- {
- if (!CanWrite) throw new NotSupportedException();
- if (buffer == null) throw new ArgumentNullException();
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > buffer.Length) throw new ArgumentException();
- if (_isDisposed) throw new ObjectDisposedException("GZipStream");
-
- GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned);
- try
- {
- int result = gzwrite(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count);
- if (result < 0)
- throw new IOException();
- }
- finally
- {
- h.Free();
- }
- }
-
- /// <summary>
- /// Writes a single byte to the stream
- /// </summary>
- /// <param name="value">The byte to add to the stream.</param>
- /// <exception cref="NotSupportedException">If this stream is not writeable.</exception>
- /// <exception cref="ObjectDisposedException">If this stream has been disposed.</exception>
- public override void WriteByte(byte value)
- {
- if (!CanWrite) throw new NotSupportedException();
- if (_isDisposed) throw new ObjectDisposedException("GZipStream");
-
- int result = gzputc(_gzFile, (int)value);
- if (result < 0)
- throw new IOException();
- }
- #endregion
-
- #region Position & length stuff
- /// <summary>
- /// Not supported.
- /// </summary>
- /// <param name="value"></param>
- /// <exception cref="NotSupportedException">Always thrown</exception>
- public override void SetLength(long value)
- {
- throw new NotSupportedException();
- }
-
- /// <summary>
- /// Not suppported.
- /// </summary>
- /// <param name="offset"></param>
- /// <param name="origin"></param>
- /// <returns></returns>
- /// <exception cref="NotSupportedException">Always thrown</exception>
- public override long Seek(long offset, SeekOrigin origin)
- {
- throw new NotSupportedException();
- }
-
- /// <summary>
- /// Flushes the <c>GZipStream</c>.
- /// </summary>
- /// <remarks>In this implementation, this method does nothing. This is because excessive
- /// flushing may degrade the achievable compression rates.</remarks>
- public override void Flush()
- {
- // left empty on purpose
- }
-
- /// <summary>
- /// Gets/sets the current position in the <c>GZipStream</c>. Not suppported.
- /// </summary>
- /// <remarks>In this implementation this property is not supported</remarks>
- /// <exception cref="NotSupportedException">Always thrown</exception>
- public override long Position
- {
- get
- {
- throw new NotSupportedException();
- }
- set
- {
- throw new NotSupportedException();
- }
- }
-
- /// <summary>
- /// Gets the size of the stream. Not suppported.
- /// </summary>
- /// <remarks>In this implementation this property is not supported</remarks>
- /// <exception cref="NotSupportedException">Always thrown</exception>
- public override long Length
- {
- get
- {
- throw new NotSupportedException();
- }
- }
- #endregion
- }
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Inflater.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Inflater.cs
deleted file mode 100644
index 8ed5451..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/Inflater.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace DotZLib
-{
-
- /// <summary>
- /// Implements a data decompressor, using the inflate algorithm in the ZLib dll
- /// </summary>
- public class Inflater : CodecBase
- {
- #region Dll imports
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)]
- private static extern int inflateInit_(ref ZStream sz, string vs, int size);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int inflate(ref ZStream sz, int flush);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int inflateReset(ref ZStream sz);
-
- [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)]
- private static extern int inflateEnd(ref ZStream sz);
- #endregion
-
- /// <summary>
- /// Constructs an new instance of the <c>Inflater</c>
- /// </summary>
- public Inflater() : base()
- {
- int retval = inflateInit_(ref _ztream, Info.Version, Marshal.SizeOf(_ztream));
- if (retval != 0)
- throw new ZLibException(retval, "Could not initialize inflater");
-
- resetOutput();
- }
-
-
- /// <summary>
- /// Adds more data to the codec to be processed.
- /// </summary>
- /// <param name="data">Byte array containing the data to be added to the codec</param>
- /// <param name="offset">The index of the first byte to add from <c>data</c></param>
- /// <param name="count">The number of bytes to add</param>
- /// <remarks>Adding data may, or may not, raise the <c>DataAvailable</c> event</remarks>
- public override void Add(byte[] data, int offset, int count)
- {
- if (data == null) throw new ArgumentNullException();
- if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();
- if ((offset+count) > data.Length) throw new ArgumentException();
-
- int total = count;
- int inputIndex = offset;
- int err = 0;
-
- while (err >= 0 && inputIndex < total)
- {
- copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize));
- err = inflate(ref _ztream, (int)FlushTypes.None);
- if (err == 0)
- while (_ztream.avail_out == 0)
- {
- OnDataAvailable();
- err = inflate(ref _ztream, (int)FlushTypes.None);
- }
-
- inputIndex += (int)_ztream.total_in;
- }
- setChecksum( _ztream.adler );
- }
-
-
- /// <summary>
- /// Finishes up any pending data that needs to be processed and handled.
- /// </summary>
- public override void Finish()
- {
- int err;
- do
- {
- err = inflate(ref _ztream, (int)FlushTypes.Finish);
- OnDataAvailable();
- }
- while (err == 0);
- setChecksum( _ztream.adler );
- inflateReset(ref _ztream);
- resetOutput();
- }
-
- /// <summary>
- /// Closes the internal zlib inflate stream
- /// </summary>
- protected override void CleanUp() { inflateEnd(ref _ztream); }
-
-
- }
-}
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs b/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
deleted file mode 100644
index b273d54..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs
+++ /dev/null
@@ -1,274 +0,0 @@
-//
-// © Copyright Henrik Ravn 2004
-//
-// Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-using System;
-using System.Collections;
-using System.IO;
-
-// uncomment the define below to include unit tests
-//#define nunit
-#if nunit
-using NUnit.Framework;
-
-// Unit tests for the DotZLib class library
-// ----------------------------------------
-//
-// Use this with NUnit 2 from http://www.nunit.org
-//
-
-namespace DotZLibTests
-{
- using DotZLib;
-
- // helper methods
- internal class Utils
- {
- public static bool byteArrEqual( byte[] lhs, byte[] rhs )
- {
- if (lhs.Length != rhs.Length)
- return false;
- for (int i = lhs.Length-1; i >= 0; --i)
- if (lhs[i] != rhs[i])
- return false;
- return true;
- }
-
- }
-
-
- [TestFixture]
- public class CircBufferTests
- {
- #region Circular buffer tests
- [Test]
- public void SinglePutGet()
- {
- CircularBuffer buf = new CircularBuffer(10);
- Assert.AreEqual( 0, buf.Size );
- Assert.AreEqual( -1, buf.Get() );
-
- Assert.IsTrue(buf.Put( 1 ));
- Assert.AreEqual( 1, buf.Size );
- Assert.AreEqual( 1, buf.Get() );
- Assert.AreEqual( 0, buf.Size );
- Assert.AreEqual( -1, buf.Get() );
- }
-
- [Test]
- public void BlockPutGet()
- {
- CircularBuffer buf = new CircularBuffer(10);
- byte[] arr = {1,2,3,4,5,6,7,8,9,10};
- Assert.AreEqual( 10, buf.Put(arr,0,10) );
- Assert.AreEqual( 10, buf.Size );
- Assert.IsFalse( buf.Put(11) );
- Assert.AreEqual( 1, buf.Get() );
- Assert.IsTrue( buf.Put(11) );
-
- byte[] arr2 = (byte[])arr.Clone();
- Assert.AreEqual( 9, buf.Get(arr2,1,9) );
- Assert.IsTrue( Utils.byteArrEqual(arr,arr2) );
- }
-
- #endregion
- }
-
- [TestFixture]
- public class ChecksumTests
- {
- #region CRC32 Tests
- [Test]
- public void CRC32_Null()
- {
- CRC32Checksum crc32 = new CRC32Checksum();
- Assert.AreEqual( 0, crc32.Value );
-
- crc32 = new CRC32Checksum(1);
- Assert.AreEqual( 1, crc32.Value );
-
- crc32 = new CRC32Checksum(556);
- Assert.AreEqual( 556, crc32.Value );
- }
-
- [Test]
- public void CRC32_Data()
- {
- CRC32Checksum crc32 = new CRC32Checksum();
- byte[] data = { 1,2,3,4,5,6,7 };
- crc32.Update(data);
- Assert.AreEqual( 0x70e46888, crc32.Value );
-
- crc32 = new CRC32Checksum();
- crc32.Update("penguin");
- Assert.AreEqual( 0x0e5c1a120, crc32.Value );
-
- crc32 = new CRC32Checksum(1);
- crc32.Update("penguin");
- Assert.AreEqual(0x43b6aa94, crc32.Value);
-
- }
- #endregion
-
- #region Adler tests
-
- [Test]
- public void Adler_Null()
- {
- AdlerChecksum adler = new AdlerChecksum();
- Assert.AreEqual(0, adler.Value);
-
- adler = new AdlerChecksum(1);
- Assert.AreEqual( 1, adler.Value );
-
- adler = new AdlerChecksum(556);
- Assert.AreEqual( 556, adler.Value );
- }
-
- [Test]
- public void Adler_Data()
- {
- AdlerChecksum adler = new AdlerChecksum(1);
- byte[] data = { 1,2,3,4,5,6,7 };
- adler.Update(data);
- Assert.AreEqual( 0x5b001d, adler.Value );
-
- adler = new AdlerChecksum();
- adler.Update("penguin");
- Assert.AreEqual(0x0bcf02f6, adler.Value );
-
- adler = new AdlerChecksum(1);
- adler.Update("penguin");
- Assert.AreEqual(0x0bd602f7, adler.Value);
-
- }
- #endregion
- }
-
- [TestFixture]
- public class InfoTests
- {
- #region Info tests
- [Test]
- public void Info_Version()
- {
- Info info = new Info();
- Assert.AreEqual("1.2.8", Info.Version);
- Assert.AreEqual(32, info.SizeOfUInt);
- Assert.AreEqual(32, info.SizeOfULong);
- Assert.AreEqual(32, info.SizeOfPointer);
- Assert.AreEqual(32, info.SizeOfOffset);
- }
- #endregion
- }
-
- [TestFixture]
- public class DeflateInflateTests
- {
- #region Deflate tests
- [Test]
- public void Deflate_Init()
- {
- using (Deflater def = new Deflater(CompressLevel.Default))
- {
- }
- }
-
- private ArrayList compressedData = new ArrayList();
- private uint adler1;
-
- private ArrayList uncompressedData = new ArrayList();
- private uint adler2;
-
- public void CDataAvail(byte[] data, int startIndex, int count)
- {
- for (int i = 0; i < count; ++i)
- compressedData.Add(data[i+startIndex]);
- }
-
- [Test]
- public void Deflate_Compress()
- {
- compressedData.Clear();
-
- byte[] testData = new byte[35000];
- for (int i = 0; i < testData.Length; ++i)
- testData[i] = 5;
-
- using (Deflater def = new Deflater((CompressLevel)5))
- {
- def.DataAvailable += new DataAvailableHandler(CDataAvail);
- def.Add(testData);
- def.Finish();
- adler1 = def.Checksum;
- }
- }
- #endregion
-
- #region Inflate tests
- [Test]
- public void Inflate_Init()
- {
- using (Inflater inf = new Inflater())
- {
- }
- }
-
- private void DDataAvail(byte[] data, int startIndex, int count)
- {
- for (int i = 0; i < count; ++i)
- uncompressedData.Add(data[i+startIndex]);
- }
-
- [Test]
- public void Inflate_Expand()
- {
- uncompressedData.Clear();
-
- using (Inflater inf = new Inflater())
- {
- inf.DataAvailable += new DataAvailableHandler(DDataAvail);
- inf.Add((byte[])compressedData.ToArray(typeof(byte)));
- inf.Finish();
- adler2 = inf.Checksum;
- }
- Assert.AreEqual( adler1, adler2 );
- }
- #endregion
- }
-
- [TestFixture]
- public class GZipStreamTests
- {
- #region GZipStream test
- [Test]
- public void GZipStream_WriteRead()
- {
- using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best))
- {
- BinaryWriter writer = new BinaryWriter(gzOut);
- writer.Write("hi there");
- writer.Write(Math.PI);
- writer.Write(42);
- }
-
- using (GZipStream gzIn = new GZipStream("gzstream.gz"))
- {
- BinaryReader reader = new BinaryReader(gzIn);
- string s = reader.ReadString();
- Assert.AreEqual("hi there",s);
- double d = reader.ReadDouble();
- Assert.AreEqual(Math.PI, d);
- int i = reader.ReadInt32();
- Assert.AreEqual(42,i);
- }
-
- }
- #endregion
- }
-}
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/LICENSE_1_0.txt b/tcl8.6/compat/zlib/contrib/dotzlib/LICENSE_1_0.txt
deleted file mode 100644
index 30aac2c..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/LICENSE_1_0.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/tcl8.6/compat/zlib/contrib/dotzlib/readme.txt b/tcl8.6/compat/zlib/contrib/dotzlib/readme.txt
deleted file mode 100644
index b239572..0000000
--- a/tcl8.6/compat/zlib/contrib/dotzlib/readme.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-This directory contains a .Net wrapper class library for the ZLib1.dll
-
-The wrapper includes support for inflating/deflating memory buffers,
-.Net streaming wrappers for the gz streams part of zlib, and wrappers
-for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples.
-
-Directory structure:
---------------------
-
-LICENSE_1_0.txt - License file.
-readme.txt - This file.
-DotZLib.chm - Class library documentation
-DotZLib.build - NAnt build file
-DotZLib.sln - Microsoft Visual Studio 2003 solution file
-
-DotZLib\*.cs - Source files for the class library
-
-Unit tests:
------------
-The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher.
-To include unit tests in the build, define nunit before building.
-
-
-Build instructions:
--------------------
-
-1. Using Visual Studio.Net 2003:
- Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll)
- will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on
- you are building the release or debug version of the library. Check
- DotZLib/UnitTests.cs for instructions on how to include unit tests in the
- build.
-
-2. Using NAnt:
- Open a command prompt with access to the build environment and run nant
- in the same directory as the DotZLib.build file.
- You can define 2 properties on the nant command-line to control the build:
- debug={true|false} to toggle between release/debug builds (default=true).
- nunit={true|false} to include or esclude unit tests (default=true).
- Also the target clean will remove binaries.
- Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release
- or ./DotZLib/bin/debug, depending on whether you are building the release
- or debug version of the library.
-
- Examples:
- nant -D:debug=false -D:nunit=false
- will build a release mode version of the library without unit tests.
- nant
- will build a debug version of the library with unit tests
- nant clean
- will remove all previously built files.
-
-
----------------------------------
-Copyright (c) Henrik Ravn 2004
-
-Use, modification and distribution are subject to the Boost Software License, Version 1.0.
-(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
diff --git a/tcl8.6/compat/zlib/contrib/gcc_gvmat64/gvmat64.S b/tcl8.6/compat/zlib/contrib/gcc_gvmat64/gvmat64.S
deleted file mode 100644
index dd858dd..0000000
--- a/tcl8.6/compat/zlib/contrib/gcc_gvmat64/gvmat64.S
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
-;uInt longest_match_x64(
-; deflate_state *s,
-; IPos cur_match); // current match
-
-; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64
-; (AMD64 on Athlon 64, Opteron, Phenom
-; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
-; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode)
-; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
-;
-; File written by Gilles Vollant, by converting to assembly the longest_match
-; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
-; and by taking inspiration on asm686 with masm, optimised assembly code
-; from Brian Raiter, written 1998
-;
-; This software is provided 'as-is', without any express or implied
-; warranty. In no event will the authors be held liable for any damages
-; arising from the use of this software.
-;
-; Permission is granted to anyone to use this software for any purpose,
-; including commercial applications, and to alter it and redistribute it
-; freely, subject to the following restrictions:
-;
-; 1. The origin of this software must not be misrepresented; you must not
-; claim that you wrote the original software. If you use this software
-; in a product, an acknowledgment in the product documentation would be
-; appreciated but is not required.
-; 2. Altered source versions must be plainly marked as such, and must not be
-; misrepresented as being the original software
-; 3. This notice may not be removed or altered from any source distribution.
-;
-; http://www.zlib.net
-; http://www.winimage.com/zLibDll
-; http://www.muppetlabs.com/~breadbox/software/assembly.html
-;
-; to compile this file for zLib, I use option:
-; gcc -c -arch x86_64 gvmat64.S
-
-
-;uInt longest_match(s, cur_match)
-; deflate_state *s;
-; IPos cur_match; // current match /
-;
-; with XCode for Mac, I had strange error with some jump on intel syntax
-; this is why BEFORE_JMP and AFTER_JMP are used
- */
-
-
-#define BEFORE_JMP .att_syntax
-#define AFTER_JMP .intel_syntax noprefix
-
-#ifndef NO_UNDERLINE
-# define match_init _match_init
-# define longest_match _longest_match
-#endif
-
-.intel_syntax noprefix
-
-.globl match_init, longest_match
-.text
-longest_match:
-
-
-
-#define LocalVarsSize 96
-/*
-; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12
-; free register : r14,r15
-; register can be saved : rsp
-*/
-
-#define chainlenwmask (rsp + 8 - LocalVarsSize)
-#define nicematch (rsp + 16 - LocalVarsSize)
-
-#define save_rdi (rsp + 24 - LocalVarsSize)
-#define save_rsi (rsp + 32 - LocalVarsSize)
-#define save_rbx (rsp + 40 - LocalVarsSize)
-#define save_rbp (rsp + 48 - LocalVarsSize)
-#define save_r12 (rsp + 56 - LocalVarsSize)
-#define save_r13 (rsp + 64 - LocalVarsSize)
-#define save_r14 (rsp + 72 - LocalVarsSize)
-#define save_r15 (rsp + 80 - LocalVarsSize)
-
-
-/*
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib
-; in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, remove the +4).
-; Note : these value are good with a 8 bytes boundary pack structure
-*/
-
-#define MAX_MATCH 258
-#define MIN_MATCH 3
-#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
-
-/*
-;;; Offsets for fields in the deflate_state structure. These numbers
-;;; are calculated from the definition of deflate_state, with the
-;;; assumption that the compiler will dword-align the fields. (Thus,
-;;; changing the definition of deflate_state could easily cause this
-;;; program to crash horribly, without so much as a warning at
-;;; compile time. Sigh.)
-
-; all the +zlib1222add offsets are due to the addition of fields
-; in zlib in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
-; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
-; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
-*/
-
-
-
-/* you can check the structure offset by running
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "deflate.h"
-
-void print_depl()
-{
-deflate_state ds;
-deflate_state *s=&ds;
-printf("size pointer=%u\n",(int)sizeof(void*));
-
-printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s)));
-printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s)));
-printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s)));
-printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s)));
-printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s)));
-printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s)));
-printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s)));
-printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s)));
-printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s)));
-printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s)));
-printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s)));
-printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s)));
-printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s)));
-}
-*/
-
-#define dsWSize 68
-#define dsWMask 76
-#define dsWindow 80
-#define dsPrev 96
-#define dsMatchLen 144
-#define dsPrevMatch 148
-#define dsStrStart 156
-#define dsMatchStart 160
-#define dsLookahead 164
-#define dsPrevLen 168
-#define dsMaxChainLen 172
-#define dsGoodMatch 188
-#define dsNiceMatch 192
-
-#define window_size [ rcx + dsWSize]
-#define WMask [ rcx + dsWMask]
-#define window_ad [ rcx + dsWindow]
-#define prev_ad [ rcx + dsPrev]
-#define strstart [ rcx + dsStrStart]
-#define match_start [ rcx + dsMatchStart]
-#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip
-#define prev_length [ rcx + dsPrevLen]
-#define max_chain_length [ rcx + dsMaxChainLen]
-#define good_match [ rcx + dsGoodMatch]
-#define nice_match [ rcx + dsNiceMatch]
-
-/*
-; windows:
-; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match)
-
-; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
-; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
-;
-; All registers must be preserved across the call, except for
-; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
-
-;
-; gcc on macosx-linux:
-; see http://www.x86-64.org/documentation/abi-0.99.pdf
-; param 1 in rdi, param 2 in rsi
-; rbx, rsp, rbp, r12 to r15 must be preserved
-
-;;; Save registers that the compiler may be using, and adjust esp to
-;;; make room for our stack frame.
-
-
-;;; Retrieve the function arguments. r8d will hold cur_match
-;;; throughout the entire function. edx will hold the pointer to the
-;;; deflate_state structure during the function's setup (before
-;;; entering the main loop.
-
-; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match)
-; mac: param 1 in rdi, param 2 rsi
-; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
-*/
- mov [save_rbx],rbx
- mov [save_rbp],rbp
-
-
- mov rcx,rdi
-
- mov r8d,esi
-
-
- mov [save_r12],r12
- mov [save_r13],r13
- mov [save_r14],r14
- mov [save_r15],r15
-
-
-//;;; uInt wmask = s->w_mask;
-//;;; unsigned chain_length = s->max_chain_length;
-//;;; if (s->prev_length >= s->good_match) {
-//;;; chain_length >>= 2;
-//;;; }
-
-
- mov edi, prev_length
- mov esi, good_match
- mov eax, WMask
- mov ebx, max_chain_length
- cmp edi, esi
- jl LastMatchGood
- shr ebx, 2
-LastMatchGood:
-
-//;;; chainlen is decremented once beforehand so that the function can
-//;;; use the sign flag instead of the zero flag for the exit test.
-//;;; It is then shifted into the high word, to make room for the wmask
-//;;; value, which it will always accompany.
-
- dec ebx
- shl ebx, 16
- or ebx, eax
-
-//;;; on zlib only
-//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
-
-
- mov eax, nice_match
- mov [chainlenwmask], ebx
- mov r10d, Lookahead
- cmp r10d, eax
- cmovnl r10d, eax
- mov [nicematch],r10d
-
-
-
-//;;; register Bytef *scan = s->window + s->strstart;
- mov r10, window_ad
- mov ebp, strstart
- lea r13, [r10 + rbp]
-
-//;;; Determine how many bytes the scan ptr is off from being
-//;;; dword-aligned.
-
- mov r9,r13
- neg r13
- and r13,3
-
-//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
-//;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
-
-
- mov eax, window_size
- sub eax, MIN_LOOKAHEAD
-
-
- xor edi,edi
- sub ebp, eax
-
- mov r11d, prev_length
-
- cmovng ebp,edi
-
-//;;; int best_len = s->prev_length;
-
-
-//;;; Store the sum of s->window + best_len in esi locally, and in esi.
-
- lea rsi,[r10+r11]
-
-//;;; register ush scan_start = *(ushf*)scan;
-//;;; register ush scan_end = *(ushf*)(scan+best_len-1);
-//;;; Posf *prev = s->prev;
-
- movzx r12d,word ptr [r9]
- movzx ebx, word ptr [r9 + r11 - 1]
-
- mov rdi, prev_ad
-
-//;;; Jump into the main loop.
-
- mov edx, [chainlenwmask]
-
- cmp bx,word ptr [rsi + r8 - 1]
- jz LookupLoopIsZero
-
-
-
-LookupLoop1:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- jbe LeaveNow
-
-
-
- sub edx, 0x00010000
- BEFORE_JMP
- js LeaveNow
- AFTER_JMP
-
-LoopEntry1:
- cmp bx,word ptr [rsi + r8 - 1]
- BEFORE_JMP
- jz LookupLoopIsZero
- AFTER_JMP
-
-LookupLoop2:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- BEFORE_JMP
- jbe LeaveNow
- AFTER_JMP
- sub edx, 0x00010000
- BEFORE_JMP
- js LeaveNow
- AFTER_JMP
-
-LoopEntry2:
- cmp bx,word ptr [rsi + r8 - 1]
- BEFORE_JMP
- jz LookupLoopIsZero
- AFTER_JMP
-
-LookupLoop4:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- BEFORE_JMP
- jbe LeaveNow
- AFTER_JMP
- sub edx, 0x00010000
- BEFORE_JMP
- js LeaveNow
- AFTER_JMP
-
-LoopEntry4:
-
- cmp bx,word ptr [rsi + r8 - 1]
- BEFORE_JMP
- jnz LookupLoop1
- jmp LookupLoopIsZero
- AFTER_JMP
-/*
-;;; do {
-;;; match = s->window + cur_match;
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||
-;;; *(ushf*)match != scan_start) continue;
-;;; [...]
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit
-;;; && --chain_length != 0);
-;;;
-;;; Here is the inner loop of the function. The function will spend the
-;;; majority of its time in this loop, and majority of that time will
-;;; be spent in the first ten instructions.
-;;;
-;;; Within this loop:
-;;; ebx = scanend
-;;; r8d = curmatch
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
-;;; esi = windowbestlen - i.e., (window + bestlen)
-;;; edi = prev
-;;; ebp = limit
-*/
-.balign 16
-LookupLoop:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- BEFORE_JMP
- jbe LeaveNow
- AFTER_JMP
- sub edx, 0x00010000
- BEFORE_JMP
- js LeaveNow
- AFTER_JMP
-
-LoopEntry:
-
- cmp bx,word ptr [rsi + r8 - 1]
- BEFORE_JMP
- jnz LookupLoop1
- AFTER_JMP
-LookupLoopIsZero:
- cmp r12w, word ptr [r10 + r8]
- BEFORE_JMP
- jnz LookupLoop1
- AFTER_JMP
-
-
-//;;; Store the current value of chainlen.
- mov [chainlenwmask], edx
-/*
-;;; Point edi to the string under scrutiny, and esi to the string we
-;;; are hoping to match it up with. In actuality, esi and edi are
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
-;;; initialized to -(MAX_MATCH_8 - scanalign).
-*/
- lea rsi,[r8+r10]
- mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8)
- lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8]
- lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8]
-
- prefetcht1 [rsi+rdx]
- prefetcht1 [rdi+rdx]
-
-/*
-;;; Test the strings for equality, 8 bytes at a time. At the end,
-;;; adjust rdx so that it is offset to the exact byte that mismatched.
-;;;
-;;; We already know at this point that the first three bytes of the
-;;; strings match each other, and they can be safely passed over before
-;;; starting the compare loop. So what this code does is skip over 0-3
-;;; bytes, as much as necessary in order to dword-align the edi
-;;; pointer. (rsi will still be misaligned three times out of four.)
-;;;
-;;; It should be confessed that this loop usually does not represent
-;;; much of the total running time. Replacing it with a more
-;;; straightforward "rep cmpsb" would not drastically degrade
-;;; performance.
-*/
-
-LoopCmps:
- mov rax, [rsi + rdx]
- xor rax, [rdi + rdx]
- jnz LeaveLoopCmps
-
- mov rax, [rsi + rdx + 8]
- xor rax, [rdi + rdx + 8]
- jnz LeaveLoopCmps8
-
-
- mov rax, [rsi + rdx + 8+8]
- xor rax, [rdi + rdx + 8+8]
- jnz LeaveLoopCmps16
-
- add rdx,8+8+8
-
- BEFORE_JMP
- jnz LoopCmps
- jmp LenMaximum
- AFTER_JMP
-
-LeaveLoopCmps16: add rdx,8
-LeaveLoopCmps8: add rdx,8
-LeaveLoopCmps:
-
- test eax, 0x0000FFFF
- jnz LenLower
-
- test eax,0xffffffff
-
- jnz LenLower32
-
- add rdx,4
- shr rax,32
- or ax,ax
- BEFORE_JMP
- jnz LenLower
- AFTER_JMP
-
-LenLower32:
- shr eax,16
- add rdx,2
-
-LenLower:
- sub al, 1
- adc rdx, 0
-//;;; Calculate the length of the match. If it is longer than MAX_MATCH,
-//;;; then automatically accept it as the best possible match and leave.
-
- lea rax, [rdi + rdx]
- sub rax, r9
- cmp eax, MAX_MATCH
- BEFORE_JMP
- jge LenMaximum
- AFTER_JMP
-/*
-;;; If the length of the match is not longer than the best match we
-;;; have so far, then forget it and return to the lookup loop.
-;///////////////////////////////////
-*/
- cmp eax, r11d
- jg LongerMatch
-
- lea rsi,[r10+r11]
-
- mov rdi, prev_ad
- mov edx, [chainlenwmask]
- BEFORE_JMP
- jmp LookupLoop
- AFTER_JMP
-/*
-;;; s->match_start = cur_match;
-;;; best_len = len;
-;;; if (len >= nice_match) break;
-;;; scan_end = *(ushf*)(scan+best_len-1);
-*/
-LongerMatch:
- mov r11d, eax
- mov match_start, r8d
- cmp eax, [nicematch]
- BEFORE_JMP
- jge LeaveNow
- AFTER_JMP
-
- lea rsi,[r10+rax]
-
- movzx ebx, word ptr [r9 + rax - 1]
- mov rdi, prev_ad
- mov edx, [chainlenwmask]
- BEFORE_JMP
- jmp LookupLoop
- AFTER_JMP
-
-//;;; Accept the current string, with the maximum possible length.
-
-LenMaximum:
- mov r11d,MAX_MATCH
- mov match_start, r8d
-
-//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
-//;;; return s->lookahead;
-
-LeaveNow:
- mov eax, Lookahead
- cmp r11d, eax
- cmovng eax, r11d
-
-
-
-//;;; Restore the stack and return from whence we came.
-
-
-// mov rsi,[save_rsi]
-// mov rdi,[save_rdi]
- mov rbx,[save_rbx]
- mov rbp,[save_rbp]
- mov r12,[save_r12]
- mov r13,[save_r13]
- mov r14,[save_r14]
- mov r15,[save_r15]
-
-
- ret 0
-//; please don't remove this string !
-//; Your can freely use gvmat64 in any free or commercial app
-//; but it is far better don't remove the string in the binary!
- // db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
-
-
-match_init:
- ret 0
-
-
diff --git a/tcl8.6/compat/zlib/contrib/infback9/README b/tcl8.6/compat/zlib/contrib/infback9/README
deleted file mode 100644
index e75ed13..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/README
+++ /dev/null
@@ -1 +0,0 @@
-See infback9.h for what this is and how to use it.
diff --git a/tcl8.6/compat/zlib/contrib/infback9/infback9.c b/tcl8.6/compat/zlib/contrib/infback9/infback9.c
deleted file mode 100644
index 05fb3e3..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/infback9.c
+++ /dev/null
@@ -1,615 +0,0 @@
-/* infback9.c -- inflate deflate64 data using a call-back interface
- * Copyright (C) 1995-2008 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "infback9.h"
-#include "inftree9.h"
-#include "inflate9.h"
-
-#define WSIZE 65536UL
-
-/*
- strm provides memory allocation functions in zalloc and zfree, or
- Z_NULL to use the library memory allocation functions.
-
- window is a user-supplied window and output buffer that is 64K bytes.
- */
-int ZEXPORT inflateBack9Init_(strm, window, version, stream_size)
-z_stream FAR *strm;
-unsigned char FAR *window;
-const char *version;
-int stream_size;
-{
- struct inflate_state FAR *state;
-
- if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
- stream_size != (int)(sizeof(z_stream)))
- return Z_VERSION_ERROR;
- if (strm == Z_NULL || window == Z_NULL)
- return Z_STREAM_ERROR;
- strm->msg = Z_NULL; /* in case we return an error */
- if (strm->zalloc == (alloc_func)0) {
- strm->zalloc = zcalloc;
- strm->opaque = (voidpf)0;
- }
- if (strm->zfree == (free_func)0) strm->zfree = zcfree;
- state = (struct inflate_state FAR *)ZALLOC(strm, 1,
- sizeof(struct inflate_state));
- if (state == Z_NULL) return Z_MEM_ERROR;
- Tracev((stderr, "inflate: allocated\n"));
- strm->state = (voidpf)state;
- state->window = window;
- return Z_OK;
-}
-
-/*
- Build and output length and distance decoding tables for fixed code
- decoding.
- */
-#ifdef MAKEFIXED
-#include <stdio.h>
-
-void makefixed9(void)
-{
- unsigned sym, bits, low, size;
- code *next, *lenfix, *distfix;
- struct inflate_state state;
- code fixed[544];
-
- /* literal/length table */
- sym = 0;
- while (sym < 144) state.lens[sym++] = 8;
- while (sym < 256) state.lens[sym++] = 9;
- while (sym < 280) state.lens[sym++] = 7;
- while (sym < 288) state.lens[sym++] = 8;
- next = fixed;
- lenfix = next;
- bits = 9;
- inflate_table9(LENS, state.lens, 288, &(next), &(bits), state.work);
-
- /* distance table */
- sym = 0;
- while (sym < 32) state.lens[sym++] = 5;
- distfix = next;
- bits = 5;
- inflate_table9(DISTS, state.lens, 32, &(next), &(bits), state.work);
-
- /* write tables */
- puts(" /* inffix9.h -- table for decoding deflate64 fixed codes");
- puts(" * Generated automatically by makefixed9().");
- puts(" */");
- puts("");
- puts(" /* WARNING: this file should *not* be used by applications.");
- puts(" It is part of the implementation of this library and is");
- puts(" subject to change. Applications should only use zlib.h.");
- puts(" */");
- puts("");
- size = 1U << 9;
- printf(" static const code lenfix[%u] = {", size);
- low = 0;
- for (;;) {
- if ((low % 6) == 0) printf("\n ");
- printf("{%u,%u,%d}", lenfix[low].op, lenfix[low].bits,
- lenfix[low].val);
- if (++low == size) break;
- putchar(',');
- }
- puts("\n };");
- size = 1U << 5;
- printf("\n static const code distfix[%u] = {", size);
- low = 0;
- for (;;) {
- if ((low % 5) == 0) printf("\n ");
- printf("{%u,%u,%d}", distfix[low].op, distfix[low].bits,
- distfix[low].val);
- if (++low == size) break;
- putchar(',');
- }
- puts("\n };");
-}
-#endif /* MAKEFIXED */
-
-/* Macros for inflateBack(): */
-
-/* Clear the input bit accumulator */
-#define INITBITS() \
- do { \
- hold = 0; \
- bits = 0; \
- } while (0)
-
-/* Assure that some input is available. If input is requested, but denied,
- then return a Z_BUF_ERROR from inflateBack(). */
-#define PULL() \
- do { \
- if (have == 0) { \
- have = in(in_desc, &next); \
- if (have == 0) { \
- next = Z_NULL; \
- ret = Z_BUF_ERROR; \
- goto inf_leave; \
- } \
- } \
- } while (0)
-
-/* Get a byte of input into the bit accumulator, or return from inflateBack()
- with an error if there is no input available. */
-#define PULLBYTE() \
- do { \
- PULL(); \
- have--; \
- hold += (unsigned long)(*next++) << bits; \
- bits += 8; \
- } while (0)
-
-/* Assure that there are at least n bits in the bit accumulator. If there is
- not enough available input to do that, then return from inflateBack() with
- an error. */
-#define NEEDBITS(n) \
- do { \
- while (bits < (unsigned)(n)) \
- PULLBYTE(); \
- } while (0)
-
-/* Return the low n bits of the bit accumulator (n <= 16) */
-#define BITS(n) \
- ((unsigned)hold & ((1U << (n)) - 1))
-
-/* Remove n bits from the bit accumulator */
-#define DROPBITS(n) \
- do { \
- hold >>= (n); \
- bits -= (unsigned)(n); \
- } while (0)
-
-/* Remove zero to seven bits as needed to go to a byte boundary */
-#define BYTEBITS() \
- do { \
- hold >>= bits & 7; \
- bits -= bits & 7; \
- } while (0)
-
-/* Assure that some output space is available, by writing out the window
- if it's full. If the write fails, return from inflateBack() with a
- Z_BUF_ERROR. */
-#define ROOM() \
- do { \
- if (left == 0) { \
- put = window; \
- left = WSIZE; \
- wrap = 1; \
- if (out(out_desc, put, (unsigned)left)) { \
- ret = Z_BUF_ERROR; \
- goto inf_leave; \
- } \
- } \
- } while (0)
-
-/*
- strm provides the memory allocation functions and window buffer on input,
- and provides information on the unused input on return. For Z_DATA_ERROR
- returns, strm will also provide an error message.
-
- in() and out() are the call-back input and output functions. When
- inflateBack() needs more input, it calls in(). When inflateBack() has
- filled the window with output, or when it completes with data in the
- window, it calls out() to write out the data. The application must not
- change the provided input until in() is called again or inflateBack()
- returns. The application must not change the window/output buffer until
- inflateBack() returns.
-
- in() and out() are called with a descriptor parameter provided in the
- inflateBack() call. This parameter can be a structure that provides the
- information required to do the read or write, as well as accumulated
- information on the input and output such as totals and check values.
-
- in() should return zero on failure. out() should return non-zero on
- failure. If either in() or out() fails, than inflateBack() returns a
- Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
- was in() or out() that caused in the error. Otherwise, inflateBack()
- returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
- error, or Z_MEM_ERROR if it could not allocate memory for the state.
- inflateBack() can also return Z_STREAM_ERROR if the input parameters
- are not correct, i.e. strm is Z_NULL or the state was not initialized.
- */
-int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc)
-z_stream FAR *strm;
-in_func in;
-void FAR *in_desc;
-out_func out;
-void FAR *out_desc;
-{
- struct inflate_state FAR *state;
- z_const unsigned char FAR *next; /* next input */
- unsigned char FAR *put; /* next output */
- unsigned have; /* available input */
- unsigned long left; /* available output */
- inflate_mode mode; /* current inflate mode */
- int lastblock; /* true if processing last block */
- int wrap; /* true if the window has wrapped */
- unsigned char FAR *window; /* allocated sliding window, if needed */
- unsigned long hold; /* bit buffer */
- unsigned bits; /* bits in bit buffer */
- unsigned extra; /* extra bits needed */
- unsigned long length; /* literal or length of data to copy */
- unsigned long offset; /* distance back to copy string from */
- unsigned long copy; /* number of stored or match bytes to copy */
- unsigned char FAR *from; /* where to copy match bytes from */
- code const FAR *lencode; /* starting table for length/literal codes */
- code const FAR *distcode; /* starting table for distance codes */
- unsigned lenbits; /* index bits for lencode */
- unsigned distbits; /* index bits for distcode */
- code here; /* current decoding table entry */
- code last; /* parent table entry */
- unsigned len; /* length to copy for repeats, bits to drop */
- int ret; /* return code */
- static const unsigned short order[19] = /* permutation of code lengths */
- {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
-#include "inffix9.h"
-
- /* Check that the strm exists and that the state was initialized */
- if (strm == Z_NULL || strm->state == Z_NULL)
- return Z_STREAM_ERROR;
- state = (struct inflate_state FAR *)strm->state;
-
- /* Reset the state */
- strm->msg = Z_NULL;
- mode = TYPE;
- lastblock = 0;
- wrap = 0;
- window = state->window;
- next = strm->next_in;
- have = next != Z_NULL ? strm->avail_in : 0;
- hold = 0;
- bits = 0;
- put = window;
- left = WSIZE;
- lencode = Z_NULL;
- distcode = Z_NULL;
-
- /* Inflate until end of block marked as last */
- for (;;)
- switch (mode) {
- case TYPE:
- /* determine and dispatch block type */
- if (lastblock) {
- BYTEBITS();
- mode = DONE;
- break;
- }
- NEEDBITS(3);
- lastblock = BITS(1);
- DROPBITS(1);
- switch (BITS(2)) {
- case 0: /* stored block */
- Tracev((stderr, "inflate: stored block%s\n",
- lastblock ? " (last)" : ""));
- mode = STORED;
- break;
- case 1: /* fixed block */
- lencode = lenfix;
- lenbits = 9;
- distcode = distfix;
- distbits = 5;
- Tracev((stderr, "inflate: fixed codes block%s\n",
- lastblock ? " (last)" : ""));
- mode = LEN; /* decode codes */
- break;
- case 2: /* dynamic block */
- Tracev((stderr, "inflate: dynamic codes block%s\n",
- lastblock ? " (last)" : ""));
- mode = TABLE;
- break;
- case 3:
- strm->msg = (char *)"invalid block type";
- mode = BAD;
- }
- DROPBITS(2);
- break;
-
- case STORED:
- /* get and verify stored block length */
- BYTEBITS(); /* go to byte boundary */
- NEEDBITS(32);
- if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
- strm->msg = (char *)"invalid stored block lengths";
- mode = BAD;
- break;
- }
- length = (unsigned)hold & 0xffff;
- Tracev((stderr, "inflate: stored length %lu\n",
- length));
- INITBITS();
-
- /* copy stored block from input to output */
- while (length != 0) {
- copy = length;
- PULL();
- ROOM();
- if (copy > have) copy = have;
- if (copy > left) copy = left;
- zmemcpy(put, next, copy);
- have -= copy;
- next += copy;
- left -= copy;
- put += copy;
- length -= copy;
- }
- Tracev((stderr, "inflate: stored end\n"));
- mode = TYPE;
- break;
-
- case TABLE:
- /* get dynamic table entries descriptor */
- NEEDBITS(14);
- state->nlen = BITS(5) + 257;
- DROPBITS(5);
- state->ndist = BITS(5) + 1;
- DROPBITS(5);
- state->ncode = BITS(4) + 4;
- DROPBITS(4);
- if (state->nlen > 286) {
- strm->msg = (char *)"too many length symbols";
- mode = BAD;
- break;
- }
- Tracev((stderr, "inflate: table sizes ok\n"));
-
- /* get code length code lengths (not a typo) */
- state->have = 0;
- while (state->have < state->ncode) {
- NEEDBITS(3);
- state->lens[order[state->have++]] = (unsigned short)BITS(3);
- DROPBITS(3);
- }
- while (state->have < 19)
- state->lens[order[state->have++]] = 0;
- state->next = state->codes;
- lencode = (code const FAR *)(state->next);
- lenbits = 7;
- ret = inflate_table9(CODES, state->lens, 19, &(state->next),
- &(lenbits), state->work);
- if (ret) {
- strm->msg = (char *)"invalid code lengths set";
- mode = BAD;
- break;
- }
- Tracev((stderr, "inflate: code lengths ok\n"));
-
- /* get length and distance code code lengths */
- state->have = 0;
- while (state->have < state->nlen + state->ndist) {
- for (;;) {
- here = lencode[BITS(lenbits)];
- if ((unsigned)(here.bits) <= bits) break;
- PULLBYTE();
- }
- if (here.val < 16) {
- NEEDBITS(here.bits);
- DROPBITS(here.bits);
- state->lens[state->have++] = here.val;
- }
- else {
- if (here.val == 16) {
- NEEDBITS(here.bits + 2);
- DROPBITS(here.bits);
- if (state->have == 0) {
- strm->msg = (char *)"invalid bit length repeat";
- mode = BAD;
- break;
- }
- len = (unsigned)(state->lens[state->have - 1]);
- copy = 3 + BITS(2);
- DROPBITS(2);
- }
- else if (here.val == 17) {
- NEEDBITS(here.bits + 3);
- DROPBITS(here.bits);
- len = 0;
- copy = 3 + BITS(3);
- DROPBITS(3);
- }
- else {
- NEEDBITS(here.bits + 7);
- DROPBITS(here.bits);
- len = 0;
- copy = 11 + BITS(7);
- DROPBITS(7);
- }
- if (state->have + copy > state->nlen + state->ndist) {
- strm->msg = (char *)"invalid bit length repeat";
- mode = BAD;
- break;
- }
- while (copy--)
- state->lens[state->have++] = (unsigned short)len;
- }
- }
-
- /* handle error breaks in while */
- if (mode == BAD) break;
-
- /* check for end-of-block code (better have one) */
- if (state->lens[256] == 0) {
- strm->msg = (char *)"invalid code -- missing end-of-block";
- mode = BAD;
- break;
- }
-
- /* build code tables -- note: do not change the lenbits or distbits
- values here (9 and 6) without reading the comments in inftree9.h
- concerning the ENOUGH constants, which depend on those values */
- state->next = state->codes;
- lencode = (code const FAR *)(state->next);
- lenbits = 9;
- ret = inflate_table9(LENS, state->lens, state->nlen,
- &(state->next), &(lenbits), state->work);
- if (ret) {
- strm->msg = (char *)"invalid literal/lengths set";
- mode = BAD;
- break;
- }
- distcode = (code const FAR *)(state->next);
- distbits = 6;
- ret = inflate_table9(DISTS, state->lens + state->nlen,
- state->ndist, &(state->next), &(distbits),
- state->work);
- if (ret) {
- strm->msg = (char *)"invalid distances set";
- mode = BAD;
- break;
- }
- Tracev((stderr, "inflate: codes ok\n"));
- mode = LEN;
-
- case LEN:
- /* get a literal, length, or end-of-block code */
- for (;;) {
- here = lencode[BITS(lenbits)];
- if ((unsigned)(here.bits) <= bits) break;
- PULLBYTE();
- }
- if (here.op && (here.op & 0xf0) == 0) {
- last = here;
- for (;;) {
- here = lencode[last.val +
- (BITS(last.bits + last.op) >> last.bits)];
- if ((unsigned)(last.bits + here.bits) <= bits) break;
- PULLBYTE();
- }
- DROPBITS(last.bits);
- }
- DROPBITS(here.bits);
- length = (unsigned)here.val;
-
- /* process literal */
- if (here.op == 0) {
- Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
- "inflate: literal '%c'\n" :
- "inflate: literal 0x%02x\n", here.val));
- ROOM();
- *put++ = (unsigned char)(length);
- left--;
- mode = LEN;
- break;
- }
-
- /* process end of block */
- if (here.op & 32) {
- Tracevv((stderr, "inflate: end of block\n"));
- mode = TYPE;
- break;
- }
-
- /* invalid code */
- if (here.op & 64) {
- strm->msg = (char *)"invalid literal/length code";
- mode = BAD;
- break;
- }
-
- /* length code -- get extra bits, if any */
- extra = (unsigned)(here.op) & 31;
- if (extra != 0) {
- NEEDBITS(extra);
- length += BITS(extra);
- DROPBITS(extra);
- }
- Tracevv((stderr, "inflate: length %lu\n", length));
-
- /* get distance code */
- for (;;) {
- here = distcode[BITS(distbits)];
- if ((unsigned)(here.bits) <= bits) break;
- PULLBYTE();
- }
- if ((here.op & 0xf0) == 0) {
- last = here;
- for (;;) {
- here = distcode[last.val +
- (BITS(last.bits + last.op) >> last.bits)];
- if ((unsigned)(last.bits + here.bits) <= bits) break;
- PULLBYTE();
- }
- DROPBITS(last.bits);
- }
- DROPBITS(here.bits);
- if (here.op & 64) {
- strm->msg = (char *)"invalid distance code";
- mode = BAD;
- break;
- }
- offset = (unsigned)here.val;
-
- /* get distance extra bits, if any */
- extra = (unsigned)(here.op) & 15;
- if (extra != 0) {
- NEEDBITS(extra);
- offset += BITS(extra);
- DROPBITS(extra);
- }
- if (offset > WSIZE - (wrap ? 0: left)) {
- strm->msg = (char *)"invalid distance too far back";
- mode = BAD;
- break;
- }
- Tracevv((stderr, "inflate: distance %lu\n", offset));
-
- /* copy match from window to output */
- do {
- ROOM();
- copy = WSIZE - offset;
- if (copy < left) {
- from = put + copy;
- copy = left - copy;
- }
- else {
- from = put - offset;
- copy = left;
- }
- if (copy > length) copy = length;
- length -= copy;
- left -= copy;
- do {
- *put++ = *from++;
- } while (--copy);
- } while (length != 0);
- break;
-
- case DONE:
- /* inflate stream terminated properly -- write leftover output */
- ret = Z_STREAM_END;
- if (left < WSIZE) {
- if (out(out_desc, window, (unsigned)(WSIZE - left)))
- ret = Z_BUF_ERROR;
- }
- goto inf_leave;
-
- case BAD:
- ret = Z_DATA_ERROR;
- goto inf_leave;
-
- default: /* can't happen, but makes compilers happy */
- ret = Z_STREAM_ERROR;
- goto inf_leave;
- }
-
- /* Return unused input */
- inf_leave:
- strm->next_in = next;
- strm->avail_in = have;
- return ret;
-}
-
-int ZEXPORT inflateBack9End(strm)
-z_stream FAR *strm;
-{
- if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
- return Z_STREAM_ERROR;
- ZFREE(strm, strm->state);
- strm->state = Z_NULL;
- Tracev((stderr, "inflate: end\n"));
- return Z_OK;
-}
diff --git a/tcl8.6/compat/zlib/contrib/infback9/infback9.h b/tcl8.6/compat/zlib/contrib/infback9/infback9.h
deleted file mode 100644
index 1073c0a..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/infback9.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* infback9.h -- header for using inflateBack9 functions
- * Copyright (C) 2003 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/*
- * This header file and associated patches provide a decoder for PKWare's
- * undocumented deflate64 compression method (method 9). Use with infback9.c,
- * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported.
- * This should be compiled with zlib, since it uses zutil.h and zutil.o.
- * This code has not yet been tested on 16-bit architectures. See the
- * comments in zlib.h for inflateBack() usage. These functions are used
- * identically, except that there is no windowBits parameter, and a 64K
- * window must be provided. Also if int's are 16 bits, then a zero for
- * the third parameter of the "out" function actually means 65536UL.
- * zlib.h must be included before this header file.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm));
-ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define inflateBack9Init(strm, window) \
- inflateBack9Init_((strm), (window), \
- ZLIB_VERSION, sizeof(z_stream))
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/infback9/inffix9.h b/tcl8.6/compat/zlib/contrib/infback9/inffix9.h
deleted file mode 100644
index ee5671d..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/inffix9.h
+++ /dev/null
@@ -1,107 +0,0 @@
- /* inffix9.h -- table for decoding deflate64 fixed codes
- * Generated automatically by makefixed9().
- */
-
- /* WARNING: this file should *not* be used by applications.
- It is part of the implementation of this library and is
- subject to change. Applications should only use zlib.h.
- */
-
- static const code lenfix[512] = {
- {96,7,0},{0,8,80},{0,8,16},{132,8,115},{130,7,31},{0,8,112},
- {0,8,48},{0,9,192},{128,7,10},{0,8,96},{0,8,32},{0,9,160},
- {0,8,0},{0,8,128},{0,8,64},{0,9,224},{128,7,6},{0,8,88},
- {0,8,24},{0,9,144},{131,7,59},{0,8,120},{0,8,56},{0,9,208},
- {129,7,17},{0,8,104},{0,8,40},{0,9,176},{0,8,8},{0,8,136},
- {0,8,72},{0,9,240},{128,7,4},{0,8,84},{0,8,20},{133,8,227},
- {131,7,43},{0,8,116},{0,8,52},{0,9,200},{129,7,13},{0,8,100},
- {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},
- {128,7,8},{0,8,92},{0,8,28},{0,9,152},{132,7,83},{0,8,124},
- {0,8,60},{0,9,216},{130,7,23},{0,8,108},{0,8,44},{0,9,184},
- {0,8,12},{0,8,140},{0,8,76},{0,9,248},{128,7,3},{0,8,82},
- {0,8,18},{133,8,163},{131,7,35},{0,8,114},{0,8,50},{0,9,196},
- {129,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2},{0,8,130},
- {0,8,66},{0,9,228},{128,7,7},{0,8,90},{0,8,26},{0,9,148},
- {132,7,67},{0,8,122},{0,8,58},{0,9,212},{130,7,19},{0,8,106},
- {0,8,42},{0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},
- {128,7,5},{0,8,86},{0,8,22},{65,8,0},{131,7,51},{0,8,118},
- {0,8,54},{0,9,204},{129,7,15},{0,8,102},{0,8,38},{0,9,172},
- {0,8,6},{0,8,134},{0,8,70},{0,9,236},{128,7,9},{0,8,94},
- {0,8,30},{0,9,156},{132,7,99},{0,8,126},{0,8,62},{0,9,220},
- {130,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142},
- {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{133,8,131},
- {130,7,31},{0,8,113},{0,8,49},{0,9,194},{128,7,10},{0,8,97},
- {0,8,33},{0,9,162},{0,8,1},{0,8,129},{0,8,65},{0,9,226},
- {128,7,6},{0,8,89},{0,8,25},{0,9,146},{131,7,59},{0,8,121},
- {0,8,57},{0,9,210},{129,7,17},{0,8,105},{0,8,41},{0,9,178},
- {0,8,9},{0,8,137},{0,8,73},{0,9,242},{128,7,4},{0,8,85},
- {0,8,21},{144,8,3},{131,7,43},{0,8,117},{0,8,53},{0,9,202},
- {129,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},
- {0,8,69},{0,9,234},{128,7,8},{0,8,93},{0,8,29},{0,9,154},
- {132,7,83},{0,8,125},{0,8,61},{0,9,218},{130,7,23},{0,8,109},
- {0,8,45},{0,9,186},{0,8,13},{0,8,141},{0,8,77},{0,9,250},
- {128,7,3},{0,8,83},{0,8,19},{133,8,195},{131,7,35},{0,8,115},
- {0,8,51},{0,9,198},{129,7,11},{0,8,99},{0,8,35},{0,9,166},
- {0,8,3},{0,8,131},{0,8,67},{0,9,230},{128,7,7},{0,8,91},
- {0,8,27},{0,9,150},{132,7,67},{0,8,123},{0,8,59},{0,9,214},
- {130,7,19},{0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},
- {0,8,75},{0,9,246},{128,7,5},{0,8,87},{0,8,23},{77,8,0},
- {131,7,51},{0,8,119},{0,8,55},{0,9,206},{129,7,15},{0,8,103},
- {0,8,39},{0,9,174},{0,8,7},{0,8,135},{0,8,71},{0,9,238},
- {128,7,9},{0,8,95},{0,8,31},{0,9,158},{132,7,99},{0,8,127},
- {0,8,63},{0,9,222},{130,7,27},{0,8,111},{0,8,47},{0,9,190},
- {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},
- {0,8,16},{132,8,115},{130,7,31},{0,8,112},{0,8,48},{0,9,193},
- {128,7,10},{0,8,96},{0,8,32},{0,9,161},{0,8,0},{0,8,128},
- {0,8,64},{0,9,225},{128,7,6},{0,8,88},{0,8,24},{0,9,145},
- {131,7,59},{0,8,120},{0,8,56},{0,9,209},{129,7,17},{0,8,104},
- {0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72},{0,9,241},
- {128,7,4},{0,8,84},{0,8,20},{133,8,227},{131,7,43},{0,8,116},
- {0,8,52},{0,9,201},{129,7,13},{0,8,100},{0,8,36},{0,9,169},
- {0,8,4},{0,8,132},{0,8,68},{0,9,233},{128,7,8},{0,8,92},
- {0,8,28},{0,9,153},{132,7,83},{0,8,124},{0,8,60},{0,9,217},
- {130,7,23},{0,8,108},{0,8,44},{0,9,185},{0,8,12},{0,8,140},
- {0,8,76},{0,9,249},{128,7,3},{0,8,82},{0,8,18},{133,8,163},
- {131,7,35},{0,8,114},{0,8,50},{0,9,197},{129,7,11},{0,8,98},
- {0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229},
- {128,7,7},{0,8,90},{0,8,26},{0,9,149},{132,7,67},{0,8,122},
- {0,8,58},{0,9,213},{130,7,19},{0,8,106},{0,8,42},{0,9,181},
- {0,8,10},{0,8,138},{0,8,74},{0,9,245},{128,7,5},{0,8,86},
- {0,8,22},{65,8,0},{131,7,51},{0,8,118},{0,8,54},{0,9,205},
- {129,7,15},{0,8,102},{0,8,38},{0,9,173},{0,8,6},{0,8,134},
- {0,8,70},{0,9,237},{128,7,9},{0,8,94},{0,8,30},{0,9,157},
- {132,7,99},{0,8,126},{0,8,62},{0,9,221},{130,7,27},{0,8,110},
- {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},
- {96,7,0},{0,8,81},{0,8,17},{133,8,131},{130,7,31},{0,8,113},
- {0,8,49},{0,9,195},{128,7,10},{0,8,97},{0,8,33},{0,9,163},
- {0,8,1},{0,8,129},{0,8,65},{0,9,227},{128,7,6},{0,8,89},
- {0,8,25},{0,9,147},{131,7,59},{0,8,121},{0,8,57},{0,9,211},
- {129,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9},{0,8,137},
- {0,8,73},{0,9,243},{128,7,4},{0,8,85},{0,8,21},{144,8,3},
- {131,7,43},{0,8,117},{0,8,53},{0,9,203},{129,7,13},{0,8,101},
- {0,8,37},{0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},
- {128,7,8},{0,8,93},{0,8,29},{0,9,155},{132,7,83},{0,8,125},
- {0,8,61},{0,9,219},{130,7,23},{0,8,109},{0,8,45},{0,9,187},
- {0,8,13},{0,8,141},{0,8,77},{0,9,251},{128,7,3},{0,8,83},
- {0,8,19},{133,8,195},{131,7,35},{0,8,115},{0,8,51},{0,9,199},
- {129,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131},
- {0,8,67},{0,9,231},{128,7,7},{0,8,91},{0,8,27},{0,9,151},
- {132,7,67},{0,8,123},{0,8,59},{0,9,215},{130,7,19},{0,8,107},
- {0,8,43},{0,9,183},{0,8,11},{0,8,139},{0,8,75},{0,9,247},
- {128,7,5},{0,8,87},{0,8,23},{77,8,0},{131,7,51},{0,8,119},
- {0,8,55},{0,9,207},{129,7,15},{0,8,103},{0,8,39},{0,9,175},
- {0,8,7},{0,8,135},{0,8,71},{0,9,239},{128,7,9},{0,8,95},
- {0,8,31},{0,9,159},{132,7,99},{0,8,127},{0,8,63},{0,9,223},
- {130,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},
- {0,8,79},{0,9,255}
- };
-
- static const code distfix[32] = {
- {128,5,1},{135,5,257},{131,5,17},{139,5,4097},{129,5,5},
- {137,5,1025},{133,5,65},{141,5,16385},{128,5,3},{136,5,513},
- {132,5,33},{140,5,8193},{130,5,9},{138,5,2049},{134,5,129},
- {142,5,32769},{128,5,2},{135,5,385},{131,5,25},{139,5,6145},
- {129,5,7},{137,5,1537},{133,5,97},{141,5,24577},{128,5,4},
- {136,5,769},{132,5,49},{140,5,12289},{130,5,13},{138,5,3073},
- {134,5,193},{142,5,49153}
- };
diff --git a/tcl8.6/compat/zlib/contrib/infback9/inflate9.h b/tcl8.6/compat/zlib/contrib/infback9/inflate9.h
deleted file mode 100644
index ee9a793..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/inflate9.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* inflate9.h -- internal inflate state definition
- * Copyright (C) 1995-2003 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Possible inflate modes between inflate() calls */
-typedef enum {
- TYPE, /* i: waiting for type bits, including last-flag bit */
- STORED, /* i: waiting for stored size (length and complement) */
- TABLE, /* i: waiting for dynamic block table lengths */
- LEN, /* i: waiting for length/lit code */
- DONE, /* finished check, done -- remain here until reset */
- BAD /* got a data error -- remain here until reset */
-} inflate_mode;
-
-/*
- State transitions between above modes -
-
- (most modes can go to the BAD mode -- not shown for clarity)
-
- Read deflate blocks:
- TYPE -> STORED or TABLE or LEN or DONE
- STORED -> TYPE
- TABLE -> LENLENS -> CODELENS -> LEN
- Read deflate codes:
- LEN -> LEN or TYPE
- */
-
-/* state maintained between inflate() calls. Approximately 7K bytes. */
-struct inflate_state {
- /* sliding window */
- unsigned char FAR *window; /* allocated sliding window, if needed */
- /* dynamic table building */
- unsigned ncode; /* number of code length code lengths */
- unsigned nlen; /* number of length code lengths */
- unsigned ndist; /* number of distance code lengths */
- unsigned have; /* number of code lengths in lens[] */
- code FAR *next; /* next available space in codes[] */
- unsigned short lens[320]; /* temporary storage for code lengths */
- unsigned short work[288]; /* work area for code table building */
- code codes[ENOUGH]; /* space for code tables */
-};
diff --git a/tcl8.6/compat/zlib/contrib/infback9/inftree9.c b/tcl8.6/compat/zlib/contrib/infback9/inftree9.c
deleted file mode 100644
index 4a73ad2..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/inftree9.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/* inftree9.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-2013 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-#include "zutil.h"
-#include "inftree9.h"
-
-#define MAXBITS 15
-
-const char inflate9_copyright[] =
- " inflate9 1.2.8 Copyright 1995-2013 Mark Adler ";
-/*
- If you use the zlib library in a product, an acknowledgment is welcome
- in the documentation of your product. If for some reason you cannot
- include such an acknowledgment, I would appreciate that you keep this
- copyright string in the executable of your product.
- */
-
-/*
- Build a set of tables to decode the provided canonical Huffman code.
- The code lengths are lens[0..codes-1]. The result starts at *table,
- whose indices are 0..2^bits-1. work is a writable array of at least
- lens shorts, which is used as a work area. type is the type of code
- to be generated, CODES, LENS, or DISTS. On return, zero is success,
- -1 is an invalid code, and +1 means that ENOUGH isn't enough. table
- on return points to the next available entry's address. bits is the
- requested root table index bits, and on return it is the actual root
- table index bits. It will differ if the request is greater than the
- longest code or if it is less than the shortest code.
- */
-int inflate_table9(type, lens, codes, table, bits, work)
-codetype type;
-unsigned short FAR *lens;
-unsigned codes;
-code FAR * FAR *table;
-unsigned FAR *bits;
-unsigned short FAR *work;
-{
- unsigned len; /* a code's length in bits */
- unsigned sym; /* index of code symbols */
- unsigned min, max; /* minimum and maximum code lengths */
- unsigned root; /* number of index bits for root table */
- unsigned curr; /* number of index bits for current table */
- unsigned drop; /* code bits to drop for sub-table */
- int left; /* number of prefix codes available */
- unsigned used; /* code entries in table used */
- unsigned huff; /* Huffman code */
- unsigned incr; /* for incrementing code, index */
- unsigned fill; /* index for replicating entries */
- unsigned low; /* low bits for current root entry */
- unsigned mask; /* mask for low root bits */
- code this; /* table entry for duplication */
- code FAR *next; /* next available space in table */
- const unsigned short FAR *base; /* base value table to use */
- const unsigned short FAR *extra; /* extra bits table to use */
- int end; /* use base and extra for symbol > end */
- unsigned short count[MAXBITS+1]; /* number of codes of each length */
- unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
- static const unsigned short lbase[31] = { /* Length codes 257..285 base */
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17,
- 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115,
- 131, 163, 195, 227, 3, 0, 0};
- static const unsigned short lext[31] = { /* Length codes 257..285 extra */
- 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
- 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
- 133, 133, 133, 133, 144, 72, 78};
- static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
- 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
- 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153};
- static const unsigned short dext[32] = { /* Distance codes 0..31 extra */
- 128, 128, 128, 128, 129, 129, 130, 130, 131, 131, 132, 132,
- 133, 133, 134, 134, 135, 135, 136, 136, 137, 137, 138, 138,
- 139, 139, 140, 140, 141, 141, 142, 142};
-
- /*
- Process a set of code lengths to create a canonical Huffman code. The
- code lengths are lens[0..codes-1]. Each length corresponds to the
- symbols 0..codes-1. The Huffman code is generated by first sorting the
- symbols by length from short to long, and retaining the symbol order
- for codes with equal lengths. Then the code starts with all zero bits
- for the first code of the shortest length, and the codes are integer
- increments for the same length, and zeros are appended as the length
- increases. For the deflate format, these bits are stored backwards
- from their more natural integer increment ordering, and so when the
- decoding tables are built in the large loop below, the integer codes
- are incremented backwards.
-
- This routine assumes, but does not check, that all of the entries in
- lens[] are in the range 0..MAXBITS. The caller must assure this.
- 1..MAXBITS is interpreted as that code length. zero means that that
- symbol does not occur in this code.
-
- The codes are sorted by computing a count of codes for each length,
- creating from that a table of starting indices for each length in the
- sorted table, and then entering the symbols in order in the sorted
- table. The sorted table is work[], with that space being provided by
- the caller.
-
- The length counts are used for other purposes as well, i.e. finding
- the minimum and maximum length codes, determining if there are any
- codes at all, checking for a valid set of lengths, and looking ahead
- at length counts to determine sub-table sizes when building the
- decoding tables.
- */
-
- /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
- for (len = 0; len <= MAXBITS; len++)
- count[len] = 0;
- for (sym = 0; sym < codes; sym++)
- count[lens[sym]]++;
-
- /* bound code lengths, force root to be within code lengths */
- root = *bits;
- for (max = MAXBITS; max >= 1; max--)
- if (count[max] != 0) break;
- if (root > max) root = max;
- if (max == 0) return -1; /* no codes! */
- for (min = 1; min <= MAXBITS; min++)
- if (count[min] != 0) break;
- if (root < min) root = min;
-
- /* check for an over-subscribed or incomplete set of lengths */
- left = 1;
- for (len = 1; len <= MAXBITS; len++) {
- left <<= 1;
- left -= count[len];
- if (left < 0) return -1; /* over-subscribed */
- }
- if (left > 0 && (type == CODES || max != 1))
- return -1; /* incomplete set */
-
- /* generate offsets into symbol table for each length for sorting */
- offs[1] = 0;
- for (len = 1; len < MAXBITS; len++)
- offs[len + 1] = offs[len] + count[len];
-
- /* sort symbols by length, by symbol order within each length */
- for (sym = 0; sym < codes; sym++)
- if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym;
-
- /*
- Create and fill in decoding tables. In this loop, the table being
- filled is at next and has curr index bits. The code being used is huff
- with length len. That code is converted to an index by dropping drop
- bits off of the bottom. For codes where len is less than drop + curr,
- those top drop + curr - len bits are incremented through all values to
- fill the table with replicated entries.
-
- root is the number of index bits for the root table. When len exceeds
- root, sub-tables are created pointed to by the root entry with an index
- of the low root bits of huff. This is saved in low to check for when a
- new sub-table should be started. drop is zero when the root table is
- being filled, and drop is root when sub-tables are being filled.
-
- When a new sub-table is needed, it is necessary to look ahead in the
- code lengths to determine what size sub-table is needed. The length
- counts are used for this, and so count[] is decremented as codes are
- entered in the tables.
-
- used keeps track of how many table entries have been allocated from the
- provided *table space. It is checked for LENS and DIST tables against
- the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
- the initial root table size constants. See the comments in inftree9.h
- for more information.
-
- sym increments through all symbols, and the loop terminates when
- all codes of length max, i.e. all codes, have been processed. This
- routine permits incomplete codes, so another loop after this one fills
- in the rest of the decoding tables with invalid code markers.
- */
-
- /* set up for code type */
- switch (type) {
- case CODES:
- base = extra = work; /* dummy value--not used */
- end = 19;
- break;
- case LENS:
- base = lbase;
- base -= 257;
- extra = lext;
- extra -= 257;
- end = 256;
- break;
- default: /* DISTS */
- base = dbase;
- extra = dext;
- end = -1;
- }
-
- /* initialize state for loop */
- huff = 0; /* starting code */
- sym = 0; /* starting code symbol */
- len = min; /* starting code length */
- next = *table; /* current table to fill in */
- curr = root; /* current table index bits */
- drop = 0; /* current bits to drop from code for index */
- low = (unsigned)(-1); /* trigger new sub-table when len > root */
- used = 1U << root; /* use root table entries */
- mask = used - 1; /* mask for comparing low */
-
- /* check available table space */
- if ((type == LENS && used >= ENOUGH_LENS) ||
- (type == DISTS && used >= ENOUGH_DISTS))
- return 1;
-
- /* process all codes and make table entries */
- for (;;) {
- /* create table entry */
- this.bits = (unsigned char)(len - drop);
- if ((int)(work[sym]) < end) {
- this.op = (unsigned char)0;
- this.val = work[sym];
- }
- else if ((int)(work[sym]) > end) {
- this.op = (unsigned char)(extra[work[sym]]);
- this.val = base[work[sym]];
- }
- else {
- this.op = (unsigned char)(32 + 64); /* end of block */
- this.val = 0;
- }
-
- /* replicate for those indices with low len bits equal to huff */
- incr = 1U << (len - drop);
- fill = 1U << curr;
- do {
- fill -= incr;
- next[(huff >> drop) + fill] = this;
- } while (fill != 0);
-
- /* backwards increment the len-bit code huff */
- incr = 1U << (len - 1);
- while (huff & incr)
- incr >>= 1;
- if (incr != 0) {
- huff &= incr - 1;
- huff += incr;
- }
- else
- huff = 0;
-
- /* go to next symbol, update count, len */
- sym++;
- if (--(count[len]) == 0) {
- if (len == max) break;
- len = lens[work[sym]];
- }
-
- /* create new sub-table if needed */
- if (len > root && (huff & mask) != low) {
- /* if first time, transition to sub-tables */
- if (drop == 0)
- drop = root;
-
- /* increment past last table */
- next += 1U << curr;
-
- /* determine length of next table */
- curr = len - drop;
- left = (int)(1 << curr);
- while (curr + drop < max) {
- left -= count[curr + drop];
- if (left <= 0) break;
- curr++;
- left <<= 1;
- }
-
- /* check for enough space */
- used += 1U << curr;
- if ((type == LENS && used >= ENOUGH_LENS) ||
- (type == DISTS && used >= ENOUGH_DISTS))
- return 1;
-
- /* point entry in root table to sub-table */
- low = huff & mask;
- (*table)[low].op = (unsigned char)curr;
- (*table)[low].bits = (unsigned char)root;
- (*table)[low].val = (unsigned short)(next - *table);
- }
- }
-
- /*
- Fill in rest of table for incomplete codes. This loop is similar to the
- loop above in incrementing huff for table indices. It is assumed that
- len is equal to curr + drop, so there is no loop needed to increment
- through high index bits. When the current sub-table is filled, the loop
- drops back to the root table to fill in any remaining entries there.
- */
- this.op = (unsigned char)64; /* invalid code marker */
- this.bits = (unsigned char)(len - drop);
- this.val = (unsigned short)0;
- while (huff != 0) {
- /* when done with sub-table, drop back to root table */
- if (drop != 0 && (huff & mask) != low) {
- drop = 0;
- len = root;
- next = *table;
- curr = root;
- this.bits = (unsigned char)len;
- }
-
- /* put invalid code marker in table */
- next[huff >> drop] = this;
-
- /* backwards increment the len-bit code huff */
- incr = 1U << (len - 1);
- while (huff & incr)
- incr >>= 1;
- if (incr != 0) {
- huff &= incr - 1;
- huff += incr;
- }
- else
- huff = 0;
- }
-
- /* set return parameters */
- *table += used;
- *bits = root;
- return 0;
-}
diff --git a/tcl8.6/compat/zlib/contrib/infback9/inftree9.h b/tcl8.6/compat/zlib/contrib/infback9/inftree9.h
deleted file mode 100644
index 5ab21f0..0000000
--- a/tcl8.6/compat/zlib/contrib/infback9/inftree9.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* inftree9.h -- header to use inftree9.c
- * Copyright (C) 1995-2008 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
- */
-
-/* Structure for decoding tables. Each entry provides either the
- information needed to do the operation requested by the code that
- indexed that table entry, or it provides a pointer to another
- table that indexes more bits of the code. op indicates whether
- the entry is a pointer to another table, a literal, a length or
- distance, an end-of-block, or an invalid code. For a table
- pointer, the low four bits of op is the number of index bits of
- that table. For a length or distance, the low four bits of op
- is the number of extra bits to get after the code. bits is
- the number of bits in this code or part of the code to drop off
- of the bit buffer. val is the actual byte to output in the case
- of a literal, the base length or distance, or the offset from
- the current table to the next table. Each entry is four bytes. */
-typedef struct {
- unsigned char op; /* operation, extra bits, table bits */
- unsigned char bits; /* bits in this part of the code */
- unsigned short val; /* offset in table or code value */
-} code;
-
-/* op values as set by inflate_table():
- 00000000 - literal
- 0000tttt - table link, tttt != 0 is the number of table index bits
- 100eeeee - length or distance, eeee is the number of extra bits
- 01100000 - end of block
- 01000000 - invalid code
- */
-
-/* Maximum size of the dynamic table. The maximum number of code structures is
- 1446, which is the sum of 852 for literal/length codes and 594 for distance
- codes. These values were found by exhaustive searches using the program
- examples/enough.c found in the zlib distribtution. The arguments to that
- program are the number of symbols, the initial root table size, and the
- maximum bit length of a code. "enough 286 9 15" for literal/length codes
- returns returns 852, and "enough 32 6 15" for distance codes returns 594.
- The initial root table size (9 or 6) is found in the fifth argument of the
- inflate_table() calls in infback9.c. If the root table size is changed,
- then these maximum sizes would be need to be recalculated and updated. */
-#define ENOUGH_LENS 852
-#define ENOUGH_DISTS 594
-#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS)
-
-/* Type of code to build for inflate_table9() */
-typedef enum {
- CODES,
- LENS,
- DISTS
-} codetype;
-
-extern int inflate_table9 OF((codetype type, unsigned short FAR *lens,
- unsigned codes, code FAR * FAR *table,
- unsigned FAR *bits, unsigned short FAR *work));
diff --git a/tcl8.6/compat/zlib/contrib/inflate86/inffas86.c b/tcl8.6/compat/zlib/contrib/inflate86/inffas86.c
deleted file mode 100644
index 7292f67..0000000
--- a/tcl8.6/compat/zlib/contrib/inflate86/inffas86.c
+++ /dev/null
@@ -1,1157 +0,0 @@
-/* inffas86.c is a hand tuned assembler version of
- *
- * inffast.c -- fast decoding
- * Copyright (C) 1995-2003 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Copyright (C) 2003 Chris Anderson <christop@charm.net>
- * Please use the copyright conditions above.
- *
- * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
- * slightly quicker on x86 systems because, instead of using rep movsb to copy
- * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
- * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
- * from http://fedora.linux.duke.edu/fc1_x86_64
- * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
- * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
- * when decompressing mozilla-source-1.3.tar.gz.
- *
- * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
- * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
- * the moment. I have successfully compiled and tested this code with gcc2.96,
- * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
- * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
- * enabled. I will attempt to merge the MMX code into this version. Newer
- * versions of this and inffast.S can be found at
- * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "inflate.h"
-#include "inffast.h"
-
-/* Mark Adler's comments from inffast.c: */
-
-/*
- Decode literal, length, and distance codes and write out the resulting
- literal and match bytes until either not enough input or output is
- available, an end-of-block is encountered, or a data error is encountered.
- When large enough input and output buffers are supplied to inflate(), for
- example, a 16K input buffer and a 64K output buffer, more than 95% of the
- inflate execution time is spent in this routine.
-
- Entry assumptions:
-
- state->mode == LEN
- strm->avail_in >= 6
- strm->avail_out >= 258
- start >= strm->avail_out
- state->bits < 8
-
- On return, state->mode is one of:
-
- LEN -- ran out of enough output space or enough available input
- TYPE -- reached end of block code, inflate() to interpret next block
- BAD -- error in block data
-
- Notes:
-
- - The maximum input bits used by a length/distance pair is 15 bits for the
- length code, 5 bits for the length extra, 15 bits for the distance code,
- and 13 bits for the distance extra. This totals 48 bits, or six bytes.
- Therefore if strm->avail_in >= 6, then there is enough input to avoid
- checking for available input while decoding.
-
- - The maximum bytes that a single length/distance pair can output is 258
- bytes, which is the maximum length that can be coded. inflate_fast()
- requires strm->avail_out >= 258 for each loop to avoid checking for
- output space.
- */
-void inflate_fast(strm, start)
-z_streamp strm;
-unsigned start; /* inflate()'s starting value for strm->avail_out */
-{
- struct inflate_state FAR *state;
- struct inffast_ar {
-/* 64 32 x86 x86_64 */
-/* ar offset register */
-/* 0 0 */ void *esp; /* esp save */
-/* 8 4 */ void *ebp; /* ebp save */
-/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
-/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
-/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
-/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
-/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
-/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
-/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
-/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
-/* 80 40 */ unsigned long hold; /* edx rdx local strm->hold */
-/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
-/* 92 48 */ unsigned wsize; /* window size */
-/* 96 52 */ unsigned write; /* window write index */
-/*100 56 */ unsigned lmask; /* r12 mask for lcode */
-/*104 60 */ unsigned dmask; /* r13 mask for dcode */
-/*108 64 */ unsigned len; /* r14 match length */
-/*112 68 */ unsigned dist; /* r15 match distance */
-/*116 72 */ unsigned status; /* set when state chng*/
- } ar;
-
-#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
-#define PAD_AVAIL_IN 6
-#define PAD_AVAIL_OUT 258
-#else
-#define PAD_AVAIL_IN 5
-#define PAD_AVAIL_OUT 257
-#endif
-
- /* copy state to local variables */
- state = (struct inflate_state FAR *)strm->state;
- ar.in = strm->next_in;
- ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
- ar.out = strm->next_out;
- ar.beg = ar.out - (start - strm->avail_out);
- ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
- ar.wsize = state->wsize;
- ar.write = state->wnext;
- ar.window = state->window;
- ar.hold = state->hold;
- ar.bits = state->bits;
- ar.lcode = state->lencode;
- ar.dcode = state->distcode;
- ar.lmask = (1U << state->lenbits) - 1;
- ar.dmask = (1U << state->distbits) - 1;
-
- /* decode literals and length/distances until end-of-block or not enough
- input data or output space */
-
- /* align in on 1/2 hold size boundary */
- while (((unsigned long)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
- ar.hold += (unsigned long)*ar.in++ << ar.bits;
- ar.bits += 8;
- }
-
-#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )
- __asm__ __volatile__ (
-" leaq %0, %%rax\n"
-" movq %%rbp, 8(%%rax)\n" /* save regs rbp and rsp */
-" movq %%rsp, (%%rax)\n"
-" movq %%rax, %%rsp\n" /* make rsp point to &ar */
-" movq 16(%%rsp), %%rsi\n" /* rsi = in */
-" movq 32(%%rsp), %%rdi\n" /* rdi = out */
-" movq 24(%%rsp), %%r9\n" /* r9 = last */
-" movq 48(%%rsp), %%r10\n" /* r10 = end */
-" movq 64(%%rsp), %%rbp\n" /* rbp = lcode */
-" movq 72(%%rsp), %%r11\n" /* r11 = dcode */
-" movq 80(%%rsp), %%rdx\n" /* rdx = hold */
-" movl 88(%%rsp), %%ebx\n" /* ebx = bits */
-" movl 100(%%rsp), %%r12d\n" /* r12d = lmask */
-" movl 104(%%rsp), %%r13d\n" /* r13d = dmask */
- /* r14d = len */
- /* r15d = dist */
-" cld\n"
-" cmpq %%rdi, %%r10\n"
-" je .L_one_time\n" /* if only one decode left */
-" cmpq %%rsi, %%r9\n"
-" je .L_one_time\n"
-" jmp .L_do_loop\n"
-
-".L_one_time:\n"
-" movq %%r12, %%r8\n" /* r8 = lmask */
-" cmpb $32, %%bl\n"
-" ja .L_get_length_code_one_time\n"
-
-" lodsl\n" /* eax = *(uint *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $32, %%bl\n" /* bits += 32 */
-" shlq %%cl, %%rax\n"
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
-" jmp .L_get_length_code_one_time\n"
-
-".align 32,0x90\n"
-".L_while_test:\n"
-" cmpq %%rdi, %%r10\n"
-" jbe .L_break_loop\n"
-" cmpq %%rsi, %%r9\n"
-" jbe .L_break_loop\n"
-
-".L_do_loop:\n"
-" movq %%r12, %%r8\n" /* r8 = lmask */
-" cmpb $32, %%bl\n"
-" ja .L_get_length_code\n" /* if (32 < bits) */
-
-" lodsl\n" /* eax = *(uint *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $32, %%bl\n" /* bits += 32 */
-" shlq %%cl, %%rax\n"
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
-
-".L_get_length_code:\n"
-" andq %%rdx, %%r8\n" /* r8 &= hold */
-" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
-
-" movb %%ah, %%cl\n" /* cl = this.bits */
-" subb %%ah, %%bl\n" /* bits -= this.bits */
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
-
-" testb %%al, %%al\n"
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
-
-" movq %%r12, %%r8\n" /* r8 = lmask */
-" shrl $16, %%eax\n" /* output this.val char */
-" stosb\n"
-
-".L_get_length_code_one_time:\n"
-" andq %%rdx, %%r8\n" /* r8 &= hold */
-" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */
-
-".L_dolen:\n"
-" movb %%ah, %%cl\n" /* cl = this.bits */
-" subb %%ah, %%bl\n" /* bits -= this.bits */
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
-
-" testb %%al, %%al\n"
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
-
-" shrl $16, %%eax\n" /* output this.val char */
-" stosb\n"
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_test_for_length_base:\n"
-" movl %%eax, %%r14d\n" /* len = this */
-" shrl $16, %%r14d\n" /* len = this.val */
-" movb %%al, %%cl\n"
-
-" testb $16, %%al\n"
-" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
-" andb $15, %%cl\n" /* op &= 15 */
-" jz .L_decode_distance\n" /* if (!op) */
-
-".L_add_bits_to_len:\n"
-" subb %%cl, %%bl\n"
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" shrq %%cl, %%rdx\n"
-" addl %%eax, %%r14d\n" /* len += hold & mask[op] */
-
-".L_decode_distance:\n"
-" movq %%r13, %%r8\n" /* r8 = dmask */
-" cmpb $32, %%bl\n"
-" ja .L_get_distance_code\n" /* if (32 < bits) */
-
-" lodsl\n" /* eax = *(uint *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $32, %%bl\n" /* bits += 32 */
-" shlq %%cl, %%rax\n"
-" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */
-
-".L_get_distance_code:\n"
-" andq %%rdx, %%r8\n" /* r8 &= hold */
-" movl (%%r11,%%r8,4), %%eax\n" /* eax = dcode[hold & dmask] */
-
-".L_dodist:\n"
-" movl %%eax, %%r15d\n" /* dist = this */
-" shrl $16, %%r15d\n" /* dist = this.val */
-" movb %%ah, %%cl\n"
-" subb %%ah, %%bl\n" /* bits -= this.bits */
-" shrq %%cl, %%rdx\n" /* hold >>= this.bits */
-" movb %%al, %%cl\n" /* cl = this.op */
-
-" testb $16, %%al\n" /* if ((op & 16) == 0) */
-" jz .L_test_for_second_level_dist\n"
-" andb $15, %%cl\n" /* op &= 15 */
-" jz .L_check_dist_one\n"
-
-".L_add_bits_to_dist:\n"
-" subb %%cl, %%bl\n"
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n" /* (1 << op) - 1 */
-" andl %%edx, %%eax\n" /* eax &= hold */
-" shrq %%cl, %%rdx\n"
-" addl %%eax, %%r15d\n" /* dist += hold & ((1 << op) - 1) */
-
-".L_check_window:\n"
-" movq %%rsi, %%r8\n" /* save in so from can use it's reg */
-" movq %%rdi, %%rax\n"
-" subq 40(%%rsp), %%rax\n" /* nbytes = out - beg */
-
-" cmpl %%r15d, %%eax\n"
-" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
-
-" movl %%r14d, %%ecx\n" /* ecx = len */
-" movq %%rdi, %%rsi\n"
-" subq %%r15, %%rsi\n" /* from = out - dist */
-
-" sarl %%ecx\n"
-" jnc .L_copy_two\n" /* if len % 2 == 0 */
-
-" rep movsw\n"
-" movb (%%rsi), %%al\n"
-" movb %%al, (%%rdi)\n"
-" incq %%rdi\n"
-
-" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
-" jmp .L_while_test\n"
-
-".L_copy_two:\n"
-" rep movsw\n"
-" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_check_dist_one:\n"
-" cmpl $1, %%r15d\n" /* if dist 1, is a memset */
-" jne .L_check_window\n"
-" cmpq %%rdi, 40(%%rsp)\n" /* if out == beg, outside window */
-" je .L_check_window\n"
-
-" movl %%r14d, %%ecx\n" /* ecx = len */
-" movb -1(%%rdi), %%al\n"
-" movb %%al, %%ah\n"
-
-" sarl %%ecx\n"
-" jnc .L_set_two\n"
-" movb %%al, (%%rdi)\n"
-" incq %%rdi\n"
-
-".L_set_two:\n"
-" rep stosw\n"
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_test_for_second_level_length:\n"
-" testb $64, %%al\n"
-" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
-
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" addl %%r14d, %%eax\n" /* eax += len */
-" movl (%%rbp,%%rax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
-" jmp .L_dolen\n"
-
-".align 32,0x90\n"
-".L_test_for_second_level_dist:\n"
-" testb $64, %%al\n"
-" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
-
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" addl %%r15d, %%eax\n" /* eax += dist */
-" movl (%%r11,%%rax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
-" jmp .L_dodist\n"
-
-".align 32,0x90\n"
-".L_clip_window:\n"
-" movl %%eax, %%ecx\n" /* ecx = nbytes */
-" movl 92(%%rsp), %%eax\n" /* eax = wsize, prepare for dist cmp */
-" negl %%ecx\n" /* nbytes = -nbytes */
-
-" cmpl %%r15d, %%eax\n"
-" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
-
-" addl %%r15d, %%ecx\n" /* nbytes = dist - nbytes */
-" cmpl $0, 96(%%rsp)\n"
-" jne .L_wrap_around_window\n" /* if (write != 0) */
-
-" movq 56(%%rsp), %%rsi\n" /* from = window */
-" subl %%ecx, %%eax\n" /* eax -= nbytes */
-" addq %%rax, %%rsi\n" /* from += wsize - nbytes */
-
-" movl %%r14d, %%eax\n" /* eax = len */
-" cmpl %%ecx, %%r14d\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* eax -= nbytes */
-" rep movsb\n"
-" movq %%rdi, %%rsi\n"
-" subq %%r15, %%rsi\n" /* from = &out[ -dist ] */
-" jmp .L_do_copy\n"
-
-".align 32,0x90\n"
-".L_wrap_around_window:\n"
-" movl 96(%%rsp), %%eax\n" /* eax = write */
-" cmpl %%eax, %%ecx\n"
-" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
-
-" movl 92(%%rsp), %%esi\n" /* from = wsize */
-" addq 56(%%rsp), %%rsi\n" /* from += window */
-" addq %%rax, %%rsi\n" /* from += write */
-" subq %%rcx, %%rsi\n" /* from -= nbytes */
-" subl %%eax, %%ecx\n" /* nbytes -= write */
-
-" movl %%r14d, %%eax\n" /* eax = len */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movq 56(%%rsp), %%rsi\n" /* from = window */
-" movl 96(%%rsp), %%ecx\n" /* nbytes = write */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movq %%rdi, %%rsi\n"
-" subq %%r15, %%rsi\n" /* from = out - dist */
-" jmp .L_do_copy\n"
-
-".align 32,0x90\n"
-".L_contiguous_in_window:\n"
-" movq 56(%%rsp), %%rsi\n" /* rsi = window */
-" addq %%rax, %%rsi\n"
-" subq %%rcx, %%rsi\n" /* from += write - nbytes */
-
-" movl %%r14d, %%eax\n" /* eax = len */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movq %%rdi, %%rsi\n"
-" subq %%r15, %%rsi\n" /* from = out - dist */
-" jmp .L_do_copy\n" /* if (nbytes >= len) */
-
-".align 32,0x90\n"
-".L_do_copy:\n"
-" movl %%eax, %%ecx\n" /* ecx = len */
-" rep movsb\n"
-
-" movq %%r8, %%rsi\n" /* move in back to %esi, toss from */
-" jmp .L_while_test\n"
-
-".L_test_for_end_of_block:\n"
-" testb $32, %%al\n"
-" jz .L_invalid_literal_length_code\n"
-" movl $1, 116(%%rsp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_literal_length_code:\n"
-" movl $2, 116(%%rsp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_distance_code:\n"
-" movl $3, 116(%%rsp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_distance_too_far:\n"
-" movl $4, 116(%%rsp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_break_loop:\n"
-" movl $0, 116(%%rsp)\n"
-
-".L_break_loop_with_status:\n"
-/* put in, out, bits, and hold back into ar and pop esp */
-" movq %%rsi, 16(%%rsp)\n" /* in */
-" movq %%rdi, 32(%%rsp)\n" /* out */
-" movl %%ebx, 88(%%rsp)\n" /* bits */
-" movq %%rdx, 80(%%rsp)\n" /* hold */
-" movq (%%rsp), %%rax\n" /* restore rbp and rsp */
-" movq 8(%%rsp), %%rbp\n"
-" movq %%rax, %%rsp\n"
- :
- : "m" (ar)
- : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
- "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
- );
-#elif ( defined( __GNUC__ ) || defined( __ICC ) ) && defined( __i386 )
- __asm__ __volatile__ (
-" leal %0, %%eax\n"
-" movl %%esp, (%%eax)\n" /* save esp, ebp */
-" movl %%ebp, 4(%%eax)\n"
-" movl %%eax, %%esp\n"
-" movl 8(%%esp), %%esi\n" /* esi = in */
-" movl 16(%%esp), %%edi\n" /* edi = out */
-" movl 40(%%esp), %%edx\n" /* edx = hold */
-" movl 44(%%esp), %%ebx\n" /* ebx = bits */
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
-
-" cld\n"
-" jmp .L_do_loop\n"
-
-".align 32,0x90\n"
-".L_while_test:\n"
-" cmpl %%edi, 24(%%esp)\n" /* out < end */
-" jbe .L_break_loop\n"
-" cmpl %%esi, 12(%%esp)\n" /* in < last */
-" jbe .L_break_loop\n"
-
-".L_do_loop:\n"
-" cmpb $15, %%bl\n"
-" ja .L_get_length_code\n" /* if (15 < bits) */
-
-" xorl %%eax, %%eax\n"
-" lodsw\n" /* al = *(ushort *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $16, %%bl\n" /* bits += 16 */
-" shll %%cl, %%eax\n"
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
-
-".L_get_length_code:\n"
-" movl 56(%%esp), %%eax\n" /* eax = lmask */
-" andl %%edx, %%eax\n" /* eax &= hold */
-" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[hold & lmask] */
-
-".L_dolen:\n"
-" movb %%ah, %%cl\n" /* cl = this.bits */
-" subb %%ah, %%bl\n" /* bits -= this.bits */
-" shrl %%cl, %%edx\n" /* hold >>= this.bits */
-
-" testb %%al, %%al\n"
-" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */
-
-" shrl $16, %%eax\n" /* output this.val char */
-" stosb\n"
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_test_for_length_base:\n"
-" movl %%eax, %%ecx\n" /* len = this */
-" shrl $16, %%ecx\n" /* len = this.val */
-" movl %%ecx, 64(%%esp)\n" /* save len */
-" movb %%al, %%cl\n"
-
-" testb $16, %%al\n"
-" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */
-" andb $15, %%cl\n" /* op &= 15 */
-" jz .L_decode_distance\n" /* if (!op) */
-" cmpb %%cl, %%bl\n"
-" jae .L_add_bits_to_len\n" /* if (op <= bits) */
-
-" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
-" xorl %%eax, %%eax\n"
-" lodsw\n" /* al = *(ushort *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $16, %%bl\n" /* bits += 16 */
-" shll %%cl, %%eax\n"
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
-" movb %%ch, %%cl\n" /* move op back to ecx */
-
-".L_add_bits_to_len:\n"
-" subb %%cl, %%bl\n"
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" shrl %%cl, %%edx\n"
-" addl %%eax, 64(%%esp)\n" /* len += hold & mask[op] */
-
-".L_decode_distance:\n"
-" cmpb $15, %%bl\n"
-" ja .L_get_distance_code\n" /* if (15 < bits) */
-
-" xorl %%eax, %%eax\n"
-" lodsw\n" /* al = *(ushort *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $16, %%bl\n" /* bits += 16 */
-" shll %%cl, %%eax\n"
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
-
-".L_get_distance_code:\n"
-" movl 60(%%esp), %%eax\n" /* eax = dmask */
-" movl 36(%%esp), %%ecx\n" /* ecx = dcode */
-" andl %%edx, %%eax\n" /* eax &= hold */
-" movl (%%ecx,%%eax,4), %%eax\n"/* eax = dcode[hold & dmask] */
-
-".L_dodist:\n"
-" movl %%eax, %%ebp\n" /* dist = this */
-" shrl $16, %%ebp\n" /* dist = this.val */
-" movb %%ah, %%cl\n"
-" subb %%ah, %%bl\n" /* bits -= this.bits */
-" shrl %%cl, %%edx\n" /* hold >>= this.bits */
-" movb %%al, %%cl\n" /* cl = this.op */
-
-" testb $16, %%al\n" /* if ((op & 16) == 0) */
-" jz .L_test_for_second_level_dist\n"
-" andb $15, %%cl\n" /* op &= 15 */
-" jz .L_check_dist_one\n"
-" cmpb %%cl, %%bl\n"
-" jae .L_add_bits_to_dist\n" /* if (op <= bits) 97.6% */
-
-" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */
-" xorl %%eax, %%eax\n"
-" lodsw\n" /* al = *(ushort *)in++ */
-" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */
-" addb $16, %%bl\n" /* bits += 16 */
-" shll %%cl, %%eax\n"
-" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */
-" movb %%ch, %%cl\n" /* move op back to ecx */
-
-".L_add_bits_to_dist:\n"
-" subb %%cl, %%bl\n"
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n" /* (1 << op) - 1 */
-" andl %%edx, %%eax\n" /* eax &= hold */
-" shrl %%cl, %%edx\n"
-" addl %%eax, %%ebp\n" /* dist += hold & ((1 << op) - 1) */
-
-".L_check_window:\n"
-" movl %%esi, 8(%%esp)\n" /* save in so from can use it's reg */
-" movl %%edi, %%eax\n"
-" subl 20(%%esp), %%eax\n" /* nbytes = out - beg */
-
-" cmpl %%ebp, %%eax\n"
-" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */
-
-" movl 64(%%esp), %%ecx\n" /* ecx = len */
-" movl %%edi, %%esi\n"
-" subl %%ebp, %%esi\n" /* from = out - dist */
-
-" sarl %%ecx\n"
-" jnc .L_copy_two\n" /* if len % 2 == 0 */
-
-" rep movsw\n"
-" movb (%%esi), %%al\n"
-" movb %%al, (%%edi)\n"
-" incl %%edi\n"
-
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
-" jmp .L_while_test\n"
-
-".L_copy_two:\n"
-" rep movsw\n"
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_check_dist_one:\n"
-" cmpl $1, %%ebp\n" /* if dist 1, is a memset */
-" jne .L_check_window\n"
-" cmpl %%edi, 20(%%esp)\n"
-" je .L_check_window\n" /* out == beg, if outside window */
-
-" movl 64(%%esp), %%ecx\n" /* ecx = len */
-" movb -1(%%edi), %%al\n"
-" movb %%al, %%ah\n"
-
-" sarl %%ecx\n"
-" jnc .L_set_two\n"
-" movb %%al, (%%edi)\n"
-" incl %%edi\n"
-
-".L_set_two:\n"
-" rep stosw\n"
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
-" jmp .L_while_test\n"
-
-".align 32,0x90\n"
-".L_test_for_second_level_length:\n"
-" testb $64, %%al\n"
-" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */
-
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" addl 64(%%esp), %%eax\n" /* eax += len */
-" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/
-" jmp .L_dolen\n"
-
-".align 32,0x90\n"
-".L_test_for_second_level_dist:\n"
-" testb $64, %%al\n"
-" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */
-
-" xorl %%eax, %%eax\n"
-" incl %%eax\n"
-" shll %%cl, %%eax\n"
-" decl %%eax\n"
-" andl %%edx, %%eax\n" /* eax &= hold */
-" addl %%ebp, %%eax\n" /* eax += dist */
-" movl 36(%%esp), %%ecx\n" /* ecx = dcode */
-" movl (%%ecx,%%eax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/
-" jmp .L_dodist\n"
-
-".align 32,0x90\n"
-".L_clip_window:\n"
-" movl %%eax, %%ecx\n"
-" movl 48(%%esp), %%eax\n" /* eax = wsize */
-" negl %%ecx\n" /* nbytes = -nbytes */
-" movl 28(%%esp), %%esi\n" /* from = window */
-
-" cmpl %%ebp, %%eax\n"
-" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */
-
-" addl %%ebp, %%ecx\n" /* nbytes = dist - nbytes */
-" cmpl $0, 52(%%esp)\n"
-" jne .L_wrap_around_window\n" /* if (write != 0) */
-
-" subl %%ecx, %%eax\n"
-" addl %%eax, %%esi\n" /* from += wsize - nbytes */
-
-" movl 64(%%esp), %%eax\n" /* eax = len */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movl %%edi, %%esi\n"
-" subl %%ebp, %%esi\n" /* from = out - dist */
-" jmp .L_do_copy\n"
-
-".align 32,0x90\n"
-".L_wrap_around_window:\n"
-" movl 52(%%esp), %%eax\n" /* eax = write */
-" cmpl %%eax, %%ecx\n"
-" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */
-
-" addl 48(%%esp), %%esi\n" /* from += wsize */
-" addl %%eax, %%esi\n" /* from += write */
-" subl %%ecx, %%esi\n" /* from -= nbytes */
-" subl %%eax, %%ecx\n" /* nbytes -= write */
-
-" movl 64(%%esp), %%eax\n" /* eax = len */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movl 28(%%esp), %%esi\n" /* from = window */
-" movl 52(%%esp), %%ecx\n" /* nbytes = write */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movl %%edi, %%esi\n"
-" subl %%ebp, %%esi\n" /* from = out - dist */
-" jmp .L_do_copy\n"
-
-".align 32,0x90\n"
-".L_contiguous_in_window:\n"
-" addl %%eax, %%esi\n"
-" subl %%ecx, %%esi\n" /* from += write - nbytes */
-
-" movl 64(%%esp), %%eax\n" /* eax = len */
-" cmpl %%ecx, %%eax\n"
-" jbe .L_do_copy\n" /* if (nbytes >= len) */
-
-" subl %%ecx, %%eax\n" /* len -= nbytes */
-" rep movsb\n"
-" movl %%edi, %%esi\n"
-" subl %%ebp, %%esi\n" /* from = out - dist */
-" jmp .L_do_copy\n" /* if (nbytes >= len) */
-
-".align 32,0x90\n"
-".L_do_copy:\n"
-" movl %%eax, %%ecx\n"
-" rep movsb\n"
-
-" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */
-" movl 32(%%esp), %%ebp\n" /* ebp = lcode */
-" jmp .L_while_test\n"
-
-".L_test_for_end_of_block:\n"
-" testb $32, %%al\n"
-" jz .L_invalid_literal_length_code\n"
-" movl $1, 72(%%esp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_literal_length_code:\n"
-" movl $2, 72(%%esp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_distance_code:\n"
-" movl $3, 72(%%esp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_invalid_distance_too_far:\n"
-" movl 8(%%esp), %%esi\n"
-" movl $4, 72(%%esp)\n"
-" jmp .L_break_loop_with_status\n"
-
-".L_break_loop:\n"
-" movl $0, 72(%%esp)\n"
-
-".L_break_loop_with_status:\n"
-/* put in, out, bits, and hold back into ar and pop esp */
-" movl %%esi, 8(%%esp)\n" /* save in */
-" movl %%edi, 16(%%esp)\n" /* save out */
-" movl %%ebx, 44(%%esp)\n" /* save bits */
-" movl %%edx, 40(%%esp)\n" /* save hold */
-" movl 4(%%esp), %%ebp\n" /* restore esp, ebp */
-" movl (%%esp), %%esp\n"
- :
- : "m" (ar)
- : "memory", "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi"
- );
-#elif defined( _MSC_VER ) && ! defined( _M_AMD64 )
- __asm {
- lea eax, ar
- mov [eax], esp /* save esp, ebp */
- mov [eax+4], ebp
- mov esp, eax
- mov esi, [esp+8] /* esi = in */
- mov edi, [esp+16] /* edi = out */
- mov edx, [esp+40] /* edx = hold */
- mov ebx, [esp+44] /* ebx = bits */
- mov ebp, [esp+32] /* ebp = lcode */
-
- cld
- jmp L_do_loop
-
-ALIGN 4
-L_while_test:
- cmp [esp+24], edi
- jbe L_break_loop
- cmp [esp+12], esi
- jbe L_break_loop
-
-L_do_loop:
- cmp bl, 15
- ja L_get_length_code /* if (15 < bits) */
-
- xor eax, eax
- lodsw /* al = *(ushort *)in++ */
- mov cl, bl /* cl = bits, needs it for shifting */
- add bl, 16 /* bits += 16 */
- shl eax, cl
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
-
-L_get_length_code:
- mov eax, [esp+56] /* eax = lmask */
- and eax, edx /* eax &= hold */
- mov eax, [ebp+eax*4] /* eax = lcode[hold & lmask] */
-
-L_dolen:
- mov cl, ah /* cl = this.bits */
- sub bl, ah /* bits -= this.bits */
- shr edx, cl /* hold >>= this.bits */
-
- test al, al
- jnz L_test_for_length_base /* if (op != 0) 45.7% */
-
- shr eax, 16 /* output this.val char */
- stosb
- jmp L_while_test
-
-ALIGN 4
-L_test_for_length_base:
- mov ecx, eax /* len = this */
- shr ecx, 16 /* len = this.val */
- mov [esp+64], ecx /* save len */
- mov cl, al
-
- test al, 16
- jz L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
- and cl, 15 /* op &= 15 */
- jz L_decode_distance /* if (!op) */
- cmp bl, cl
- jae L_add_bits_to_len /* if (op <= bits) */
-
- mov ch, cl /* stash op in ch, freeing cl */
- xor eax, eax
- lodsw /* al = *(ushort *)in++ */
- mov cl, bl /* cl = bits, needs it for shifting */
- add bl, 16 /* bits += 16 */
- shl eax, cl
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
- mov cl, ch /* move op back to ecx */
-
-L_add_bits_to_len:
- sub bl, cl
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx /* eax &= hold */
- shr edx, cl
- add [esp+64], eax /* len += hold & mask[op] */
-
-L_decode_distance:
- cmp bl, 15
- ja L_get_distance_code /* if (15 < bits) */
-
- xor eax, eax
- lodsw /* al = *(ushort *)in++ */
- mov cl, bl /* cl = bits, needs it for shifting */
- add bl, 16 /* bits += 16 */
- shl eax, cl
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
-
-L_get_distance_code:
- mov eax, [esp+60] /* eax = dmask */
- mov ecx, [esp+36] /* ecx = dcode */
- and eax, edx /* eax &= hold */
- mov eax, [ecx+eax*4]/* eax = dcode[hold & dmask] */
-
-L_dodist:
- mov ebp, eax /* dist = this */
- shr ebp, 16 /* dist = this.val */
- mov cl, ah
- sub bl, ah /* bits -= this.bits */
- shr edx, cl /* hold >>= this.bits */
- mov cl, al /* cl = this.op */
-
- test al, 16 /* if ((op & 16) == 0) */
- jz L_test_for_second_level_dist
- and cl, 15 /* op &= 15 */
- jz L_check_dist_one
- cmp bl, cl
- jae L_add_bits_to_dist /* if (op <= bits) 97.6% */
-
- mov ch, cl /* stash op in ch, freeing cl */
- xor eax, eax
- lodsw /* al = *(ushort *)in++ */
- mov cl, bl /* cl = bits, needs it for shifting */
- add bl, 16 /* bits += 16 */
- shl eax, cl
- or edx, eax /* hold |= *((ushort *)in)++ << bits */
- mov cl, ch /* move op back to ecx */
-
-L_add_bits_to_dist:
- sub bl, cl
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax /* (1 << op) - 1 */
- and eax, edx /* eax &= hold */
- shr edx, cl
- add ebp, eax /* dist += hold & ((1 << op) - 1) */
-
-L_check_window:
- mov [esp+8], esi /* save in so from can use it's reg */
- mov eax, edi
- sub eax, [esp+20] /* nbytes = out - beg */
-
- cmp eax, ebp
- jb L_clip_window /* if (dist > nbytes) 4.2% */
-
- mov ecx, [esp+64] /* ecx = len */
- mov esi, edi
- sub esi, ebp /* from = out - dist */
-
- sar ecx, 1
- jnc L_copy_two
-
- rep movsw
- mov al, [esi]
- mov [edi], al
- inc edi
-
- mov esi, [esp+8] /* move in back to %esi, toss from */
- mov ebp, [esp+32] /* ebp = lcode */
- jmp L_while_test
-
-L_copy_two:
- rep movsw
- mov esi, [esp+8] /* move in back to %esi, toss from */
- mov ebp, [esp+32] /* ebp = lcode */
- jmp L_while_test
-
-ALIGN 4
-L_check_dist_one:
- cmp ebp, 1 /* if dist 1, is a memset */
- jne L_check_window
- cmp [esp+20], edi
- je L_check_window /* out == beg, if outside window */
-
- mov ecx, [esp+64] /* ecx = len */
- mov al, [edi-1]
- mov ah, al
-
- sar ecx, 1
- jnc L_set_two
- mov [edi], al /* memset out with from[-1] */
- inc edi
-
-L_set_two:
- rep stosw
- mov ebp, [esp+32] /* ebp = lcode */
- jmp L_while_test
-
-ALIGN 4
-L_test_for_second_level_length:
- test al, 64
- jnz L_test_for_end_of_block /* if ((op & 64) != 0) */
-
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx /* eax &= hold */
- add eax, [esp+64] /* eax += len */
- mov eax, [ebp+eax*4] /* eax = lcode[val+(hold&mask[op])]*/
- jmp L_dolen
-
-ALIGN 4
-L_test_for_second_level_dist:
- test al, 64
- jnz L_invalid_distance_code /* if ((op & 64) != 0) */
-
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx /* eax &= hold */
- add eax, ebp /* eax += dist */
- mov ecx, [esp+36] /* ecx = dcode */
- mov eax, [ecx+eax*4] /* eax = dcode[val+(hold&mask[op])]*/
- jmp L_dodist
-
-ALIGN 4
-L_clip_window:
- mov ecx, eax
- mov eax, [esp+48] /* eax = wsize */
- neg ecx /* nbytes = -nbytes */
- mov esi, [esp+28] /* from = window */
-
- cmp eax, ebp
- jb L_invalid_distance_too_far /* if (dist > wsize) */
-
- add ecx, ebp /* nbytes = dist - nbytes */
- cmp dword ptr [esp+52], 0
- jne L_wrap_around_window /* if (write != 0) */
-
- sub eax, ecx
- add esi, eax /* from += wsize - nbytes */
-
- mov eax, [esp+64] /* eax = len */
- cmp eax, ecx
- jbe L_do_copy /* if (nbytes >= len) */
-
- sub eax, ecx /* len -= nbytes */
- rep movsb
- mov esi, edi
- sub esi, ebp /* from = out - dist */
- jmp L_do_copy
-
-ALIGN 4
-L_wrap_around_window:
- mov eax, [esp+52] /* eax = write */
- cmp ecx, eax
- jbe L_contiguous_in_window /* if (write >= nbytes) */
-
- add esi, [esp+48] /* from += wsize */
- add esi, eax /* from += write */
- sub esi, ecx /* from -= nbytes */
- sub ecx, eax /* nbytes -= write */
-
- mov eax, [esp+64] /* eax = len */
- cmp eax, ecx
- jbe L_do_copy /* if (nbytes >= len) */
-
- sub eax, ecx /* len -= nbytes */
- rep movsb
- mov esi, [esp+28] /* from = window */
- mov ecx, [esp+52] /* nbytes = write */
- cmp eax, ecx
- jbe L_do_copy /* if (nbytes >= len) */
-
- sub eax, ecx /* len -= nbytes */
- rep movsb
- mov esi, edi
- sub esi, ebp /* from = out - dist */
- jmp L_do_copy
-
-ALIGN 4
-L_contiguous_in_window:
- add esi, eax
- sub esi, ecx /* from += write - nbytes */
-
- mov eax, [esp+64] /* eax = len */
- cmp eax, ecx
- jbe L_do_copy /* if (nbytes >= len) */
-
- sub eax, ecx /* len -= nbytes */
- rep movsb
- mov esi, edi
- sub esi, ebp /* from = out - dist */
- jmp L_do_copy
-
-ALIGN 4
-L_do_copy:
- mov ecx, eax
- rep movsb
-
- mov esi, [esp+8] /* move in back to %esi, toss from */
- mov ebp, [esp+32] /* ebp = lcode */
- jmp L_while_test
-
-L_test_for_end_of_block:
- test al, 32
- jz L_invalid_literal_length_code
- mov dword ptr [esp+72], 1
- jmp L_break_loop_with_status
-
-L_invalid_literal_length_code:
- mov dword ptr [esp+72], 2
- jmp L_break_loop_with_status
-
-L_invalid_distance_code:
- mov dword ptr [esp+72], 3
- jmp L_break_loop_with_status
-
-L_invalid_distance_too_far:
- mov esi, [esp+4]
- mov dword ptr [esp+72], 4
- jmp L_break_loop_with_status
-
-L_break_loop:
- mov dword ptr [esp+72], 0
-
-L_break_loop_with_status:
-/* put in, out, bits, and hold back into ar and pop esp */
- mov [esp+8], esi /* save in */
- mov [esp+16], edi /* save out */
- mov [esp+44], ebx /* save bits */
- mov [esp+40], edx /* save hold */
- mov ebp, [esp+4] /* restore esp, ebp */
- mov esp, [esp]
- }
-#else
-#error "x86 architecture not defined"
-#endif
-
- if (ar.status > 1) {
- if (ar.status == 2)
- strm->msg = "invalid literal/length code";
- else if (ar.status == 3)
- strm->msg = "invalid distance code";
- else
- strm->msg = "invalid distance too far back";
- state->mode = BAD;
- }
- else if ( ar.status == 1 ) {
- state->mode = TYPE;
- }
-
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
- ar.len = ar.bits >> 3;
- ar.in -= ar.len;
- ar.bits -= ar.len << 3;
- ar.hold &= (1U << ar.bits) - 1;
-
- /* update state and return */
- strm->next_in = ar.in;
- strm->next_out = ar.out;
- strm->avail_in = (unsigned)(ar.in < ar.last ?
- PAD_AVAIL_IN + (ar.last - ar.in) :
- PAD_AVAIL_IN - (ar.in - ar.last));
- strm->avail_out = (unsigned)(ar.out < ar.end ?
- PAD_AVAIL_OUT + (ar.end - ar.out) :
- PAD_AVAIL_OUT - (ar.out - ar.end));
- state->hold = ar.hold;
- state->bits = ar.bits;
- return;
-}
-
diff --git a/tcl8.6/compat/zlib/contrib/inflate86/inffast.S b/tcl8.6/compat/zlib/contrib/inflate86/inffast.S
deleted file mode 100644
index 2245a29..0000000
--- a/tcl8.6/compat/zlib/contrib/inflate86/inffast.S
+++ /dev/null
@@ -1,1368 +0,0 @@
-/*
- * inffast.S is a hand tuned assembler version of:
- *
- * inffast.c -- fast decoding
- * Copyright (C) 1995-2003 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Copyright (C) 2003 Chris Anderson <christop@charm.net>
- * Please use the copyright conditions above.
- *
- * This version (Jan-23-2003) of inflate_fast was coded and tested under
- * GNU/Linux on a pentium 3, using the gcc-3.2 compiler distribution. On that
- * machine, I found that gzip style archives decompressed about 20% faster than
- * the gcc-3.2 -O3 -fomit-frame-pointer compiled version. Your results will
- * depend on how large of a buffer is used for z_stream.next_in & next_out
- * (8K-32K worked best for my 256K cpu cache) and how much overhead there is in
- * stream processing I/O and crc32/addler32. In my case, this routine used
- * 70% of the cpu time and crc32 used 20%.
- *
- * I am confident that this version will work in the general case, but I have
- * not tested a wide variety of datasets or a wide variety of platforms.
- *
- * Jan-24-2003 -- Added -DUSE_MMX define for slightly faster inflating.
- * It should be a runtime flag instead of compile time flag...
- *
- * Jan-26-2003 -- Added runtime check for MMX support with cpuid instruction.
- * With -DUSE_MMX, only MMX code is compiled. With -DNO_MMX, only non-MMX code
- * is compiled. Without either option, runtime detection is enabled. Runtime
- * detection should work on all modern cpus and the recomended algorithm (flip
- * ID bit on eflags and then use the cpuid instruction) is used in many
- * multimedia applications. Tested under win2k with gcc-2.95 and gas-2.12
- * distributed with cygwin3. Compiling with gcc-2.95 -c inffast.S -o
- * inffast.obj generates a COFF object which can then be linked with MSVC++
- * compiled code. Tested under FreeBSD 4.7 with gcc-2.95.
- *
- * Jan-28-2003 -- Tested Athlon XP... MMX mode is slower than no MMX (and
- * slower than compiler generated code). Adjusted cpuid check to use the MMX
- * code only for Pentiums < P4 until I have more data on the P4. Speed
- * improvment is only about 15% on the Athlon when compared with code generated
- * with MSVC++. Not sure yet, but I think the P4 will also be slower using the
- * MMX mode because many of it's x86 ALU instructions execute in .5 cycles and
- * have less latency than MMX ops. Added code to buffer the last 11 bytes of
- * the input stream since the MMX code grabs bits in chunks of 32, which
- * differs from the inffast.c algorithm. I don't think there would have been
- * read overruns where a page boundary was crossed (a segfault), but there
- * could have been overruns when next_in ends on unaligned memory (unintialized
- * memory read).
- *
- * Mar-13-2003 -- P4 MMX is slightly slower than P4 NO_MMX. I created a C
- * version of the non-MMX code so that it doesn't depend on zstrm and zstate
- * structure offsets which are hard coded in this file. This was last tested
- * with zlib-1.2.0 which is currently in beta testing, newer versions of this
- * and inffas86.c can be found at http://www.eetbeetee.com/zlib/ and
- * http://www.charm.net/~christop/zlib/
- */
-
-
-/*
- * if you have underscore linking problems (_inflate_fast undefined), try
- * using -DGAS_COFF
- */
-#if ! defined( GAS_COFF ) && ! defined( GAS_ELF )
-
-#if defined( WIN32 ) || defined( __CYGWIN__ )
-#define GAS_COFF /* windows object format */
-#else
-#define GAS_ELF
-#endif
-
-#endif /* ! GAS_COFF && ! GAS_ELF */
-
-
-#if defined( GAS_COFF )
-
-/* coff externals have underscores */
-#define inflate_fast _inflate_fast
-#define inflate_fast_use_mmx _inflate_fast_use_mmx
-
-#endif /* GAS_COFF */
-
-
-.file "inffast.S"
-
-.globl inflate_fast
-
-.text
-.align 4,0
-.L_invalid_literal_length_code_msg:
-.string "invalid literal/length code"
-
-.align 4,0
-.L_invalid_distance_code_msg:
-.string "invalid distance code"
-
-.align 4,0
-.L_invalid_distance_too_far_msg:
-.string "invalid distance too far back"
-
-#if ! defined( NO_MMX )
-.align 4,0
-.L_mask: /* mask[N] = ( 1 << N ) - 1 */
-.long 0
-.long 1
-.long 3
-.long 7
-.long 15
-.long 31
-.long 63
-.long 127
-.long 255
-.long 511
-.long 1023
-.long 2047
-.long 4095
-.long 8191
-.long 16383
-.long 32767
-.long 65535
-.long 131071
-.long 262143
-.long 524287
-.long 1048575
-.long 2097151
-.long 4194303
-.long 8388607
-.long 16777215
-.long 33554431
-.long 67108863
-.long 134217727
-.long 268435455
-.long 536870911
-.long 1073741823
-.long 2147483647
-.long 4294967295
-#endif /* NO_MMX */
-
-.text
-
-/*
- * struct z_stream offsets, in zlib.h
- */
-#define next_in_strm 0 /* strm->next_in */
-#define avail_in_strm 4 /* strm->avail_in */
-#define next_out_strm 12 /* strm->next_out */
-#define avail_out_strm 16 /* strm->avail_out */
-#define msg_strm 24 /* strm->msg */
-#define state_strm 28 /* strm->state */
-
-/*
- * struct inflate_state offsets, in inflate.h
- */
-#define mode_state 0 /* state->mode */
-#define wsize_state 32 /* state->wsize */
-#define write_state 40 /* state->write */
-#define window_state 44 /* state->window */
-#define hold_state 48 /* state->hold */
-#define bits_state 52 /* state->bits */
-#define lencode_state 68 /* state->lencode */
-#define distcode_state 72 /* state->distcode */
-#define lenbits_state 76 /* state->lenbits */
-#define distbits_state 80 /* state->distbits */
-
-/*
- * inflate_fast's activation record
- */
-#define local_var_size 64 /* how much local space for vars */
-#define strm_sp 88 /* first arg: z_stream * (local_var_size + 24) */
-#define start_sp 92 /* second arg: unsigned int (local_var_size + 28) */
-
-/*
- * offsets for local vars on stack
- */
-#define out 60 /* unsigned char* */
-#define window 56 /* unsigned char* */
-#define wsize 52 /* unsigned int */
-#define write 48 /* unsigned int */
-#define in 44 /* unsigned char* */
-#define beg 40 /* unsigned char* */
-#define buf 28 /* char[ 12 ] */
-#define len 24 /* unsigned int */
-#define last 20 /* unsigned char* */
-#define end 16 /* unsigned char* */
-#define dcode 12 /* code* */
-#define lcode 8 /* code* */
-#define dmask 4 /* unsigned int */
-#define lmask 0 /* unsigned int */
-
-/*
- * typedef enum inflate_mode consts, in inflate.h
- */
-#define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */
-#define INFLATE_MODE_BAD 26
-
-
-#if ! defined( USE_MMX ) && ! defined( NO_MMX )
-
-#define RUN_TIME_MMX
-
-#define CHECK_MMX 1
-#define DO_USE_MMX 2
-#define DONT_USE_MMX 3
-
-.globl inflate_fast_use_mmx
-
-.data
-
-.align 4,0
-inflate_fast_use_mmx: /* integer flag for run time control 1=check,2=mmx,3=no */
-.long CHECK_MMX
-
-#if defined( GAS_ELF )
-/* elf info */
-.type inflate_fast_use_mmx,@object
-.size inflate_fast_use_mmx,4
-#endif
-
-#endif /* RUN_TIME_MMX */
-
-#if defined( GAS_COFF )
-/* coff info: scl 2 = extern, type 32 = function */
-.def inflate_fast; .scl 2; .type 32; .endef
-#endif
-
-.text
-
-.align 32,0x90
-inflate_fast:
- pushl %edi
- pushl %esi
- pushl %ebp
- pushl %ebx
- pushf /* save eflags (strm_sp, state_sp assumes this is 32 bits) */
- subl $local_var_size, %esp
- cld
-
-#define strm_r %esi
-#define state_r %edi
-
- movl strm_sp(%esp), strm_r
- movl state_strm(strm_r), state_r
-
- /* in = strm->next_in;
- * out = strm->next_out;
- * last = in + strm->avail_in - 11;
- * beg = out - (start - strm->avail_out);
- * end = out + (strm->avail_out - 257);
- */
- movl avail_in_strm(strm_r), %edx
- movl next_in_strm(strm_r), %eax
-
- addl %eax, %edx /* avail_in += next_in */
- subl $11, %edx /* avail_in -= 11 */
-
- movl %eax, in(%esp)
- movl %edx, last(%esp)
-
- movl start_sp(%esp), %ebp
- movl avail_out_strm(strm_r), %ecx
- movl next_out_strm(strm_r), %ebx
-
- subl %ecx, %ebp /* start -= avail_out */
- negl %ebp /* start = -start */
- addl %ebx, %ebp /* start += next_out */
-
- subl $257, %ecx /* avail_out -= 257 */
- addl %ebx, %ecx /* avail_out += out */
-
- movl %ebx, out(%esp)
- movl %ebp, beg(%esp)
- movl %ecx, end(%esp)
-
- /* wsize = state->wsize;
- * write = state->write;
- * window = state->window;
- * hold = state->hold;
- * bits = state->bits;
- * lcode = state->lencode;
- * dcode = state->distcode;
- * lmask = ( 1 << state->lenbits ) - 1;
- * dmask = ( 1 << state->distbits ) - 1;
- */
-
- movl lencode_state(state_r), %eax
- movl distcode_state(state_r), %ecx
-
- movl %eax, lcode(%esp)
- movl %ecx, dcode(%esp)
-
- movl $1, %eax
- movl lenbits_state(state_r), %ecx
- shll %cl, %eax
- decl %eax
- movl %eax, lmask(%esp)
-
- movl $1, %eax
- movl distbits_state(state_r), %ecx
- shll %cl, %eax
- decl %eax
- movl %eax, dmask(%esp)
-
- movl wsize_state(state_r), %eax
- movl write_state(state_r), %ecx
- movl window_state(state_r), %edx
-
- movl %eax, wsize(%esp)
- movl %ecx, write(%esp)
- movl %edx, window(%esp)
-
- movl hold_state(state_r), %ebp
- movl bits_state(state_r), %ebx
-
-#undef strm_r
-#undef state_r
-
-#define in_r %esi
-#define from_r %esi
-#define out_r %edi
-
- movl in(%esp), in_r
- movl last(%esp), %ecx
- cmpl in_r, %ecx
- ja .L_align_long /* if in < last */
-
- addl $11, %ecx /* ecx = &in[ avail_in ] */
- subl in_r, %ecx /* ecx = avail_in */
- movl $12, %eax
- subl %ecx, %eax /* eax = 12 - avail_in */
- leal buf(%esp), %edi
- rep movsb /* memcpy( buf, in, avail_in ) */
- movl %eax, %ecx
- xorl %eax, %eax
- rep stosb /* memset( &buf[ avail_in ], 0, 12 - avail_in ) */
- leal buf(%esp), in_r /* in = buf */
- movl in_r, last(%esp) /* last = in, do just one iteration */
- jmp .L_is_aligned
-
- /* align in_r on long boundary */
-.L_align_long:
- testl $3, in_r
- jz .L_is_aligned
- xorl %eax, %eax
- movb (in_r), %al
- incl in_r
- movl %ebx, %ecx
- addl $8, %ebx
- shll %cl, %eax
- orl %eax, %ebp
- jmp .L_align_long
-
-.L_is_aligned:
- movl out(%esp), out_r
-
-#if defined( NO_MMX )
- jmp .L_do_loop
-#endif
-
-#if defined( USE_MMX )
- jmp .L_init_mmx
-#endif
-
-/*** Runtime MMX check ***/
-
-#if defined( RUN_TIME_MMX )
-.L_check_mmx:
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
- je .L_init_mmx
- ja .L_do_loop /* > 2 */
-
- pushl %eax
- pushl %ebx
- pushl %ecx
- pushl %edx
- pushf
- movl (%esp), %eax /* copy eflags to eax */
- xorl $0x200000, (%esp) /* try toggling ID bit of eflags (bit 21)
- * to see if cpu supports cpuid...
- * ID bit method not supported by NexGen but
- * bios may load a cpuid instruction and
- * cpuid may be disabled on Cyrix 5-6x86 */
- popf
- pushf
- popl %edx /* copy new eflags to edx */
- xorl %eax, %edx /* test if ID bit is flipped */
- jz .L_dont_use_mmx /* not flipped if zero */
- xorl %eax, %eax
- cpuid
- cmpl $0x756e6547, %ebx /* check for GenuineIntel in ebx,ecx,edx */
- jne .L_dont_use_mmx
- cmpl $0x6c65746e, %ecx
- jne .L_dont_use_mmx
- cmpl $0x49656e69, %edx
- jne .L_dont_use_mmx
- movl $1, %eax
- cpuid /* get cpu features */
- shrl $8, %eax
- andl $15, %eax
- cmpl $6, %eax /* check for Pentium family, is 0xf for P4 */
- jne .L_dont_use_mmx
- testl $0x800000, %edx /* test if MMX feature is set (bit 23) */
- jnz .L_use_mmx
- jmp .L_dont_use_mmx
-.L_use_mmx:
- movl $DO_USE_MMX, inflate_fast_use_mmx
- jmp .L_check_mmx_pop
-.L_dont_use_mmx:
- movl $DONT_USE_MMX, inflate_fast_use_mmx
-.L_check_mmx_pop:
- popl %edx
- popl %ecx
- popl %ebx
- popl %eax
- jmp .L_check_mmx
-#endif
-
-
-/*** Non-MMX code ***/
-
-#if defined ( NO_MMX ) || defined( RUN_TIME_MMX )
-
-#define hold_r %ebp
-#define bits_r %bl
-#define bitslong_r %ebx
-
-.align 32,0x90
-.L_while_test:
- /* while (in < last && out < end)
- */
- cmpl out_r, end(%esp)
- jbe .L_break_loop /* if (out >= end) */
-
- cmpl in_r, last(%esp)
- jbe .L_break_loop
-
-.L_do_loop:
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
- *
- * do {
- * if (bits < 15) {
- * hold |= *((unsigned short *)in)++ << bits;
- * bits += 16
- * }
- * this = lcode[hold & lmask]
- */
- cmpb $15, bits_r
- ja .L_get_length_code /* if (15 < bits) */
-
- xorl %eax, %eax
- lodsw /* al = *(ushort *)in++ */
- movb bits_r, %cl /* cl = bits, needs it for shifting */
- addb $16, bits_r /* bits += 16 */
- shll %cl, %eax
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
-
-.L_get_length_code:
- movl lmask(%esp), %edx /* edx = lmask */
- movl lcode(%esp), %ecx /* ecx = lcode */
- andl hold_r, %edx /* edx &= hold */
- movl (%ecx,%edx,4), %eax /* eax = lcode[hold & lmask] */
-
-.L_dolen:
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out
- *
- * dolen:
- * bits -= this.bits;
- * hold >>= this.bits
- */
- movb %ah, %cl /* cl = this.bits */
- subb %ah, bits_r /* bits -= this.bits */
- shrl %cl, hold_r /* hold >>= this.bits */
-
- /* check if op is a literal
- * if (op == 0) {
- * PUP(out) = this.val;
- * }
- */
- testb %al, %al
- jnz .L_test_for_length_base /* if (op != 0) 45.7% */
-
- shrl $16, %eax /* output this.val char */
- stosb
- jmp .L_while_test
-
-.L_test_for_length_base:
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = len
- *
- * else if (op & 16) {
- * len = this.val
- * op &= 15
- * if (op) {
- * if (op > bits) {
- * hold |= *((unsigned short *)in)++ << bits;
- * bits += 16
- * }
- * len += hold & mask[op];
- * bits -= op;
- * hold >>= op;
- * }
- */
-#define len_r %edx
- movl %eax, len_r /* len = this */
- shrl $16, len_r /* len = this.val */
- movb %al, %cl
-
- testb $16, %al
- jz .L_test_for_second_level_length /* if ((op & 16) == 0) 8% */
- andb $15, %cl /* op &= 15 */
- jz .L_save_len /* if (!op) */
- cmpb %cl, bits_r
- jae .L_add_bits_to_len /* if (op <= bits) */
-
- movb %cl, %ch /* stash op in ch, freeing cl */
- xorl %eax, %eax
- lodsw /* al = *(ushort *)in++ */
- movb bits_r, %cl /* cl = bits, needs it for shifting */
- addb $16, bits_r /* bits += 16 */
- shll %cl, %eax
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
- movb %ch, %cl /* move op back to ecx */
-
-.L_add_bits_to_len:
- movl $1, %eax
- shll %cl, %eax
- decl %eax
- subb %cl, bits_r
- andl hold_r, %eax /* eax &= hold */
- shrl %cl, hold_r
- addl %eax, len_r /* len += hold & mask[op] */
-
-.L_save_len:
- movl len_r, len(%esp) /* save len */
-#undef len_r
-
-.L_decode_distance:
- /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- *
- * if (bits < 15) {
- * hold |= *((unsigned short *)in)++ << bits;
- * bits += 16
- * }
- * this = dcode[hold & dmask];
- * dodist:
- * bits -= this.bits;
- * hold >>= this.bits;
- * op = this.op;
- */
-
- cmpb $15, bits_r
- ja .L_get_distance_code /* if (15 < bits) */
-
- xorl %eax, %eax
- lodsw /* al = *(ushort *)in++ */
- movb bits_r, %cl /* cl = bits, needs it for shifting */
- addb $16, bits_r /* bits += 16 */
- shll %cl, %eax
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
-
-.L_get_distance_code:
- movl dmask(%esp), %edx /* edx = dmask */
- movl dcode(%esp), %ecx /* ecx = dcode */
- andl hold_r, %edx /* edx &= hold */
- movl (%ecx,%edx,4), %eax /* eax = dcode[hold & dmask] */
-
-#define dist_r %edx
-.L_dodist:
- movl %eax, dist_r /* dist = this */
- shrl $16, dist_r /* dist = this.val */
- movb %ah, %cl
- subb %ah, bits_r /* bits -= this.bits */
- shrl %cl, hold_r /* hold >>= this.bits */
-
- /* if (op & 16) {
- * dist = this.val
- * op &= 15
- * if (op > bits) {
- * hold |= *((unsigned short *)in)++ << bits;
- * bits += 16
- * }
- * dist += hold & mask[op];
- * bits -= op;
- * hold >>= op;
- */
- movb %al, %cl /* cl = this.op */
-
- testb $16, %al /* if ((op & 16) == 0) */
- jz .L_test_for_second_level_dist
- andb $15, %cl /* op &= 15 */
- jz .L_check_dist_one
- cmpb %cl, bits_r
- jae .L_add_bits_to_dist /* if (op <= bits) 97.6% */
-
- movb %cl, %ch /* stash op in ch, freeing cl */
- xorl %eax, %eax
- lodsw /* al = *(ushort *)in++ */
- movb bits_r, %cl /* cl = bits, needs it for shifting */
- addb $16, bits_r /* bits += 16 */
- shll %cl, %eax
- orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */
- movb %ch, %cl /* move op back to ecx */
-
-.L_add_bits_to_dist:
- movl $1, %eax
- shll %cl, %eax
- decl %eax /* (1 << op) - 1 */
- subb %cl, bits_r
- andl hold_r, %eax /* eax &= hold */
- shrl %cl, hold_r
- addl %eax, dist_r /* dist += hold & ((1 << op) - 1) */
- jmp .L_check_window
-
-.L_check_window:
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- * %ecx = nbytes
- *
- * nbytes = out - beg;
- * if (dist <= nbytes) {
- * from = out - dist;
- * do {
- * PUP(out) = PUP(from);
- * } while (--len > 0) {
- * }
- */
-
- movl in_r, in(%esp) /* save in so from can use it's reg */
- movl out_r, %eax
- subl beg(%esp), %eax /* nbytes = out - beg */
-
- cmpl dist_r, %eax
- jb .L_clip_window /* if (dist > nbytes) 4.2% */
-
- movl len(%esp), %ecx
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
-
- subl $3, %ecx
- movb (from_r), %al
- movb %al, (out_r)
- movb 1(from_r), %al
- movb 2(from_r), %dl
- addl $3, from_r
- movb %al, 1(out_r)
- movb %dl, 2(out_r)
- addl $3, out_r
- rep movsb
-
- movl in(%esp), in_r /* move in back to %esi, toss from */
- jmp .L_while_test
-
-.align 16,0x90
-.L_check_dist_one:
- cmpl $1, dist_r
- jne .L_check_window
- cmpl out_r, beg(%esp)
- je .L_check_window
-
- decl out_r
- movl len(%esp), %ecx
- movb (out_r), %al
- subl $3, %ecx
-
- movb %al, 1(out_r)
- movb %al, 2(out_r)
- movb %al, 3(out_r)
- addl $4, out_r
- rep stosb
-
- jmp .L_while_test
-
-.align 16,0x90
-.L_test_for_second_level_length:
- /* else if ((op & 64) == 0) {
- * this = lcode[this.val + (hold & mask[op])];
- * }
- */
- testb $64, %al
- jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
-
- movl $1, %eax
- shll %cl, %eax
- decl %eax
- andl hold_r, %eax /* eax &= hold */
- addl %edx, %eax /* eax += this.val */
- movl lcode(%esp), %edx /* edx = lcode */
- movl (%edx,%eax,4), %eax /* eax = lcode[val + (hold&mask[op])] */
- jmp .L_dolen
-
-.align 16,0x90
-.L_test_for_second_level_dist:
- /* else if ((op & 64) == 0) {
- * this = dcode[this.val + (hold & mask[op])];
- * }
- */
- testb $64, %al
- jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
-
- movl $1, %eax
- shll %cl, %eax
- decl %eax
- andl hold_r, %eax /* eax &= hold */
- addl %edx, %eax /* eax += this.val */
- movl dcode(%esp), %edx /* edx = dcode */
- movl (%edx,%eax,4), %eax /* eax = dcode[val + (hold&mask[op])] */
- jmp .L_dodist
-
-.align 16,0x90
-.L_clip_window:
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- * %ecx = nbytes
- *
- * else {
- * if (dist > wsize) {
- * invalid distance
- * }
- * from = window;
- * nbytes = dist - nbytes;
- * if (write == 0) {
- * from += wsize - nbytes;
- */
-#define nbytes_r %ecx
- movl %eax, nbytes_r
- movl wsize(%esp), %eax /* prepare for dist compare */
- negl nbytes_r /* nbytes = -nbytes */
- movl window(%esp), from_r /* from = window */
-
- cmpl dist_r, %eax
- jb .L_invalid_distance_too_far /* if (dist > wsize) */
-
- addl dist_r, nbytes_r /* nbytes = dist - nbytes */
- cmpl $0, write(%esp)
- jne .L_wrap_around_window /* if (write != 0) */
-
- subl nbytes_r, %eax
- addl %eax, from_r /* from += wsize - nbytes */
-
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- * %ecx = nbytes, %eax = len
- *
- * if (nbytes < len) {
- * len -= nbytes;
- * do {
- * PUP(out) = PUP(from);
- * } while (--nbytes);
- * from = out - dist;
- * }
- * }
- */
-#define len_r %eax
- movl len(%esp), len_r
- cmpl nbytes_r, len_r
- jbe .L_do_copy1 /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1
-
- cmpl nbytes_r, len_r
- jbe .L_do_copy1 /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1
-
-.L_wrap_around_window:
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- * %ecx = nbytes, %eax = write, %eax = len
- *
- * else if (write < nbytes) {
- * from += wsize + write - nbytes;
- * nbytes -= write;
- * if (nbytes < len) {
- * len -= nbytes;
- * do {
- * PUP(out) = PUP(from);
- * } while (--nbytes);
- * from = window;
- * nbytes = write;
- * if (nbytes < len) {
- * len -= nbytes;
- * do {
- * PUP(out) = PUP(from);
- * } while(--nbytes);
- * from = out - dist;
- * }
- * }
- * }
- */
-#define write_r %eax
- movl write(%esp), write_r
- cmpl write_r, nbytes_r
- jbe .L_contiguous_in_window /* if (write >= nbytes) */
-
- addl wsize(%esp), from_r
- addl write_r, from_r
- subl nbytes_r, from_r /* from += wsize + write - nbytes */
- subl write_r, nbytes_r /* nbytes -= write */
-#undef write_r
-
- movl len(%esp), len_r
- cmpl nbytes_r, len_r
- jbe .L_do_copy1 /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl window(%esp), from_r /* from = window */
- movl write(%esp), nbytes_r /* nbytes = write */
- cmpl nbytes_r, len_r
- jbe .L_do_copy1 /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1
-
-.L_contiguous_in_window:
- /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist
- * %ecx = nbytes, %eax = write, %eax = len
- *
- * else {
- * from += write - nbytes;
- * if (nbytes < len) {
- * len -= nbytes;
- * do {
- * PUP(out) = PUP(from);
- * } while (--nbytes);
- * from = out - dist;
- * }
- * }
- */
-#define write_r %eax
- addl write_r, from_r
- subl nbytes_r, from_r /* from += write - nbytes */
-#undef write_r
-
- movl len(%esp), len_r
- cmpl nbytes_r, len_r
- jbe .L_do_copy1 /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
-
-.L_do_copy1:
- /* regs: %esi = from, %esi = in, %ebp = hold, %bl = bits, %edi = out
- * %eax = len
- *
- * while (len > 0) {
- * PUP(out) = PUP(from);
- * len--;
- * }
- * }
- * } while (in < last && out < end);
- */
-#undef nbytes_r
-#define in_r %esi
- movl len_r, %ecx
- rep movsb
-
- movl in(%esp), in_r /* move in back to %esi, toss from */
- jmp .L_while_test
-
-#undef len_r
-#undef dist_r
-
-#endif /* NO_MMX || RUN_TIME_MMX */
-
-
-/*** MMX code ***/
-
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
-
-.align 32,0x90
-.L_init_mmx:
- emms
-
-#undef bits_r
-#undef bitslong_r
-#define bitslong_r %ebp
-#define hold_mm %mm0
- movd %ebp, hold_mm
- movl %ebx, bitslong_r
-
-#define used_mm %mm1
-#define dmask2_mm %mm2
-#define lmask2_mm %mm3
-#define lmask_mm %mm4
-#define dmask_mm %mm5
-#define tmp_mm %mm6
-
- movd lmask(%esp), lmask_mm
- movq lmask_mm, lmask2_mm
- movd dmask(%esp), dmask_mm
- movq dmask_mm, dmask2_mm
- pxor used_mm, used_mm
- movl lcode(%esp), %ebx /* ebx = lcode */
- jmp .L_do_loop_mmx
-
-.align 32,0x90
-.L_while_test_mmx:
- /* while (in < last && out < end)
- */
- cmpl out_r, end(%esp)
- jbe .L_break_loop /* if (out >= end) */
-
- cmpl in_r, last(%esp)
- jbe .L_break_loop
-
-.L_do_loop_mmx:
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
-
- cmpl $32, bitslong_r
- ja .L_get_length_code_mmx /* if (32 < bits) */
-
- movd bitslong_r, tmp_mm
- movd (in_r), %mm7
- addl $4, in_r
- psllq tmp_mm, %mm7
- addl $32, bitslong_r
- por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
-
-.L_get_length_code_mmx:
- pand hold_mm, lmask_mm
- movd lmask_mm, %eax
- movq lmask2_mm, lmask_mm
- movl (%ebx,%eax,4), %eax /* eax = lcode[hold & lmask] */
-
-.L_dolen_mmx:
- movzbl %ah, %ecx /* ecx = this.bits */
- movd %ecx, used_mm
- subl %ecx, bitslong_r /* bits -= this.bits */
-
- testb %al, %al
- jnz .L_test_for_length_base_mmx /* if (op != 0) 45.7% */
-
- shrl $16, %eax /* output this.val char */
- stosb
- jmp .L_while_test_mmx
-
-.L_test_for_length_base_mmx:
-#define len_r %edx
- movl %eax, len_r /* len = this */
- shrl $16, len_r /* len = this.val */
-
- testb $16, %al
- jz .L_test_for_second_level_length_mmx /* if ((op & 16) == 0) 8% */
- andl $15, %eax /* op &= 15 */
- jz .L_decode_distance_mmx /* if (!op) */
-
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
- movd %eax, used_mm
- movd hold_mm, %ecx
- subl %eax, bitslong_r
- andl .L_mask(,%eax,4), %ecx
- addl %ecx, len_r /* len += hold & mask[op] */
-
-.L_decode_distance_mmx:
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
-
- cmpl $32, bitslong_r
- ja .L_get_dist_code_mmx /* if (32 < bits) */
-
- movd bitslong_r, tmp_mm
- movd (in_r), %mm7
- addl $4, in_r
- psllq tmp_mm, %mm7
- addl $32, bitslong_r
- por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */
-
-.L_get_dist_code_mmx:
- movl dcode(%esp), %ebx /* ebx = dcode */
- pand hold_mm, dmask_mm
- movd dmask_mm, %eax
- movq dmask2_mm, dmask_mm
- movl (%ebx,%eax,4), %eax /* eax = dcode[hold & lmask] */
-
-.L_dodist_mmx:
-#define dist_r %ebx
- movzbl %ah, %ecx /* ecx = this.bits */
- movl %eax, dist_r
- shrl $16, dist_r /* dist = this.val */
- subl %ecx, bitslong_r /* bits -= this.bits */
- movd %ecx, used_mm
-
- testb $16, %al /* if ((op & 16) == 0) */
- jz .L_test_for_second_level_dist_mmx
- andl $15, %eax /* op &= 15 */
- jz .L_check_dist_one_mmx
-
-.L_add_bits_to_dist_mmx:
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
- movd %eax, used_mm /* save bit length of current op */
- movd hold_mm, %ecx /* get the next bits on input stream */
- subl %eax, bitslong_r /* bits -= op bits */
- andl .L_mask(,%eax,4), %ecx /* ecx = hold & mask[op] */
- addl %ecx, dist_r /* dist += hold & mask[op] */
-
-.L_check_window_mmx:
- movl in_r, in(%esp) /* save in so from can use it's reg */
- movl out_r, %eax
- subl beg(%esp), %eax /* nbytes = out - beg */
-
- cmpl dist_r, %eax
- jb .L_clip_window_mmx /* if (dist > nbytes) 4.2% */
-
- movl len_r, %ecx
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
-
- subl $3, %ecx
- movb (from_r), %al
- movb %al, (out_r)
- movb 1(from_r), %al
- movb 2(from_r), %dl
- addl $3, from_r
- movb %al, 1(out_r)
- movb %dl, 2(out_r)
- addl $3, out_r
- rep movsb
-
- movl in(%esp), in_r /* move in back to %esi, toss from */
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
- jmp .L_while_test_mmx
-
-.align 16,0x90
-.L_check_dist_one_mmx:
- cmpl $1, dist_r
- jne .L_check_window_mmx
- cmpl out_r, beg(%esp)
- je .L_check_window_mmx
-
- decl out_r
- movl len_r, %ecx
- movb (out_r), %al
- subl $3, %ecx
-
- movb %al, 1(out_r)
- movb %al, 2(out_r)
- movb %al, 3(out_r)
- addl $4, out_r
- rep stosb
-
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
- jmp .L_while_test_mmx
-
-.align 16,0x90
-.L_test_for_second_level_length_mmx:
- testb $64, %al
- jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */
-
- andl $15, %eax
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
- movd hold_mm, %ecx
- andl .L_mask(,%eax,4), %ecx
- addl len_r, %ecx
- movl (%ebx,%ecx,4), %eax /* eax = lcode[hold & lmask] */
- jmp .L_dolen_mmx
-
-.align 16,0x90
-.L_test_for_second_level_dist_mmx:
- testb $64, %al
- jnz .L_invalid_distance_code /* if ((op & 64) != 0) */
-
- andl $15, %eax
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
- movd hold_mm, %ecx
- andl .L_mask(,%eax,4), %ecx
- movl dcode(%esp), %eax /* ecx = dcode */
- addl dist_r, %ecx
- movl (%eax,%ecx,4), %eax /* eax = lcode[hold & lmask] */
- jmp .L_dodist_mmx
-
-.align 16,0x90
-.L_clip_window_mmx:
-#define nbytes_r %ecx
- movl %eax, nbytes_r
- movl wsize(%esp), %eax /* prepare for dist compare */
- negl nbytes_r /* nbytes = -nbytes */
- movl window(%esp), from_r /* from = window */
-
- cmpl dist_r, %eax
- jb .L_invalid_distance_too_far /* if (dist > wsize) */
-
- addl dist_r, nbytes_r /* nbytes = dist - nbytes */
- cmpl $0, write(%esp)
- jne .L_wrap_around_window_mmx /* if (write != 0) */
-
- subl nbytes_r, %eax
- addl %eax, from_r /* from += wsize - nbytes */
-
- cmpl nbytes_r, len_r
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1_mmx
-
- cmpl nbytes_r, len_r
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1_mmx
-
-.L_wrap_around_window_mmx:
-#define write_r %eax
- movl write(%esp), write_r
- cmpl write_r, nbytes_r
- jbe .L_contiguous_in_window_mmx /* if (write >= nbytes) */
-
- addl wsize(%esp), from_r
- addl write_r, from_r
- subl nbytes_r, from_r /* from += wsize + write - nbytes */
- subl write_r, nbytes_r /* nbytes -= write */
-#undef write_r
-
- cmpl nbytes_r, len_r
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl window(%esp), from_r /* from = window */
- movl write(%esp), nbytes_r /* nbytes = write */
- cmpl nbytes_r, len_r
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
- jmp .L_do_copy1_mmx
-
-.L_contiguous_in_window_mmx:
-#define write_r %eax
- addl write_r, from_r
- subl nbytes_r, from_r /* from += write - nbytes */
-#undef write_r
-
- cmpl nbytes_r, len_r
- jbe .L_do_copy1_mmx /* if (nbytes >= len) */
-
- subl nbytes_r, len_r /* len -= nbytes */
- rep movsb
- movl out_r, from_r
- subl dist_r, from_r /* from = out - dist */
-
-.L_do_copy1_mmx:
-#undef nbytes_r
-#define in_r %esi
- movl len_r, %ecx
- rep movsb
-
- movl in(%esp), in_r /* move in back to %esi, toss from */
- movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */
- jmp .L_while_test_mmx
-
-#undef hold_r
-#undef bitslong_r
-
-#endif /* USE_MMX || RUN_TIME_MMX */
-
-
-/*** USE_MMX, NO_MMX, and RUNTIME_MMX from here on ***/
-
-.L_invalid_distance_code:
- /* else {
- * strm->msg = "invalid distance code";
- * state->mode = BAD;
- * }
- */
- movl $.L_invalid_distance_code_msg, %ecx
- movl $INFLATE_MODE_BAD, %edx
- jmp .L_update_stream_state
-
-.L_test_for_end_of_block:
- /* else if (op & 32) {
- * state->mode = TYPE;
- * break;
- * }
- */
- testb $32, %al
- jz .L_invalid_literal_length_code /* if ((op & 32) == 0) */
-
- movl $0, %ecx
- movl $INFLATE_MODE_TYPE, %edx
- jmp .L_update_stream_state
-
-.L_invalid_literal_length_code:
- /* else {
- * strm->msg = "invalid literal/length code";
- * state->mode = BAD;
- * }
- */
- movl $.L_invalid_literal_length_code_msg, %ecx
- movl $INFLATE_MODE_BAD, %edx
- jmp .L_update_stream_state
-
-.L_invalid_distance_too_far:
- /* strm->msg = "invalid distance too far back";
- * state->mode = BAD;
- */
- movl in(%esp), in_r /* from_r has in's reg, put in back */
- movl $.L_invalid_distance_too_far_msg, %ecx
- movl $INFLATE_MODE_BAD, %edx
- jmp .L_update_stream_state
-
-.L_update_stream_state:
- /* set strm->msg = %ecx, strm->state->mode = %edx */
- movl strm_sp(%esp), %eax
- testl %ecx, %ecx /* if (msg != NULL) */
- jz .L_skip_msg
- movl %ecx, msg_strm(%eax) /* strm->msg = msg */
-.L_skip_msg:
- movl state_strm(%eax), %eax /* state = strm->state */
- movl %edx, mode_state(%eax) /* state->mode = edx (BAD | TYPE) */
- jmp .L_break_loop
-
-.align 32,0x90
-.L_break_loop:
-
-/*
- * Regs:
- *
- * bits = %ebp when mmx, and in %ebx when non-mmx
- * hold = %hold_mm when mmx, and in %ebp when non-mmx
- * in = %esi
- * out = %edi
- */
-
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
-
-#if defined( RUN_TIME_MMX )
-
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
- jne .L_update_next_in
-
-#endif /* RUN_TIME_MMX */
-
- movl %ebp, %ebx
-
-.L_update_next_in:
-
-#endif
-
-#define strm_r %eax
-#define state_r %edx
-
- /* len = bits >> 3;
- * in -= len;
- * bits -= len << 3;
- * hold &= (1U << bits) - 1;
- * state->hold = hold;
- * state->bits = bits;
- * strm->next_in = in;
- * strm->next_out = out;
- */
- movl strm_sp(%esp), strm_r
- movl %ebx, %ecx
- movl state_strm(strm_r), state_r
- shrl $3, %ecx
- subl %ecx, in_r
- shll $3, %ecx
- subl %ecx, %ebx
- movl out_r, next_out_strm(strm_r)
- movl %ebx, bits_state(state_r)
- movl %ebx, %ecx
-
- leal buf(%esp), %ebx
- cmpl %ebx, last(%esp)
- jne .L_buf_not_used /* if buf != last */
-
- subl %ebx, in_r /* in -= buf */
- movl next_in_strm(strm_r), %ebx
- movl %ebx, last(%esp) /* last = strm->next_in */
- addl %ebx, in_r /* in += strm->next_in */
- movl avail_in_strm(strm_r), %ebx
- subl $11, %ebx
- addl %ebx, last(%esp) /* last = &strm->next_in[ avail_in - 11 ] */
-
-.L_buf_not_used:
- movl in_r, next_in_strm(strm_r)
-
- movl $1, %ebx
- shll %cl, %ebx
- decl %ebx
-
-#if defined( USE_MMX ) || defined( RUN_TIME_MMX )
-
-#if defined( RUN_TIME_MMX )
-
- cmpl $DO_USE_MMX, inflate_fast_use_mmx
- jne .L_update_hold
-
-#endif /* RUN_TIME_MMX */
-
- psrlq used_mm, hold_mm /* hold_mm >>= last bit length */
- movd hold_mm, %ebp
-
- emms
-
-.L_update_hold:
-
-#endif /* USE_MMX || RUN_TIME_MMX */
-
- andl %ebx, %ebp
- movl %ebp, hold_state(state_r)
-
-#define last_r %ebx
-
- /* strm->avail_in = in < last ? 11 + (last - in) : 11 - (in - last) */
- movl last(%esp), last_r
- cmpl in_r, last_r
- jbe .L_last_is_smaller /* if (in >= last) */
-
- subl in_r, last_r /* last -= in */
- addl $11, last_r /* last += 11 */
- movl last_r, avail_in_strm(strm_r)
- jmp .L_fixup_out
-.L_last_is_smaller:
- subl last_r, in_r /* in -= last */
- negl in_r /* in = -in */
- addl $11, in_r /* in += 11 */
- movl in_r, avail_in_strm(strm_r)
-
-#undef last_r
-#define end_r %ebx
-
-.L_fixup_out:
- /* strm->avail_out = out < end ? 257 + (end - out) : 257 - (out - end)*/
- movl end(%esp), end_r
- cmpl out_r, end_r
- jbe .L_end_is_smaller /* if (out >= end) */
-
- subl out_r, end_r /* end -= out */
- addl $257, end_r /* end += 257 */
- movl end_r, avail_out_strm(strm_r)
- jmp .L_done
-.L_end_is_smaller:
- subl end_r, out_r /* out -= end */
- negl out_r /* out = -out */
- addl $257, out_r /* out += 257 */
- movl out_r, avail_out_strm(strm_r)
-
-#undef end_r
-#undef strm_r
-#undef state_r
-
-.L_done:
- addl $local_var_size, %esp
- popf
- popl %ebx
- popl %ebp
- popl %esi
- popl %edi
- ret
-
-#if defined( GAS_ELF )
-/* elf info */
-.type inflate_fast,@function
-.size inflate_fast,.-inflate_fast
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/iostream/test.cpp b/tcl8.6/compat/zlib/contrib/iostream/test.cpp
deleted file mode 100644
index 7d265b3..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream/test.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#include "zfstream.h"
-
-int main() {
-
- // Construct a stream object with this filebuffer. Anything sent
- // to this stream will go to standard out.
- gzofstream os( 1, ios::out );
-
- // This text is getting compressed and sent to stdout.
- // To prove this, run 'test | zcat'.
- os << "Hello, Mommy" << endl;
-
- os << setcompressionlevel( Z_NO_COMPRESSION );
- os << "hello, hello, hi, ho!" << endl;
-
- setcompressionlevel( os, Z_DEFAULT_COMPRESSION )
- << "I'm compressing again" << endl;
-
- os.close();
-
- return 0;
-
-}
diff --git a/tcl8.6/compat/zlib/contrib/iostream/zfstream.cpp b/tcl8.6/compat/zlib/contrib/iostream/zfstream.cpp
deleted file mode 100644
index d0cd85f..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream/zfstream.cpp
+++ /dev/null
@@ -1,329 +0,0 @@
-
-#include "zfstream.h"
-
-gzfilebuf::gzfilebuf() :
- file(NULL),
- mode(0),
- own_file_descriptor(0)
-{ }
-
-gzfilebuf::~gzfilebuf() {
-
- sync();
- if ( own_file_descriptor )
- close();
-
-}
-
-gzfilebuf *gzfilebuf::open( const char *name,
- int io_mode ) {
-
- if ( is_open() )
- return NULL;
-
- char char_mode[10];
- char *p = char_mode;
-
- if ( io_mode & ios::in ) {
- mode = ios::in;
- *p++ = 'r';
- } else if ( io_mode & ios::app ) {
- mode = ios::app;
- *p++ = 'a';
- } else {
- mode = ios::out;
- *p++ = 'w';
- }
-
- if ( io_mode & ios::binary ) {
- mode |= ios::binary;
- *p++ = 'b';
- }
-
- // Hard code the compression level
- if ( io_mode & (ios::out|ios::app )) {
- *p++ = '9';
- }
-
- // Put the end-of-string indicator
- *p = '\0';
-
- if ( (file = gzopen(name, char_mode)) == NULL )
- return NULL;
-
- own_file_descriptor = 1;
-
- return this;
-
-}
-
-gzfilebuf *gzfilebuf::attach( int file_descriptor,
- int io_mode ) {
-
- if ( is_open() )
- return NULL;
-
- char char_mode[10];
- char *p = char_mode;
-
- if ( io_mode & ios::in ) {
- mode = ios::in;
- *p++ = 'r';
- } else if ( io_mode & ios::app ) {
- mode = ios::app;
- *p++ = 'a';
- } else {
- mode = ios::out;
- *p++ = 'w';
- }
-
- if ( io_mode & ios::binary ) {
- mode |= ios::binary;
- *p++ = 'b';
- }
-
- // Hard code the compression level
- if ( io_mode & (ios::out|ios::app )) {
- *p++ = '9';
- }
-
- // Put the end-of-string indicator
- *p = '\0';
-
- if ( (file = gzdopen(file_descriptor, char_mode)) == NULL )
- return NULL;
-
- own_file_descriptor = 0;
-
- return this;
-
-}
-
-gzfilebuf *gzfilebuf::close() {
-
- if ( is_open() ) {
-
- sync();
- gzclose( file );
- file = NULL;
-
- }
-
- return this;
-
-}
-
-int gzfilebuf::setcompressionlevel( int comp_level ) {
-
- return gzsetparams(file, comp_level, -2);
-
-}
-
-int gzfilebuf::setcompressionstrategy( int comp_strategy ) {
-
- return gzsetparams(file, -2, comp_strategy);
-
-}
-
-
-streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int which ) {
-
- return streampos(EOF);
-
-}
-
-int gzfilebuf::underflow() {
-
- // If the file hasn't been opened for reading, error.
- if ( !is_open() || !(mode & ios::in) )
- return EOF;
-
- // if a buffer doesn't exists, allocate one.
- if ( !base() ) {
-
- if ( (allocate()) == EOF )
- return EOF;
- setp(0,0);
-
- } else {
-
- if ( in_avail() )
- return (unsigned char) *gptr();
-
- if ( out_waiting() ) {
- if ( flushbuf() == EOF )
- return EOF;
- }
-
- }
-
- // Attempt to fill the buffer.
-
- int result = fillbuf();
- if ( result == EOF ) {
- // disable get area
- setg(0,0,0);
- return EOF;
- }
-
- return (unsigned char) *gptr();
-
-}
-
-int gzfilebuf::overflow( int c ) {
-
- if ( !is_open() || !(mode & ios::out) )
- return EOF;
-
- if ( !base() ) {
- if ( allocate() == EOF )
- return EOF;
- setg(0,0,0);
- } else {
- if (in_avail()) {
- return EOF;
- }
- if (out_waiting()) {
- if (flushbuf() == EOF)
- return EOF;
- }
- }
-
- int bl = blen();
- setp( base(), base() + bl);
-
- if ( c != EOF ) {
-
- *pptr() = c;
- pbump(1);
-
- }
-
- return 0;
-
-}
-
-int gzfilebuf::sync() {
-
- if ( !is_open() )
- return EOF;
-
- if ( out_waiting() )
- return flushbuf();
-
- return 0;
-
-}
-
-int gzfilebuf::flushbuf() {
-
- int n;
- char *q;
-
- q = pbase();
- n = pptr() - q;
-
- if ( gzwrite( file, q, n) < n )
- return EOF;
-
- setp(0,0);
-
- return 0;
-
-}
-
-int gzfilebuf::fillbuf() {
-
- int required;
- char *p;
-
- p = base();
-
- required = blen();
-
- int t = gzread( file, p, required );
-
- if ( t <= 0) return EOF;
-
- setg( base(), base(), base()+t);
-
- return t;
-
-}
-
-gzfilestream_common::gzfilestream_common() :
- ios( gzfilestream_common::rdbuf() )
-{ }
-
-gzfilestream_common::~gzfilestream_common()
-{ }
-
-void gzfilestream_common::attach( int fd, int io_mode ) {
-
- if ( !buffer.attach( fd, io_mode) )
- clear( ios::failbit | ios::badbit );
- else
- clear();
-
-}
-
-void gzfilestream_common::open( const char *name, int io_mode ) {
-
- if ( !buffer.open( name, io_mode ) )
- clear( ios::failbit | ios::badbit );
- else
- clear();
-
-}
-
-void gzfilestream_common::close() {
-
- if ( !buffer.close() )
- clear( ios::failbit | ios::badbit );
-
-}
-
-gzfilebuf *gzfilestream_common::rdbuf()
-{
- return &buffer;
-}
-
-gzifstream::gzifstream() :
- ios( gzfilestream_common::rdbuf() )
-{
- clear( ios::badbit );
-}
-
-gzifstream::gzifstream( const char *name, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::open( name, io_mode );
-}
-
-gzifstream::gzifstream( int fd, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::attach( fd, io_mode );
-}
-
-gzifstream::~gzifstream() { }
-
-gzofstream::gzofstream() :
- ios( gzfilestream_common::rdbuf() )
-{
- clear( ios::badbit );
-}
-
-gzofstream::gzofstream( const char *name, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::open( name, io_mode );
-}
-
-gzofstream::gzofstream( int fd, int io_mode ) :
- ios( gzfilestream_common::rdbuf() )
-{
- gzfilestream_common::attach( fd, io_mode );
-}
-
-gzofstream::~gzofstream() { }
diff --git a/tcl8.6/compat/zlib/contrib/iostream/zfstream.h b/tcl8.6/compat/zlib/contrib/iostream/zfstream.h
deleted file mode 100644
index ed79098..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream/zfstream.h
+++ /dev/null
@@ -1,128 +0,0 @@
-
-#ifndef zfstream_h
-#define zfstream_h
-
-#include <fstream.h>
-#include "zlib.h"
-
-class gzfilebuf : public streambuf {
-
-public:
-
- gzfilebuf( );
- virtual ~gzfilebuf();
-
- gzfilebuf *open( const char *name, int io_mode );
- gzfilebuf *attach( int file_descriptor, int io_mode );
- gzfilebuf *close();
-
- int setcompressionlevel( int comp_level );
- int setcompressionstrategy( int comp_strategy );
-
- inline int is_open() const { return (file !=NULL); }
-
- virtual streampos seekoff( streamoff, ios::seek_dir, int );
-
- virtual int sync();
-
-protected:
-
- virtual int underflow();
- virtual int overflow( int = EOF );
-
-private:
-
- gzFile file;
- short mode;
- short own_file_descriptor;
-
- int flushbuf();
- int fillbuf();
-
-};
-
-class gzfilestream_common : virtual public ios {
-
- friend class gzifstream;
- friend class gzofstream;
- friend gzofstream &setcompressionlevel( gzofstream &, int );
- friend gzofstream &setcompressionstrategy( gzofstream &, int );
-
-public:
- virtual ~gzfilestream_common();
-
- void attach( int fd, int io_mode );
- void open( const char *name, int io_mode );
- void close();
-
-protected:
- gzfilestream_common();
-
-private:
- gzfilebuf *rdbuf();
-
- gzfilebuf buffer;
-
-};
-
-class gzifstream : public gzfilestream_common, public istream {
-
-public:
-
- gzifstream();
- gzifstream( const char *name, int io_mode = ios::in );
- gzifstream( int fd, int io_mode = ios::in );
-
- virtual ~gzifstream();
-
-};
-
-class gzofstream : public gzfilestream_common, public ostream {
-
-public:
-
- gzofstream();
- gzofstream( const char *name, int io_mode = ios::out );
- gzofstream( int fd, int io_mode = ios::out );
-
- virtual ~gzofstream();
-
-};
-
-template<class T> class gzomanip {
- friend gzofstream &operator<<(gzofstream &, const gzomanip<T> &);
-public:
- gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { }
-private:
- gzofstream &(*func)(gzofstream &, T);
- T val;
-};
-
-template<class T> gzofstream &operator<<(gzofstream &s, const gzomanip<T> &m)
-{
- return (*m.func)(s, m.val);
-}
-
-inline gzofstream &setcompressionlevel( gzofstream &s, int l )
-{
- (s.rdbuf())->setcompressionlevel(l);
- return s;
-}
-
-inline gzofstream &setcompressionstrategy( gzofstream &s, int l )
-{
- (s.rdbuf())->setcompressionstrategy(l);
- return s;
-}
-
-inline gzomanip<int> setcompressionlevel(int l)
-{
- return gzomanip<int>(&setcompressionlevel,l);
-}
-
-inline gzomanip<int> setcompressionstrategy(int l)
-{
- return gzomanip<int>(&setcompressionstrategy,l);
-}
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/iostream2/zstream.h b/tcl8.6/compat/zlib/contrib/iostream2/zstream.h
deleted file mode 100644
index 43d2332..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream2/zstream.h
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- *
- * Copyright (c) 1997
- * Christian Michelsen Research AS
- * Advanced Computing
- * Fantoftvegen 38, 5036 BERGEN, Norway
- * http://www.cmr.no
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Christian Michelsen Research AS makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef ZSTREAM__H
-#define ZSTREAM__H
-
-/*
- * zstream.h - C++ interface to the 'zlib' general purpose compression library
- * $Id: zstream.h 1.1 1997-06-25 12:00:56+02 tyge Exp tyge $
- */
-
-#include <strstream.h>
-#include <string.h>
-#include <stdio.h>
-#include "zlib.h"
-
-#if defined(_WIN32)
-# include <fcntl.h>
-# include <io.h>
-# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
-#else
-# define SET_BINARY_MODE(file)
-#endif
-
-class zstringlen {
-public:
- zstringlen(class izstream&);
- zstringlen(class ozstream&, const char*);
- size_t value() const { return val.word; }
-private:
- struct Val { unsigned char byte; size_t word; } val;
-};
-
-// ----------------------------- izstream -----------------------------
-
-class izstream
-{
- public:
- izstream() : m_fp(0) {}
- izstream(FILE* fp) : m_fp(0) { open(fp); }
- izstream(const char* name) : m_fp(0) { open(name); }
- ~izstream() { close(); }
-
- /* Opens a gzip (.gz) file for reading.
- * open() can be used to read a file which is not in gzip format;
- * in this case read() will directly read from the file without
- * decompression. errno can be checked to distinguish two error
- * cases (if errno is zero, the zlib error is Z_MEM_ERROR).
- */
- void open(const char* name) {
- if (m_fp) close();
- m_fp = ::gzopen(name, "rb");
- }
-
- void open(FILE* fp) {
- SET_BINARY_MODE(fp);
- if (m_fp) close();
- m_fp = ::gzdopen(fileno(fp), "rb");
- }
-
- /* Flushes all pending input if necessary, closes the compressed file
- * and deallocates all the (de)compression state. The return value is
- * the zlib error number (see function error() below).
- */
- int close() {
- int r = ::gzclose(m_fp);
- m_fp = 0; return r;
- }
-
- /* Binary read the given number of bytes from the compressed file.
- */
- int read(void* buf, size_t len) {
- return ::gzread(m_fp, buf, len);
- }
-
- /* Returns the error message for the last error which occurred on the
- * given compressed file. errnum is set to zlib error number. If an
- * error occurred in the file system and not in the compression library,
- * errnum is set to Z_ERRNO and the application may consult errno
- * to get the exact error code.
- */
- const char* error(int* errnum) {
- return ::gzerror(m_fp, errnum);
- }
-
- gzFile fp() { return m_fp; }
-
- private:
- gzFile m_fp;
-};
-
-/*
- * Binary read the given (array of) object(s) from the compressed file.
- * If the input file was not in gzip format, read() copies the objects number
- * of bytes into the buffer.
- * returns the number of uncompressed bytes actually read
- * (0 for end of file, -1 for error).
- */
-template <class T, class Items>
-inline int read(izstream& zs, T* x, Items items) {
- return ::gzread(zs.fp(), x, items*sizeof(T));
-}
-
-/*
- * Binary input with the '>' operator.
- */
-template <class T>
-inline izstream& operator>(izstream& zs, T& x) {
- ::gzread(zs.fp(), &x, sizeof(T));
- return zs;
-}
-
-
-inline zstringlen::zstringlen(izstream& zs) {
- zs > val.byte;
- if (val.byte == 255) zs > val.word;
- else val.word = val.byte;
-}
-
-/*
- * Read length of string + the string with the '>' operator.
- */
-inline izstream& operator>(izstream& zs, char* x) {
- zstringlen len(zs);
- ::gzread(zs.fp(), x, len.value());
- x[len.value()] = '\0';
- return zs;
-}
-
-inline char* read_string(izstream& zs) {
- zstringlen len(zs);
- char* x = new char[len.value()+1];
- ::gzread(zs.fp(), x, len.value());
- x[len.value()] = '\0';
- return x;
-}
-
-// ----------------------------- ozstream -----------------------------
-
-class ozstream
-{
- public:
- ozstream() : m_fp(0), m_os(0) {
- }
- ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
- : m_fp(0), m_os(0) {
- open(fp, level);
- }
- ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION)
- : m_fp(0), m_os(0) {
- open(name, level);
- }
- ~ozstream() {
- close();
- }
-
- /* Opens a gzip (.gz) file for writing.
- * The compression level parameter should be in 0..9
- * errno can be checked to distinguish two error cases
- * (if errno is zero, the zlib error is Z_MEM_ERROR).
- */
- void open(const char* name, int level = Z_DEFAULT_COMPRESSION) {
- char mode[4] = "wb\0";
- if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level;
- if (m_fp) close();
- m_fp = ::gzopen(name, mode);
- }
-
- /* open from a FILE pointer.
- */
- void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) {
- SET_BINARY_MODE(fp);
- char mode[4] = "wb\0";
- if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level;
- if (m_fp) close();
- m_fp = ::gzdopen(fileno(fp), mode);
- }
-
- /* Flushes all pending output if necessary, closes the compressed file
- * and deallocates all the (de)compression state. The return value is
- * the zlib error number (see function error() below).
- */
- int close() {
- if (m_os) {
- ::gzwrite(m_fp, m_os->str(), m_os->pcount());
- delete[] m_os->str(); delete m_os; m_os = 0;
- }
- int r = ::gzclose(m_fp); m_fp = 0; return r;
- }
-
- /* Binary write the given number of bytes into the compressed file.
- */
- int write(const void* buf, size_t len) {
- return ::gzwrite(m_fp, (voidp) buf, len);
- }
-
- /* Flushes all pending output into the compressed file. The parameter
- * _flush is as in the deflate() function. The return value is the zlib
- * error number (see function gzerror below). flush() returns Z_OK if
- * the flush_ parameter is Z_FINISH and all output could be flushed.
- * flush() should be called only when strictly necessary because it can
- * degrade compression.
- */
- int flush(int _flush) {
- os_flush();
- return ::gzflush(m_fp, _flush);
- }
-
- /* Returns the error message for the last error which occurred on the
- * given compressed file. errnum is set to zlib error number. If an
- * error occurred in the file system and not in the compression library,
- * errnum is set to Z_ERRNO and the application may consult errno
- * to get the exact error code.
- */
- const char* error(int* errnum) {
- return ::gzerror(m_fp, errnum);
- }
-
- gzFile fp() { return m_fp; }
-
- ostream& os() {
- if (m_os == 0) m_os = new ostrstream;
- return *m_os;
- }
-
- void os_flush() {
- if (m_os && m_os->pcount()>0) {
- ostrstream* oss = new ostrstream;
- oss->fill(m_os->fill());
- oss->flags(m_os->flags());
- oss->precision(m_os->precision());
- oss->width(m_os->width());
- ::gzwrite(m_fp, m_os->str(), m_os->pcount());
- delete[] m_os->str(); delete m_os; m_os = oss;
- }
- }
-
- private:
- gzFile m_fp;
- ostrstream* m_os;
-};
-
-/*
- * Binary write the given (array of) object(s) into the compressed file.
- * returns the number of uncompressed bytes actually written
- * (0 in case of error).
- */
-template <class T, class Items>
-inline int write(ozstream& zs, const T* x, Items items) {
- return ::gzwrite(zs.fp(), (voidp) x, items*sizeof(T));
-}
-
-/*
- * Binary output with the '<' operator.
- */
-template <class T>
-inline ozstream& operator<(ozstream& zs, const T& x) {
- ::gzwrite(zs.fp(), (voidp) &x, sizeof(T));
- return zs;
-}
-
-inline zstringlen::zstringlen(ozstream& zs, const char* x) {
- val.byte = 255; val.word = ::strlen(x);
- if (val.word < 255) zs < (val.byte = val.word);
- else zs < val;
-}
-
-/*
- * Write length of string + the string with the '<' operator.
- */
-inline ozstream& operator<(ozstream& zs, const char* x) {
- zstringlen len(zs, x);
- ::gzwrite(zs.fp(), (voidp) x, len.value());
- return zs;
-}
-
-#ifdef _MSC_VER
-inline ozstream& operator<(ozstream& zs, char* const& x) {
- return zs < (const char*) x;
-}
-#endif
-
-/*
- * Ascii write with the << operator;
- */
-template <class T>
-inline ostream& operator<<(ozstream& zs, const T& x) {
- zs.os_flush();
- return zs.os() << x;
-}
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/iostream2/zstream_test.cpp b/tcl8.6/compat/zlib/contrib/iostream2/zstream_test.cpp
deleted file mode 100644
index 6273f62..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream2/zstream_test.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "zstream.h"
-#include <math.h>
-#include <stdlib.h>
-#include <iomanip.h>
-
-void main() {
- char h[256] = "Hello";
- char* g = "Goodbye";
- ozstream out("temp.gz");
- out < "This works well" < h < g;
- out.close();
-
- izstream in("temp.gz"); // read it back
- char *x = read_string(in), *y = new char[256], z[256];
- in > y > z;
- in.close();
- cout << x << endl << y << endl << z << endl;
-
- out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results
- out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl;
- out << z << endl << y << endl << x << endl;
- out << 1.1234567890123456789 << endl;
-
- delete[] x; delete[] y;
-}
diff --git a/tcl8.6/compat/zlib/contrib/iostream3/README b/tcl8.6/compat/zlib/contrib/iostream3/README
deleted file mode 100644
index f7b319a..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream3/README
+++ /dev/null
@@ -1,35 +0,0 @@
-These classes provide a C++ stream interface to the zlib library. It allows you
-to do things like:
-
- gzofstream outf("blah.gz");
- outf << "These go into the gzip file " << 123 << endl;
-
-It does this by deriving a specialized stream buffer for gzipped files, which is
-the way Stroustrup would have done it. :->
-
-The gzifstream and gzofstream classes were originally written by Kevin Ruland
-and made available in the zlib contrib/iostream directory. The older version still
-compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of
-this version.
-
-The new classes are as standard-compliant as possible, closely following the
-approach of the standard library's fstream classes. It compiles under gcc versions
-3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard
-library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs
-from the previous one in the following respects:
-- added showmanyc
-- added setbuf, with support for unbuffered output via setbuf(0,0)
-- a few bug fixes of stream behavior
-- gzipped output file opened with default compression level instead of maximum level
-- setcompressionlevel()/strategy() members replaced by single setcompression()
-
-The code is provided "as is", with the permission to use, copy, modify, distribute
-and sell it for any purpose without fee.
-
-Ludwig Schwardt
-<schwardt@sun.ac.za>
-
-DSP Lab
-Electrical & Electronic Engineering Department
-University of Stellenbosch
-South Africa
diff --git a/tcl8.6/compat/zlib/contrib/iostream3/TODO b/tcl8.6/compat/zlib/contrib/iostream3/TODO
deleted file mode 100644
index 7032f97..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream3/TODO
+++ /dev/null
@@ -1,17 +0,0 @@
-Possible upgrades to gzfilebuf:
-
-- The ability to do putback (e.g. putbackfail)
-
-- The ability to seek (zlib supports this, but could be slow/tricky)
-
-- Simultaneous read/write access (does it make sense?)
-
-- Support for ios_base::ate open mode
-
-- Locale support?
-
-- Check public interface to see which calls give problems
- (due to dependence on library internals)
-
-- Override operator<<(ostream&, gzfilebuf*) to allow direct copying
- of stream buffer to stream ( i.e. os << is.rdbuf(); )
diff --git a/tcl8.6/compat/zlib/contrib/iostream3/test.cc b/tcl8.6/compat/zlib/contrib/iostream3/test.cc
deleted file mode 100644
index 9423533..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream3/test.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Test program for gzifstream and gzofstream
- *
- * by Ludwig Schwardt <schwardt@sun.ac.za>
- * original version by Kevin Ruland <kevin@rodin.wustl.edu>
- */
-
-#include "zfstream.h"
-#include <iostream> // for cout
-
-int main() {
-
- gzofstream outf;
- gzifstream inf;
- char buf[80];
-
- outf.open("test1.txt.gz");
- outf << "The quick brown fox sidestepped the lazy canine\n"
- << 1.3 << "\nPlan " << 9 << std::endl;
- outf.close();
- std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n"
- << "The quick brown fox sidestepped the lazy canine\n"
- << 1.3 << "\nPlan " << 9 << std::endl;
-
- std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n";
- inf.open("test1.txt.gz");
- while (inf.getline(buf,80,'\n')) {
- std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
- }
- inf.close();
-
- outf.rdbuf()->pubsetbuf(0,0);
- outf.open("test2.txt.gz");
- outf << setcompression(Z_NO_COMPRESSION)
- << "The quick brown fox sidestepped the lazy canine\n"
- << 1.3 << "\nPlan " << 9 << std::endl;
- outf.close();
- std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form";
-
- std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n";
- inf.rdbuf()->pubsetbuf(0,0);
- inf.open("test2.txt.gz");
- while (inf.getline(buf,80,'\n')) {
- std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n";
- }
- inf.close();
-
- return 0;
-
-}
diff --git a/tcl8.6/compat/zlib/contrib/iostream3/zfstream.cc b/tcl8.6/compat/zlib/contrib/iostream3/zfstream.cc
deleted file mode 100644
index 94eb933..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream3/zfstream.cc
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * A C++ I/O streams interface to the zlib gz* functions
- *
- * by Ludwig Schwardt <schwardt@sun.ac.za>
- * original version by Kevin Ruland <kevin@rodin.wustl.edu>
- *
- * This version is standard-compliant and compatible with gcc 3.x.
- */
-
-#include "zfstream.h"
-#include <cstring> // for strcpy, strcat, strlen (mode strings)
-#include <cstdio> // for BUFSIZ
-
-// Internal buffer sizes (default and "unbuffered" versions)
-#define BIGBUFSIZE BUFSIZ
-#define SMALLBUFSIZE 1
-
-/*****************************************************************************/
-
-// Default constructor
-gzfilebuf::gzfilebuf()
-: file(NULL), io_mode(std::ios_base::openmode(0)), own_fd(false),
- buffer(NULL), buffer_size(BIGBUFSIZE), own_buffer(true)
-{
- // No buffers to start with
- this->disable_buffer();
-}
-
-// Destructor
-gzfilebuf::~gzfilebuf()
-{
- // Sync output buffer and close only if responsible for file
- // (i.e. attached streams should be left open at this stage)
- this->sync();
- if (own_fd)
- this->close();
- // Make sure internal buffer is deallocated
- this->disable_buffer();
-}
-
-// Set compression level and strategy
-int
-gzfilebuf::setcompression(int comp_level,
- int comp_strategy)
-{
- return gzsetparams(file, comp_level, comp_strategy);
-}
-
-// Open gzipped file
-gzfilebuf*
-gzfilebuf::open(const char *name,
- std::ios_base::openmode mode)
-{
- // Fail if file already open
- if (this->is_open())
- return NULL;
- // Don't support simultaneous read/write access (yet)
- if ((mode & std::ios_base::in) && (mode & std::ios_base::out))
- return NULL;
-
- // Build mode string for gzopen and check it [27.8.1.3.2]
- char char_mode[6] = "\0\0\0\0\0";
- if (!this->open_mode(mode, char_mode))
- return NULL;
-
- // Attempt to open file
- if ((file = gzopen(name, char_mode)) == NULL)
- return NULL;
-
- // On success, allocate internal buffer and set flags
- this->enable_buffer();
- io_mode = mode;
- own_fd = true;
- return this;
-}
-
-// Attach to gzipped file
-gzfilebuf*
-gzfilebuf::attach(int fd,
- std::ios_base::openmode mode)
-{
- // Fail if file already open
- if (this->is_open())
- return NULL;
- // Don't support simultaneous read/write access (yet)
- if ((mode & std::ios_base::in) && (mode & std::ios_base::out))
- return NULL;
-
- // Build mode string for gzdopen and check it [27.8.1.3.2]
- char char_mode[6] = "\0\0\0\0\0";
- if (!this->open_mode(mode, char_mode))
- return NULL;
-
- // Attempt to attach to file
- if ((file = gzdopen(fd, char_mode)) == NULL)
- return NULL;
-
- // On success, allocate internal buffer and set flags
- this->enable_buffer();
- io_mode = mode;
- own_fd = false;
- return this;
-}
-
-// Close gzipped file
-gzfilebuf*
-gzfilebuf::close()
-{
- // Fail immediately if no file is open
- if (!this->is_open())
- return NULL;
- // Assume success
- gzfilebuf* retval = this;
- // Attempt to sync and close gzipped file
- if (this->sync() == -1)
- retval = NULL;
- if (gzclose(file) < 0)
- retval = NULL;
- // File is now gone anyway (postcondition [27.8.1.3.8])
- file = NULL;
- own_fd = false;
- // Destroy internal buffer if it exists
- this->disable_buffer();
- return retval;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-// Convert int open mode to mode string
-bool
-gzfilebuf::open_mode(std::ios_base::openmode mode,
- char* c_mode) const
-{
- bool testb = mode & std::ios_base::binary;
- bool testi = mode & std::ios_base::in;
- bool testo = mode & std::ios_base::out;
- bool testt = mode & std::ios_base::trunc;
- bool testa = mode & std::ios_base::app;
-
- // Check for valid flag combinations - see [27.8.1.3.2] (Table 92)
- // Original zfstream hardcoded the compression level to maximum here...
- // Double the time for less than 1% size improvement seems
- // excessive though - keeping it at the default level
- // To change back, just append "9" to the next three mode strings
- if (!testi && testo && !testt && !testa)
- strcpy(c_mode, "w");
- if (!testi && testo && !testt && testa)
- strcpy(c_mode, "a");
- if (!testi && testo && testt && !testa)
- strcpy(c_mode, "w");
- if (testi && !testo && !testt && !testa)
- strcpy(c_mode, "r");
- // No read/write mode yet
-// if (testi && testo && !testt && !testa)
-// strcpy(c_mode, "r+");
-// if (testi && testo && testt && !testa)
-// strcpy(c_mode, "w+");
-
- // Mode string should be empty for invalid combination of flags
- if (strlen(c_mode) == 0)
- return false;
- if (testb)
- strcat(c_mode, "b");
- return true;
-}
-
-// Determine number of characters in internal get buffer
-std::streamsize
-gzfilebuf::showmanyc()
-{
- // Calls to underflow will fail if file not opened for reading
- if (!this->is_open() || !(io_mode & std::ios_base::in))
- return -1;
- // Make sure get area is in use
- if (this->gptr() && (this->gptr() < this->egptr()))
- return std::streamsize(this->egptr() - this->gptr());
- else
- return 0;
-}
-
-// Fill get area from gzipped file
-gzfilebuf::int_type
-gzfilebuf::underflow()
-{
- // If something is left in the get area by chance, return it
- // (this shouldn't normally happen, as underflow is only supposed
- // to be called when gptr >= egptr, but it serves as error check)
- if (this->gptr() && (this->gptr() < this->egptr()))
- return traits_type::to_int_type(*(this->gptr()));
-
- // If the file hasn't been opened for reading, produce error
- if (!this->is_open() || !(io_mode & std::ios_base::in))
- return traits_type::eof();
-
- // Attempt to fill internal buffer from gzipped file
- // (buffer must be guaranteed to exist...)
- int bytes_read = gzread(file, buffer, buffer_size);
- // Indicates error or EOF
- if (bytes_read <= 0)
- {
- // Reset get area
- this->setg(buffer, buffer, buffer);
- return traits_type::eof();
- }
- // Make all bytes read from file available as get area
- this->setg(buffer, buffer, buffer + bytes_read);
-
- // Return next character in get area
- return traits_type::to_int_type(*(this->gptr()));
-}
-
-// Write put area to gzipped file
-gzfilebuf::int_type
-gzfilebuf::overflow(int_type c)
-{
- // Determine whether put area is in use
- if (this->pbase())
- {
- // Double-check pointer range
- if (this->pptr() > this->epptr() || this->pptr() < this->pbase())
- return traits_type::eof();
- // Add extra character to buffer if not EOF
- if (!traits_type::eq_int_type(c, traits_type::eof()))
- {
- *(this->pptr()) = traits_type::to_char_type(c);
- this->pbump(1);
- }
- // Number of characters to write to file
- int bytes_to_write = this->pptr() - this->pbase();
- // Overflow doesn't fail if nothing is to be written
- if (bytes_to_write > 0)
- {
- // If the file hasn't been opened for writing, produce error
- if (!this->is_open() || !(io_mode & std::ios_base::out))
- return traits_type::eof();
- // If gzipped file won't accept all bytes written to it, fail
- if (gzwrite(file, this->pbase(), bytes_to_write) != bytes_to_write)
- return traits_type::eof();
- // Reset next pointer to point to pbase on success
- this->pbump(-bytes_to_write);
- }
- }
- // Write extra character to file if not EOF
- else if (!traits_type::eq_int_type(c, traits_type::eof()))
- {
- // If the file hasn't been opened for writing, produce error
- if (!this->is_open() || !(io_mode & std::ios_base::out))
- return traits_type::eof();
- // Impromptu char buffer (allows "unbuffered" output)
- char_type last_char = traits_type::to_char_type(c);
- // If gzipped file won't accept this character, fail
- if (gzwrite(file, &last_char, 1) != 1)
- return traits_type::eof();
- }
-
- // If you got here, you have succeeded (even if c was EOF)
- // The return value should therefore be non-EOF
- if (traits_type::eq_int_type(c, traits_type::eof()))
- return traits_type::not_eof(c);
- else
- return c;
-}
-
-// Assign new buffer
-std::streambuf*
-gzfilebuf::setbuf(char_type* p,
- std::streamsize n)
-{
- // First make sure stuff is sync'ed, for safety
- if (this->sync() == -1)
- return NULL;
- // If buffering is turned off on purpose via setbuf(0,0), still allocate one...
- // "Unbuffered" only really refers to put [27.8.1.4.10], while get needs at
- // least a buffer of size 1 (very inefficient though, therefore make it bigger?)
- // This follows from [27.5.2.4.3]/12 (gptr needs to point at something, it seems)
- if (!p || !n)
- {
- // Replace existing buffer (if any) with small internal buffer
- this->disable_buffer();
- buffer = NULL;
- buffer_size = 0;
- own_buffer = true;
- this->enable_buffer();
- }
- else
- {
- // Replace existing buffer (if any) with external buffer
- this->disable_buffer();
- buffer = p;
- buffer_size = n;
- own_buffer = false;
- this->enable_buffer();
- }
- return this;
-}
-
-// Write put area to gzipped file (i.e. ensures that put area is empty)
-int
-gzfilebuf::sync()
-{
- return traits_type::eq_int_type(this->overflow(), traits_type::eof()) ? -1 : 0;
-}
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-// Allocate internal buffer
-void
-gzfilebuf::enable_buffer()
-{
- // If internal buffer required, allocate one
- if (own_buffer && !buffer)
- {
- // Check for buffered vs. "unbuffered"
- if (buffer_size > 0)
- {
- // Allocate internal buffer
- buffer = new char_type[buffer_size];
- // Get area starts empty and will be expanded by underflow as need arises
- this->setg(buffer, buffer, buffer);
- // Setup entire internal buffer as put area.
- // The one-past-end pointer actually points to the last element of the buffer,
- // so that overflow(c) can safely add the extra character c to the sequence.
- // These pointers remain in place for the duration of the buffer
- this->setp(buffer, buffer + buffer_size - 1);
- }
- else
- {
- // Even in "unbuffered" case, (small?) get buffer is still required
- buffer_size = SMALLBUFSIZE;
- buffer = new char_type[buffer_size];
- this->setg(buffer, buffer, buffer);
- // "Unbuffered" means no put buffer
- this->setp(0, 0);
- }
- }
- else
- {
- // If buffer already allocated, reset buffer pointers just to make sure no
- // stale chars are lying around
- this->setg(buffer, buffer, buffer);
- this->setp(buffer, buffer + buffer_size - 1);
- }
-}
-
-// Destroy internal buffer
-void
-gzfilebuf::disable_buffer()
-{
- // If internal buffer exists, deallocate it
- if (own_buffer && buffer)
- {
- // Preserve unbuffered status by zeroing size
- if (!this->pbase())
- buffer_size = 0;
- delete[] buffer;
- buffer = NULL;
- this->setg(0, 0, 0);
- this->setp(0, 0);
- }
- else
- {
- // Reset buffer pointers to initial state if external buffer exists
- this->setg(buffer, buffer, buffer);
- if (buffer)
- this->setp(buffer, buffer + buffer_size - 1);
- else
- this->setp(0, 0);
- }
-}
-
-/*****************************************************************************/
-
-// Default constructor initializes stream buffer
-gzifstream::gzifstream()
-: std::istream(NULL), sb()
-{ this->init(&sb); }
-
-// Initialize stream buffer and open file
-gzifstream::gzifstream(const char* name,
- std::ios_base::openmode mode)
-: std::istream(NULL), sb()
-{
- this->init(&sb);
- this->open(name, mode);
-}
-
-// Initialize stream buffer and attach to file
-gzifstream::gzifstream(int fd,
- std::ios_base::openmode mode)
-: std::istream(NULL), sb()
-{
- this->init(&sb);
- this->attach(fd, mode);
-}
-
-// Open file and go into fail() state if unsuccessful
-void
-gzifstream::open(const char* name,
- std::ios_base::openmode mode)
-{
- if (!sb.open(name, mode | std::ios_base::in))
- this->setstate(std::ios_base::failbit);
- else
- this->clear();
-}
-
-// Attach to file and go into fail() state if unsuccessful
-void
-gzifstream::attach(int fd,
- std::ios_base::openmode mode)
-{
- if (!sb.attach(fd, mode | std::ios_base::in))
- this->setstate(std::ios_base::failbit);
- else
- this->clear();
-}
-
-// Close file
-void
-gzifstream::close()
-{
- if (!sb.close())
- this->setstate(std::ios_base::failbit);
-}
-
-/*****************************************************************************/
-
-// Default constructor initializes stream buffer
-gzofstream::gzofstream()
-: std::ostream(NULL), sb()
-{ this->init(&sb); }
-
-// Initialize stream buffer and open file
-gzofstream::gzofstream(const char* name,
- std::ios_base::openmode mode)
-: std::ostream(NULL), sb()
-{
- this->init(&sb);
- this->open(name, mode);
-}
-
-// Initialize stream buffer and attach to file
-gzofstream::gzofstream(int fd,
- std::ios_base::openmode mode)
-: std::ostream(NULL), sb()
-{
- this->init(&sb);
- this->attach(fd, mode);
-}
-
-// Open file and go into fail() state if unsuccessful
-void
-gzofstream::open(const char* name,
- std::ios_base::openmode mode)
-{
- if (!sb.open(name, mode | std::ios_base::out))
- this->setstate(std::ios_base::failbit);
- else
- this->clear();
-}
-
-// Attach to file and go into fail() state if unsuccessful
-void
-gzofstream::attach(int fd,
- std::ios_base::openmode mode)
-{
- if (!sb.attach(fd, mode | std::ios_base::out))
- this->setstate(std::ios_base::failbit);
- else
- this->clear();
-}
-
-// Close file
-void
-gzofstream::close()
-{
- if (!sb.close())
- this->setstate(std::ios_base::failbit);
-}
diff --git a/tcl8.6/compat/zlib/contrib/iostream3/zfstream.h b/tcl8.6/compat/zlib/contrib/iostream3/zfstream.h
deleted file mode 100644
index 8574479..0000000
--- a/tcl8.6/compat/zlib/contrib/iostream3/zfstream.h
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * A C++ I/O streams interface to the zlib gz* functions
- *
- * by Ludwig Schwardt <schwardt@sun.ac.za>
- * original version by Kevin Ruland <kevin@rodin.wustl.edu>
- *
- * This version is standard-compliant and compatible with gcc 3.x.
- */
-
-#ifndef ZFSTREAM_H
-#define ZFSTREAM_H
-
-#include <istream> // not iostream, since we don't need cin/cout
-#include <ostream>
-#include "zlib.h"
-
-/*****************************************************************************/
-
-/**
- * @brief Gzipped file stream buffer class.
- *
- * This class implements basic_filebuf for gzipped files. It doesn't yet support
- * seeking (allowed by zlib but slow/limited), putback and read/write access
- * (tricky). Otherwise, it attempts to be a drop-in replacement for the standard
- * file streambuf.
-*/
-class gzfilebuf : public std::streambuf
-{
-public:
- // Default constructor.
- gzfilebuf();
-
- // Destructor.
- virtual
- ~gzfilebuf();
-
- /**
- * @brief Set compression level and strategy on the fly.
- * @param comp_level Compression level (see zlib.h for allowed values)
- * @param comp_strategy Compression strategy (see zlib.h for allowed values)
- * @return Z_OK on success, Z_STREAM_ERROR otherwise.
- *
- * Unfortunately, these parameters cannot be modified separately, as the
- * previous zfstream version assumed. Since the strategy is seldom changed,
- * it can default and setcompression(level) then becomes like the old
- * setcompressionlevel(level).
- */
- int
- setcompression(int comp_level,
- int comp_strategy = Z_DEFAULT_STRATEGY);
-
- /**
- * @brief Check if file is open.
- * @return True if file is open.
- */
- bool
- is_open() const { return (file != NULL); }
-
- /**
- * @brief Open gzipped file.
- * @param name File name.
- * @param mode Open mode flags.
- * @return @c this on success, NULL on failure.
- */
- gzfilebuf*
- open(const char* name,
- std::ios_base::openmode mode);
-
- /**
- * @brief Attach to already open gzipped file.
- * @param fd File descriptor.
- * @param mode Open mode flags.
- * @return @c this on success, NULL on failure.
- */
- gzfilebuf*
- attach(int fd,
- std::ios_base::openmode mode);
-
- /**
- * @brief Close gzipped file.
- * @return @c this on success, NULL on failure.
- */
- gzfilebuf*
- close();
-
-protected:
- /**
- * @brief Convert ios open mode int to mode string used by zlib.
- * @return True if valid mode flag combination.
- */
- bool
- open_mode(std::ios_base::openmode mode,
- char* c_mode) const;
-
- /**
- * @brief Number of characters available in stream buffer.
- * @return Number of characters.
- *
- * This indicates number of characters in get area of stream buffer.
- * These characters can be read without accessing the gzipped file.
- */
- virtual std::streamsize
- showmanyc();
-
- /**
- * @brief Fill get area from gzipped file.
- * @return First character in get area on success, EOF on error.
- *
- * This actually reads characters from gzipped file to stream
- * buffer. Always buffered.
- */
- virtual int_type
- underflow();
-
- /**
- * @brief Write put area to gzipped file.
- * @param c Extra character to add to buffer contents.
- * @return Non-EOF on success, EOF on error.
- *
- * This actually writes characters in stream buffer to
- * gzipped file. With unbuffered output this is done one
- * character at a time.
- */
- virtual int_type
- overflow(int_type c = traits_type::eof());
-
- /**
- * @brief Installs external stream buffer.
- * @param p Pointer to char buffer.
- * @param n Size of external buffer.
- * @return @c this on success, NULL on failure.
- *
- * Call setbuf(0,0) to enable unbuffered output.
- */
- virtual std::streambuf*
- setbuf(char_type* p,
- std::streamsize n);
-
- /**
- * @brief Flush stream buffer to file.
- * @return 0 on success, -1 on error.
- *
- * This calls underflow(EOF) to do the job.
- */
- virtual int
- sync();
-
-//
-// Some future enhancements
-//
-// virtual int_type uflow();
-// virtual int_type pbackfail(int_type c = traits_type::eof());
-// virtual pos_type
-// seekoff(off_type off,
-// std::ios_base::seekdir way,
-// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out);
-// virtual pos_type
-// seekpos(pos_type sp,
-// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out);
-
-private:
- /**
- * @brief Allocate internal buffer.
- *
- * This function is safe to call multiple times. It will ensure
- * that a proper internal buffer exists if it is required. If the
- * buffer already exists or is external, the buffer pointers will be
- * reset to their original state.
- */
- void
- enable_buffer();
-
- /**
- * @brief Destroy internal buffer.
- *
- * This function is safe to call multiple times. It will ensure
- * that the internal buffer is deallocated if it exists. In any
- * case, it will also reset the buffer pointers.
- */
- void
- disable_buffer();
-
- /**
- * Underlying file pointer.
- */
- gzFile file;
-
- /**
- * Mode in which file was opened.
- */
- std::ios_base::openmode io_mode;
-
- /**
- * @brief True if this object owns file descriptor.
- *
- * This makes the class responsible for closing the file
- * upon destruction.
- */
- bool own_fd;
-
- /**
- * @brief Stream buffer.
- *
- * For simplicity this remains allocated on the free store for the
- * entire life span of the gzfilebuf object, unless replaced by setbuf.
- */
- char_type* buffer;
-
- /**
- * @brief Stream buffer size.
- *
- * Defaults to system default buffer size (typically 8192 bytes).
- * Modified by setbuf.
- */
- std::streamsize buffer_size;
-
- /**
- * @brief True if this object owns stream buffer.
- *
- * This makes the class responsible for deleting the buffer
- * upon destruction.
- */
- bool own_buffer;
-};
-
-/*****************************************************************************/
-
-/**
- * @brief Gzipped file input stream class.
- *
- * This class implements ifstream for gzipped files. Seeking and putback
- * is not supported yet.
-*/
-class gzifstream : public std::istream
-{
-public:
- // Default constructor
- gzifstream();
-
- /**
- * @brief Construct stream on gzipped file to be opened.
- * @param name File name.
- * @param mode Open mode flags (forced to contain ios::in).
- */
- explicit
- gzifstream(const char* name,
- std::ios_base::openmode mode = std::ios_base::in);
-
- /**
- * @brief Construct stream on already open gzipped file.
- * @param fd File descriptor.
- * @param mode Open mode flags (forced to contain ios::in).
- */
- explicit
- gzifstream(int fd,
- std::ios_base::openmode mode = std::ios_base::in);
-
- /**
- * Obtain underlying stream buffer.
- */
- gzfilebuf*
- rdbuf() const
- { return const_cast<gzfilebuf*>(&sb); }
-
- /**
- * @brief Check if file is open.
- * @return True if file is open.
- */
- bool
- is_open() { return sb.is_open(); }
-
- /**
- * @brief Open gzipped file.
- * @param name File name.
- * @param mode Open mode flags (forced to contain ios::in).
- *
- * Stream will be in state good() if file opens successfully;
- * otherwise in state fail(). This differs from the behavior of
- * ifstream, which never sets the state to good() and therefore
- * won't allow you to reuse the stream for a second file unless
- * you manually clear() the state. The choice is a matter of
- * convenience.
- */
- void
- open(const char* name,
- std::ios_base::openmode mode = std::ios_base::in);
-
- /**
- * @brief Attach to already open gzipped file.
- * @param fd File descriptor.
- * @param mode Open mode flags (forced to contain ios::in).
- *
- * Stream will be in state good() if attach succeeded; otherwise
- * in state fail().
- */
- void
- attach(int fd,
- std::ios_base::openmode mode = std::ios_base::in);
-
- /**
- * @brief Close gzipped file.
- *
- * Stream will be in state fail() if close failed.
- */
- void
- close();
-
-private:
- /**
- * Underlying stream buffer.
- */
- gzfilebuf sb;
-};
-
-/*****************************************************************************/
-
-/**
- * @brief Gzipped file output stream class.
- *
- * This class implements ofstream for gzipped files. Seeking and putback
- * is not supported yet.
-*/
-class gzofstream : public std::ostream
-{
-public:
- // Default constructor
- gzofstream();
-
- /**
- * @brief Construct stream on gzipped file to be opened.
- * @param name File name.
- * @param mode Open mode flags (forced to contain ios::out).
- */
- explicit
- gzofstream(const char* name,
- std::ios_base::openmode mode = std::ios_base::out);
-
- /**
- * @brief Construct stream on already open gzipped file.
- * @param fd File descriptor.
- * @param mode Open mode flags (forced to contain ios::out).
- */
- explicit
- gzofstream(int fd,
- std::ios_base::openmode mode = std::ios_base::out);
-
- /**
- * Obtain underlying stream buffer.
- */
- gzfilebuf*
- rdbuf() const
- { return const_cast<gzfilebuf*>(&sb); }
-
- /**
- * @brief Check if file is open.
- * @return True if file is open.
- */
- bool
- is_open() { return sb.is_open(); }
-
- /**
- * @brief Open gzipped file.
- * @param name File name.
- * @param mode Open mode flags (forced to contain ios::out).
- *
- * Stream will be in state good() if file opens successfully;
- * otherwise in state fail(). This differs from the behavior of
- * ofstream, which never sets the state to good() and therefore
- * won't allow you to reuse the stream for a second file unless
- * you manually clear() the state. The choice is a matter of
- * convenience.
- */
- void
- open(const char* name,
- std::ios_base::openmode mode = std::ios_base::out);
-
- /**
- * @brief Attach to already open gzipped file.
- * @param fd File descriptor.
- * @param mode Open mode flags (forced to contain ios::out).
- *
- * Stream will be in state good() if attach succeeded; otherwise
- * in state fail().
- */
- void
- attach(int fd,
- std::ios_base::openmode mode = std::ios_base::out);
-
- /**
- * @brief Close gzipped file.
- *
- * Stream will be in state fail() if close failed.
- */
- void
- close();
-
-private:
- /**
- * Underlying stream buffer.
- */
- gzfilebuf sb;
-};
-
-/*****************************************************************************/
-
-/**
- * @brief Gzipped file output stream manipulator class.
- *
- * This class defines a two-argument manipulator for gzofstream. It is used
- * as base for the setcompression(int,int) manipulator.
-*/
-template<typename T1, typename T2>
- class gzomanip2
- {
- public:
- // Allows insertor to peek at internals
- template <typename Ta, typename Tb>
- friend gzofstream&
- operator<<(gzofstream&,
- const gzomanip2<Ta,Tb>&);
-
- // Constructor
- gzomanip2(gzofstream& (*f)(gzofstream&, T1, T2),
- T1 v1,
- T2 v2);
- private:
- // Underlying manipulator function
- gzofstream&
- (*func)(gzofstream&, T1, T2);
-
- // Arguments for manipulator function
- T1 val1;
- T2 val2;
- };
-
-/*****************************************************************************/
-
-// Manipulator function thunks through to stream buffer
-inline gzofstream&
-setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY)
-{
- (gzs.rdbuf())->setcompression(l, s);
- return gzs;
-}
-
-// Manipulator constructor stores arguments
-template<typename T1, typename T2>
- inline
- gzomanip2<T1,T2>::gzomanip2(gzofstream &(*f)(gzofstream &, T1, T2),
- T1 v1,
- T2 v2)
- : func(f), val1(v1), val2(v2)
- { }
-
-// Insertor applies underlying manipulator function to stream
-template<typename T1, typename T2>
- inline gzofstream&
- operator<<(gzofstream& s, const gzomanip2<T1,T2>& m)
- { return (*m.func)(s, m.val1, m.val2); }
-
-// Insert this onto stream to simplify setting of compression level
-inline gzomanip2<int,int>
-setcompression(int l, int s = Z_DEFAULT_STRATEGY)
-{ return gzomanip2<int,int>(&setcompression, l, s); }
-
-#endif // ZFSTREAM_H
diff --git a/tcl8.6/compat/zlib/contrib/masmx64/bld_ml64.bat b/tcl8.6/compat/zlib/contrib/masmx64/bld_ml64.bat
deleted file mode 100644
index 8f9343d..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx64/bld_ml64.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
-ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
diff --git a/tcl8.6/compat/zlib/contrib/masmx64/gvmat64.asm b/tcl8.6/compat/zlib/contrib/masmx64/gvmat64.asm
deleted file mode 100644
index 9879c28..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx64/gvmat64.asm
+++ /dev/null
@@ -1,553 +0,0 @@
-;uInt longest_match_x64(
-; deflate_state *s,
-; IPos cur_match); /* current match */
-
-; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64
-; (AMD64 on Athlon 64, Opteron, Phenom
-; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7)
-; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
-;
-; File written by Gilles Vollant, by converting to assembly the longest_match
-; from Jean-loup Gailly in deflate.c of zLib and infoZip zip.
-;
-; and by taking inspiration on asm686 with masm, optimised assembly code
-; from Brian Raiter, written 1998
-;
-; This software is provided 'as-is', without any express or implied
-; warranty. In no event will the authors be held liable for any damages
-; arising from the use of this software.
-;
-; Permission is granted to anyone to use this software for any purpose,
-; including commercial applications, and to alter it and redistribute it
-; freely, subject to the following restrictions:
-;
-; 1. The origin of this software must not be misrepresented; you must not
-; claim that you wrote the original software. If you use this software
-; in a product, an acknowledgment in the product documentation would be
-; appreciated but is not required.
-; 2. Altered source versions must be plainly marked as such, and must not be
-; misrepresented as being the original software
-; 3. This notice may not be removed or altered from any source distribution.
-;
-;
-;
-; http://www.zlib.net
-; http://www.winimage.com/zLibDll
-; http://www.muppetlabs.com/~breadbox/software/assembly.html
-;
-; to compile this file for infozip Zip, I use option:
-; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm
-;
-; to compile this file for zLib, I use option:
-; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm
-; Be carrefull to adapt zlib1222add below to your version of zLib
-; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change
-; value of zlib1222add later)
-;
-; This file compile with Microsoft Macro Assembler (x64) for AMD64
-;
-; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
-;
-; (you can get Windows WDK with ml64 for AMD64 from
-; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
-;
-
-
-;uInt longest_match(s, cur_match)
-; deflate_state *s;
-; IPos cur_match; /* current match */
-.code
-longest_match PROC
-
-
-;LocalVarsSize equ 88
- LocalVarsSize equ 72
-
-; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12
-; free register : r14,r15
-; register can be saved : rsp
-
- chainlenwmask equ rsp + 8 - LocalVarsSize ; high word: current chain len
- ; low word: s->wmask
-;window equ rsp + xx - LocalVarsSize ; local copy of s->window ; stored in r10
-;windowbestlen equ rsp + xx - LocalVarsSize ; s->window + bestlen , use r10+r11
-;scanstart equ rsp + xx - LocalVarsSize ; first two bytes of string ; stored in r12w
-;scanend equ rsp + xx - LocalVarsSize ; last two bytes of string use ebx
-;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13
-;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d
-;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9
-IFDEF INFOZIP
-ELSE
- nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size
-ENDIF
-
-save_rdi equ rsp + 24 - LocalVarsSize
-save_rsi equ rsp + 32 - LocalVarsSize
-save_rbx equ rsp + 40 - LocalVarsSize
-save_rbp equ rsp + 48 - LocalVarsSize
-save_r12 equ rsp + 56 - LocalVarsSize
-save_r13 equ rsp + 64 - LocalVarsSize
-;save_r14 equ rsp + 72 - LocalVarsSize
-;save_r15 equ rsp + 80 - LocalVarsSize
-
-
-; summary of register usage
-; scanend ebx
-; scanendw bx
-; chainlenwmask edx
-; curmatch rsi
-; curmatchd esi
-; windowbestlen r8
-; scanalign r9
-; scanalignd r9d
-; window r10
-; bestlen r11
-; bestlend r11d
-; scanstart r12d
-; scanstartw r12w
-; scan r13
-; nicematch r14d
-; limit r15
-; limitd r15d
-; prev rcx
-
-; all the +4 offsets are due to the addition of pending_buf_size (in zlib
-; in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, remove the +4).
-; Note : these value are good with a 8 bytes boundary pack structure
-
-
- MAX_MATCH equ 258
- MIN_MATCH equ 3
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
-
-
-;;; Offsets for fields in the deflate_state structure. These numbers
-;;; are calculated from the definition of deflate_state, with the
-;;; assumption that the compiler will dword-align the fields. (Thus,
-;;; changing the definition of deflate_state could easily cause this
-;;; program to crash horribly, without so much as a warning at
-;;; compile time. Sigh.)
-
-; all the +zlib1222add offsets are due to the addition of fields
-; in zlib in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
-; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
-; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
-
-
-IFDEF INFOZIP
-
-_DATA SEGMENT
-COMM window_size:DWORD
-; WMask ; 7fff
-COMM window:BYTE:010040H
-COMM prev:WORD:08000H
-; MatchLen : unused
-; PrevMatch : unused
-COMM strstart:DWORD
-COMM match_start:DWORD
-; Lookahead : ignore
-COMM prev_length:DWORD ; PrevLen
-COMM max_chain_length:DWORD
-COMM good_match:DWORD
-COMM nice_match:DWORD
-prev_ad equ OFFSET prev
-window_ad equ OFFSET window
-nicematch equ nice_match
-_DATA ENDS
-WMask equ 07fffh
-
-ELSE
-
- IFNDEF zlib1222add
- zlib1222add equ 8
- ENDIF
-dsWSize equ 56+zlib1222add+(zlib1222add/2)
-dsWMask equ 64+zlib1222add+(zlib1222add/2)
-dsWindow equ 72+zlib1222add
-dsPrev equ 88+zlib1222add
-dsMatchLen equ 128+zlib1222add
-dsPrevMatch equ 132+zlib1222add
-dsStrStart equ 140+zlib1222add
-dsMatchStart equ 144+zlib1222add
-dsLookahead equ 148+zlib1222add
-dsPrevLen equ 152+zlib1222add
-dsMaxChainLen equ 156+zlib1222add
-dsGoodMatch equ 172+zlib1222add
-dsNiceMatch equ 176+zlib1222add
-
-window_size equ [ rcx + dsWSize]
-WMask equ [ rcx + dsWMask]
-window_ad equ [ rcx + dsWindow]
-prev_ad equ [ rcx + dsPrev]
-strstart equ [ rcx + dsStrStart]
-match_start equ [ rcx + dsMatchStart]
-Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip
-prev_length equ [ rcx + dsPrevLen]
-max_chain_length equ [ rcx + dsMaxChainLen]
-good_match equ [ rcx + dsGoodMatch]
-nice_match equ [ rcx + dsNiceMatch]
-ENDIF
-
-; parameter 1 in r8(deflate state s), param 2 in rdx (cur match)
-
-; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
-; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
-;
-; All registers must be preserved across the call, except for
-; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch.
-
-
-
-;;; Save registers that the compiler may be using, and adjust esp to
-;;; make room for our stack frame.
-
-
-;;; Retrieve the function arguments. r8d will hold cur_match
-;;; throughout the entire function. edx will hold the pointer to the
-;;; deflate_state structure during the function's setup (before
-;;; entering the main loop.
-
-; parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match)
-
-; this clear high 32 bits of r8, which can be garbage in both r8 and rdx
-
- mov [save_rdi],rdi
- mov [save_rsi],rsi
- mov [save_rbx],rbx
- mov [save_rbp],rbp
-IFDEF INFOZIP
- mov r8d,ecx
-ELSE
- mov r8d,edx
-ENDIF
- mov [save_r12],r12
- mov [save_r13],r13
-; mov [save_r14],r14
-; mov [save_r15],r15
-
-
-;;; uInt wmask = s->w_mask;
-;;; unsigned chain_length = s->max_chain_length;
-;;; if (s->prev_length >= s->good_match) {
-;;; chain_length >>= 2;
-;;; }
-
- mov edi, prev_length
- mov esi, good_match
- mov eax, WMask
- mov ebx, max_chain_length
- cmp edi, esi
- jl LastMatchGood
- shr ebx, 2
-LastMatchGood:
-
-;;; chainlen is decremented once beforehand so that the function can
-;;; use the sign flag instead of the zero flag for the exit test.
-;;; It is then shifted into the high word, to make room for the wmask
-;;; value, which it will always accompany.
-
- dec ebx
- shl ebx, 16
- or ebx, eax
-
-;;; on zlib only
-;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
-IFDEF INFOZIP
- mov [chainlenwmask], ebx
-; on infozip nice_match = [nice_match]
-ELSE
- mov eax, nice_match
- mov [chainlenwmask], ebx
- mov r10d, Lookahead
- cmp r10d, eax
- cmovnl r10d, eax
- mov [nicematch],r10d
-ENDIF
-
-;;; register Bytef *scan = s->window + s->strstart;
- mov r10, window_ad
- mov ebp, strstart
- lea r13, [r10 + rbp]
-
-;;; Determine how many bytes the scan ptr is off from being
-;;; dword-aligned.
-
- mov r9,r13
- neg r13
- and r13,3
-
-;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
-;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
-IFDEF INFOZIP
- mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1))
-ELSE
- mov eax, window_size
- sub eax, MIN_LOOKAHEAD
-ENDIF
- xor edi,edi
- sub ebp, eax
-
- mov r11d, prev_length
-
- cmovng ebp,edi
-
-;;; int best_len = s->prev_length;
-
-
-;;; Store the sum of s->window + best_len in esi locally, and in esi.
-
- lea rsi,[r10+r11]
-
-;;; register ush scan_start = *(ushf*)scan;
-;;; register ush scan_end = *(ushf*)(scan+best_len-1);
-;;; Posf *prev = s->prev;
-
- movzx r12d,word ptr [r9]
- movzx ebx, word ptr [r9 + r11 - 1]
-
- mov rdi, prev_ad
-
-;;; Jump into the main loop.
-
- mov edx, [chainlenwmask]
-
- cmp bx,word ptr [rsi + r8 - 1]
- jz LookupLoopIsZero
-
-LookupLoop1:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- jbe LeaveNow
- sub edx, 00010000h
- js LeaveNow
-
-LoopEntry1:
- cmp bx,word ptr [rsi + r8 - 1]
- jz LookupLoopIsZero
-
-LookupLoop2:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- jbe LeaveNow
- sub edx, 00010000h
- js LeaveNow
-
-LoopEntry2:
- cmp bx,word ptr [rsi + r8 - 1]
- jz LookupLoopIsZero
-
-LookupLoop4:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- jbe LeaveNow
- sub edx, 00010000h
- js LeaveNow
-
-LoopEntry4:
-
- cmp bx,word ptr [rsi + r8 - 1]
- jnz LookupLoop1
- jmp LookupLoopIsZero
-
-
-;;; do {
-;;; match = s->window + cur_match;
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||
-;;; *(ushf*)match != scan_start) continue;
-;;; [...]
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit
-;;; && --chain_length != 0);
-;;;
-;;; Here is the inner loop of the function. The function will spend the
-;;; majority of its time in this loop, and majority of that time will
-;;; be spent in the first ten instructions.
-;;;
-;;; Within this loop:
-;;; ebx = scanend
-;;; r8d = curmatch
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
-;;; esi = windowbestlen - i.e., (window + bestlen)
-;;; edi = prev
-;;; ebp = limit
-
-LookupLoop:
- and r8d, edx
-
- movzx r8d, word ptr [rdi + r8*2]
- cmp r8d, ebp
- jbe LeaveNow
- sub edx, 00010000h
- js LeaveNow
-
-LoopEntry:
-
- cmp bx,word ptr [rsi + r8 - 1]
- jnz LookupLoop1
-LookupLoopIsZero:
- cmp r12w, word ptr [r10 + r8]
- jnz LookupLoop1
-
-
-;;; Store the current value of chainlen.
- mov [chainlenwmask], edx
-
-;;; Point edi to the string under scrutiny, and esi to the string we
-;;; are hoping to match it up with. In actuality, esi and edi are
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
-;;; initialized to -(MAX_MATCH_8 - scanalign).
-
- lea rsi,[r8+r10]
- mov rdx, 0fffffffffffffef8h; -(MAX_MATCH_8)
- lea rsi, [rsi + r13 + 0108h] ;MAX_MATCH_8]
- lea rdi, [r9 + r13 + 0108h] ;MAX_MATCH_8]
-
- prefetcht1 [rsi+rdx]
- prefetcht1 [rdi+rdx]
-
-
-;;; Test the strings for equality, 8 bytes at a time. At the end,
-;;; adjust rdx so that it is offset to the exact byte that mismatched.
-;;;
-;;; We already know at this point that the first three bytes of the
-;;; strings match each other, and they can be safely passed over before
-;;; starting the compare loop. So what this code does is skip over 0-3
-;;; bytes, as much as necessary in order to dword-align the edi
-;;; pointer. (rsi will still be misaligned three times out of four.)
-;;;
-;;; It should be confessed that this loop usually does not represent
-;;; much of the total running time. Replacing it with a more
-;;; straightforward "rep cmpsb" would not drastically degrade
-;;; performance.
-
-
-LoopCmps:
- mov rax, [rsi + rdx]
- xor rax, [rdi + rdx]
- jnz LeaveLoopCmps
-
- mov rax, [rsi + rdx + 8]
- xor rax, [rdi + rdx + 8]
- jnz LeaveLoopCmps8
-
-
- mov rax, [rsi + rdx + 8+8]
- xor rax, [rdi + rdx + 8+8]
- jnz LeaveLoopCmps16
-
- add rdx,8+8+8
-
- jnz short LoopCmps
- jmp short LenMaximum
-LeaveLoopCmps16: add rdx,8
-LeaveLoopCmps8: add rdx,8
-LeaveLoopCmps:
-
- test eax, 0000FFFFh
- jnz LenLower
-
- test eax,0ffffffffh
-
- jnz LenLower32
-
- add rdx,4
- shr rax,32
- or ax,ax
- jnz LenLower
-
-LenLower32:
- shr eax,16
- add rdx,2
-LenLower: sub al, 1
- adc rdx, 0
-;;; Calculate the length of the match. If it is longer than MAX_MATCH,
-;;; then automatically accept it as the best possible match and leave.
-
- lea rax, [rdi + rdx]
- sub rax, r9
- cmp eax, MAX_MATCH
- jge LenMaximum
-
-;;; If the length of the match is not longer than the best match we
-;;; have so far, then forget it and return to the lookup loop.
-;///////////////////////////////////
-
- cmp eax, r11d
- jg LongerMatch
-
- lea rsi,[r10+r11]
-
- mov rdi, prev_ad
- mov edx, [chainlenwmask]
- jmp LookupLoop
-
-;;; s->match_start = cur_match;
-;;; best_len = len;
-;;; if (len >= nice_match) break;
-;;; scan_end = *(ushf*)(scan+best_len-1);
-
-LongerMatch:
- mov r11d, eax
- mov match_start, r8d
- cmp eax, [nicematch]
- jge LeaveNow
-
- lea rsi,[r10+rax]
-
- movzx ebx, word ptr [r9 + rax - 1]
- mov rdi, prev_ad
- mov edx, [chainlenwmask]
- jmp LookupLoop
-
-;;; Accept the current string, with the maximum possible length.
-
-LenMaximum:
- mov r11d,MAX_MATCH
- mov match_start, r8d
-
-;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
-;;; return s->lookahead;
-
-LeaveNow:
-IFDEF INFOZIP
- mov eax,r11d
-ELSE
- mov eax, Lookahead
- cmp r11d, eax
- cmovng eax, r11d
-ENDIF
-
-;;; Restore the stack and return from whence we came.
-
-
- mov rsi,[save_rsi]
- mov rdi,[save_rdi]
- mov rbx,[save_rbx]
- mov rbp,[save_rbp]
- mov r12,[save_r12]
- mov r13,[save_r13]
-; mov r14,[save_r14]
-; mov r15,[save_r15]
-
-
- ret 0
-; please don't remove this string !
-; Your can freely use gvmat64 in any free or commercial app
-; but it is far better don't remove the string in the binary!
- db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0
-longest_match ENDP
-
-match_init PROC
- ret 0
-match_init ENDP
-
-
-END
diff --git a/tcl8.6/compat/zlib/contrib/masmx64/inffas8664.c b/tcl8.6/compat/zlib/contrib/masmx64/inffas8664.c
deleted file mode 100644
index e8af06f..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx64/inffas8664.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/* inffas8664.c is a hand tuned assembler version of inffast.c - fast decoding
- * version for AMD64 on Windows using Microsoft C compiler
- *
- * Copyright (C) 1995-2003 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Copyright (C) 2003 Chris Anderson <christop@charm.net>
- * Please use the copyright conditions above.
- *
- * 2005 - Adaptation to Microsoft C Compiler for AMD64 by Gilles Vollant
- *
- * inffas8664.c call function inffas8664fnc in inffasx64.asm
- * inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
- *
- * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also
- * slightly quicker on x86 systems because, instead of using rep movsb to copy
- * data, it uses rep movsw, which moves data in 2-byte chunks instead of single
- * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates
- * from http://fedora.linux.duke.edu/fc1_x86_64
- * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with
- * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version,
- * when decompressing mozilla-source-1.3.tar.gz.
- *
- * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
- * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
- * the moment. I have successfully compiled and tested this code with gcc2.96,
- * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
- * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
- * enabled. I will attempt to merge the MMX code into this version. Newer
- * versions of this and inffast.S can be found at
- * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
- *
- */
-
-#include <stdio.h>
-#include "zutil.h"
-#include "inftrees.h"
-#include "inflate.h"
-#include "inffast.h"
-
-/* Mark Adler's comments from inffast.c: */
-
-/*
- Decode literal, length, and distance codes and write out the resulting
- literal and match bytes until either not enough input or output is
- available, an end-of-block is encountered, or a data error is encountered.
- When large enough input and output buffers are supplied to inflate(), for
- example, a 16K input buffer and a 64K output buffer, more than 95% of the
- inflate execution time is spent in this routine.
-
- Entry assumptions:
-
- state->mode == LEN
- strm->avail_in >= 6
- strm->avail_out >= 258
- start >= strm->avail_out
- state->bits < 8
-
- On return, state->mode is one of:
-
- LEN -- ran out of enough output space or enough available input
- TYPE -- reached end of block code, inflate() to interpret next block
- BAD -- error in block data
-
- Notes:
-
- - The maximum input bits used by a length/distance pair is 15 bits for the
- length code, 5 bits for the length extra, 15 bits for the distance code,
- and 13 bits for the distance extra. This totals 48 bits, or six bytes.
- Therefore if strm->avail_in >= 6, then there is enough input to avoid
- checking for available input while decoding.
-
- - The maximum bytes that a single length/distance pair can output is 258
- bytes, which is the maximum length that can be coded. inflate_fast()
- requires strm->avail_out >= 258 for each loop to avoid checking for
- output space.
- */
-
-
-
- typedef struct inffast_ar {
-/* 64 32 x86 x86_64 */
-/* ar offset register */
-/* 0 0 */ void *esp; /* esp save */
-/* 8 4 */ void *ebp; /* ebp save */
-/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */
-/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */
-/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */
-/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */
-/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */
-/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */
-/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */
-/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */
-/* 80 40 */ size_t /*unsigned long */hold; /* edx rdx local strm->hold */
-/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */
-/* 92 48 */ unsigned wsize; /* window size */
-/* 96 52 */ unsigned write; /* window write index */
-/*100 56 */ unsigned lmask; /* r12 mask for lcode */
-/*104 60 */ unsigned dmask; /* r13 mask for dcode */
-/*108 64 */ unsigned len; /* r14 match length */
-/*112 68 */ unsigned dist; /* r15 match distance */
-/*116 72 */ unsigned status; /* set when state chng*/
- } type_ar;
-#ifdef ASMINF
-
-void inflate_fast(strm, start)
-z_streamp strm;
-unsigned start; /* inflate()'s starting value for strm->avail_out */
-{
- struct inflate_state FAR *state;
- type_ar ar;
- void inffas8664fnc(struct inffast_ar * par);
-
-
-
-#if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64))
-#define PAD_AVAIL_IN 6
-#define PAD_AVAIL_OUT 258
-#else
-#define PAD_AVAIL_IN 5
-#define PAD_AVAIL_OUT 257
-#endif
-
- /* copy state to local variables */
- state = (struct inflate_state FAR *)strm->state;
-
- ar.in = strm->next_in;
- ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN);
- ar.out = strm->next_out;
- ar.beg = ar.out - (start - strm->avail_out);
- ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT);
- ar.wsize = state->wsize;
- ar.write = state->wnext;
- ar.window = state->window;
- ar.hold = state->hold;
- ar.bits = state->bits;
- ar.lcode = state->lencode;
- ar.dcode = state->distcode;
- ar.lmask = (1U << state->lenbits) - 1;
- ar.dmask = (1U << state->distbits) - 1;
-
- /* decode literals and length/distances until end-of-block or not enough
- input data or output space */
-
- /* align in on 1/2 hold size boundary */
- while (((size_t)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) {
- ar.hold += (unsigned long)*ar.in++ << ar.bits;
- ar.bits += 8;
- }
-
- inffas8664fnc(&ar);
-
- if (ar.status > 1) {
- if (ar.status == 2)
- strm->msg = "invalid literal/length code";
- else if (ar.status == 3)
- strm->msg = "invalid distance code";
- else
- strm->msg = "invalid distance too far back";
- state->mode = BAD;
- }
- else if ( ar.status == 1 ) {
- state->mode = TYPE;
- }
-
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
- ar.len = ar.bits >> 3;
- ar.in -= ar.len;
- ar.bits -= ar.len << 3;
- ar.hold &= (1U << ar.bits) - 1;
-
- /* update state and return */
- strm->next_in = ar.in;
- strm->next_out = ar.out;
- strm->avail_in = (unsigned)(ar.in < ar.last ?
- PAD_AVAIL_IN + (ar.last - ar.in) :
- PAD_AVAIL_IN - (ar.in - ar.last));
- strm->avail_out = (unsigned)(ar.out < ar.end ?
- PAD_AVAIL_OUT + (ar.end - ar.out) :
- PAD_AVAIL_OUT - (ar.out - ar.end));
- state->hold = (unsigned long)ar.hold;
- state->bits = ar.bits;
- return;
-}
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/masmx64/inffasx64.asm b/tcl8.6/compat/zlib/contrib/masmx64/inffasx64.asm
deleted file mode 100644
index 60a8d89..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx64/inffasx64.asm
+++ /dev/null
@@ -1,396 +0,0 @@
-; inffasx64.asm is a hand tuned assembler version of inffast.c - fast decoding
-; version for AMD64 on Windows using Microsoft C compiler
-;
-; inffasx64.asm is automatically convert from AMD64 portion of inffas86.c
-; inffasx64.asm is called by inffas8664.c, which contain more info.
-
-
-; to compile this file, I use option
-; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm
-; with Microsoft Macro Assembler (x64) for AMD64
-;
-
-; This file compile with Microsoft Macro Assembler (x64) for AMD64
-;
-; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK
-;
-; (you can get Windows WDK with ml64 for AMD64 from
-; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price)
-;
-
-
-.code
-inffas8664fnc PROC
-
-; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and
-; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp
-;
-; All registers must be preserved across the call, except for
-; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch.
-
-
- mov [rsp-8],rsi
- mov [rsp-16],rdi
- mov [rsp-24],r12
- mov [rsp-32],r13
- mov [rsp-40],r14
- mov [rsp-48],r15
- mov [rsp-56],rbx
-
- mov rax,rcx
-
- mov [rax+8], rbp ; /* save regs rbp and rsp */
- mov [rax], rsp
-
- mov rsp, rax ; /* make rsp point to &ar */
-
- mov rsi, [rsp+16] ; /* rsi = in */
- mov rdi, [rsp+32] ; /* rdi = out */
- mov r9, [rsp+24] ; /* r9 = last */
- mov r10, [rsp+48] ; /* r10 = end */
- mov rbp, [rsp+64] ; /* rbp = lcode */
- mov r11, [rsp+72] ; /* r11 = dcode */
- mov rdx, [rsp+80] ; /* rdx = hold */
- mov ebx, [rsp+88] ; /* ebx = bits */
- mov r12d, [rsp+100] ; /* r12d = lmask */
- mov r13d, [rsp+104] ; /* r13d = dmask */
- ; /* r14d = len */
- ; /* r15d = dist */
-
-
- cld
- cmp r10, rdi
- je L_one_time ; /* if only one decode left */
- cmp r9, rsi
-
- jne L_do_loop
-
-
-L_one_time:
- mov r8, r12 ; /* r8 = lmask */
- cmp bl, 32
- ja L_get_length_code_one_time
-
- lodsd ; /* eax = *(uint *)in++ */
- mov cl, bl ; /* cl = bits, needs it for shifting */
- add bl, 32 ; /* bits += 32 */
- shl rax, cl
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
- jmp L_get_length_code_one_time
-
-ALIGN 4
-L_while_test:
- cmp r10, rdi
- jbe L_break_loop
- cmp r9, rsi
- jbe L_break_loop
-
-L_do_loop:
- mov r8, r12 ; /* r8 = lmask */
- cmp bl, 32
- ja L_get_length_code ; /* if (32 < bits) */
-
- lodsd ; /* eax = *(uint *)in++ */
- mov cl, bl ; /* cl = bits, needs it for shifting */
- add bl, 32 ; /* bits += 32 */
- shl rax, cl
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
-
-L_get_length_code:
- and r8, rdx ; /* r8 &= hold */
- mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
-
- mov cl, ah ; /* cl = this.bits */
- sub bl, ah ; /* bits -= this.bits */
- shr rdx, cl ; /* hold >>= this.bits */
-
- test al, al
- jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
-
- mov r8, r12 ; /* r8 = lmask */
- shr eax, 16 ; /* output this.val char */
- stosb
-
-L_get_length_code_one_time:
- and r8, rdx ; /* r8 &= hold */
- mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */
-
-L_dolen:
- mov cl, ah ; /* cl = this.bits */
- sub bl, ah ; /* bits -= this.bits */
- shr rdx, cl ; /* hold >>= this.bits */
-
- test al, al
- jnz L_test_for_length_base ; /* if (op != 0) 45.7% */
-
- shr eax, 16 ; /* output this.val char */
- stosb
- jmp L_while_test
-
-ALIGN 4
-L_test_for_length_base:
- mov r14d, eax ; /* len = this */
- shr r14d, 16 ; /* len = this.val */
- mov cl, al
-
- test al, 16
- jz L_test_for_second_level_length ; /* if ((op & 16) == 0) 8% */
- and cl, 15 ; /* op &= 15 */
- jz L_decode_distance ; /* if (!op) */
-
-L_add_bits_to_len:
- sub bl, cl
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx ; /* eax &= hold */
- shr rdx, cl
- add r14d, eax ; /* len += hold & mask[op] */
-
-L_decode_distance:
- mov r8, r13 ; /* r8 = dmask */
- cmp bl, 32
- ja L_get_distance_code ; /* if (32 < bits) */
-
- lodsd ; /* eax = *(uint *)in++ */
- mov cl, bl ; /* cl = bits, needs it for shifting */
- add bl, 32 ; /* bits += 32 */
- shl rax, cl
- or rdx, rax ; /* hold |= *((uint *)in)++ << bits */
-
-L_get_distance_code:
- and r8, rdx ; /* r8 &= hold */
- mov eax, [r11+r8*4] ; /* eax = dcode[hold & dmask] */
-
-L_dodist:
- mov r15d, eax ; /* dist = this */
- shr r15d, 16 ; /* dist = this.val */
- mov cl, ah
- sub bl, ah ; /* bits -= this.bits */
- shr rdx, cl ; /* hold >>= this.bits */
- mov cl, al ; /* cl = this.op */
-
- test al, 16 ; /* if ((op & 16) == 0) */
- jz L_test_for_second_level_dist
- and cl, 15 ; /* op &= 15 */
- jz L_check_dist_one
-
-L_add_bits_to_dist:
- sub bl, cl
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax ; /* (1 << op) - 1 */
- and eax, edx ; /* eax &= hold */
- shr rdx, cl
- add r15d, eax ; /* dist += hold & ((1 << op) - 1) */
-
-L_check_window:
- mov r8, rsi ; /* save in so from can use it's reg */
- mov rax, rdi
- sub rax, [rsp+40] ; /* nbytes = out - beg */
-
- cmp eax, r15d
- jb L_clip_window ; /* if (dist > nbytes) 4.2% */
-
- mov ecx, r14d ; /* ecx = len */
- mov rsi, rdi
- sub rsi, r15 ; /* from = out - dist */
-
- sar ecx, 1
- jnc L_copy_two ; /* if len % 2 == 0 */
-
- rep movsw
- mov al, [rsi]
- mov [rdi], al
- inc rdi
-
- mov rsi, r8 ; /* move in back to %rsi, toss from */
- jmp L_while_test
-
-L_copy_two:
- rep movsw
- mov rsi, r8 ; /* move in back to %rsi, toss from */
- jmp L_while_test
-
-ALIGN 4
-L_check_dist_one:
- cmp r15d, 1 ; /* if dist 1, is a memset */
- jne L_check_window
- cmp [rsp+40], rdi ; /* if out == beg, outside window */
- je L_check_window
-
- mov ecx, r14d ; /* ecx = len */
- mov al, [rdi-1]
- mov ah, al
-
- sar ecx, 1
- jnc L_set_two
- mov [rdi], al
- inc rdi
-
-L_set_two:
- rep stosw
- jmp L_while_test
-
-ALIGN 4
-L_test_for_second_level_length:
- test al, 64
- jnz L_test_for_end_of_block ; /* if ((op & 64) != 0) */
-
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx ; /* eax &= hold */
- add eax, r14d ; /* eax += len */
- mov eax, [rbp+rax*4] ; /* eax = lcode[val+(hold&mask[op])]*/
- jmp L_dolen
-
-ALIGN 4
-L_test_for_second_level_dist:
- test al, 64
- jnz L_invalid_distance_code ; /* if ((op & 64) != 0) */
-
- xor eax, eax
- inc eax
- shl eax, cl
- dec eax
- and eax, edx ; /* eax &= hold */
- add eax, r15d ; /* eax += dist */
- mov eax, [r11+rax*4] ; /* eax = dcode[val+(hold&mask[op])]*/
- jmp L_dodist
-
-ALIGN 4
-L_clip_window:
- mov ecx, eax ; /* ecx = nbytes */
- mov eax, [rsp+92] ; /* eax = wsize, prepare for dist cmp */
- neg ecx ; /* nbytes = -nbytes */
-
- cmp eax, r15d
- jb L_invalid_distance_too_far ; /* if (dist > wsize) */
-
- add ecx, r15d ; /* nbytes = dist - nbytes */
- cmp dword ptr [rsp+96], 0
- jne L_wrap_around_window ; /* if (write != 0) */
-
- mov rsi, [rsp+56] ; /* from = window */
- sub eax, ecx ; /* eax -= nbytes */
- add rsi, rax ; /* from += wsize - nbytes */
-
- mov eax, r14d ; /* eax = len */
- cmp r14d, ecx
- jbe L_do_copy ; /* if (nbytes >= len) */
-
- sub eax, ecx ; /* eax -= nbytes */
- rep movsb
- mov rsi, rdi
- sub rsi, r15 ; /* from = &out[ -dist ] */
- jmp L_do_copy
-
-ALIGN 4
-L_wrap_around_window:
- mov eax, [rsp+96] ; /* eax = write */
- cmp ecx, eax
- jbe L_contiguous_in_window ; /* if (write >= nbytes) */
-
- mov esi, [rsp+92] ; /* from = wsize */
- add rsi, [rsp+56] ; /* from += window */
- add rsi, rax ; /* from += write */
- sub rsi, rcx ; /* from -= nbytes */
- sub ecx, eax ; /* nbytes -= write */
-
- mov eax, r14d ; /* eax = len */
- cmp eax, ecx
- jbe L_do_copy ; /* if (nbytes >= len) */
-
- sub eax, ecx ; /* len -= nbytes */
- rep movsb
- mov rsi, [rsp+56] ; /* from = window */
- mov ecx, [rsp+96] ; /* nbytes = write */
- cmp eax, ecx
- jbe L_do_copy ; /* if (nbytes >= len) */
-
- sub eax, ecx ; /* len -= nbytes */
- rep movsb
- mov rsi, rdi
- sub rsi, r15 ; /* from = out - dist */
- jmp L_do_copy
-
-ALIGN 4
-L_contiguous_in_window:
- mov rsi, [rsp+56] ; /* rsi = window */
- add rsi, rax
- sub rsi, rcx ; /* from += write - nbytes */
-
- mov eax, r14d ; /* eax = len */
- cmp eax, ecx
- jbe L_do_copy ; /* if (nbytes >= len) */
-
- sub eax, ecx ; /* len -= nbytes */
- rep movsb
- mov rsi, rdi
- sub rsi, r15 ; /* from = out - dist */
- jmp L_do_copy ; /* if (nbytes >= len) */
-
-ALIGN 4
-L_do_copy:
- mov ecx, eax ; /* ecx = len */
- rep movsb
-
- mov rsi, r8 ; /* move in back to %esi, toss from */
- jmp L_while_test
-
-L_test_for_end_of_block:
- test al, 32
- jz L_invalid_literal_length_code
- mov dword ptr [rsp+116], 1
- jmp L_break_loop_with_status
-
-L_invalid_literal_length_code:
- mov dword ptr [rsp+116], 2
- jmp L_break_loop_with_status
-
-L_invalid_distance_code:
- mov dword ptr [rsp+116], 3
- jmp L_break_loop_with_status
-
-L_invalid_distance_too_far:
- mov dword ptr [rsp+116], 4
- jmp L_break_loop_with_status
-
-L_break_loop:
- mov dword ptr [rsp+116], 0
-
-L_break_loop_with_status:
-; /* put in, out, bits, and hold back into ar and pop esp */
- mov [rsp+16], rsi ; /* in */
- mov [rsp+32], rdi ; /* out */
- mov [rsp+88], ebx ; /* bits */
- mov [rsp+80], rdx ; /* hold */
-
- mov rax, [rsp] ; /* restore rbp and rsp */
- mov rbp, [rsp+8]
- mov rsp, rax
-
-
-
- mov rsi,[rsp-8]
- mov rdi,[rsp-16]
- mov r12,[rsp-24]
- mov r13,[rsp-32]
- mov r14,[rsp-40]
- mov r15,[rsp-48]
- mov rbx,[rsp-56]
-
- ret 0
-; :
-; : "m" (ar)
-; : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi",
-; "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"
-; );
-
-inffas8664fnc ENDP
-;_TEXT ENDS
-END
diff --git a/tcl8.6/compat/zlib/contrib/masmx64/readme.txt b/tcl8.6/compat/zlib/contrib/masmx64/readme.txt
deleted file mode 100644
index 2da6733..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx64/readme.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Summary
--------
-This directory contains ASM implementations of the functions
-longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t),
-for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits.
-
-gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits
- assembly optimized version from Jean-loup Gailly original longest_match function
-
-inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing
- original function from Mark Adler
-
-Use instructions
-----------------
-Assemble the .asm files using MASM and put the object files into the zlib source
-directory. You can also get object files here:
-
- http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
-
-define ASMV and ASMINF in your project. Include inffas8664.c in your source tree,
-and inffasx64.obj and gvmat64.obj as object to link.
-
-
-Build instructions
-------------------
-run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe)
-
-ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK
-
-You can get Windows 2003 server DDK with ml64 and cl for AMD64 from
- http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)
diff --git a/tcl8.6/compat/zlib/contrib/masmx86/bld_ml32.bat b/tcl8.6/compat/zlib/contrib/masmx86/bld_ml32.bat
deleted file mode 100644
index e1b86bf..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx86/bld_ml32.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-ml /coff /Zi /c /Flmatch686.lst match686.asm
-ml /coff /Zi /c /Flinffas32.lst inffas32.asm
diff --git a/tcl8.6/compat/zlib/contrib/masmx86/inffas32.asm b/tcl8.6/compat/zlib/contrib/masmx86/inffas32.asm
deleted file mode 100644
index 03d20f8..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx86/inffas32.asm
+++ /dev/null
@@ -1,1080 +0,0 @@
-;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding
-; *
-; * inffas32.asm is derivated from inffas86.c, with translation of assembly code
-; *
-; * Copyright (C) 1995-2003 Mark Adler
-; * For conditions of distribution and use, see copyright notice in zlib.h
-; *
-; * Copyright (C) 2003 Chris Anderson <christop@charm.net>
-; * Please use the copyright conditions above.
-; *
-; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from
-; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at
-; * the moment. I have successfully compiled and tested this code with gcc2.96,
-; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S
-; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX
-; * enabled. I will attempt to merge the MMX code into this version. Newer
-; * versions of this and inffast.S can be found at
-; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/
-; *
-; * 2005 : modification by Gilles Vollant
-; */
-; For Visual C++ 4.x and higher and ML 6.x and higher
-; ml.exe is in directory \MASM611C of Win95 DDK
-; ml.exe is also distributed in http://www.masm32.com/masmdl.htm
-; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/
-;
-;
-; compile with command line option
-; ml /coff /Zi /c /Flinffas32.lst inffas32.asm
-
-; if you define NO_GZIP (see inflate.h), compile with
-; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm
-
-
-; zlib122sup is 0 fort zlib 1.2.2.1 and lower
-; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head
-; in inflate_state in inflate.h)
-zlib1222sup equ 8
-
-
-IFDEF GUNZIP
- INFLATE_MODE_TYPE equ 11
- INFLATE_MODE_BAD equ 26
-ELSE
- IFNDEF NO_GUNZIP
- INFLATE_MODE_TYPE equ 11
- INFLATE_MODE_BAD equ 26
- ELSE
- INFLATE_MODE_TYPE equ 3
- INFLATE_MODE_BAD equ 17
- ENDIF
-ENDIF
-
-
-; 75 "inffast.S"
-;FILE "inffast.S"
-
-;;;GLOBAL _inflate_fast
-
-;;;SECTION .text
-
-
-
- .586p
- .mmx
-
- name inflate_fast_x86
- .MODEL FLAT
-
-_DATA segment
-inflate_fast_use_mmx:
- dd 1
-
-
-_TEXT segment
-
-
-
-ALIGN 4
- db 'Fast decoding Code from Chris Anderson'
- db 0
-
-ALIGN 4
-invalid_literal_length_code_msg:
- db 'invalid literal/length code'
- db 0
-
-ALIGN 4
-invalid_distance_code_msg:
- db 'invalid distance code'
- db 0
-
-ALIGN 4
-invalid_distance_too_far_msg:
- db 'invalid distance too far back'
- db 0
-
-
-ALIGN 4
-inflate_fast_mask:
-dd 0
-dd 1
-dd 3
-dd 7
-dd 15
-dd 31
-dd 63
-dd 127
-dd 255
-dd 511
-dd 1023
-dd 2047
-dd 4095
-dd 8191
-dd 16383
-dd 32767
-dd 65535
-dd 131071
-dd 262143
-dd 524287
-dd 1048575
-dd 2097151
-dd 4194303
-dd 8388607
-dd 16777215
-dd 33554431
-dd 67108863
-dd 134217727
-dd 268435455
-dd 536870911
-dd 1073741823
-dd 2147483647
-dd 4294967295
-
-
-mode_state equ 0 ;/* state->mode */
-wsize_state equ (32+zlib1222sup) ;/* state->wsize */
-write_state equ (36+4+zlib1222sup) ;/* state->write */
-window_state equ (40+4+zlib1222sup) ;/* state->window */
-hold_state equ (44+4+zlib1222sup) ;/* state->hold */
-bits_state equ (48+4+zlib1222sup) ;/* state->bits */
-lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */
-distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */
-lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */
-distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */
-
-
-;;SECTION .text
-; 205 "inffast.S"
-;GLOBAL inflate_fast_use_mmx
-
-;SECTION .data
-
-
-; GLOBAL inflate_fast_use_mmx:object
-;.size inflate_fast_use_mmx, 4
-; 226 "inffast.S"
-;SECTION .text
-
-ALIGN 4
-_inflate_fast proc near
-.FPO (16, 4, 0, 0, 1, 0)
- push edi
- push esi
- push ebp
- push ebx
- pushfd
- sub esp,64
- cld
-
-
-
-
- mov esi, [esp+88]
- mov edi, [esi+28]
-
-
-
-
-
-
-
- mov edx, [esi+4]
- mov eax, [esi+0]
-
- add edx,eax
- sub edx,11
-
- mov [esp+44],eax
- mov [esp+20],edx
-
- mov ebp, [esp+92]
- mov ecx, [esi+16]
- mov ebx, [esi+12]
-
- sub ebp,ecx
- neg ebp
- add ebp,ebx
-
- sub ecx,257
- add ecx,ebx
-
- mov [esp+60],ebx
- mov [esp+40],ebp
- mov [esp+16],ecx
-; 285 "inffast.S"
- mov eax, [edi+lencode_state]
- mov ecx, [edi+distcode_state]
-
- mov [esp+8],eax
- mov [esp+12],ecx
-
- mov eax,1
- mov ecx, [edi+lenbits_state]
- shl eax,cl
- dec eax
- mov [esp+0],eax
-
- mov eax,1
- mov ecx, [edi+distbits_state]
- shl eax,cl
- dec eax
- mov [esp+4],eax
-
- mov eax, [edi+wsize_state]
- mov ecx, [edi+write_state]
- mov edx, [edi+window_state]
-
- mov [esp+52],eax
- mov [esp+48],ecx
- mov [esp+56],edx
-
- mov ebp, [edi+hold_state]
- mov ebx, [edi+bits_state]
-; 321 "inffast.S"
- mov esi, [esp+44]
- mov ecx, [esp+20]
- cmp ecx,esi
- ja L_align_long
-
- add ecx,11
- sub ecx,esi
- mov eax,12
- sub eax,ecx
- lea edi, [esp+28]
- rep movsb
- mov ecx,eax
- xor eax,eax
- rep stosb
- lea esi, [esp+28]
- mov [esp+20],esi
- jmp L_is_aligned
-
-
-L_align_long:
- test esi,3
- jz L_is_aligned
- xor eax,eax
- mov al, [esi]
- inc esi
- mov ecx,ebx
- add ebx,8
- shl eax,cl
- or ebp,eax
- jmp L_align_long
-
-L_is_aligned:
- mov edi, [esp+60]
-; 366 "inffast.S"
-L_check_mmx:
- cmp dword ptr [inflate_fast_use_mmx],2
- je L_init_mmx
- ja L_do_loop
-
- push eax
- push ebx
- push ecx
- push edx
- pushfd
- mov eax, [esp]
- xor dword ptr [esp],0200000h
-
-
-
-
- popfd
- pushfd
- pop edx
- xor edx,eax
- jz L_dont_use_mmx
- xor eax,eax
- cpuid
- cmp ebx,0756e6547h
- jne L_dont_use_mmx
- cmp ecx,06c65746eh
- jne L_dont_use_mmx
- cmp edx,049656e69h
- jne L_dont_use_mmx
- mov eax,1
- cpuid
- shr eax,8
- and eax,15
- cmp eax,6
- jne L_dont_use_mmx
- test edx,0800000h
- jnz L_use_mmx
- jmp L_dont_use_mmx
-L_use_mmx:
- mov dword ptr [inflate_fast_use_mmx],2
- jmp L_check_mmx_pop
-L_dont_use_mmx:
- mov dword ptr [inflate_fast_use_mmx],3
-L_check_mmx_pop:
- pop edx
- pop ecx
- pop ebx
- pop eax
- jmp L_check_mmx
-; 426 "inffast.S"
-ALIGN 4
-L_do_loop:
-; 437 "inffast.S"
- cmp bl,15
- ja L_get_length_code
-
- xor eax,eax
- lodsw
- mov cl,bl
- add bl,16
- shl eax,cl
- or ebp,eax
-
-L_get_length_code:
- mov edx, [esp+0]
- mov ecx, [esp+8]
- and edx,ebp
- mov eax, [ecx+edx*4]
-
-L_dolen:
-
-
-
-
-
-
- mov cl,ah
- sub bl,ah
- shr ebp,cl
-
-
-
-
-
-
- test al,al
- jnz L_test_for_length_base
-
- shr eax,16
- stosb
-
-L_while_test:
-
-
- cmp [esp+16],edi
- jbe L_break_loop
-
- cmp [esp+20],esi
- ja L_do_loop
- jmp L_break_loop
-
-L_test_for_length_base:
-; 502 "inffast.S"
- mov edx,eax
- shr edx,16
- mov cl,al
-
- test al,16
- jz L_test_for_second_level_length
- and cl,15
- jz L_save_len
- cmp bl,cl
- jae L_add_bits_to_len
-
- mov ch,cl
- xor eax,eax
- lodsw
- mov cl,bl
- add bl,16
- shl eax,cl
- or ebp,eax
- mov cl,ch
-
-L_add_bits_to_len:
- mov eax,1
- shl eax,cl
- dec eax
- sub bl,cl
- and eax,ebp
- shr ebp,cl
- add edx,eax
-
-L_save_len:
- mov [esp+24],edx
-
-
-L_decode_distance:
-; 549 "inffast.S"
- cmp bl,15
- ja L_get_distance_code
-
- xor eax,eax
- lodsw
- mov cl,bl
- add bl,16
- shl eax,cl
- or ebp,eax
-
-L_get_distance_code:
- mov edx, [esp+4]
- mov ecx, [esp+12]
- and edx,ebp
- mov eax, [ecx+edx*4]
-
-
-L_dodist:
- mov edx,eax
- shr edx,16
- mov cl,ah
- sub bl,ah
- shr ebp,cl
-; 584 "inffast.S"
- mov cl,al
-
- test al,16
- jz L_test_for_second_level_dist
- and cl,15
- jz L_check_dist_one
- cmp bl,cl
- jae L_add_bits_to_dist
-
- mov ch,cl
- xor eax,eax
- lodsw
- mov cl,bl
- add bl,16
- shl eax,cl
- or ebp,eax
- mov cl,ch
-
-L_add_bits_to_dist:
- mov eax,1
- shl eax,cl
- dec eax
- sub bl,cl
- and eax,ebp
- shr ebp,cl
- add edx,eax
- jmp L_check_window
-
-L_check_window:
-; 625 "inffast.S"
- mov [esp+44],esi
- mov eax,edi
- sub eax, [esp+40]
-
- cmp eax,edx
- jb L_clip_window
-
- mov ecx, [esp+24]
- mov esi,edi
- sub esi,edx
-
- sub ecx,3
- mov al, [esi]
- mov [edi],al
- mov al, [esi+1]
- mov dl, [esi+2]
- add esi,3
- mov [edi+1],al
- mov [edi+2],dl
- add edi,3
- rep movsb
-
- mov esi, [esp+44]
- jmp L_while_test
-
-ALIGN 4
-L_check_dist_one:
- cmp edx,1
- jne L_check_window
- cmp [esp+40],edi
- je L_check_window
-
- dec edi
- mov ecx, [esp+24]
- mov al, [edi]
- sub ecx,3
-
- mov [edi+1],al
- mov [edi+2],al
- mov [edi+3],al
- add edi,4
- rep stosb
-
- jmp L_while_test
-
-ALIGN 4
-L_test_for_second_level_length:
-
-
-
-
- test al,64
- jnz L_test_for_end_of_block
-
- mov eax,1
- shl eax,cl
- dec eax
- and eax,ebp
- add eax,edx
- mov edx, [esp+8]
- mov eax, [edx+eax*4]
- jmp L_dolen
-
-ALIGN 4
-L_test_for_second_level_dist:
-
-
-
-
- test al,64
- jnz L_invalid_distance_code
-
- mov eax,1
- shl eax,cl
- dec eax
- and eax,ebp
- add eax,edx
- mov edx, [esp+12]
- mov eax, [edx+eax*4]
- jmp L_dodist
-
-ALIGN 4
-L_clip_window:
-; 721 "inffast.S"
- mov ecx,eax
- mov eax, [esp+52]
- neg ecx
- mov esi, [esp+56]
-
- cmp eax,edx
- jb L_invalid_distance_too_far
-
- add ecx,edx
- cmp dword ptr [esp+48],0
- jne L_wrap_around_window
-
- sub eax,ecx
- add esi,eax
-; 749 "inffast.S"
- mov eax, [esp+24]
- cmp eax,ecx
- jbe L_do_copy1
-
- sub eax,ecx
- rep movsb
- mov esi,edi
- sub esi,edx
- jmp L_do_copy1
-
- cmp eax,ecx
- jbe L_do_copy1
-
- sub eax,ecx
- rep movsb
- mov esi,edi
- sub esi,edx
- jmp L_do_copy1
-
-L_wrap_around_window:
-; 793 "inffast.S"
- mov eax, [esp+48]
- cmp ecx,eax
- jbe L_contiguous_in_window
-
- add esi, [esp+52]
- add esi,eax
- sub esi,ecx
- sub ecx,eax
-
-
- mov eax, [esp+24]
- cmp eax,ecx
- jbe L_do_copy1
-
- sub eax,ecx
- rep movsb
- mov esi, [esp+56]
- mov ecx, [esp+48]
- cmp eax,ecx
- jbe L_do_copy1
-
- sub eax,ecx
- rep movsb
- mov esi,edi
- sub esi,edx
- jmp L_do_copy1
-
-L_contiguous_in_window:
-; 836 "inffast.S"
- add esi,eax
- sub esi,ecx
-
-
- mov eax, [esp+24]
- cmp eax,ecx
- jbe L_do_copy1
-
- sub eax,ecx
- rep movsb
- mov esi,edi
- sub esi,edx
-
-L_do_copy1:
-; 862 "inffast.S"
- mov ecx,eax
- rep movsb
-
- mov esi, [esp+44]
- jmp L_while_test
-; 878 "inffast.S"
-ALIGN 4
-L_init_mmx:
- emms
-
-
-
-
-
- movd mm0,ebp
- mov ebp,ebx
-; 896 "inffast.S"
- movd mm4,dword ptr [esp+0]
- movq mm3,mm4
- movd mm5,dword ptr [esp+4]
- movq mm2,mm5
- pxor mm1,mm1
- mov ebx, [esp+8]
- jmp L_do_loop_mmx
-
-ALIGN 4
-L_do_loop_mmx:
- psrlq mm0,mm1
-
- cmp ebp,32
- ja L_get_length_code_mmx
-
- movd mm6,ebp
- movd mm7,dword ptr [esi]
- add esi,4
- psllq mm7,mm6
- add ebp,32
- por mm0,mm7
-
-L_get_length_code_mmx:
- pand mm4,mm0
- movd eax,mm4
- movq mm4,mm3
- mov eax, [ebx+eax*4]
-
-L_dolen_mmx:
- movzx ecx,ah
- movd mm1,ecx
- sub ebp,ecx
-
- test al,al
- jnz L_test_for_length_base_mmx
-
- shr eax,16
- stosb
-
-L_while_test_mmx:
-
-
- cmp [esp+16],edi
- jbe L_break_loop
-
- cmp [esp+20],esi
- ja L_do_loop_mmx
- jmp L_break_loop
-
-L_test_for_length_base_mmx:
-
- mov edx,eax
- shr edx,16
-
- test al,16
- jz L_test_for_second_level_length_mmx
- and eax,15
- jz L_decode_distance_mmx
-
- psrlq mm0,mm1
- movd mm1,eax
- movd ecx,mm0
- sub ebp,eax
- and ecx, [inflate_fast_mask+eax*4]
- add edx,ecx
-
-L_decode_distance_mmx:
- psrlq mm0,mm1
-
- cmp ebp,32
- ja L_get_dist_code_mmx
-
- movd mm6,ebp
- movd mm7,dword ptr [esi]
- add esi,4
- psllq mm7,mm6
- add ebp,32
- por mm0,mm7
-
-L_get_dist_code_mmx:
- mov ebx, [esp+12]
- pand mm5,mm0
- movd eax,mm5
- movq mm5,mm2
- mov eax, [ebx+eax*4]
-
-L_dodist_mmx:
-
- movzx ecx,ah
- mov ebx,eax
- shr ebx,16
- sub ebp,ecx
- movd mm1,ecx
-
- test al,16
- jz L_test_for_second_level_dist_mmx
- and eax,15
- jz L_check_dist_one_mmx
-
-L_add_bits_to_dist_mmx:
- psrlq mm0,mm1
- movd mm1,eax
- movd ecx,mm0
- sub ebp,eax
- and ecx, [inflate_fast_mask+eax*4]
- add ebx,ecx
-
-L_check_window_mmx:
- mov [esp+44],esi
- mov eax,edi
- sub eax, [esp+40]
-
- cmp eax,ebx
- jb L_clip_window_mmx
-
- mov ecx,edx
- mov esi,edi
- sub esi,ebx
-
- sub ecx,3
- mov al, [esi]
- mov [edi],al
- mov al, [esi+1]
- mov dl, [esi+2]
- add esi,3
- mov [edi+1],al
- mov [edi+2],dl
- add edi,3
- rep movsb
-
- mov esi, [esp+44]
- mov ebx, [esp+8]
- jmp L_while_test_mmx
-
-ALIGN 4
-L_check_dist_one_mmx:
- cmp ebx,1
- jne L_check_window_mmx
- cmp [esp+40],edi
- je L_check_window_mmx
-
- dec edi
- mov ecx,edx
- mov al, [edi]
- sub ecx,3
-
- mov [edi+1],al
- mov [edi+2],al
- mov [edi+3],al
- add edi,4
- rep stosb
-
- mov ebx, [esp+8]
- jmp L_while_test_mmx
-
-ALIGN 4
-L_test_for_second_level_length_mmx:
- test al,64
- jnz L_test_for_end_of_block
-
- and eax,15
- psrlq mm0,mm1
- movd ecx,mm0
- and ecx, [inflate_fast_mask+eax*4]
- add ecx,edx
- mov eax, [ebx+ecx*4]
- jmp L_dolen_mmx
-
-ALIGN 4
-L_test_for_second_level_dist_mmx:
- test al,64
- jnz L_invalid_distance_code
-
- and eax,15
- psrlq mm0,mm1
- movd ecx,mm0
- and ecx, [inflate_fast_mask+eax*4]
- mov eax, [esp+12]
- add ecx,ebx
- mov eax, [eax+ecx*4]
- jmp L_dodist_mmx
-
-ALIGN 4
-L_clip_window_mmx:
-
- mov ecx,eax
- mov eax, [esp+52]
- neg ecx
- mov esi, [esp+56]
-
- cmp eax,ebx
- jb L_invalid_distance_too_far
-
- add ecx,ebx
- cmp dword ptr [esp+48],0
- jne L_wrap_around_window_mmx
-
- sub eax,ecx
- add esi,eax
-
- cmp edx,ecx
- jbe L_do_copy1_mmx
-
- sub edx,ecx
- rep movsb
- mov esi,edi
- sub esi,ebx
- jmp L_do_copy1_mmx
-
- cmp edx,ecx
- jbe L_do_copy1_mmx
-
- sub edx,ecx
- rep movsb
- mov esi,edi
- sub esi,ebx
- jmp L_do_copy1_mmx
-
-L_wrap_around_window_mmx:
-
- mov eax, [esp+48]
- cmp ecx,eax
- jbe L_contiguous_in_window_mmx
-
- add esi, [esp+52]
- add esi,eax
- sub esi,ecx
- sub ecx,eax
-
-
- cmp edx,ecx
- jbe L_do_copy1_mmx
-
- sub edx,ecx
- rep movsb
- mov esi, [esp+56]
- mov ecx, [esp+48]
- cmp edx,ecx
- jbe L_do_copy1_mmx
-
- sub edx,ecx
- rep movsb
- mov esi,edi
- sub esi,ebx
- jmp L_do_copy1_mmx
-
-L_contiguous_in_window_mmx:
-
- add esi,eax
- sub esi,ecx
-
-
- cmp edx,ecx
- jbe L_do_copy1_mmx
-
- sub edx,ecx
- rep movsb
- mov esi,edi
- sub esi,ebx
-
-L_do_copy1_mmx:
-
-
- mov ecx,edx
- rep movsb
-
- mov esi, [esp+44]
- mov ebx, [esp+8]
- jmp L_while_test_mmx
-; 1174 "inffast.S"
-L_invalid_distance_code:
-
-
-
-
-
- mov ecx, invalid_distance_code_msg
- mov edx,INFLATE_MODE_BAD
- jmp L_update_stream_state
-
-L_test_for_end_of_block:
-
-
-
-
-
- test al,32
- jz L_invalid_literal_length_code
-
- mov ecx,0
- mov edx,INFLATE_MODE_TYPE
- jmp L_update_stream_state
-
-L_invalid_literal_length_code:
-
-
-
-
-
- mov ecx, invalid_literal_length_code_msg
- mov edx,INFLATE_MODE_BAD
- jmp L_update_stream_state
-
-L_invalid_distance_too_far:
-
-
-
- mov esi, [esp+44]
- mov ecx, invalid_distance_too_far_msg
- mov edx,INFLATE_MODE_BAD
- jmp L_update_stream_state
-
-L_update_stream_state:
-
- mov eax, [esp+88]
- test ecx,ecx
- jz L_skip_msg
- mov [eax+24],ecx
-L_skip_msg:
- mov eax, [eax+28]
- mov [eax+mode_state],edx
- jmp L_break_loop
-
-ALIGN 4
-L_break_loop:
-; 1243 "inffast.S"
- cmp dword ptr [inflate_fast_use_mmx],2
- jne L_update_next_in
-
-
-
- mov ebx,ebp
-
-L_update_next_in:
-; 1266 "inffast.S"
- mov eax, [esp+88]
- mov ecx,ebx
- mov edx, [eax+28]
- shr ecx,3
- sub esi,ecx
- shl ecx,3
- sub ebx,ecx
- mov [eax+12],edi
- mov [edx+bits_state],ebx
- mov ecx,ebx
-
- lea ebx, [esp+28]
- cmp [esp+20],ebx
- jne L_buf_not_used
-
- sub esi,ebx
- mov ebx, [eax+0]
- mov [esp+20],ebx
- add esi,ebx
- mov ebx, [eax+4]
- sub ebx,11
- add [esp+20],ebx
-
-L_buf_not_used:
- mov [eax+0],esi
-
- mov ebx,1
- shl ebx,cl
- dec ebx
-
-
-
-
-
- cmp dword ptr [inflate_fast_use_mmx],2
- jne L_update_hold
-
-
-
- psrlq mm0,mm1
- movd ebp,mm0
-
- emms
-
-L_update_hold:
-
-
-
- and ebp,ebx
- mov [edx+hold_state],ebp
-
-
-
-
- mov ebx, [esp+20]
- cmp ebx,esi
- jbe L_last_is_smaller
-
- sub ebx,esi
- add ebx,11
- mov [eax+4],ebx
- jmp L_fixup_out
-L_last_is_smaller:
- sub esi,ebx
- neg esi
- add esi,11
- mov [eax+4],esi
-
-
-
-
-L_fixup_out:
-
- mov ebx, [esp+16]
- cmp ebx,edi
- jbe L_end_is_smaller
-
- sub ebx,edi
- add ebx,257
- mov [eax+16],ebx
- jmp L_done
-L_end_is_smaller:
- sub edi,ebx
- neg edi
- add edi,257
- mov [eax+16],edi
-
-
-
-
-
-L_done:
- add esp,64
- popfd
- pop ebx
- pop ebp
- pop esi
- pop edi
- ret
-_inflate_fast endp
-
-_TEXT ends
-end
diff --git a/tcl8.6/compat/zlib/contrib/masmx86/match686.asm b/tcl8.6/compat/zlib/contrib/masmx86/match686.asm
deleted file mode 100644
index 3b09212..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx86/match686.asm
+++ /dev/null
@@ -1,479 +0,0 @@
-; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86
-; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant.
-; File written by Gilles Vollant, by converting match686.S from Brian Raiter
-; for MASM. This is as assembly version of longest_match
-; from Jean-loup Gailly in deflate.c
-;
-; http://www.zlib.net
-; http://www.winimage.com/zLibDll
-; http://www.muppetlabs.com/~breadbox/software/assembly.html
-;
-; For Visual C++ 4.x and higher and ML 6.x and higher
-; ml.exe is distributed in
-; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
-;
-; this file contain two implementation of longest_match
-;
-; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro
-; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom)
-;
-; for using an assembly version of longest_match, you need define ASMV in project
-;
-; compile the asm file running
-; ml /coff /Zi /c /Flmatch686.lst match686.asm
-; and do not include match686.obj in your project
-;
-; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for
-; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor
-; with autoselect (with cpu detection code)
-; if you want support the old pentium optimization, you can still use these version
-;
-; this file is not optimized for old pentium, but it compatible with all x86 32 bits
-; processor (starting 80386)
-;
-;
-; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2
-
-;uInt longest_match(s, cur_match)
-; deflate_state *s;
-; IPos cur_match; /* current match */
-
- NbStack equ 76
- cur_match equ dword ptr[esp+NbStack-0]
- str_s equ dword ptr[esp+NbStack-4]
-; 5 dword on top (ret,ebp,esi,edi,ebx)
- adrret equ dword ptr[esp+NbStack-8]
- pushebp equ dword ptr[esp+NbStack-12]
- pushedi equ dword ptr[esp+NbStack-16]
- pushesi equ dword ptr[esp+NbStack-20]
- pushebx equ dword ptr[esp+NbStack-24]
-
- chain_length equ dword ptr [esp+NbStack-28]
- limit equ dword ptr [esp+NbStack-32]
- best_len equ dword ptr [esp+NbStack-36]
- window equ dword ptr [esp+NbStack-40]
- prev equ dword ptr [esp+NbStack-44]
- scan_start equ word ptr [esp+NbStack-48]
- wmask equ dword ptr [esp+NbStack-52]
- match_start_ptr equ dword ptr [esp+NbStack-56]
- nice_match equ dword ptr [esp+NbStack-60]
- scan equ dword ptr [esp+NbStack-64]
-
- windowlen equ dword ptr [esp+NbStack-68]
- match_start equ dword ptr [esp+NbStack-72]
- strend equ dword ptr [esp+NbStack-76]
- NbStackAdd equ (NbStack-24)
-
- .386p
-
- name gvmatch
- .MODEL FLAT
-
-
-
-; all the +zlib1222add offsets are due to the addition of fields
-; in zlib in the deflate_state structure since the asm code was first written
-; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)").
-; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0").
-; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8").
-
- zlib1222add equ 8
-
-; Note : these value are good with a 8 bytes boundary pack structure
- dep_chain_length equ 74h+zlib1222add
- dep_window equ 30h+zlib1222add
- dep_strstart equ 64h+zlib1222add
- dep_prev_length equ 70h+zlib1222add
- dep_nice_match equ 88h+zlib1222add
- dep_w_size equ 24h+zlib1222add
- dep_prev equ 38h+zlib1222add
- dep_w_mask equ 2ch+zlib1222add
- dep_good_match equ 84h+zlib1222add
- dep_match_start equ 68h+zlib1222add
- dep_lookahead equ 6ch+zlib1222add
-
-
-_TEXT segment
-
-IFDEF NOUNDERLINE
- public longest_match
- public match_init
-ELSE
- public _longest_match
- public _match_init
-ENDIF
-
- MAX_MATCH equ 258
- MIN_MATCH equ 3
- MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1)
-
-
-
-MAX_MATCH equ 258
-MIN_MATCH equ 3
-MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1)
-MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h)
-
-
-;;; stack frame offsets
-
-chainlenwmask equ esp + 0 ; high word: current chain len
- ; low word: s->wmask
-window equ esp + 4 ; local copy of s->window
-windowbestlen equ esp + 8 ; s->window + bestlen
-scanstart equ esp + 16 ; first two bytes of string
-scanend equ esp + 12 ; last two bytes of string
-scanalign equ esp + 20 ; dword-misalignment of string
-nicematch equ esp + 24 ; a good enough match size
-bestlen equ esp + 28 ; size of best match so far
-scan equ esp + 32 ; ptr to string wanting match
-
-LocalVarsSize equ 36
-; saved ebx byte esp + 36
-; saved edi byte esp + 40
-; saved esi byte esp + 44
-; saved ebp byte esp + 48
-; return address byte esp + 52
-deflatestate equ esp + 56 ; the function arguments
-curmatch equ esp + 60
-
-;;; Offsets for fields in the deflate_state structure. These numbers
-;;; are calculated from the definition of deflate_state, with the
-;;; assumption that the compiler will dword-align the fields. (Thus,
-;;; changing the definition of deflate_state could easily cause this
-;;; program to crash horribly, without so much as a warning at
-;;; compile time. Sigh.)
-
-dsWSize equ 36+zlib1222add
-dsWMask equ 44+zlib1222add
-dsWindow equ 48+zlib1222add
-dsPrev equ 56+zlib1222add
-dsMatchLen equ 88+zlib1222add
-dsPrevMatch equ 92+zlib1222add
-dsStrStart equ 100+zlib1222add
-dsMatchStart equ 104+zlib1222add
-dsLookahead equ 108+zlib1222add
-dsPrevLen equ 112+zlib1222add
-dsMaxChainLen equ 116+zlib1222add
-dsGoodMatch equ 132+zlib1222add
-dsNiceMatch equ 136+zlib1222add
-
-
-;;; match686.asm -- Pentium-Pro-optimized version of longest_match()
-;;; Written for zlib 1.1.2
-;;; Copyright (C) 1998 Brian Raiter <breadbox@muppetlabs.com>
-;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html
-;;;
-;;
-;; This software is provided 'as-is', without any express or implied
-;; warranty. In no event will the authors be held liable for any damages
-;; arising from the use of this software.
-;;
-;; Permission is granted to anyone to use this software for any purpose,
-;; including commercial applications, and to alter it and redistribute it
-;; freely, subject to the following restrictions:
-;;
-;; 1. The origin of this software must not be misrepresented; you must not
-;; claim that you wrote the original software. If you use this software
-;; in a product, an acknowledgment in the product documentation would be
-;; appreciated but is not required.
-;; 2. Altered source versions must be plainly marked as such, and must not be
-;; misrepresented as being the original software
-;; 3. This notice may not be removed or altered from any source distribution.
-;;
-
-;GLOBAL _longest_match, _match_init
-
-
-;SECTION .text
-
-;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch)
-
-;_longest_match:
- IFDEF NOUNDERLINE
- longest_match proc near
- ELSE
- _longest_match proc near
- ENDIF
-.FPO (9, 4, 0, 0, 1, 0)
-
-;;; Save registers that the compiler may be using, and adjust esp to
-;;; make room for our stack frame.
-
- push ebp
- push edi
- push esi
- push ebx
- sub esp, LocalVarsSize
-
-;;; Retrieve the function arguments. ecx will hold cur_match
-;;; throughout the entire function. edx will hold the pointer to the
-;;; deflate_state structure during the function's setup (before
-;;; entering the main loop.
-
- mov edx, [deflatestate]
- mov ecx, [curmatch]
-
-;;; uInt wmask = s->w_mask;
-;;; unsigned chain_length = s->max_chain_length;
-;;; if (s->prev_length >= s->good_match) {
-;;; chain_length >>= 2;
-;;; }
-
- mov eax, [edx + dsPrevLen]
- mov ebx, [edx + dsGoodMatch]
- cmp eax, ebx
- mov eax, [edx + dsWMask]
- mov ebx, [edx + dsMaxChainLen]
- jl LastMatchGood
- shr ebx, 2
-LastMatchGood:
-
-;;; chainlen is decremented once beforehand so that the function can
-;;; use the sign flag instead of the zero flag for the exit test.
-;;; It is then shifted into the high word, to make room for the wmask
-;;; value, which it will always accompany.
-
- dec ebx
- shl ebx, 16
- or ebx, eax
- mov [chainlenwmask], ebx
-
-;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
-
- mov eax, [edx + dsNiceMatch]
- mov ebx, [edx + dsLookahead]
- cmp ebx, eax
- jl LookaheadLess
- mov ebx, eax
-LookaheadLess: mov [nicematch], ebx
-
-;;; register Bytef *scan = s->window + s->strstart;
-
- mov esi, [edx + dsWindow]
- mov [window], esi
- mov ebp, [edx + dsStrStart]
- lea edi, [esi + ebp]
- mov [scan], edi
-
-;;; Determine how many bytes the scan ptr is off from being
-;;; dword-aligned.
-
- mov eax, edi
- neg eax
- and eax, 3
- mov [scanalign], eax
-
-;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
-;;; s->strstart - (IPos)MAX_DIST(s) : NIL;
-
- mov eax, [edx + dsWSize]
- sub eax, MIN_LOOKAHEAD
- sub ebp, eax
- jg LimitPositive
- xor ebp, ebp
-LimitPositive:
-
-;;; int best_len = s->prev_length;
-
- mov eax, [edx + dsPrevLen]
- mov [bestlen], eax
-
-;;; Store the sum of s->window + best_len in esi locally, and in esi.
-
- add esi, eax
- mov [windowbestlen], esi
-
-;;; register ush scan_start = *(ushf*)scan;
-;;; register ush scan_end = *(ushf*)(scan+best_len-1);
-;;; Posf *prev = s->prev;
-
- movzx ebx, word ptr [edi]
- mov [scanstart], ebx
- movzx ebx, word ptr [edi + eax - 1]
- mov [scanend], ebx
- mov edi, [edx + dsPrev]
-
-;;; Jump into the main loop.
-
- mov edx, [chainlenwmask]
- jmp short LoopEntry
-
-align 4
-
-;;; do {
-;;; match = s->window + cur_match;
-;;; if (*(ushf*)(match+best_len-1) != scan_end ||
-;;; *(ushf*)match != scan_start) continue;
-;;; [...]
-;;; } while ((cur_match = prev[cur_match & wmask]) > limit
-;;; && --chain_length != 0);
-;;;
-;;; Here is the inner loop of the function. The function will spend the
-;;; majority of its time in this loop, and majority of that time will
-;;; be spent in the first ten instructions.
-;;;
-;;; Within this loop:
-;;; ebx = scanend
-;;; ecx = curmatch
-;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask)
-;;; esi = windowbestlen - i.e., (window + bestlen)
-;;; edi = prev
-;;; ebp = limit
-
-LookupLoop:
- and ecx, edx
- movzx ecx, word ptr [edi + ecx*2]
- cmp ecx, ebp
- jbe LeaveNow
- sub edx, 00010000h
- js LeaveNow
-LoopEntry: movzx eax, word ptr [esi + ecx - 1]
- cmp eax, ebx
- jnz LookupLoop
- mov eax, [window]
- movzx eax, word ptr [eax + ecx]
- cmp eax, [scanstart]
- jnz LookupLoop
-
-;;; Store the current value of chainlen.
-
- mov [chainlenwmask], edx
-
-;;; Point edi to the string under scrutiny, and esi to the string we
-;;; are hoping to match it up with. In actuality, esi and edi are
-;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is
-;;; initialized to -(MAX_MATCH_8 - scanalign).
-
- mov esi, [window]
- mov edi, [scan]
- add esi, ecx
- mov eax, [scanalign]
- mov edx, 0fffffef8h; -(MAX_MATCH_8)
- lea edi, [edi + eax + 0108h] ;MAX_MATCH_8]
- lea esi, [esi + eax + 0108h] ;MAX_MATCH_8]
-
-;;; Test the strings for equality, 8 bytes at a time. At the end,
-;;; adjust edx so that it is offset to the exact byte that mismatched.
-;;;
-;;; We already know at this point that the first three bytes of the
-;;; strings match each other, and they can be safely passed over before
-;;; starting the compare loop. So what this code does is skip over 0-3
-;;; bytes, as much as necessary in order to dword-align the edi
-;;; pointer. (esi will still be misaligned three times out of four.)
-;;;
-;;; It should be confessed that this loop usually does not represent
-;;; much of the total running time. Replacing it with a more
-;;; straightforward "rep cmpsb" would not drastically degrade
-;;; performance.
-
-LoopCmps:
- mov eax, [esi + edx]
- xor eax, [edi + edx]
- jnz LeaveLoopCmps
- mov eax, [esi + edx + 4]
- xor eax, [edi + edx + 4]
- jnz LeaveLoopCmps4
- add edx, 8
- jnz LoopCmps
- jmp short LenMaximum
-LeaveLoopCmps4: add edx, 4
-LeaveLoopCmps: test eax, 0000FFFFh
- jnz LenLower
- add edx, 2
- shr eax, 16
-LenLower: sub al, 1
- adc edx, 0
-
-;;; Calculate the length of the match. If it is longer than MAX_MATCH,
-;;; then automatically accept it as the best possible match and leave.
-
- lea eax, [edi + edx]
- mov edi, [scan]
- sub eax, edi
- cmp eax, MAX_MATCH
- jge LenMaximum
-
-;;; If the length of the match is not longer than the best match we
-;;; have so far, then forget it and return to the lookup loop.
-
- mov edx, [deflatestate]
- mov ebx, [bestlen]
- cmp eax, ebx
- jg LongerMatch
- mov esi, [windowbestlen]
- mov edi, [edx + dsPrev]
- mov ebx, [scanend]
- mov edx, [chainlenwmask]
- jmp LookupLoop
-
-;;; s->match_start = cur_match;
-;;; best_len = len;
-;;; if (len >= nice_match) break;
-;;; scan_end = *(ushf*)(scan+best_len-1);
-
-LongerMatch: mov ebx, [nicematch]
- mov [bestlen], eax
- mov [edx + dsMatchStart], ecx
- cmp eax, ebx
- jge LeaveNow
- mov esi, [window]
- add esi, eax
- mov [windowbestlen], esi
- movzx ebx, word ptr [edi + eax - 1]
- mov edi, [edx + dsPrev]
- mov [scanend], ebx
- mov edx, [chainlenwmask]
- jmp LookupLoop
-
-;;; Accept the current string, with the maximum possible length.
-
-LenMaximum: mov edx, [deflatestate]
- mov dword ptr [bestlen], MAX_MATCH
- mov [edx + dsMatchStart], ecx
-
-;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len;
-;;; return s->lookahead;
-
-LeaveNow:
- mov edx, [deflatestate]
- mov ebx, [bestlen]
- mov eax, [edx + dsLookahead]
- cmp ebx, eax
- jg LookaheadRet
- mov eax, ebx
-LookaheadRet:
-
-;;; Restore the stack and return from whence we came.
-
- add esp, LocalVarsSize
- pop ebx
- pop esi
- pop edi
- pop ebp
-
- ret
-; please don't remove this string !
-; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary!
- db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah
-
-
- IFDEF NOUNDERLINE
- longest_match endp
- ELSE
- _longest_match endp
- ENDIF
-
- IFDEF NOUNDERLINE
- match_init proc near
- ret
- match_init endp
- ELSE
- _match_init proc near
- ret
- _match_init endp
- ENDIF
-
-
-_TEXT ends
-end
diff --git a/tcl8.6/compat/zlib/contrib/masmx86/readme.txt b/tcl8.6/compat/zlib/contrib/masmx86/readme.txt
deleted file mode 100644
index 3271f72..0000000
--- a/tcl8.6/compat/zlib/contrib/masmx86/readme.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-
-Summary
--------
-This directory contains ASM implementations of the functions
-longest_match() and inflate_fast().
-
-
-Use instructions
-----------------
-Assemble using MASM, and copy the object files into the zlib source
-directory, then run the appropriate makefile, as suggested below. You can
-donwload MASM from here:
-
- http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64
-
-You can also get objects files here:
-
- http://www.winimage.com/zLibDll/zlib124_masm_obj.zip
-
-Build instructions
-------------------
-* With Microsoft C and MASM:
-nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj"
-
-* With Borland C and TASM:
-make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj"
-
diff --git a/tcl8.6/compat/zlib/contrib/minizip/Makefile b/tcl8.6/compat/zlib/contrib/minizip/Makefile
deleted file mode 100644
index 84eaad2..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-CC=cc
-CFLAGS=-O -I../..
-
-UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
-ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a
-
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-
-all: miniunz minizip
-
-miniunz: $(UNZ_OBJS)
- $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
-
-minizip: $(ZIP_OBJS)
- $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
-
-test: miniunz minizip
- ./minizip test readme.txt
- ./miniunz -l test.zip
- mv readme.txt readme.old
- ./miniunz test.zip
-
-clean:
- /bin/rm -f *.o *~ minizip miniunz
diff --git a/tcl8.6/compat/zlib/contrib/minizip/Makefile.am b/tcl8.6/compat/zlib/contrib/minizip/Makefile.am
deleted file mode 100644
index d343011..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-lib_LTLIBRARIES = libminizip.la
-
-if COND_DEMOS
-bin_PROGRAMS = miniunzip minizip
-endif
-
-zlib_top_srcdir = $(top_srcdir)/../..
-zlib_top_builddir = $(top_builddir)/../..
-
-AM_CPPFLAGS = -I$(zlib_top_srcdir)
-AM_LDFLAGS = -L$(zlib_top_builddir)
-
-if WIN32
-iowin32_src = iowin32.c
-iowin32_h = iowin32.h
-endif
-
-libminizip_la_SOURCES = \
- ioapi.c \
- mztools.c \
- unzip.c \
- zip.c \
- ${iowin32_src}
-
-libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz
-
-minizip_includedir = $(includedir)/minizip
-minizip_include_HEADERS = \
- crypt.h \
- ioapi.h \
- mztools.h \
- unzip.h \
- zip.h \
- ${iowin32_h}
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = minizip.pc
-
-EXTRA_PROGRAMS = miniunzip minizip
-
-miniunzip_SOURCES = miniunz.c
-miniunzip_LDADD = libminizip.la
-
-minizip_SOURCES = minizip.c
-minizip_LDADD = libminizip.la -lz
diff --git a/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_Changes.txt b/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_Changes.txt
deleted file mode 100644
index 13a1bd9..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_Changes.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-
-MiniZip 1.1 was derrived from MiniZip at version 1.01f
-
-Change in 1.0 (Okt 2009)
- - **TODO - Add history**
-
diff --git a/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_info.txt b/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_info.txt
deleted file mode 100644
index 57d7152..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/MiniZip64_info.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-MiniZip - Copyright (c) 1998-2010 - by Gilles Vollant - version 1.1 64 bits from Mathias Svensson
-
-Introduction
----------------------
-MiniZip 1.1 is built from MiniZip 1.0 by Gilles Vollant ( http://www.winimage.com/zLibDll/minizip.html )
-
-When adding ZIP64 support into minizip it would result into risk of breaking compatibility with minizip 1.0.
-All possible work was done for compatibility.
-
-
-Background
----------------------
-When adding ZIP64 support Mathias Svensson found that Even Rouault have added ZIP64
-support for unzip.c into minizip for a open source project called gdal ( http://www.gdal.org/ )
-
-That was used as a starting point. And after that ZIP64 support was added to zip.c
-some refactoring and code cleanup was also done.
-
-
-Changed from MiniZip 1.0 to MiniZip 1.1
----------------------------------------
-* Added ZIP64 support for unzip ( by Even Rouault )
-* Added ZIP64 support for zip ( by Mathias Svensson )
-* Reverted some changed that Even Rouault did.
-* Bunch of patches received from Gulles Vollant that he received for MiniZip from various users.
-* Added unzip patch for BZIP Compression method (patch create by Daniel Borca)
-* Added BZIP Compress method for zip
-* Did some refactoring and code cleanup
-
-
-Credits
-
- Gilles Vollant - Original MiniZip author
- Even Rouault - ZIP64 unzip Support
- Daniel Borca - BZip Compression method support in unzip
- Mathias Svensson - ZIP64 zip support
- Mathias Svensson - BZip Compression method support in zip
-
- Resources
-
- ZipLayout http://result42.com/projects/ZipFileLayout
- Command line tool for Windows that shows the layout and information of the headers in a zip archive.
- Used when debugging and validating the creation of zip files using MiniZip64
-
-
- ZIP App Note http://www.pkware.com/documents/casestudies/APPNOTE.TXT
- Zip File specification
-
-
-Notes.
- * To be able to use BZip compression method in zip64.c or unzip64.c the BZIP2 lib is needed and HAVE_BZIP2 need to be defined.
-
-License
-----------------------------------------------------------
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
-----------------------------------------------------------
-
diff --git a/tcl8.6/compat/zlib/contrib/minizip/configure.ac b/tcl8.6/compat/zlib/contrib/minizip/configure.ac
deleted file mode 100644
index 827a4e0..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/configure.ac
+++ /dev/null
@@ -1,32 +0,0 @@
-# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com])
-AC_CONFIG_SRCDIR([minizip.c])
-AM_INIT_AUTOMAKE([foreign])
-LT_INIT
-
-AC_MSG_CHECKING([whether to build example programs])
-AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs]))
-AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes])
-if test "$enable_demos" = yes
-then
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-case "${host}" in
- *-mingw* | mingw*)
- WIN32="yes"
- ;;
- *)
- ;;
-esac
-AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
-
-
-AC_SUBST([HAVE_UNISTD_H], [0])
-AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], [])
-AC_CONFIG_FILES([Makefile minizip.pc])
-AC_OUTPUT
diff --git a/tcl8.6/compat/zlib/contrib/minizip/crypt.h b/tcl8.6/compat/zlib/contrib/minizip/crypt.h
deleted file mode 100644
index 1e9e820..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/crypt.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* crypt.h -- base code for crypt/uncrypt ZIPfile
-
-
- Version 1.01e, February 12th, 2005
-
- Copyright (C) 1998-2005 Gilles Vollant
-
- This code is a modified version of crypting code in Infozip distribution
-
- The encryption/decryption parts of this source code (as opposed to the
- non-echoing password parts) were originally written in Europe. The
- whole source package can be freely distributed, including from the USA.
- (Prior to January 2000, re-export from the US was a violation of US law.)
-
- This encryption code is a direct transcription of the algorithm from
- Roger Schlafly, described by Phil Katz in the file appnote.txt. This
- file (appnote.txt) is distributed with the PKZIP program (even in the
- version without encryption capabilities).
-
- If you don't need crypting in your application, just define symbols
- NOCRYPT and NOUNCRYPT.
-
- This code support the "Traditional PKWARE Encryption".
-
- The new AES encryption added on Zip format by Winzip (see the page
- http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong
- Encryption is not supported.
-*/
-
-#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8))
-
-/***********************************************************************
- * Return the next byte in the pseudo-random sequence
- */
-static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
-{
- unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an
- * unpredictable manner on 16-bit systems; not a problem
- * with any known compiler so far, though */
-
- temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2;
- return (int)(((temp * (temp ^ 1)) >> 8) & 0xff);
-}
-
-/***********************************************************************
- * Update the encryption keys with the next byte of plain text
- */
-static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c)
-{
- (*(pkeys+0)) = CRC32((*(pkeys+0)), c);
- (*(pkeys+1)) += (*(pkeys+0)) & 0xff;
- (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1;
- {
- register int keyshift = (int)((*(pkeys+1)) >> 24);
- (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift);
- }
- return c;
-}
-
-
-/***********************************************************************
- * Initialize the encryption keys and the random header according to
- * the given password.
- */
-static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab)
-{
- *(pkeys+0) = 305419896L;
- *(pkeys+1) = 591751049L;
- *(pkeys+2) = 878082192L;
- while (*passwd != '\0') {
- update_keys(pkeys,pcrc_32_tab,(int)*passwd);
- passwd++;
- }
-}
-
-#define zdecode(pkeys,pcrc_32_tab,c) \
- (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab)))
-
-#define zencode(pkeys,pcrc_32_tab,c,t) \
- (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c))
-
-#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED
-
-#define RAND_HEAD_LEN 12
- /* "last resort" source for second part of crypt seed pattern */
-# ifndef ZCR_SEED2
-# define ZCR_SEED2 3141592654UL /* use PI as default pattern */
-# endif
-
-static int crypthead(const char* passwd, /* password string */
- unsigned char* buf, /* where to write header */
- int bufSize,
- unsigned long* pkeys,
- const z_crc_t* pcrc_32_tab,
- unsigned long crcForCrypting)
-{
- int n; /* index in random header */
- int t; /* temporary */
- int c; /* random byte */
- unsigned char header[RAND_HEAD_LEN-2]; /* random header */
- static unsigned calls = 0; /* ensure different random header each time */
-
- if (bufSize<RAND_HEAD_LEN)
- return 0;
-
- /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the
- * output of rand() to get less predictability, since rand() is
- * often poorly implemented.
- */
- if (++calls == 1)
- {
- srand((unsigned)(time(NULL) ^ ZCR_SEED2));
- }
- init_keys(passwd, pkeys, pcrc_32_tab);
- for (n = 0; n < RAND_HEAD_LEN-2; n++)
- {
- c = (rand() >> 7) & 0xff;
- header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t);
- }
- /* Encrypt random header (last two bytes is high word of crc) */
- init_keys(passwd, pkeys, pcrc_32_tab);
- for (n = 0; n < RAND_HEAD_LEN-2; n++)
- {
- buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t);
- }
- buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t);
- buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t);
- return n;
-}
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/minizip/ioapi.c b/tcl8.6/compat/zlib/contrib/minizip/ioapi.c
deleted file mode 100644
index 7f5c191..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/ioapi.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/* ioapi.h -- IO base function header for compress/uncompress .zip
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS)))
- #define _CRT_SECURE_NO_WARNINGS
-#endif
-
-#if defined(__APPLE__) || defined(IOAPI_NO_64)
-// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
-#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
-#define FTELLO_FUNC(stream) ftello(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
-#else
-#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
-#define FTELLO_FUNC(stream) ftello64(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
-#endif
-
-
-#include "ioapi.h"
-
-voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)
-{
- if (pfilefunc->zfile_func64.zopen64_file != NULL)
- return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode);
- else
- {
- return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode);
- }
-}
-
-long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)
-{
- if (pfilefunc->zfile_func64.zseek64_file != NULL)
- return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin);
- else
- {
- uLong offsetTruncated = (uLong)offset;
- if (offsetTruncated != offset)
- return -1;
- else
- return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin);
- }
-}
-
-ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)
-{
- if (pfilefunc->zfile_func64.zseek64_file != NULL)
- return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream);
- else
- {
- uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream);
- if ((tell_uLong) == MAXU32)
- return (ZPOS64_T)-1;
- else
- return tell_uLong;
- }
-}
-
-void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
-{
- p_filefunc64_32->zfile_func64.zopen64_file = NULL;
- p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file;
- p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
- p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file;
- p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file;
- p_filefunc64_32->zfile_func64.ztell64_file = NULL;
- p_filefunc64_32->zfile_func64.zseek64_file = NULL;
- p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file;
- p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file;
- p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque;
- p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file;
- p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file;
-}
-
-
-
-static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode));
-static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size));
-static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream));
-static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream));
-static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream));
-
-static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode)
-{
- FILE* file = NULL;
- const char* mode_fopen = NULL;
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- mode_fopen = "rb";
- else
- if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- mode_fopen = "r+b";
- else
- if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- mode_fopen = "wb";
-
- if ((filename!=NULL) && (mode_fopen != NULL))
- file = fopen(filename, mode_fopen);
- return file;
-}
-
-static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode)
-{
- FILE* file = NULL;
- const char* mode_fopen = NULL;
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- mode_fopen = "rb";
- else
- if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- mode_fopen = "r+b";
- else
- if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- mode_fopen = "wb";
-
- if ((filename!=NULL) && (mode_fopen != NULL))
- file = FOPEN_FUNC((const char*)filename, mode_fopen);
- return file;
-}
-
-
-static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size)
-{
- uLong ret;
- ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
- return ret;
-}
-
-static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size)
-{
- uLong ret;
- ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
- return ret;
-}
-
-static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
-{
- long ret;
- ret = ftell((FILE *)stream);
- return ret;
-}
-
-
-static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream)
-{
- ZPOS64_T ret;
- ret = FTELLO_FUNC((FILE *)stream);
- return ret;
-}
-
-static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin)
-{
- int fseek_origin=0;
- long ret;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- fseek_origin = SEEK_CUR;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- fseek_origin = SEEK_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- fseek_origin = SEEK_SET;
- break;
- default: return -1;
- }
- ret = 0;
- if (fseek((FILE *)stream, offset, fseek_origin) != 0)
- ret = -1;
- return ret;
-}
-
-static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)
-{
- int fseek_origin=0;
- long ret;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- fseek_origin = SEEK_CUR;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- fseek_origin = SEEK_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- fseek_origin = SEEK_SET;
- break;
- default: return -1;
- }
- ret = 0;
-
- if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0)
- ret = -1;
-
- return ret;
-}
-
-
-static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream)
-{
- int ret;
- ret = fclose((FILE *)stream);
- return ret;
-}
-
-static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream)
-{
- int ret;
- ret = ferror((FILE *)stream);
- return ret;
-}
-
-void fill_fopen_filefunc (pzlib_filefunc_def)
- zlib_filefunc_def* pzlib_filefunc_def;
-{
- pzlib_filefunc_def->zopen_file = fopen_file_func;
- pzlib_filefunc_def->zread_file = fread_file_func;
- pzlib_filefunc_def->zwrite_file = fwrite_file_func;
- pzlib_filefunc_def->ztell_file = ftell_file_func;
- pzlib_filefunc_def->zseek_file = fseek_file_func;
- pzlib_filefunc_def->zclose_file = fclose_file_func;
- pzlib_filefunc_def->zerror_file = ferror_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = fopen64_file_func;
- pzlib_filefunc_def->zread_file = fread_file_func;
- pzlib_filefunc_def->zwrite_file = fwrite_file_func;
- pzlib_filefunc_def->ztell64_file = ftell64_file_func;
- pzlib_filefunc_def->zseek64_file = fseek64_file_func;
- pzlib_filefunc_def->zclose_file = fclose_file_func;
- pzlib_filefunc_def->zerror_file = ferror_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/ioapi.h b/tcl8.6/compat/zlib/contrib/minizip/ioapi.h
deleted file mode 100644
index 8dcbdb0..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/ioapi.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/* ioapi.h -- IO base function header for compress/uncompress .zip
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- Changes
-
- Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this)
- Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux.
- More if/def section may be needed to support other platforms
- Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows.
- (but you should use iowin32.c for windows instead)
-
-*/
-
-#ifndef _ZLIBIOAPI64_H
-#define _ZLIBIOAPI64_H
-
-#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
-
- // Linux needs this to support file operation on files larger then 4+GB
- // But might need better if/def to select just the platforms that needs them.
-
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "zlib.h"
-
-#if defined(USE_FILE32API)
-#define fopen64 fopen
-#define ftello64 ftell
-#define fseeko64 fseek
-#else
-#ifdef __FreeBSD__
-#define fopen64 fopen
-#define ftello64 ftello
-#define fseeko64 fseeko
-#endif
-#ifdef _MSC_VER
- #define fopen64 fopen
- #if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC)))
- #define ftello64 _ftelli64
- #define fseeko64 _fseeki64
- #else // old MSC
- #define ftello64 ftell
- #define fseeko64 fseek
- #endif
-#endif
-#endif
-
-/*
-#ifndef ZPOS64_T
- #ifdef _WIN32
- #define ZPOS64_T fpos_t
- #else
- #include <stdint.h>
- #define ZPOS64_T uint64_t
- #endif
-#endif
-*/
-
-#ifdef HAVE_MINIZIP64_CONF_H
-#include "mz64conf.h"
-#endif
-
-/* a type choosen by DEFINE */
-#ifdef HAVE_64BIT_INT_CUSTOM
-typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T;
-#else
-#ifdef HAS_STDINT_H
-#include "stdint.h"
-typedef uint64_t ZPOS64_T;
-#else
-
-/* Maximum unsigned 32-bit value used as placeholder for zip64 */
-#define MAXU32 0xffffffff
-
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-typedef unsigned __int64 ZPOS64_T;
-#else
-typedef unsigned long long int ZPOS64_T;
-#endif
-#endif
-#endif
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define ZLIB_FILEFUNC_SEEK_CUR (1)
-#define ZLIB_FILEFUNC_SEEK_END (2)
-#define ZLIB_FILEFUNC_SEEK_SET (0)
-
-#define ZLIB_FILEFUNC_MODE_READ (1)
-#define ZLIB_FILEFUNC_MODE_WRITE (2)
-#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
-
-#define ZLIB_FILEFUNC_MODE_EXISTING (4)
-#define ZLIB_FILEFUNC_MODE_CREATE (8)
-
-
-#ifndef ZCALLBACK
- #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
- #define ZCALLBACK CALLBACK
- #else
- #define ZCALLBACK
- #endif
-#endif
-
-
-
-
-typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode));
-typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
-typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream));
-typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
-
-typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream));
-typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin));
-
-
-/* here is the "old" 32 bits structure structure */
-typedef struct zlib_filefunc_def_s
-{
- open_file_func zopen_file;
- read_file_func zread_file;
- write_file_func zwrite_file;
- tell_file_func ztell_file;
- seek_file_func zseek_file;
- close_file_func zclose_file;
- testerror_file_func zerror_file;
- voidpf opaque;
-} zlib_filefunc_def;
-
-typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream));
-typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode));
-
-typedef struct zlib_filefunc64_def_s
-{
- open64_file_func zopen64_file;
- read_file_func zread_file;
- write_file_func zwrite_file;
- tell64_file_func ztell64_file;
- seek64_file_func zseek64_file;
- close_file_func zclose_file;
- testerror_file_func zerror_file;
- voidpf opaque;
-} zlib_filefunc64_def;
-
-void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
-
-/* now internal definition, only for zip.c and unzip.h */
-typedef struct zlib_filefunc64_32_def_s
-{
- zlib_filefunc64_def zfile_func64;
- open_file_func zopen32_file;
- tell_file_func ztell32_file;
- seek_file_func zseek32_file;
-} zlib_filefunc64_32_def;
-
-
-#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
-#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size))
-//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))
-//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))
-#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream))
-#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream))
-
-voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode));
-long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin));
-ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream));
-
-void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
-
-#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode)))
-#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream)))
-#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/minizip/iowin32.c b/tcl8.6/compat/zlib/contrib/minizip/iowin32.c
deleted file mode 100644
index a46d96c..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/iowin32.c
+++ /dev/null
@@ -1,461 +0,0 @@
-/* iowin32.c -- IO base function header for compress/uncompress .zip
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#include <stdlib.h>
-
-#include "zlib.h"
-#include "ioapi.h"
-#include "iowin32.h"
-
-#ifndef INVALID_HANDLE_VALUE
-#define INVALID_HANDLE_VALUE (0xFFFFFFFF)
-#endif
-
-#ifndef INVALID_SET_FILE_POINTER
-#define INVALID_SET_FILE_POINTER ((DWORD)-1)
-#endif
-
-
-#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
-#define IOWIN32_USING_WINRT_API 1
-#endif
-#endif
-
-voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode));
-uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size));
-uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
-ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream));
-long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
-int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
-int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
-
-typedef struct
-{
- HANDLE hf;
- int error;
-} WIN32FILE_IOWIN;
-
-
-static void win32_translate_open_mode(int mode,
- DWORD* lpdwDesiredAccess,
- DWORD* lpdwCreationDisposition,
- DWORD* lpdwShareMode,
- DWORD* lpdwFlagsAndAttributes)
-{
- *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
-
- if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
- {
- *lpdwDesiredAccess = GENERIC_READ;
- *lpdwCreationDisposition = OPEN_EXISTING;
- *lpdwShareMode = FILE_SHARE_READ;
- }
- else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
- {
- *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
- *lpdwCreationDisposition = OPEN_EXISTING;
- }
- else if (mode & ZLIB_FILEFUNC_MODE_CREATE)
- {
- *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
- *lpdwCreationDisposition = CREATE_ALWAYS;
- }
-}
-
-static voidpf win32_build_iowin(HANDLE hFile)
-{
- voidpf ret=NULL;
-
- if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
- {
- WIN32FILE_IOWIN w32fiow;
- w32fiow.hf = hFile;
- w32fiow.error = 0;
- ret = malloc(sizeof(WIN32FILE_IOWIN));
-
- if (ret==NULL)
- CloseHandle(hFile);
- else
- *((WIN32FILE_IOWIN*)ret) = w32fiow;
- }
- return ret;
-}
-
-voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
-#ifdef IOWIN32_USING_WINRT_API
-#ifdef UNICODE
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- {
- WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
- MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
- hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
- }
-#endif
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-#endif
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
-#ifdef IOWIN32_USING_WINRT_API
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- {
- WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
- MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
- hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
- }
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-#endif
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
-#ifdef IOWIN32_USING_WINRT_API
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL);
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-#endif
-
- return win32_build_iowin(hFile);
-}
-
-
-voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode)
-{
- const char* mode_fopen = NULL;
- DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
- HANDLE hFile = NULL;
-
- win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
-
-#ifdef IOWIN32_USING_WINRT_API
-#ifdef UNICODE
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- {
- WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
- MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
- hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
- }
-#endif
-#else
- if ((filename!=NULL) && (dwDesiredAccess != 0))
- hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-#endif
-
- return win32_build_iowin(hFile);
-}
-
-
-uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size)
-{
- uLong ret=0;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
-
- if (hFile != NULL)
- {
- if (!ReadFile(hFile, buf, size, &ret, NULL))
- {
- DWORD dwErr = GetLastError();
- if (dwErr == ERROR_HANDLE_EOF)
- dwErr = 0;
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- }
- }
-
- return ret;
-}
-
-
-uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size)
-{
- uLong ret=0;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
-
- if (hFile != NULL)
- {
- if (!WriteFile(hFile, buf, size, &ret, NULL))
- {
- DWORD dwErr = GetLastError();
- if (dwErr == ERROR_HANDLE_EOF)
- dwErr = 0;
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- }
- }
-
- return ret;
-}
-
-static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod)
-{
-#ifdef IOWIN32_USING_WINRT_API
- return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
-#else
- LONG lHigh = pos.HighPart;
- DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT);
- BOOL fOk = TRUE;
- if (dwNewPos == 0xFFFFFFFF)
- if (GetLastError() != NO_ERROR)
- fOk = FALSE;
- if ((newPos != NULL) && (fOk))
- {
- newPos->LowPart = dwNewPos;
- newPos->HighPart = lHigh;
- }
- return fOk;
-#endif
-}
-
-long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
-{
- long ret=-1;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- if (hFile != NULL)
- {
- LARGE_INTEGER pos;
- pos.QuadPart = 0;
-
- if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=(long)pos.LowPart;
- }
- return ret;
-}
-
-ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
-{
- ZPOS64_T ret= (ZPOS64_T)-1;
- HANDLE hFile = NULL;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream)->hf;
-
- if (hFile)
- {
- LARGE_INTEGER pos;
- pos.QuadPart = 0;
-
- if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = (ZPOS64_T)-1;
- }
- else
- ret=pos.QuadPart;
- }
- return ret;
-}
-
-
-long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin)
-{
- DWORD dwMoveMethod=0xFFFFFFFF;
- HANDLE hFile = NULL;
-
- long ret=-1;
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- dwMoveMethod = FILE_CURRENT;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- dwMoveMethod = FILE_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- dwMoveMethod = FILE_BEGIN;
- break;
- default: return -1;
- }
-
- if (hFile != NULL)
- {
- LARGE_INTEGER pos;
- pos.QuadPart = offset;
- if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=0;
- }
- return ret;
-}
-
-long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
-{
- DWORD dwMoveMethod=0xFFFFFFFF;
- HANDLE hFile = NULL;
- long ret=-1;
-
- if (stream!=NULL)
- hFile = ((WIN32FILE_IOWIN*)stream)->hf;
-
- switch (origin)
- {
- case ZLIB_FILEFUNC_SEEK_CUR :
- dwMoveMethod = FILE_CURRENT;
- break;
- case ZLIB_FILEFUNC_SEEK_END :
- dwMoveMethod = FILE_END;
- break;
- case ZLIB_FILEFUNC_SEEK_SET :
- dwMoveMethod = FILE_BEGIN;
- break;
- default: return -1;
- }
-
- if (hFile)
- {
- LARGE_INTEGER pos;
- pos.QuadPart = offset;
- if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT))
- {
- DWORD dwErr = GetLastError();
- ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
- ret = -1;
- }
- else
- ret=0;
- }
- return ret;
-}
-
-int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
-{
- int ret=-1;
-
- if (stream!=NULL)
- {
- HANDLE hFile;
- hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
- if (hFile != NULL)
- {
- CloseHandle(hFile);
- ret=0;
- }
- free(stream);
- }
- return ret;
-}
-
-int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
-{
- int ret=-1;
- if (stream!=NULL)
- {
- ret = ((WIN32FILE_IOWIN*)stream) -> error;
- }
- return ret;
-}
-
-void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen_file = win32_open_file_func;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell_file = win32_tell_file_func;
- pzlib_filefunc_def->zseek_file = win32_seek_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-
-void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
-
-
-void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
-{
- pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
- pzlib_filefunc_def->zread_file = win32_read_file_func;
- pzlib_filefunc_def->zwrite_file = win32_write_file_func;
- pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
- pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
- pzlib_filefunc_def->zclose_file = win32_close_file_func;
- pzlib_filefunc_def->zerror_file = win32_error_file_func;
- pzlib_filefunc_def->opaque = NULL;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/iowin32.h b/tcl8.6/compat/zlib/contrib/minizip/iowin32.h
deleted file mode 100644
index 0ca0969..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/iowin32.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* iowin32.h -- IO base function header for compress/uncompress .zip
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-*/
-
-#include <windows.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
-void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
-void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/minizip/make_vms.com b/tcl8.6/compat/zlib/contrib/minizip/make_vms.com
deleted file mode 100644
index 9ac13a9..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/make_vms.com
+++ /dev/null
@@ -1,25 +0,0 @@
-$ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig
-$ open/write zdef vmsdefs.h
-$ copy sys$input: zdef
-$ deck
-#define unix
-#define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from
-#define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator
-#define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord
-#define Write_EndOfCentralDirectoryRecord Write_EoDRecord
-$ eod
-$ close zdef
-$ copy vmsdefs.h,ioapi.h_orig ioapi.h
-$ cc/include=[--]/prefix=all ioapi.c
-$ cc/include=[--]/prefix=all miniunz.c
-$ cc/include=[--]/prefix=all unzip.c
-$ cc/include=[--]/prefix=all minizip.c
-$ cc/include=[--]/prefix=all zip.c
-$ link miniunz,unzip,ioapi,[--]libz.olb/lib
-$ link minizip,zip,ioapi,[--]libz.olb/lib
-$ mcr []minizip test minizip_info.txt
-$ mcr []miniunz -l test.zip
-$ rename minizip_info.txt; minizip_info.txt_old
-$ mcr []miniunz test.zip
-$ delete test.zip;*
-$exit
diff --git a/tcl8.6/compat/zlib/contrib/minizip/miniunz.c b/tcl8.6/compat/zlib/contrib/minizip/miniunz.c
deleted file mode 100644
index 3d65401..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/miniunz.c
+++ /dev/null
@@ -1,660 +0,0 @@
-/*
- miniunz.c
- Version 1.1, February 14h, 2010
- sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-*/
-
-#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-#endif
-
-#ifdef __APPLE__
-// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
-#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
-#define FTELLO_FUNC(stream) ftello(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
-#else
-#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
-#define FTELLO_FUNC(stream) ftello64(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
-#endif
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef _WIN32
-# include <direct.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <utime.h>
-#endif
-
-
-#include "unzip.h"
-
-#define CASESENSITIVITY (0)
-#define WRITEBUFFERSIZE (8192)
-#define MAXFILENAME (256)
-
-#ifdef _WIN32
-#define USEWIN32IOAPI
-#include "iowin32.h"
-#endif
-/*
- mini unzip, demo of unzip package
-
- usage :
- Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir]
-
- list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT
- if it exists
-*/
-
-
-/* change_file_date : change the date/time of a file
- filename : the filename of the file where date/time must be modified
- dosdate : the new date at the MSDos format (4 bytes)
- tmu_date : the SAME new date at the tm_unz format */
-void change_file_date(filename,dosdate,tmu_date)
- const char *filename;
- uLong dosdate;
- tm_unz tmu_date;
-{
-#ifdef _WIN32
- HANDLE hFile;
- FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite;
-
- hFile = CreateFileA(filename,GENERIC_READ | GENERIC_WRITE,
- 0,NULL,OPEN_EXISTING,0,NULL);
- GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite);
- DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal);
- LocalFileTimeToFileTime(&ftLocal,&ftm);
- SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
- CloseHandle(hFile);
-#else
-#ifdef unix || __APPLE__
- struct utimbuf ut;
- struct tm newdate;
- newdate.tm_sec = tmu_date.tm_sec;
- newdate.tm_min=tmu_date.tm_min;
- newdate.tm_hour=tmu_date.tm_hour;
- newdate.tm_mday=tmu_date.tm_mday;
- newdate.tm_mon=tmu_date.tm_mon;
- if (tmu_date.tm_year > 1900)
- newdate.tm_year=tmu_date.tm_year - 1900;
- else
- newdate.tm_year=tmu_date.tm_year ;
- newdate.tm_isdst=-1;
-
- ut.actime=ut.modtime=mktime(&newdate);
- utime(filename,&ut);
-#endif
-#endif
-}
-
-
-/* mymkdir and change_file_date are not 100 % portable
- As I don't know well Unix, I wait feedback for the unix portion */
-
-int mymkdir(dirname)
- const char* dirname;
-{
- int ret=0;
-#ifdef _WIN32
- ret = _mkdir(dirname);
-#elif unix
- ret = mkdir (dirname,0775);
-#elif __APPLE__
- ret = mkdir (dirname,0775);
-#endif
- return ret;
-}
-
-int makedir (newdir)
- char *newdir;
-{
- char *buffer ;
- char *p;
- int len = (int)strlen(newdir);
-
- if (len <= 0)
- return 0;
-
- buffer = (char*)malloc(len+1);
- if (buffer==NULL)
- {
- printf("Error allocating memory\n");
- return UNZ_INTERNALERROR;
- }
- strcpy(buffer,newdir);
-
- if (buffer[len-1] == '/') {
- buffer[len-1] = '\0';
- }
- if (mymkdir(buffer) == 0)
- {
- free(buffer);
- return 1;
- }
-
- p = buffer+1;
- while (1)
- {
- char hold;
-
- while(*p && *p != '\\' && *p != '/')
- p++;
- hold = *p;
- *p = 0;
- if ((mymkdir(buffer) == -1) && (errno == ENOENT))
- {
- printf("couldn't create directory %s\n",buffer);
- free(buffer);
- return 0;
- }
- if (hold == 0)
- break;
- *p++ = hold;
- }
- free(buffer);
- return 1;
-}
-
-void do_banner()
-{
- printf("MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant\n");
- printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n");
-}
-
-void do_help()
-{
- printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]\n\n" \
- " -e Extract without pathname (junk paths)\n" \
- " -x Extract with pathname\n" \
- " -v list files\n" \
- " -l list files\n" \
- " -d directory to extract into\n" \
- " -o overwrite files without prompting\n" \
- " -p extract crypted file using password\n\n");
-}
-
-void Display64BitsSize(ZPOS64_T n, int size_char)
-{
- /* to avoid compatibility problem , we do here the conversion */
- char number[21];
- int offset=19;
- int pos_string = 19;
- number[20]=0;
- for (;;) {
- number[offset]=(char)((n%10)+'0');
- if (number[offset] != '0')
- pos_string=offset;
- n/=10;
- if (offset==0)
- break;
- offset--;
- }
- {
- int size_display_string = 19-pos_string;
- while (size_char > size_display_string)
- {
- size_char--;
- printf(" ");
- }
- }
-
- printf("%s",&number[pos_string]);
-}
-
-int do_list(uf)
- unzFile uf;
-{
- uLong i;
- unz_global_info64 gi;
- int err;
-
- err = unzGetGlobalInfo64(uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
- printf(" Length Method Size Ratio Date Time CRC-32 Name\n");
- printf(" ------ ------ ---- ----- ---- ---- ------ ----\n");
- for (i=0;i<gi.number_entry;i++)
- {
- char filename_inzip[256];
- unz_file_info64 file_info;
- uLong ratio=0;
- const char *string_method;
- char charCrypt=' ';
- err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- break;
- }
- if (file_info.uncompressed_size>0)
- ratio = (uLong)((file_info.compressed_size*100)/file_info.uncompressed_size);
-
- /* display a '*' if the file is crypted */
- if ((file_info.flag & 1) != 0)
- charCrypt='*';
-
- if (file_info.compression_method==0)
- string_method="Stored";
- else
- if (file_info.compression_method==Z_DEFLATED)
- {
- uInt iLevel=(uInt)((file_info.flag & 0x6)/2);
- if (iLevel==0)
- string_method="Defl:N";
- else if (iLevel==1)
- string_method="Defl:X";
- else if ((iLevel==2) || (iLevel==3))
- string_method="Defl:F"; /* 2:fast , 3 : extra fast*/
- }
- else
- if (file_info.compression_method==Z_BZIP2ED)
- {
- string_method="BZip2 ";
- }
- else
- string_method="Unkn. ";
-
- Display64BitsSize(file_info.uncompressed_size,7);
- printf(" %6s%c",string_method,charCrypt);
- Display64BitsSize(file_info.compressed_size,7);
- printf(" %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n",
- ratio,
- (uLong)file_info.tmu_date.tm_mon + 1,
- (uLong)file_info.tmu_date.tm_mday,
- (uLong)file_info.tmu_date.tm_year % 100,
- (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min,
- (uLong)file_info.crc,filename_inzip);
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-
-int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
- unzFile uf;
- const int* popt_extract_without_path;
- int* popt_overwrite;
- const char* password;
-{
- char filename_inzip[256];
- char* filename_withoutpath;
- char* p;
- int err=UNZ_OK;
- FILE *fout=NULL;
- void* buf;
- uInt size_buf;
-
- unz_file_info64 file_info;
- uLong ratio=0;
- err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
-
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
- return err;
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return UNZ_INTERNALERROR;
- }
-
- p = filename_withoutpath = filename_inzip;
- while ((*p) != '\0')
- {
- if (((*p)=='/') || ((*p)=='\\'))
- filename_withoutpath = p+1;
- p++;
- }
-
- if ((*filename_withoutpath)=='\0')
- {
- if ((*popt_extract_without_path)==0)
- {
- printf("creating directory: %s\n",filename_inzip);
- mymkdir(filename_inzip);
- }
- }
- else
- {
- const char* write_filename;
- int skip=0;
-
- if ((*popt_extract_without_path)==0)
- write_filename = filename_inzip;
- else
- write_filename = filename_withoutpath;
-
- err = unzOpenCurrentFilePassword(uf,password);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzOpenCurrentFilePassword\n",err);
- }
-
- if (((*popt_overwrite)==0) && (err==UNZ_OK))
- {
- char rep=0;
- FILE* ftestexist;
- ftestexist = FOPEN_FUNC(write_filename,"rb");
- if (ftestexist!=NULL)
- {
- fclose(ftestexist);
- do
- {
- char answer[128];
- int ret;
-
- printf("The file %s exists. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);
- ret = scanf("%1s",answer);
- if (ret != 1)
- {
- exit(EXIT_FAILURE);
- }
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N') && (rep!='A'));
- }
-
- if (rep == 'N')
- skip = 1;
-
- if (rep == 'A')
- *popt_overwrite=1;
- }
-
- if ((skip==0) && (err==UNZ_OK))
- {
- fout=FOPEN_FUNC(write_filename,"wb");
- /* some zipfile don't contain directory alone before file */
- if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
- (filename_withoutpath!=(char*)filename_inzip))
- {
- char c=*(filename_withoutpath-1);
- *(filename_withoutpath-1)='\0';
- makedir(write_filename);
- *(filename_withoutpath-1)=c;
- fout=FOPEN_FUNC(write_filename,"wb");
- }
-
- if (fout==NULL)
- {
- printf("error opening %s\n",write_filename);
- }
- }
-
- if (fout!=NULL)
- {
- printf(" extracting: %s\n",write_filename);
-
- do
- {
- err = unzReadCurrentFile(uf,buf,size_buf);
- if (err<0)
- {
- printf("error %d with zipfile in unzReadCurrentFile\n",err);
- break;
- }
- if (err>0)
- if (fwrite(buf,err,1,fout)!=1)
- {
- printf("error in writing extracted file\n");
- err=UNZ_ERRNO;
- break;
- }
- }
- while (err>0);
- if (fout)
- fclose(fout);
-
- if (err==0)
- change_file_date(write_filename,file_info.dosDate,
- file_info.tmu_date);
- }
-
- if (err==UNZ_OK)
- {
- err = unzCloseCurrentFile (uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzCloseCurrentFile\n",err);
- }
- }
- else
- unzCloseCurrentFile(uf); /* don't lose the error */
- }
-
- free(buf);
- return err;
-}
-
-
-int do_extract(uf,opt_extract_without_path,opt_overwrite,password)
- unzFile uf;
- int opt_extract_without_path;
- int opt_overwrite;
- const char* password;
-{
- uLong i;
- unz_global_info64 gi;
- int err;
- FILE* fout=NULL;
-
- err = unzGetGlobalInfo64(uf,&gi);
- if (err!=UNZ_OK)
- printf("error %d with zipfile in unzGetGlobalInfo \n",err);
-
- for (i=0;i<gi.number_entry;i++)
- {
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite,
- password) != UNZ_OK)
- break;
-
- if ((i+1)<gi.number_entry)
- {
- err = unzGoToNextFile(uf);
- if (err!=UNZ_OK)
- {
- printf("error %d with zipfile in unzGoToNextFile\n",err);
- break;
- }
- }
- }
-
- return 0;
-}
-
-int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite,password)
- unzFile uf;
- const char* filename;
- int opt_extract_without_path;
- int opt_overwrite;
- const char* password;
-{
- int err = UNZ_OK;
- if (unzLocateFile(uf,filename,CASESENSITIVITY)!=UNZ_OK)
- {
- printf("file %s not found in the zipfile\n",filename);
- return 2;
- }
-
- if (do_extract_currentfile(uf,&opt_extract_without_path,
- &opt_overwrite,
- password) == UNZ_OK)
- return 0;
- else
- return 1;
-}
-
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- const char *zipfilename=NULL;
- const char *filename_to_extract=NULL;
- const char *password=NULL;
- char filename_try[MAXFILENAME+16] = "";
- int i;
- int ret_value=0;
- int opt_do_list=0;
- int opt_do_extract=1;
- int opt_do_extract_withoutpath=0;
- int opt_overwrite=0;
- int opt_extractdir=0;
- const char *dirname=NULL;
- unzFile uf=NULL;
-
- do_banner();
- if (argc==1)
- {
- do_help();
- return 0;
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='l') || (c=='L'))
- opt_do_list = 1;
- if ((c=='v') || (c=='V'))
- opt_do_list = 1;
- if ((c=='x') || (c=='X'))
- opt_do_extract = 1;
- if ((c=='e') || (c=='E'))
- opt_do_extract = opt_do_extract_withoutpath = 1;
- if ((c=='o') || (c=='O'))
- opt_overwrite=1;
- if ((c=='d') || (c=='D'))
- {
- opt_extractdir=1;
- dirname=argv[i+1];
- }
-
- if (((c=='p') || (c=='P')) && (i+1<argc))
- {
- password=argv[i+1];
- i++;
- }
- }
- }
- else
- {
- if (zipfilename == NULL)
- zipfilename = argv[i];
- else if ((filename_to_extract==NULL) && (!opt_extractdir))
- filename_to_extract = argv[i] ;
- }
- }
- }
-
- if (zipfilename!=NULL)
- {
-
-# ifdef USEWIN32IOAPI
- zlib_filefunc64_def ffunc;
-# endif
-
- strncpy(filename_try, zipfilename,MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- filename_try[ MAXFILENAME ] = '\0';
-
-# ifdef USEWIN32IOAPI
- fill_win32_filefunc64A(&ffunc);
- uf = unzOpen2_64(zipfilename,&ffunc);
-# else
- uf = unzOpen64(zipfilename);
-# endif
- if (uf==NULL)
- {
- strcat(filename_try,".zip");
-# ifdef USEWIN32IOAPI
- uf = unzOpen2_64(filename_try,&ffunc);
-# else
- uf = unzOpen64(filename_try);
-# endif
- }
- }
-
- if (uf==NULL)
- {
- printf("Cannot open %s or %s.zip\n",zipfilename,zipfilename);
- return 1;
- }
- printf("%s opened\n",filename_try);
-
- if (opt_do_list==1)
- ret_value = do_list(uf);
- else if (opt_do_extract==1)
- {
-#ifdef _WIN32
- if (opt_extractdir && _chdir(dirname))
-#else
- if (opt_extractdir && chdir(dirname))
-#endif
- {
- printf("Error changing into %s, aborting\n", dirname);
- exit(-1);
- }
-
- if (filename_to_extract == NULL)
- ret_value = do_extract(uf, opt_do_extract_withoutpath, opt_overwrite, password);
- else
- ret_value = do_extract_onefile(uf, filename_to_extract, opt_do_extract_withoutpath, opt_overwrite, password);
- }
-
- unzClose(uf);
-
- return ret_value;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/miniunzip.1 b/tcl8.6/compat/zlib/contrib/minizip/miniunzip.1
deleted file mode 100644
index 111ac69..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/miniunzip.1
+++ /dev/null
@@ -1,63 +0,0 @@
-.\" Hey, EMACS: -*- nroff -*-
-.TH miniunzip 1 "Nov 7, 2001"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-miniunzip - uncompress and examine ZIP archives
-.SH SYNOPSIS
-.B miniunzip
-.RI [ -exvlo ]
-zipfile [ files_to_extract ] [-d tempdir]
-.SH DESCRIPTION
-.B minizip
-is a simple tool which allows the extraction of compressed file
-archives in the ZIP format used by the MS-DOS utility PKZIP. It was
-written as a demonstration of the
-.IR zlib (3)
-library and therefore lack many of the features of the
-.IR unzip (1)
-program.
-.SH OPTIONS
-A number of options are supported. With the exception of
-.BI \-d\ tempdir
-these must be supplied before any
-other arguments and are:
-.TP
-.BI \-l\ ,\ \-\-v
-List the files in the archive without extracting them.
-.TP
-.B \-o
-Overwrite files without prompting for confirmation.
-.TP
-.B \-x
-Extract files (default).
-.PP
-The
-.I zipfile
-argument is the name of the archive to process. The next argument can be used
-to specify a single file to extract from the archive.
-
-Lastly, the following option can be specified at the end of the command-line:
-.TP
-.BI \-d\ tempdir
-Extract the archive in the directory
-.I tempdir
-rather than the current directory.
-.SH SEE ALSO
-.BR minizip (1),
-.BR zlib (3),
-.BR unzip (1).
-.SH AUTHOR
-This program was written by Gilles Vollant. This manual page was
-written by Mark Brown <broonie@sirena.org.uk>. The -d tempdir option
-was added by Dirk Eddelbuettel <edd@debian.org>.
diff --git a/tcl8.6/compat/zlib/contrib/minizip/minizip.1 b/tcl8.6/compat/zlib/contrib/minizip/minizip.1
deleted file mode 100644
index 1154484..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/minizip.1
+++ /dev/null
@@ -1,46 +0,0 @@
-.\" Hey, EMACS: -*- nroff -*-
-.TH minizip 1 "May 2, 2001"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-minizip - create ZIP archives
-.SH SYNOPSIS
-.B minizip
-.RI [ -o ]
-zipfile [ " files" ... ]
-.SH DESCRIPTION
-.B minizip
-is a simple tool which allows the creation of compressed file archives
-in the ZIP format used by the MS-DOS utility PKZIP. It was written as
-a demonstration of the
-.IR zlib (3)
-library and therefore lack many of the features of the
-.IR zip (1)
-program.
-.SH OPTIONS
-The first argument supplied is the name of the ZIP archive to create or
-.RI -o
-in which case it is ignored and the second argument treated as the
-name of the ZIP file. If the ZIP file already exists it will be
-overwritten.
-.PP
-Subsequent arguments specify a list of files to place in the ZIP
-archive. If none are specified then an empty archive will be created.
-.SH SEE ALSO
-.BR miniunzip (1),
-.BR zlib (3),
-.BR zip (1).
-.SH AUTHOR
-This program was written by Gilles Vollant. This manual page was
-written by Mark Brown <broonie@sirena.org.uk>.
-
diff --git a/tcl8.6/compat/zlib/contrib/minizip/minizip.c b/tcl8.6/compat/zlib/contrib/minizip/minizip.c
deleted file mode 100644
index 4288962..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/minizip.c
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- minizip.c
- Version 1.1, February 14h, 2010
- sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-*/
-
-
-#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
- #ifndef __USE_FILE_OFFSET64
- #define __USE_FILE_OFFSET64
- #endif
- #ifndef __USE_LARGEFILE64
- #define __USE_LARGEFILE64
- #endif
- #ifndef _LARGEFILE64_SOURCE
- #define _LARGEFILE64_SOURCE
- #endif
- #ifndef _FILE_OFFSET_BIT
- #define _FILE_OFFSET_BIT 64
- #endif
-#endif
-
-#ifdef __APPLE__
-// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions
-#define FOPEN_FUNC(filename, mode) fopen(filename, mode)
-#define FTELLO_FUNC(stream) ftello(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin)
-#else
-#define FOPEN_FUNC(filename, mode) fopen64(filename, mode)
-#define FTELLO_FUNC(stream) ftello64(stream)
-#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin)
-#endif
-
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#ifdef _WIN32
-# include <direct.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <utime.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-#endif
-
-#include "zip.h"
-
-#ifdef _WIN32
- #define USEWIN32IOAPI
- #include "iowin32.h"
-#endif
-
-
-
-#define WRITEBUFFERSIZE (16384)
-#define MAXFILENAME (256)
-
-#ifdef _WIN32
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret = 0;
- {
- FILETIME ftLocal;
- HANDLE hFind;
- WIN32_FIND_DATAA ff32;
-
- hFind = FindFirstFileA(f,&ff32);
- if (hFind != INVALID_HANDLE_VALUE)
- {
- FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
- FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
- FindClose(hFind);
- ret = 1;
- }
- }
- return ret;
-}
-#else
-#ifdef unix || __APPLE__
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- int ret=0;
- struct stat s; /* results of stat() */
- struct tm* filedate;
- time_t tm_t=0;
-
- if (strcmp(f,"-")!=0)
- {
- char name[MAXFILENAME+1];
- int len = strlen(f);
- if (len > MAXFILENAME)
- len = MAXFILENAME;
-
- strncpy(name, f,MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- name[ MAXFILENAME ] = '\0';
-
- if (name[len - 1] == '/')
- name[len - 1] = '\0';
- /* not all systems allow stat'ing a file with / appended */
- if (stat(name,&s)==0)
- {
- tm_t = s.st_mtime;
- ret = 1;
- }
- }
- filedate = localtime(&tm_t);
-
- tmzip->tm_sec = filedate->tm_sec;
- tmzip->tm_min = filedate->tm_min;
- tmzip->tm_hour = filedate->tm_hour;
- tmzip->tm_mday = filedate->tm_mday;
- tmzip->tm_mon = filedate->tm_mon ;
- tmzip->tm_year = filedate->tm_year;
-
- return ret;
-}
-#else
-uLong filetime(f, tmzip, dt)
- char *f; /* name of file to get info on */
- tm_zip *tmzip; /* return value: access, modific. and creation times */
- uLong *dt; /* dostime */
-{
- return 0;
-}
-#endif
-#endif
-
-
-
-
-int check_exist_file(filename)
- const char* filename;
-{
- FILE* ftestexist;
- int ret = 1;
- ftestexist = FOPEN_FUNC(filename,"rb");
- if (ftestexist==NULL)
- ret = 0;
- else
- fclose(ftestexist);
- return ret;
-}
-
-void do_banner()
-{
- printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n");
- printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n");
-}
-
-void do_help()
-{
- printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \
- " -o Overwrite existing file.zip\n" \
- " -a Append to existing file.zip\n" \
- " -0 Store only\n" \
- " -1 Compress faster\n" \
- " -9 Compress better\n\n" \
- " -j exclude path. store only the file name.\n\n");
-}
-
-/* calculate the CRC32 of a file,
- because to encrypt a file, we need known the CRC32 of the file before */
-int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc)
-{
- unsigned long calculate_crc=0;
- int err=ZIP_OK;
- FILE * fin = FOPEN_FUNC(filenameinzip,"rb");
-
- unsigned long size_read = 0;
- unsigned long total_read = 0;
- if (fin==NULL)
- {
- err = ZIP_ERRNO;
- }
-
- if (err == ZIP_OK)
- do
- {
- err = ZIP_OK;
- size_read = (int)fread(buf,1,size_buf,fin);
- if (size_read < size_buf)
- if (feof(fin)==0)
- {
- printf("error in reading %s\n",filenameinzip);
- err = ZIP_ERRNO;
- }
-
- if (size_read>0)
- calculate_crc = crc32(calculate_crc,buf,size_read);
- total_read += size_read;
-
- } while ((err == ZIP_OK) && (size_read>0));
-
- if (fin)
- fclose(fin);
-
- *result_crc=calculate_crc;
- printf("file %s crc %lx\n", filenameinzip, calculate_crc);
- return err;
-}
-
-int isLargeFile(const char* filename)
-{
- int largeFile = 0;
- ZPOS64_T pos = 0;
- FILE* pFile = FOPEN_FUNC(filename, "rb");
-
- if(pFile != NULL)
- {
- int n = FSEEKO_FUNC(pFile, 0, SEEK_END);
- pos = FTELLO_FUNC(pFile);
-
- printf("File : %s is %lld bytes\n", filename, pos);
-
- if(pos >= 0xffffffff)
- largeFile = 1;
-
- fclose(pFile);
- }
-
- return largeFile;
-}
-
-int main(argc,argv)
- int argc;
- char *argv[];
-{
- int i;
- int opt_overwrite=0;
- int opt_compress_level=Z_DEFAULT_COMPRESSION;
- int opt_exclude_path=0;
- int zipfilenamearg = 0;
- char filename_try[MAXFILENAME+16];
- int zipok;
- int err=0;
- int size_buf=0;
- void* buf=NULL;
- const char* password=NULL;
-
-
- do_banner();
- if (argc==1)
- {
- do_help();
- return 0;
- }
- else
- {
- for (i=1;i<argc;i++)
- {
- if ((*argv[i])=='-')
- {
- const char *p=argv[i]+1;
-
- while ((*p)!='\0')
- {
- char c=*(p++);;
- if ((c=='o') || (c=='O'))
- opt_overwrite = 1;
- if ((c=='a') || (c=='A'))
- opt_overwrite = 2;
- if ((c>='0') && (c<='9'))
- opt_compress_level = c-'0';
- if ((c=='j') || (c=='J'))
- opt_exclude_path = 1;
-
- if (((c=='p') || (c=='P')) && (i+1<argc))
- {
- password=argv[i+1];
- i++;
- }
- }
- }
- else
- {
- if (zipfilenamearg == 0)
- {
- zipfilenamearg = i ;
- }
- }
- }
- }
-
- size_buf = WRITEBUFFERSIZE;
- buf = (void*)malloc(size_buf);
- if (buf==NULL)
- {
- printf("Error allocating memory\n");
- return ZIP_INTERNALERROR;
- }
-
- if (zipfilenamearg==0)
- {
- zipok=0;
- }
- else
- {
- int i,len;
- int dot_found=0;
-
- zipok = 1 ;
- strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
- /* strncpy doesnt append the trailing NULL, of the string is too long. */
- filename_try[ MAXFILENAME ] = '\0';
-
- len=(int)strlen(filename_try);
- for (i=0;i<len;i++)
- if (filename_try[i]=='.')
- dot_found=1;
-
- if (dot_found==0)
- strcat(filename_try,".zip");
-
- if (opt_overwrite==2)
- {
- /* if the file don't exist, we not append file */
- if (check_exist_file(filename_try)==0)
- opt_overwrite=1;
- }
- else
- if (opt_overwrite==0)
- if (check_exist_file(filename_try)!=0)
- {
- char rep=0;
- do
- {
- char answer[128];
- int ret;
- printf("The file %s exists. Overwrite ? [y]es, [n]o, [a]ppend : ",filename_try);
- ret = scanf("%1s",answer);
- if (ret != 1)
- {
- exit(EXIT_FAILURE);
- }
- rep = answer[0] ;
- if ((rep>='a') && (rep<='z'))
- rep -= 0x20;
- }
- while ((rep!='Y') && (rep!='N') && (rep!='A'));
- if (rep=='N')
- zipok = 0;
- if (rep=='A')
- opt_overwrite = 2;
- }
- }
-
- if (zipok==1)
- {
- zipFile zf;
- int errclose;
-# ifdef USEWIN32IOAPI
- zlib_filefunc64_def ffunc;
- fill_win32_filefunc64A(&ffunc);
- zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc);
-# else
- zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0);
-# endif
-
- if (zf == NULL)
- {
- printf("error opening %s\n",filename_try);
- err= ZIP_ERRNO;
- }
- else
- printf("creating %s\n",filename_try);
-
- for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
- {
- if (!((((*(argv[i]))=='-') || ((*(argv[i]))=='/')) &&
- ((argv[i][1]=='o') || (argv[i][1]=='O') ||
- (argv[i][1]=='a') || (argv[i][1]=='A') ||
- (argv[i][1]=='p') || (argv[i][1]=='P') ||
- ((argv[i][1]>='0') || (argv[i][1]<='9'))) &&
- (strlen(argv[i]) == 2)))
- {
- FILE * fin;
- int size_read;
- const char* filenameinzip = argv[i];
- const char *savefilenameinzip;
- zip_fileinfo zi;
- unsigned long crcFile=0;
- int zip64 = 0;
-
- zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
- zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
- zi.dosDate = 0;
- zi.internal_fa = 0;
- zi.external_fa = 0;
- filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
-
-/*
- err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
- NULL,0,NULL,0,NULL / * comment * /,
- (opt_compress_level != 0) ? Z_DEFLATED : 0,
- opt_compress_level);
-*/
- if ((password != NULL) && (err==ZIP_OK))
- err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
-
- zip64 = isLargeFile(filenameinzip);
-
- /* The path name saved, should not include a leading slash. */
- /*if it did, windows/xp and dynazip couldn't read the zip file. */
- savefilenameinzip = filenameinzip;
- while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' )
- {
- savefilenameinzip++;
- }
-
- /*should the zip file contain any path at all?*/
- if( opt_exclude_path )
- {
- const char *tmpptr;
- const char *lastslash = 0;
- for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
- {
- if( *tmpptr == '\\' || *tmpptr == '/')
- {
- lastslash = tmpptr;
- }
- }
- if( lastslash != NULL )
- {
- savefilenameinzip = lastslash+1; // base filename follows last slash.
- }
- }
-
- /**/
- err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi,
- NULL,0,NULL,0,NULL /* comment*/,
- (opt_compress_level != 0) ? Z_DEFLATED : 0,
- opt_compress_level,0,
- /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- password,crcFile, zip64);
-
- if (err != ZIP_OK)
- printf("error in opening %s in zipfile\n",filenameinzip);
- else
- {
- fin = FOPEN_FUNC(filenameinzip,"rb");
- if (fin==NULL)
- {
- err=ZIP_ERRNO;
- printf("error in opening %s for reading\n",filenameinzip);
- }
- }
-
- if (err == ZIP_OK)
- do
- {
- err = ZIP_OK;
- size_read = (int)fread(buf,1,size_buf,fin);
- if (size_read < size_buf)
- if (feof(fin)==0)
- {
- printf("error in reading %s\n",filenameinzip);
- err = ZIP_ERRNO;
- }
-
- if (size_read>0)
- {
- err = zipWriteInFileInZip (zf,buf,size_read);
- if (err<0)
- {
- printf("error in writing %s in the zipfile\n",
- filenameinzip);
- }
-
- }
- } while ((err == ZIP_OK) && (size_read>0));
-
- if (fin)
- fclose(fin);
-
- if (err<0)
- err=ZIP_ERRNO;
- else
- {
- err = zipCloseFileInZip(zf);
- if (err!=ZIP_OK)
- printf("error in closing %s in the zipfile\n",
- filenameinzip);
- }
- }
- }
- errclose = zipClose(zf,NULL);
- if (errclose != ZIP_OK)
- printf("error in closing %s\n",filename_try);
- }
- else
- {
- do_help();
- }
-
- free(buf);
- return 0;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/minizip.pc.in b/tcl8.6/compat/zlib/contrib/minizip/minizip.pc.in
deleted file mode 100644
index 69b5b7f..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/minizip.pc.in
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/minizip
-
-Name: minizip
-Description: Minizip zip file manipulation library
-Requires:
-Version: @PACKAGE_VERSION@
-Libs: -L${libdir} -lminizip
-Libs.private: -lz
-Cflags: -I${includedir}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/mztools.c b/tcl8.6/compat/zlib/contrib/minizip/mztools.c
deleted file mode 100644
index 96891c2..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/mztools.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- Additional tools for Minizip
- Code: Xavier Roche '2004
- License: Same as ZLIB (www.gzip.org)
-*/
-
-/* Code */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "zlib.h"
-#include "unzip.h"
-
-#define READ_8(adr) ((unsigned char)*(adr))
-#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )
-#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )
-
-#define WRITE_8(buff, n) do { \
- *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \
-} while(0)
-#define WRITE_16(buff, n) do { \
- WRITE_8((unsigned char*)(buff), n); \
- WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \
-} while(0)
-#define WRITE_32(buff, n) do { \
- WRITE_16((unsigned char*)(buff), (n) & 0xffff); \
- WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \
-} while(0)
-
-extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)
-const char* file;
-const char* fileOut;
-const char* fileOutTmp;
-uLong* nRecovered;
-uLong* bytesRecovered;
-{
- int err = Z_OK;
- FILE* fpZip = fopen(file, "rb");
- FILE* fpOut = fopen(fileOut, "wb");
- FILE* fpOutCD = fopen(fileOutTmp, "wb");
- if (fpZip != NULL && fpOut != NULL) {
- int entries = 0;
- uLong totalBytes = 0;
- char header[30];
- char filename[1024];
- char extra[1024];
- int offset = 0;
- int offsetCD = 0;
- while ( fread(header, 1, 30, fpZip) == 30 ) {
- int currentOffset = offset;
-
- /* File entry */
- if (READ_32(header) == 0x04034b50) {
- unsigned int version = READ_16(header + 4);
- unsigned int gpflag = READ_16(header + 6);
- unsigned int method = READ_16(header + 8);
- unsigned int filetime = READ_16(header + 10);
- unsigned int filedate = READ_16(header + 12);
- unsigned int crc = READ_32(header + 14); /* crc */
- unsigned int cpsize = READ_32(header + 18); /* compressed size */
- unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */
- unsigned int fnsize = READ_16(header + 26); /* file name length */
- unsigned int extsize = READ_16(header + 28); /* extra field length */
- filename[0] = extra[0] = '\0';
-
- /* Header */
- if (fwrite(header, 1, 30, fpOut) == 30) {
- offset += 30;
- } else {
- err = Z_ERRNO;
- break;
- }
-
- /* Filename */
- if (fnsize > 0) {
- if (fnsize < sizeof(filename)) {
- if (fread(filename, 1, fnsize, fpZip) == fnsize) {
- if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
- offset += fnsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_STREAM_ERROR;
- break;
- }
-
- /* Extra field */
- if (extsize > 0) {
- if (extsize < sizeof(extra)) {
- if (fread(extra, 1, extsize, fpZip) == extsize) {
- if (fwrite(extra, 1, extsize, fpOut) == extsize) {
- offset += extsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Data */
- {
- int dataSize = cpsize;
- if (dataSize == 0) {
- dataSize = uncpsize;
- }
- if (dataSize > 0) {
- char* data = malloc(dataSize);
- if (data != NULL) {
- if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {
- if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {
- offset += dataSize;
- totalBytes += dataSize;
- } else {
- err = Z_ERRNO;
- }
- } else {
- err = Z_ERRNO;
- }
- free(data);
- if (err != Z_OK) {
- break;
- }
- } else {
- err = Z_MEM_ERROR;
- break;
- }
- }
- }
-
- /* Central directory entry */
- {
- char header[46];
- char* comment = "";
- int comsize = (int) strlen(comment);
- WRITE_32(header, 0x02014b50);
- WRITE_16(header + 4, version);
- WRITE_16(header + 6, version);
- WRITE_16(header + 8, gpflag);
- WRITE_16(header + 10, method);
- WRITE_16(header + 12, filetime);
- WRITE_16(header + 14, filedate);
- WRITE_32(header + 16, crc);
- WRITE_32(header + 20, cpsize);
- WRITE_32(header + 24, uncpsize);
- WRITE_16(header + 28, fnsize);
- WRITE_16(header + 30, extsize);
- WRITE_16(header + 32, comsize);
- WRITE_16(header + 34, 0); /* disk # */
- WRITE_16(header + 36, 0); /* int attrb */
- WRITE_32(header + 38, 0); /* ext attrb */
- WRITE_32(header + 42, currentOffset);
- /* Header */
- if (fwrite(header, 1, 46, fpOutCD) == 46) {
- offsetCD += 46;
-
- /* Filename */
- if (fnsize > 0) {
- if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {
- offsetCD += fnsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- } else {
- err = Z_STREAM_ERROR;
- break;
- }
-
- /* Extra field */
- if (extsize > 0) {
- if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {
- offsetCD += extsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Comment field */
- if (comsize > 0) {
- if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {
- offsetCD += comsize;
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
-
- } else {
- err = Z_ERRNO;
- break;
- }
- }
-
- /* Success */
- entries++;
-
- } else {
- break;
- }
- }
-
- /* Final central directory */
- {
- int entriesZip = entries;
- char header[22];
- char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";
- int comsize = (int) strlen(comment);
- if (entriesZip > 0xffff) {
- entriesZip = 0xffff;
- }
- WRITE_32(header, 0x06054b50);
- WRITE_16(header + 4, 0); /* disk # */
- WRITE_16(header + 6, 0); /* disk # */
- WRITE_16(header + 8, entriesZip); /* hack */
- WRITE_16(header + 10, entriesZip); /* hack */
- WRITE_32(header + 12, offsetCD); /* size of CD */
- WRITE_32(header + 16, offset); /* offset to CD */
- WRITE_16(header + 20, comsize); /* comment */
-
- /* Header */
- if (fwrite(header, 1, 22, fpOutCD) == 22) {
-
- /* Comment field */
- if (comsize > 0) {
- if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {
- err = Z_ERRNO;
- }
- }
-
- } else {
- err = Z_ERRNO;
- }
- }
-
- /* Final merge (file + central directory) */
- fclose(fpOutCD);
- if (err == Z_OK) {
- fpOutCD = fopen(fileOutTmp, "rb");
- if (fpOutCD != NULL) {
- int nRead;
- char buffer[8192];
- while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {
- if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {
- err = Z_ERRNO;
- break;
- }
- }
- fclose(fpOutCD);
- }
- }
-
- /* Close */
- fclose(fpZip);
- fclose(fpOut);
-
- /* Wipe temporary file */
- (void)remove(fileOutTmp);
-
- /* Number of recovered entries */
- if (err == Z_OK) {
- if (nRecovered != NULL) {
- *nRecovered = entries;
- }
- if (bytesRecovered != NULL) {
- *bytesRecovered = totalBytes;
- }
- }
- } else {
- err = Z_STREAM_ERROR;
- }
- return err;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/mztools.h b/tcl8.6/compat/zlib/contrib/minizip/mztools.h
deleted file mode 100644
index a49a426..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/mztools.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- Additional tools for Minizip
- Code: Xavier Roche '2004
- License: Same as ZLIB (www.gzip.org)
-*/
-
-#ifndef _zip_tools_H
-#define _zip_tools_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#include "unzip.h"
-
-/* Repair a ZIP file (missing central directory)
- file: file to recover
- fileOut: output file after recovery
- fileOutTmp: temporary file name used for recovery
-*/
-extern int ZEXPORT unzRepair(const char* file,
- const char* fileOut,
- const char* fileOutTmp,
- uLong* nRecovered,
- uLong* bytesRecovered);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/tcl8.6/compat/zlib/contrib/minizip/unzip.c b/tcl8.6/compat/zlib/contrib/minizip/unzip.c
deleted file mode 100644
index 9093504..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/unzip.c
+++ /dev/null
@@ -1,2125 +0,0 @@
-/* unzip.c -- IO for uncompress .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
-
- ------------------------------------------------------------------------------------
- Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of
- compatibility with older software. The following is from the original crypt.c.
- Code woven in by Terry Thorsen 1/2003.
-
- Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
-
- See the accompanying file LICENSE, version 2000-Apr-09 or later
- (the contents of which are also included in zip.h) for terms of use.
- If, for some reason, all these files are missing, the Info-ZIP license
- also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
-
- crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h]
-
- The encryption/decryption parts of this source code (as opposed to the
- non-echoing password parts) were originally written in Europe. The
- whole source package can be freely distributed, including from the USA.
- (Prior to January 2000, re-export from the US was a violation of US law.)
-
- This encryption code is a direct transcription of the algorithm from
- Roger Schlafly, described by Phil Katz in the file appnote.txt. This
- file (appnote.txt) is distributed with the PKZIP program (even in the
- version without encryption capabilities).
-
- ------------------------------------------------------------------------------------
-
- Changes in unzip.c
-
- 2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos
- 2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz*
- 2007-2008 - Even Rouault - Remove old C style function prototypes
- 2007-2008 - Even Rouault - Add unzip support for ZIP64
-
- Copyright (C) 2007-2008 Even Rouault
-
-
- Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again).
- Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G
- should only read the compressed/uncompressed size from the Zip64 format if
- the size from normal header was 0xFFFFFFFF
- Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant
- Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required)
- Patch created by Daniel Borca
-
- Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
-
- Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson
-
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef NOUNCRYPT
- #define NOUNCRYPT
-#endif
-
-#include "zlib.h"
-#include "unzip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-
-#ifndef CASESENSITIVITYDEFAULT_NO
-# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
-# define CASESENSITIVITYDEFAULT_NO
-# endif
-#endif
-
-
-#ifndef UNZ_BUFSIZE
-#define UNZ_BUFSIZE (16384)
-#endif
-
-#ifndef UNZ_MAXFILENAMEINZIP
-#define UNZ_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-
-
-const char unz_copyright[] =
- " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
-
-/* unz_file_info_interntal contain internal info about a file in zipfile*/
-typedef struct unz_file_info64_internal_s
-{
- ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */
-} unz_file_info64_internal;
-
-
-/* file_in_zip_read_info_s contain internal information about a file in zipfile,
- when reading and decompress it */
-typedef struct
-{
- char *read_buffer; /* internal buffer for compressed data */
- z_stream stream; /* zLib stream structure for inflate */
-
-#ifdef HAVE_BZIP2
- bz_stream bstream; /* bzLib stream structure for bziped */
-#endif
-
- ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/
- uLong stream_initialised; /* flag set if stream structure is initialised*/
-
- ZPOS64_T offset_local_extrafield;/* offset of the local extra field */
- uInt size_local_extrafield;/* size of the local extra field */
- ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/
- ZPOS64_T total_out_64;
-
- uLong crc32; /* crc32 of all data uncompressed */
- uLong crc32_wait; /* crc32 we must obtain after decompress all */
- ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */
- ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/
- zlib_filefunc64_32_def z_filefunc;
- voidpf filestream; /* io structore of the zipfile */
- uLong compression_method; /* compression method (0==store) */
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
- int raw;
-} file_in_zip64_read_info_s;
-
-
-/* unz64_s contain internal information about the zipfile
-*/
-typedef struct
-{
- zlib_filefunc64_32_def z_filefunc;
- int is64bitOpenFunction;
- voidpf filestream; /* io structore of the zipfile */
- unz_global_info64 gi; /* public global information */
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
- ZPOS64_T num_file; /* number of the current file in the zipfile*/
- ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/
- ZPOS64_T current_file_ok; /* flag about the usability of the current file*/
- ZPOS64_T central_pos; /* position of the beginning of the central dir*/
-
- ZPOS64_T size_central_dir; /* size of the central directory */
- ZPOS64_T offset_central_dir; /* offset of start of central directory with
- respect to the starting disk number */
-
- unz_file_info64 cur_file_info; /* public info about the current file in zip*/
- unz_file_info64_internal cur_file_info_internal; /* private info about it*/
- file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current
- file if we are decompressing it */
- int encrypted;
-
- int isZip64;
-
-# ifndef NOUNCRYPT
- unsigned long keys[3]; /* keys defining the pseudo-random sequence */
- const z_crc_t* pcrc_32_tab;
-# endif
-} unz64_s;
-
-
-#ifndef NOUNCRYPT
-#include "crypt.h"
-#endif
-
-/* ===========================================================================
- Read a byte from a gz_stream; update next_in and avail_in. Return EOF
- for end of file.
- IN assertion: the stream s has been sucessfully opened for reading.
-*/
-
-
-local int unz64local_getByte OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- int *pi));
-
-local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)
-{
- unsigned char c;
- int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
- if (err==1)
- {
- *pi = (int)c;
- return UNZ_OK;
- }
- else
- {
- if (ZERROR64(*pzlib_filefunc_def,filestream))
- return UNZ_ERRNO;
- else
- return UNZ_EOF;
- }
-}
-
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets
-*/
-local int unz64local_getShort OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX));
-
-local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int unz64local_getLong OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX));
-
-local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- uLong *pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<8;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((uLong)i)<<16;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<24;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int unz64local_getLong64 OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- ZPOS64_T *pX));
-
-
-local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream,
- ZPOS64_T *pX)
-{
- ZPOS64_T x ;
- int i = 0;
- int err;
-
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (ZPOS64_T)i;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<8;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<16;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<24;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<32;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<40;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<48;
-
- if (err==UNZ_OK)
- err = unz64local_getByte(pzlib_filefunc_def,filestream,&i);
- x |= ((ZPOS64_T)i)<<56;
-
- if (err==UNZ_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-/* My own strcmpi / strcasecmp */
-local int strcmpcasenosensitive_internal (const char* fileName1, const char* fileName2)
-{
- for (;;)
- {
- char c1=*(fileName1++);
- char c2=*(fileName2++);
- if ((c1>='a') && (c1<='z'))
- c1 -= 0x20;
- if ((c2>='a') && (c2<='z'))
- c2 -= 0x20;
- if (c1=='\0')
- return ((c2=='\0') ? 0 : -1);
- if (c2=='\0')
- return 1;
- if (c1<c2)
- return -1;
- if (c1>c2)
- return 1;
- }
-}
-
-
-#ifdef CASESENSITIVITYDEFAULT_NO
-#define CASESENSITIVITYDEFAULTVALUE 2
-#else
-#define CASESENSITIVITYDEFAULTVALUE 1
-#endif
-
-#ifndef STRCMPCASENOSENTIVEFUNCTION
-#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
-#endif
-
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-
-*/
-extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity)
-
-{
- if (iCaseSensitivity==0)
- iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;
-
- if (iCaseSensitivity==1)
- return strcmp(fileName1,fileName2);
-
- return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2);
-}
-
-#ifndef BUFREADCOMMENT
-#define BUFREADCOMMENT (0x400)
-#endif
-
-/*
- Locate the Central directory of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos ;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- return uPosFound;
-}
-
-
-/*
- Locate the Central directory 64 of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T unz64local_SearchCentralDir64 OF((
- const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream));
-
-local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def,
- voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
- uLong uL;
- ZPOS64_T relativeOffset;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- if (uPosFound == 0)
- return 0;
-
- /* Zip64 end of central directory locator */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature, already checked */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
-
- /* number of the disk with the start of the zip64 end of central directory */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
- if (uL != 0)
- return 0;
-
- /* relative offset of the zip64 end of central directory record */
- if (unz64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=UNZ_OK)
- return 0;
-
- /* total number of disks */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
- if (uL != 1)
- return 0;
-
- /* Goto end of central directory record */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature */
- if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK)
- return 0;
-
- if (uL != 0x06064b50)
- return 0;
-
- return relativeOffset;
-}
-
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer
- "zlib/zlib114.zip".
- If the zipfile cannot be opened (file doesn't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
-*/
-local unzFile unzOpenInternal (const void *path,
- zlib_filefunc64_32_def* pzlib_filefunc64_32_def,
- int is64bitOpenFunction)
-{
- unz64_s us;
- unz64_s *s;
- ZPOS64_T central_pos;
- uLong uL;
-
- uLong number_disk; /* number of the current dist, used for
- spaning ZIP, unsupported, always 0*/
- uLong number_disk_with_CD; /* number the the disk with central dir, used
- for spaning ZIP, unsupported, always 0*/
- ZPOS64_T number_entry_CD; /* total number of entries in
- the central dir
- (same than number_entry on nospan) */
-
- int err=UNZ_OK;
-
- if (unz_copyright[0]!=' ')
- return NULL;
-
- us.z_filefunc.zseek32_file = NULL;
- us.z_filefunc.ztell32_file = NULL;
- if (pzlib_filefunc64_32_def==NULL)
- fill_fopen64_filefunc(&us.z_filefunc.zfile_func64);
- else
- us.z_filefunc = *pzlib_filefunc64_32_def;
- us.is64bitOpenFunction = is64bitOpenFunction;
-
-
-
- us.filestream = ZOPEN64(us.z_filefunc,
- path,
- ZLIB_FILEFUNC_MODE_READ |
- ZLIB_FILEFUNC_MODE_EXISTING);
- if (us.filestream==NULL)
- return NULL;
-
- central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream);
- if (central_pos)
- {
- uLong uS;
- ZPOS64_T uL64;
-
- us.isZip64 = 1;
-
- if (ZSEEK64(us.z_filefunc, us.filestream,
- central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
- /* the signature, already checked */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* size of zip64 end of central directory record */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* version made by */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* version needed to extract */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of this disk */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central directory on this disk */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central directory */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- if ((number_entry_CD!=us.gi.number_entry) ||
- (number_disk_with_CD!=0) ||
- (number_disk!=0))
- err=UNZ_BADZIPFILE;
-
- /* size of the central directory */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- us.gi.size_comment = 0;
- }
- else
- {
- central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream);
- if (central_pos==0)
- err=UNZ_ERRNO;
-
- us.isZip64 = 0;
-
- if (ZSEEK64(us.z_filefunc, us.filestream,
- central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
- /* the signature, already checked */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of this disk */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK)
- err=UNZ_ERRNO;
-
- /* total number of entries in the central dir on this disk */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.gi.number_entry = uL;
-
- /* total number of entries in the central dir */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- number_entry_CD = uL;
-
- if ((number_entry_CD!=us.gi.number_entry) ||
- (number_disk_with_CD!=0) ||
- (number_disk!=0))
- err=UNZ_BADZIPFILE;
-
- /* size of the central directory */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.size_central_dir = uL;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK)
- err=UNZ_ERRNO;
- us.offset_central_dir = uL;
-
- /* zipfile comment length */
- if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if ((central_pos<us.offset_central_dir+us.size_central_dir) &&
- (err==UNZ_OK))
- err=UNZ_BADZIPFILE;
-
- if (err!=UNZ_OK)
- {
- ZCLOSE64(us.z_filefunc, us.filestream);
- return NULL;
- }
-
- us.byte_before_the_zipfile = central_pos -
- (us.offset_central_dir+us.size_central_dir);
- us.central_pos = central_pos;
- us.pfile_in_zip_read = NULL;
- us.encrypted = 0;
-
-
- s=(unz64_s*)ALLOC(sizeof(unz64_s));
- if( s != NULL)
- {
- *s=us;
- unzGoToFirstFile((unzFile)s);
- }
- return (unzFile)s;
-}
-
-
-extern unzFile ZEXPORT unzOpen2 (const char *path,
- zlib_filefunc_def* pzlib_filefunc32_def)
-{
- if (pzlib_filefunc32_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
- return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 0);
- }
- else
- return unzOpenInternal(path, NULL, 0);
-}
-
-extern unzFile ZEXPORT unzOpen2_64 (const void *path,
- zlib_filefunc64_def* pzlib_filefunc_def)
-{
- if (pzlib_filefunc_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
- zlib_filefunc64_32_def_fill.ztell32_file = NULL;
- zlib_filefunc64_32_def_fill.zseek32_file = NULL;
- return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1);
- }
- else
- return unzOpenInternal(path, NULL, 1);
-}
-
-extern unzFile ZEXPORT unzOpen (const char *path)
-{
- return unzOpenInternal(path, NULL, 0);
-}
-
-extern unzFile ZEXPORT unzOpen64 (const void *path)
-{
- return unzOpenInternal(path, NULL, 1);
-}
-
-/*
- Close a ZipFile opened with unzOpen.
- If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
- these files MUST be closed with unzCloseCurrentFile before call unzClose.
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzClose (unzFile file)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- if (s->pfile_in_zip_read!=NULL)
- unzCloseCurrentFile(file);
-
- ZCLOSE64(s->z_filefunc, s->filestream);
- TRYFREE(s);
- return UNZ_OK;
-}
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- *pglobal_info=s->gi;
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32)
-{
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- /* to do : check if number_entry is not truncated */
- pglobal_info32->number_entry = (uLong)s->gi.number_entry;
- pglobal_info32->size_comment = s->gi.size_comment;
- return UNZ_OK;
-}
-/*
- Translate date/time from Dos format to tm_unz (readable more easilty)
-*/
-local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm)
-{
- ZPOS64_T uDate;
- uDate = (ZPOS64_T)(ulDosDate>>16);
- ptm->tm_mday = (uInt)(uDate&0x1f) ;
- ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ;
- ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ;
-
- ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800);
- ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ;
- ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ;
-}
-
-/*
- Get Info about the current file in the zipfile, with internal only info
-*/
-local int unz64local_GetCurrentFileInfoInternal OF((unzFile file,
- unz_file_info64 *pfile_info,
- unz_file_info64_internal
- *pfile_info_internal,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-
-local int unz64local_GetCurrentFileInfoInternal (unzFile file,
- unz_file_info64 *pfile_info,
- unz_file_info64_internal
- *pfile_info_internal,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize)
-{
- unz64_s* s;
- unz_file_info64 file_info;
- unz_file_info64_internal file_info_internal;
- int err=UNZ_OK;
- uLong uMagic;
- long lSeek=0;
- uLong uL;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (ZSEEK64(s->z_filefunc, s->filestream,
- s->pos_in_central_dir+s->byte_before_the_zipfile,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=UNZ_ERRNO;
-
-
- /* we check the magic */
- if (err==UNZ_OK)
- {
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x02014b50)
- err=UNZ_BADZIPFILE;
- }
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK)
- err=UNZ_ERRNO;
-
- unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date);
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info.compressed_size = uL;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info.uncompressed_size = uL;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK)
- err=UNZ_ERRNO;
-
- // relative offset of local header
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- file_info_internal.offset_curfile = uL;
-
- lSeek+=file_info.size_filename;
- if ((err==UNZ_OK) && (szFileName!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_filename<fileNameBufferSize)
- {
- *(szFileName+file_info.size_filename)='\0';
- uSizeRead = file_info.size_filename;
- }
- else
- uSizeRead = fileNameBufferSize;
-
- if ((file_info.size_filename>0) && (fileNameBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
- lSeek -= uSizeRead;
- }
-
- // Read extrafield
- if ((err==UNZ_OK) && (extraField!=NULL))
- {
- ZPOS64_T uSizeRead ;
- if (file_info.size_file_extra<extraFieldBufferSize)
- uSizeRead = file_info.size_file_extra;
- else
- uSizeRead = extraFieldBufferSize;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
-
- lSeek += file_info.size_file_extra - (uLong)uSizeRead;
- }
- else
- lSeek += file_info.size_file_extra;
-
-
- if ((err==UNZ_OK) && (file_info.size_file_extra != 0))
- {
- uLong acc = 0;
-
- // since lSeek now points to after the extra field we need to move back
- lSeek -= file_info.size_file_extra;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- while(acc < file_info.size_file_extra)
- {
- uLong headerId;
- uLong dataSize;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK)
- err=UNZ_ERRNO;
-
- /* ZIP64 extra fields */
- if (headerId == 0x0001)
- {
- uLong uL;
-
- if(file_info.uncompressed_size == MAXU32)
- {
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info.compressed_size == MAXU32)
- {
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info_internal.offset_curfile == MAXU32)
- {
- /* Relative Header offset */
- if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- if(file_info.disk_num_start == MAXU32)
- {
- /* Disk Start Number */
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK)
- err=UNZ_ERRNO;
- }
-
- }
- else
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0)
- err=UNZ_ERRNO;
- }
-
- acc += 2 + 2 + dataSize;
- }
- }
-
- if ((err==UNZ_OK) && (szComment!=NULL))
- {
- uLong uSizeRead ;
- if (file_info.size_file_comment<commentBufferSize)
- {
- *(szComment+file_info.size_file_comment)='\0';
- uSizeRead = file_info.size_file_comment;
- }
- else
- uSizeRead = commentBufferSize;
-
- if (lSeek!=0)
- {
- if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0)
- lSeek=0;
- else
- err=UNZ_ERRNO;
- }
-
- if ((file_info.size_file_comment>0) && (commentBufferSize>0))
- if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead)
- err=UNZ_ERRNO;
- lSeek+=file_info.size_file_comment - uSizeRead;
- }
- else
- lSeek+=file_info.size_file_comment;
-
-
- if ((err==UNZ_OK) && (pfile_info!=NULL))
- *pfile_info=file_info;
-
- if ((err==UNZ_OK) && (pfile_info_internal!=NULL))
- *pfile_info_internal=file_info_internal;
-
- return err;
-}
-
-
-
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem.
-*/
-extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file,
- unz_file_info64 * pfile_info,
- char * szFileName, uLong fileNameBufferSize,
- void *extraField, uLong extraFieldBufferSize,
- char* szComment, uLong commentBufferSize)
-{
- return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL,
- szFileName,fileNameBufferSize,
- extraField,extraFieldBufferSize,
- szComment,commentBufferSize);
-}
-
-extern int ZEXPORT unzGetCurrentFileInfo (unzFile file,
- unz_file_info * pfile_info,
- char * szFileName, uLong fileNameBufferSize,
- void *extraField, uLong extraFieldBufferSize,
- char* szComment, uLong commentBufferSize)
-{
- int err;
- unz_file_info64 file_info64;
- err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL,
- szFileName,fileNameBufferSize,
- extraField,extraFieldBufferSize,
- szComment,commentBufferSize);
- if ((err==UNZ_OK) && (pfile_info != NULL))
- {
- pfile_info->version = file_info64.version;
- pfile_info->version_needed = file_info64.version_needed;
- pfile_info->flag = file_info64.flag;
- pfile_info->compression_method = file_info64.compression_method;
- pfile_info->dosDate = file_info64.dosDate;
- pfile_info->crc = file_info64.crc;
-
- pfile_info->size_filename = file_info64.size_filename;
- pfile_info->size_file_extra = file_info64.size_file_extra;
- pfile_info->size_file_comment = file_info64.size_file_comment;
-
- pfile_info->disk_num_start = file_info64.disk_num_start;
- pfile_info->internal_fa = file_info64.internal_fa;
- pfile_info->external_fa = file_info64.external_fa;
-
- pfile_info->tmu_date = file_info64.tmu_date,
-
-
- pfile_info->compressed_size = (uLong)file_info64.compressed_size;
- pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size;
-
- }
- return err;
-}
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-extern int ZEXPORT unzGoToFirstFile (unzFile file)
-{
- int err=UNZ_OK;
- unz64_s* s;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- s->pos_in_central_dir=s->offset_central_dir;
- s->num_file=0;
- err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-extern int ZEXPORT unzGoToNextFile (unzFile file)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
- if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */
- if (s->num_file+1==s->gi.number_entry)
- return UNZ_END_OF_LIST_OF_FILE;
-
- s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename +
- s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ;
- s->num_file++;
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
-{
- unz64_s* s;
- int err;
-
- /* We remember the 'current' position in the file so that we can jump
- * back there if we fail.
- */
- unz_file_info64 cur_file_infoSaved;
- unz_file_info64_internal cur_file_info_internalSaved;
- ZPOS64_T num_fileSaved;
- ZPOS64_T pos_in_central_dirSaved;
-
-
- if (file==NULL)
- return UNZ_PARAMERROR;
-
- if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
- return UNZ_PARAMERROR;
-
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
-
- /* Save the current state */
- num_fileSaved = s->num_file;
- pos_in_central_dirSaved = s->pos_in_central_dir;
- cur_file_infoSaved = s->cur_file_info;
- cur_file_info_internalSaved = s->cur_file_info_internal;
-
- err = unzGoToFirstFile(file);
-
- while (err == UNZ_OK)
- {
- char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
- err = unzGetCurrentFileInfo64(file,NULL,
- szCurrentFileName,sizeof(szCurrentFileName)-1,
- NULL,0,NULL,0);
- if (err == UNZ_OK)
- {
- if (unzStringFileNameCompare(szCurrentFileName,
- szFileName,iCaseSensitivity)==0)
- return UNZ_OK;
- err = unzGoToNextFile(file);
- }
- }
-
- /* We failed, so restore the state of the 'current file' to where we
- * were.
- */
- s->num_file = num_fileSaved ;
- s->pos_in_central_dir = pos_in_central_dirSaved ;
- s->cur_file_info = cur_file_infoSaved;
- s->cur_file_info_internal = cur_file_info_internalSaved;
- return err;
-}
-
-
-/*
-///////////////////////////////////////////
-// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net)
-// I need random access
-//
-// Further optimization could be realized by adding an ability
-// to cache the directory in memory. The goal being a single
-// comprehensive file read to put the file I need in a memory.
-*/
-
-/*
-typedef struct unz_file_pos_s
-{
- ZPOS64_T pos_in_zip_directory; // offset in file
- ZPOS64_T num_of_file; // # of file
-} unz_file_pos;
-*/
-
-extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos)
-{
- unz64_s* s;
-
- if (file==NULL || file_pos==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_END_OF_LIST_OF_FILE;
-
- file_pos->pos_in_zip_directory = s->pos_in_central_dir;
- file_pos->num_of_file = s->num_file;
-
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzGetFilePos(
- unzFile file,
- unz_file_pos* file_pos)
-{
- unz64_file_pos file_pos64;
- int err = unzGetFilePos64(file,&file_pos64);
- if (err==UNZ_OK)
- {
- file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory;
- file_pos->num_of_file = (uLong)file_pos64.num_of_file;
- }
- return err;
-}
-
-extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL || file_pos==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- /* jump to the right spot */
- s->pos_in_central_dir = file_pos->pos_in_zip_directory;
- s->num_file = file_pos->num_of_file;
-
- /* set the current file */
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- /* return results */
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-extern int ZEXPORT unzGoToFilePos(
- unzFile file,
- unz_file_pos* file_pos)
-{
- unz64_file_pos file_pos64;
- if (file_pos == NULL)
- return UNZ_PARAMERROR;
-
- file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory;
- file_pos64.num_of_file = file_pos->num_of_file;
- return unzGoToFilePos64(file,&file_pos64);
-}
-
-/*
-// Unzip Helper Functions - should be here?
-///////////////////////////////////////////
-*/
-
-/*
- Read the local header of the current zipfile
- Check the coherency of the local header and info in the end of central
- directory about this file
- store in *piSizeVar the size of extra info in local header
- (filename and size of extra field data)
-*/
-local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt* piSizeVar,
- ZPOS64_T * poffset_local_extrafield,
- uInt * psize_local_extrafield)
-{
- uLong uMagic,uData,uFlags;
- uLong size_filename;
- uLong size_extra_field;
- int err=UNZ_OK;
-
- *piSizeVar = 0;
- *poffset_local_extrafield = 0;
- *psize_local_extrafield = 0;
-
- if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile +
- s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
-
- if (err==UNZ_OK)
- {
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)
- err=UNZ_ERRNO;
- else if (uMagic!=0x04034b50)
- err=UNZ_BADZIPFILE;
- }
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
-/*
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))
- err=UNZ_BADZIPFILE;
-*/
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK)
- err=UNZ_ERRNO;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method))
- err=UNZ_BADZIPFILE;
-
- if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
-/* #ifdef HAVE_BZIP2 */
- (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
-/* #endif */
- (s->cur_file_info.compression_method!=Z_DEFLATED))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */
- err=UNZ_ERRNO;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */
- err=UNZ_ERRNO;
- else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */
- err=UNZ_ERRNO;
- else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0))
- err=UNZ_BADZIPFILE;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK)
- err=UNZ_ERRNO;
- else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename))
- err=UNZ_BADZIPFILE;
-
- *piSizeVar += (uInt)size_filename;
-
- if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK)
- err=UNZ_ERRNO;
- *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile +
- SIZEZIPLOCALHEADER + size_filename;
- *psize_local_extrafield = (uInt)size_extra_field;
-
- *piSizeVar += (uInt)size_extra_field;
-
- return err;
-}
-
-/*
- Open for reading data the current file in the zipfile.
- If there is no error and the file is opened, the return value is UNZ_OK.
-*/
-extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method,
- int* level, int raw, const char* password)
-{
- int err=UNZ_OK;
- uInt iSizeVar;
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- ZPOS64_T offset_local_extrafield; /* offset of the local extra field */
- uInt size_local_extrafield; /* size of the local extra field */
-# ifndef NOUNCRYPT
- char source[12];
-# else
- if (password != NULL)
- return UNZ_PARAMERROR;
-# endif
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return UNZ_PARAMERROR;
-
- if (s->pfile_in_zip_read != NULL)
- unzCloseCurrentFile(file);
-
- if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
- return UNZ_BADZIPFILE;
-
- pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s));
- if (pfile_in_zip_read_info==NULL)
- return UNZ_INTERNALERROR;
-
- pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE);
- pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield;
- pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield;
- pfile_in_zip_read_info->pos_local_extrafield=0;
- pfile_in_zip_read_info->raw=raw;
-
- if (pfile_in_zip_read_info->read_buffer==NULL)
- {
- TRYFREE(pfile_in_zip_read_info);
- return UNZ_INTERNALERROR;
- }
-
- pfile_in_zip_read_info->stream_initialised=0;
-
- if (method!=NULL)
- *method = (int)s->cur_file_info.compression_method;
-
- if (level!=NULL)
- {
- *level = 6;
- switch (s->cur_file_info.flag & 0x06)
- {
- case 6 : *level = 1; break;
- case 4 : *level = 2; break;
- case 2 : *level = 9; break;
- }
- }
-
- if ((s->cur_file_info.compression_method!=0) &&
-/* #ifdef HAVE_BZIP2 */
- (s->cur_file_info.compression_method!=Z_BZIP2ED) &&
-/* #endif */
- (s->cur_file_info.compression_method!=Z_DEFLATED))
-
- err=UNZ_BADZIPFILE;
-
- pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;
- pfile_in_zip_read_info->crc32=0;
- pfile_in_zip_read_info->total_out_64=0;
- pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method;
- pfile_in_zip_read_info->filestream=s->filestream;
- pfile_in_zip_read_info->z_filefunc=s->z_filefunc;
- pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile;
-
- pfile_in_zip_read_info->stream.total_out = 0;
-
- if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw))
- {
-#ifdef HAVE_BZIP2
- pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0;
- pfile_in_zip_read_info->bstream.bzfree = (free_func)0;
- pfile_in_zip_read_info->bstream.opaque = (voidpf)0;
- pfile_in_zip_read_info->bstream.state = (voidpf)0;
-
- pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
- pfile_in_zip_read_info->stream.zfree = (free_func)0;
- pfile_in_zip_read_info->stream.opaque = (voidpf)0;
- pfile_in_zip_read_info->stream.next_in = (voidpf)0;
- pfile_in_zip_read_info->stream.avail_in = 0;
-
- err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
- if (err == Z_OK)
- pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED;
- else
- {
- TRYFREE(pfile_in_zip_read_info);
- return err;
- }
-#else
- pfile_in_zip_read_info->raw=1;
-#endif
- }
- else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw))
- {
- pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;
- pfile_in_zip_read_info->stream.zfree = (free_func)0;
- pfile_in_zip_read_info->stream.opaque = (voidpf)0;
- pfile_in_zip_read_info->stream.next_in = 0;
- pfile_in_zip_read_info->stream.avail_in = 0;
-
- err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);
- if (err == Z_OK)
- pfile_in_zip_read_info->stream_initialised=Z_DEFLATED;
- else
- {
- TRYFREE(pfile_in_zip_read_info);
- return err;
- }
- /* windowBits is passed < 0 to tell that there is no zlib header.
- * Note that in this case inflate *requires* an extra "dummy" byte
- * after the compressed stream in order to complete decompression and
- * return Z_STREAM_END.
- * In unzip, i don't wait absolutely Z_STREAM_END because I known the
- * size of both compressed and uncompressed data
- */
- }
- pfile_in_zip_read_info->rest_read_compressed =
- s->cur_file_info.compressed_size ;
- pfile_in_zip_read_info->rest_read_uncompressed =
- s->cur_file_info.uncompressed_size ;
-
-
- pfile_in_zip_read_info->pos_in_zipfile =
- s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER +
- iSizeVar;
-
- pfile_in_zip_read_info->stream.avail_in = (uInt)0;
-
- s->pfile_in_zip_read = pfile_in_zip_read_info;
- s->encrypted = 0;
-
-# ifndef NOUNCRYPT
- if (password != NULL)
- {
- int i;
- s->pcrc_32_tab = get_crc_table();
- init_keys(password,s->keys,s->pcrc_32_tab);
- if (ZSEEK64(s->z_filefunc, s->filestream,
- s->pfile_in_zip_read->pos_in_zipfile +
- s->pfile_in_zip_read->byte_before_the_zipfile,
- SEEK_SET)!=0)
- return UNZ_INTERNALERROR;
- if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12)
- return UNZ_INTERNALERROR;
-
- for (i = 0; i<12; i++)
- zdecode(s->keys,s->pcrc_32_tab,source[i]);
-
- s->pfile_in_zip_read->pos_in_zipfile+=12;
- s->encrypted=1;
- }
-# endif
-
-
- return UNZ_OK;
-}
-
-extern int ZEXPORT unzOpenCurrentFile (unzFile file)
-{
- return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);
-}
-
-extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password)
-{
- return unzOpenCurrentFile3(file, NULL, NULL, 0, password);
-}
-
-extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method, int* level, int raw)
-{
- return unzOpenCurrentFile3(file, method, level, raw, NULL);
-}
-
-/** Addition for GDAL : START */
-
-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- s=(unz64_s*)file;
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
- if (pfile_in_zip_read_info==NULL)
- return 0; //UNZ_PARAMERROR;
- return pfile_in_zip_read_info->pos_in_zipfile +
- pfile_in_zip_read_info->byte_before_the_zipfile;
-}
-
-/** Addition for GDAL : END */
-
-/*
- Read bytes from the current file.
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len)
-{
- int err=UNZ_OK;
- uInt iRead = 0;
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if (pfile_in_zip_read_info->read_buffer == NULL)
- return UNZ_END_OF_LIST_OF_FILE;
- if (len==0)
- return 0;
-
- pfile_in_zip_read_info->stream.next_out = (Bytef*)buf;
-
- pfile_in_zip_read_info->stream.avail_out = (uInt)len;
-
- if ((len>pfile_in_zip_read_info->rest_read_uncompressed) &&
- (!(pfile_in_zip_read_info->raw)))
- pfile_in_zip_read_info->stream.avail_out =
- (uInt)pfile_in_zip_read_info->rest_read_uncompressed;
-
- if ((len>pfile_in_zip_read_info->rest_read_compressed+
- pfile_in_zip_read_info->stream.avail_in) &&
- (pfile_in_zip_read_info->raw))
- pfile_in_zip_read_info->stream.avail_out =
- (uInt)pfile_in_zip_read_info->rest_read_compressed+
- pfile_in_zip_read_info->stream.avail_in;
-
- while (pfile_in_zip_read_info->stream.avail_out>0)
- {
- if ((pfile_in_zip_read_info->stream.avail_in==0) &&
- (pfile_in_zip_read_info->rest_read_compressed>0))
- {
- uInt uReadThis = UNZ_BUFSIZE;
- if (pfile_in_zip_read_info->rest_read_compressed<uReadThis)
- uReadThis = (uInt)pfile_in_zip_read_info->rest_read_compressed;
- if (uReadThis == 0)
- return UNZ_EOF;
- if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->pos_in_zipfile +
- pfile_in_zip_read_info->byte_before_the_zipfile,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
- if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->read_buffer,
- uReadThis)!=uReadThis)
- return UNZ_ERRNO;
-
-
-# ifndef NOUNCRYPT
- if(s->encrypted)
- {
- uInt i;
- for(i=0;i<uReadThis;i++)
- pfile_in_zip_read_info->read_buffer[i] =
- zdecode(s->keys,s->pcrc_32_tab,
- pfile_in_zip_read_info->read_buffer[i]);
- }
-# endif
-
-
- pfile_in_zip_read_info->pos_in_zipfile += uReadThis;
-
- pfile_in_zip_read_info->rest_read_compressed-=uReadThis;
-
- pfile_in_zip_read_info->stream.next_in =
- (Bytef*)pfile_in_zip_read_info->read_buffer;
- pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis;
- }
-
- if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw))
- {
- uInt uDoCopy,i ;
-
- if ((pfile_in_zip_read_info->stream.avail_in == 0) &&
- (pfile_in_zip_read_info->rest_read_compressed == 0))
- return (iRead==0) ? UNZ_EOF : iRead;
-
- if (pfile_in_zip_read_info->stream.avail_out <
- pfile_in_zip_read_info->stream.avail_in)
- uDoCopy = pfile_in_zip_read_info->stream.avail_out ;
- else
- uDoCopy = pfile_in_zip_read_info->stream.avail_in ;
-
- for (i=0;i<uDoCopy;i++)
- *(pfile_in_zip_read_info->stream.next_out+i) =
- *(pfile_in_zip_read_info->stream.next_in+i);
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy;
-
- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,
- pfile_in_zip_read_info->stream.next_out,
- uDoCopy);
- pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy;
- pfile_in_zip_read_info->stream.avail_in -= uDoCopy;
- pfile_in_zip_read_info->stream.avail_out -= uDoCopy;
- pfile_in_zip_read_info->stream.next_out += uDoCopy;
- pfile_in_zip_read_info->stream.next_in += uDoCopy;
- pfile_in_zip_read_info->stream.total_out += uDoCopy;
- iRead += uDoCopy;
- }
- else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED)
- {
-#ifdef HAVE_BZIP2
- uLong uTotalOutBefore,uTotalOutAfter;
- const Bytef *bufBefore;
- uLong uOutThis;
-
- pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in;
- pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in;
- pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in;
- pfile_in_zip_read_info->bstream.total_in_hi32 = 0;
- pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out;
- pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out;
- pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out;
- pfile_in_zip_read_info->bstream.total_out_hi32 = 0;
-
- uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32;
- bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out;
-
- err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream);
-
- uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32;
- uOutThis = uTotalOutAfter-uTotalOutBefore;
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
-
- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis));
- pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis;
- iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
-
- pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in;
- pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in;
- pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32;
- pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out;
- pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out;
- pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
-
- if (err==BZ_STREAM_END)
- return (iRead==0) ? UNZ_EOF : iRead;
- if (err!=BZ_OK)
- break;
-#endif
- } // end Z_BZIP2ED
- else
- {
- ZPOS64_T uTotalOutBefore,uTotalOutAfter;
- const Bytef *bufBefore;
- ZPOS64_T uOutThis;
- int flush=Z_SYNC_FLUSH;
-
- uTotalOutBefore = pfile_in_zip_read_info->stream.total_out;
- bufBefore = pfile_in_zip_read_info->stream.next_out;
-
- /*
- if ((pfile_in_zip_read_info->rest_read_uncompressed ==
- pfile_in_zip_read_info->stream.avail_out) &&
- (pfile_in_zip_read_info->rest_read_compressed == 0))
- flush = Z_FINISH;
- */
- err=inflate(&pfile_in_zip_read_info->stream,flush);
-
- if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL))
- err = Z_DATA_ERROR;
-
- uTotalOutAfter = pfile_in_zip_read_info->stream.total_out;
- uOutThis = uTotalOutAfter-uTotalOutBefore;
-
- pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis;
-
- pfile_in_zip_read_info->crc32 =
- crc32(pfile_in_zip_read_info->crc32,bufBefore,
- (uInt)(uOutThis));
-
- pfile_in_zip_read_info->rest_read_uncompressed -=
- uOutThis;
-
- iRead += (uInt)(uTotalOutAfter - uTotalOutBefore);
-
- if (err==Z_STREAM_END)
- return (iRead==0) ? UNZ_EOF : iRead;
- if (err!=Z_OK)
- break;
- }
- }
-
- if (err==Z_OK)
- return iRead;
- return err;
-}
-
-
-/*
- Give the current position in uncompressed data
-*/
-extern z_off_t ZEXPORT unztell (unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- return (z_off_t)pfile_in_zip_read_info->stream.total_out;
-}
-
-extern ZPOS64_T ZEXPORT unztell64 (unzFile file)
-{
-
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return (ZPOS64_T)-1;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return (ZPOS64_T)-1;
-
- return pfile_in_zip_read_info->total_out_64;
-}
-
-
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-extern int ZEXPORT unzeof (unzFile file)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- if (pfile_in_zip_read_info->rest_read_uncompressed == 0)
- return 1;
- else
- return 0;
-}
-
-
-
-/*
-Read extra field from the current file (opened by unzOpenCurrentFile)
-This is the local-header version of the extra field (sometimes, there is
-more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field that can be read
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
-{
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- uInt read_now;
- ZPOS64_T size_to_read;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
- size_to_read = (pfile_in_zip_read_info->size_local_extrafield -
- pfile_in_zip_read_info->pos_local_extrafield);
-
- if (buf==NULL)
- return (int)size_to_read;
-
- if (len>size_to_read)
- read_now = (uInt)size_to_read;
- else
- read_now = (uInt)len ;
-
- if (read_now==0)
- return 0;
-
- if (ZSEEK64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- pfile_in_zip_read_info->offset_local_extrafield +
- pfile_in_zip_read_info->pos_local_extrafield,
- ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (ZREAD64(pfile_in_zip_read_info->z_filefunc,
- pfile_in_zip_read_info->filestream,
- buf,read_now)!=read_now)
- return UNZ_ERRNO;
-
- return (int)read_now;
-}
-
-/*
- Close the file in zip opened with unzOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-extern int ZEXPORT unzCloseCurrentFile (unzFile file)
-{
- int err=UNZ_OK;
-
- unz64_s* s;
- file_in_zip64_read_info_s* pfile_in_zip_read_info;
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
- pfile_in_zip_read_info=s->pfile_in_zip_read;
-
- if (pfile_in_zip_read_info==NULL)
- return UNZ_PARAMERROR;
-
-
- if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) &&
- (!pfile_in_zip_read_info->raw))
- {
- if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait)
- err=UNZ_CRCERROR;
- }
-
-
- TRYFREE(pfile_in_zip_read_info->read_buffer);
- pfile_in_zip_read_info->read_buffer = NULL;
- if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED)
- inflateEnd(&pfile_in_zip_read_info->stream);
-#ifdef HAVE_BZIP2
- else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED)
- BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream);
-#endif
-
-
- pfile_in_zip_read_info->stream_initialised = 0;
- TRYFREE(pfile_in_zip_read_info);
-
- s->pfile_in_zip_read=NULL;
-
- return err;
-}
-
-
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf)
-{
- unz64_s* s;
- uLong uReadThis ;
- if (file==NULL)
- return (int)UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- uReadThis = uSizeBuf;
- if (uReadThis>s->gi.size_comment)
- uReadThis = s->gi.size_comment;
-
- if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return UNZ_ERRNO;
-
- if (uReadThis>0)
- {
- *szComment='\0';
- if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis)
- return UNZ_ERRNO;
- }
-
- if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment))
- *(szComment+s->gi.size_comment)='\0';
- return (int)uReadThis;
-}
-
-/* Additions by RX '2004 */
-extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
-{
- unz64_s* s;
-
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- s=(unz64_s*)file;
- if (!s->current_file_ok)
- return 0;
- if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff)
- if (s->num_file==s->gi.number_entry)
- return 0;
- return s->pos_in_central_dir;
-}
-
-extern uLong ZEXPORT unzGetOffset (unzFile file)
-{
- ZPOS64_T offset64;
-
- if (file==NULL)
- return 0; //UNZ_PARAMERROR;
- offset64 = unzGetOffset64(file);
- return (uLong)offset64;
-}
-
-extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
-{
- unz64_s* s;
- int err;
-
- if (file==NULL)
- return UNZ_PARAMERROR;
- s=(unz64_s*)file;
-
- s->pos_in_central_dir = pos;
- s->num_file = s->gi.number_entry; /* hack */
- err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info,
- &s->cur_file_info_internal,
- NULL,0,NULL,0,NULL,0);
- s->current_file_ok = (err == UNZ_OK);
- return err;
-}
-
-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos)
-{
- return unzSetOffset64(file,pos);
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/unzip.h b/tcl8.6/compat/zlib/contrib/minizip/unzip.h
deleted file mode 100644
index 2104e39..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/unzip.h
+++ /dev/null
@@ -1,437 +0,0 @@
-/* unzip.h -- IO for uncompress .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications of Unzip for Zip64
- Copyright (C) 2007-2008 Even Rouault
-
- Modifications for Zip64 support on both zip and unzip
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- ---------------------------------------------------------------------------------
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- ---------------------------------------------------------------------------------
-
- Changes
-
- See header of unzip64.c
-
-*/
-
-#ifndef _unz64_H
-#define _unz64_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#ifndef _ZLIBIOAPI_H
-#include "ioapi.h"
-#endif
-
-#ifdef HAVE_BZIP2
-#include "bzlib.h"
-#endif
-
-#define Z_BZIP2ED 12
-
-#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagunzFile__ { int unused; } unzFile__;
-typedef unzFile__ *unzFile;
-#else
-typedef voidp unzFile;
-#endif
-
-
-#define UNZ_OK (0)
-#define UNZ_END_OF_LIST_OF_FILE (-100)
-#define UNZ_ERRNO (Z_ERRNO)
-#define UNZ_EOF (0)
-#define UNZ_PARAMERROR (-102)
-#define UNZ_BADZIPFILE (-103)
-#define UNZ_INTERNALERROR (-104)
-#define UNZ_CRCERROR (-105)
-
-/* tm_unz contain date/time info */
-typedef struct tm_unz_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_unz;
-
-/* unz_global_info structure contain global data about the ZIPfile
- These data comes from the end of central dir */
-typedef struct unz_global_info64_s
-{
- ZPOS64_T number_entry; /* total number of entries in
- the central dir on this disk */
- uLong size_comment; /* size of the global comment of the zipfile */
-} unz_global_info64;
-
-typedef struct unz_global_info_s
-{
- uLong number_entry; /* total number of entries in
- the central dir on this disk */
- uLong size_comment; /* size of the global comment of the zipfile */
-} unz_global_info;
-
-/* unz_file_info contain information about a file in the zipfile */
-typedef struct unz_file_info64_s
-{
- uLong version; /* version made by 2 bytes */
- uLong version_needed; /* version needed to extract 2 bytes */
- uLong flag; /* general purpose bit flag 2 bytes */
- uLong compression_method; /* compression method 2 bytes */
- uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
- uLong crc; /* crc-32 4 bytes */
- ZPOS64_T compressed_size; /* compressed size 8 bytes */
- ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */
- uLong size_filename; /* filename length 2 bytes */
- uLong size_file_extra; /* extra field length 2 bytes */
- uLong size_file_comment; /* file comment length 2 bytes */
-
- uLong disk_num_start; /* disk number start 2 bytes */
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-
- tm_unz tmu_date;
-} unz_file_info64;
-
-typedef struct unz_file_info_s
-{
- uLong version; /* version made by 2 bytes */
- uLong version_needed; /* version needed to extract 2 bytes */
- uLong flag; /* general purpose bit flag 2 bytes */
- uLong compression_method; /* compression method 2 bytes */
- uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
- uLong crc; /* crc-32 4 bytes */
- uLong compressed_size; /* compressed size 4 bytes */
- uLong uncompressed_size; /* uncompressed size 4 bytes */
- uLong size_filename; /* filename length 2 bytes */
- uLong size_file_extra; /* extra field length 2 bytes */
- uLong size_file_comment; /* file comment length 2 bytes */
-
- uLong disk_num_start; /* disk number start 2 bytes */
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-
- tm_unz tmu_date;
-} unz_file_info;
-
-extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
- const char* fileName2,
- int iCaseSensitivity));
-/*
- Compare two filename (fileName1,fileName2).
- If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
- If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
- or strcasecmp)
- If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
- (like 1 on Unix, 2 on Windows)
-*/
-
-
-extern unzFile ZEXPORT unzOpen OF((const char *path));
-extern unzFile ZEXPORT unzOpen64 OF((const void *path));
-/*
- Open a Zip file. path contain the full pathname (by example,
- on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer
- "zlib/zlib113.zip".
- If the zipfile cannot be opened (file don't exist or in not valid), the
- return value is NULL.
- Else, the return value is a unzFile Handle, usable with other function
- of this unzip package.
- the "64" function take a const void* pointer, because the path is just the
- value passed to the open64_file_func callback.
- Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path
- is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char*
- does not describe the reality
-*/
-
-
-extern unzFile ZEXPORT unzOpen2 OF((const char *path,
- zlib_filefunc_def* pzlib_filefunc_def));
-/*
- Open a Zip file, like unzOpen, but provide a set of file low level API
- for read/write the zip file (see ioapi.h)
-*/
-
-extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
- zlib_filefunc64_def* pzlib_filefunc_def));
-/*
- Open a Zip file, like unz64Open, but provide a set of file low level API
- for read/write the zip file (see ioapi.h)
-*/
-
-extern int ZEXPORT unzClose OF((unzFile file));
-/*
- Close a ZipFile opened with unzOpen.
- If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
- these files MUST be closed with unzCloseCurrentFile before call unzClose.
- return UNZ_OK if there is no problem. */
-
-extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
- unz_global_info *pglobal_info));
-
-extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file,
- unz_global_info64 *pglobal_info));
-/*
- Write info about the ZipFile in the *pglobal_info structure.
- No preparation of the structure is needed
- return UNZ_OK if there is no problem. */
-
-
-extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
- char *szComment,
- uLong uSizeBuf));
-/*
- Get the global comment string of the ZipFile, in the szComment buffer.
- uSizeBuf is the size of the szComment buffer.
- return the number of byte copied or an error code <0
-*/
-
-
-/***************************************************************************/
-/* Unzip package allow you browse the directory of the zipfile */
-
-extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the first file.
- return UNZ_OK if there is no problem
-*/
-
-extern int ZEXPORT unzGoToNextFile OF((unzFile file));
-/*
- Set the current file of the zipfile to the next file.
- return UNZ_OK if there is no problem
- return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
-*/
-
-extern int ZEXPORT unzLocateFile OF((unzFile file,
- const char *szFileName,
- int iCaseSensitivity));
-/*
- Try locate the file szFileName in the zipfile.
- For the iCaseSensitivity signification, see unzStringFileNameCompare
-
- return value :
- UNZ_OK if the file is found. It becomes the current file.
- UNZ_END_OF_LIST_OF_FILE if the file is not found
-*/
-
-
-/* ****************************************** */
-/* Ryan supplied functions */
-/* unz_file_info contain information about a file in the zipfile */
-typedef struct unz_file_pos_s
-{
- uLong pos_in_zip_directory; /* offset in zip file directory */
- uLong num_of_file; /* # of file */
-} unz_file_pos;
-
-extern int ZEXPORT unzGetFilePos(
- unzFile file,
- unz_file_pos* file_pos);
-
-extern int ZEXPORT unzGoToFilePos(
- unzFile file,
- unz_file_pos* file_pos);
-
-typedef struct unz64_file_pos_s
-{
- ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */
- ZPOS64_T num_of_file; /* # of file */
-} unz64_file_pos;
-
-extern int ZEXPORT unzGetFilePos64(
- unzFile file,
- unz64_file_pos* file_pos);
-
-extern int ZEXPORT unzGoToFilePos64(
- unzFile file,
- const unz64_file_pos* file_pos);
-
-/* ****************************************** */
-
-extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file,
- unz_file_info64 *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-
-extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
- unz_file_info *pfile_info,
- char *szFileName,
- uLong fileNameBufferSize,
- void *extraField,
- uLong extraFieldBufferSize,
- char *szComment,
- uLong commentBufferSize));
-/*
- Get Info about the current file
- if pfile_info!=NULL, the *pfile_info structure will contain somes info about
- the current file
- if szFileName!=NULL, the filemane string will be copied in szFileName
- (fileNameBufferSize is the size of the buffer)
- if extraField!=NULL, the extra field information will be copied in extraField
- (extraFieldBufferSize is the size of the buffer).
- This is the Central-header version of the extra field
- if szComment!=NULL, the comment string of the file will be copied in szComment
- (commentBufferSize is the size of the buffer)
-*/
-
-
-/** Addition for GDAL : START */
-
-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file));
-
-/** Addition for GDAL : END */
-
-
-/***************************************************************************/
-/* for reading the content of the current zipfile, you can open it, read data
- from it, and close it (you can close it before reading all the file)
- */
-
-extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
-/*
- Open for reading data the current file in the zipfile.
- If there is no error, the return value is UNZ_OK.
-*/
-
-extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file,
- const char* password));
-/*
- Open for reading data the current file in the zipfile.
- password is a crypting password
- If there is no error, the return value is UNZ_OK.
-*/
-
-extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file,
- int* method,
- int* level,
- int raw));
-/*
- Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
- if raw==1
- *method will receive method of compression, *level will receive level of
- compression
- note : you can set level parameter as NULL (if you did not want known level,
- but you CANNOT set method parameter as NULL
-*/
-
-extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file,
- int* method,
- int* level,
- int raw,
- const char* password));
-/*
- Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
- if raw==1
- *method will receive method of compression, *level will receive level of
- compression
- note : you can set level parameter as NULL (if you did not want known level,
- but you CANNOT set method parameter as NULL
-*/
-
-
-extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
-/*
- Close the file in zip opened with unzOpenCurrentFile
- Return UNZ_CRCERROR if all the file was read but the CRC is not good
-*/
-
-extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read bytes from the current file (opened by unzOpenCurrentFile)
- buf contain buffer where data must be copied
- len the size of buf.
-
- return the number of byte copied if somes bytes are copied
- return 0 if the end of file was reached
- return <0 with error code if there is an error
- (UNZ_ERRNO for IO error, or zLib error for uncompress error)
-*/
-
-extern z_off_t ZEXPORT unztell OF((unzFile file));
-
-extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file));
-/*
- Give the current position in uncompressed data
-*/
-
-extern int ZEXPORT unzeof OF((unzFile file));
-/*
- return 1 if the end of file was reached, 0 elsewhere
-*/
-
-extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
- voidp buf,
- unsigned len));
-/*
- Read extra field from the current file (opened by unzOpenCurrentFile)
- This is the local-header version of the extra field (sometimes, there is
- more info in the local-header version than in the central-header)
-
- if buf==NULL, it return the size of the local extra field
-
- if buf!=NULL, len is the size of the buffer, the extra header is copied in
- buf.
- the return value is the number of bytes copied in buf, or (if <0)
- the error code
-*/
-
-/***************************************************************************/
-
-/* Get the current file offset */
-extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file);
-extern uLong ZEXPORT unzGetOffset (unzFile file);
-
-/* Set the current file offset */
-extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos);
-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _unz64_H */
diff --git a/tcl8.6/compat/zlib/contrib/minizip/zip.c b/tcl8.6/compat/zlib/contrib/minizip/zip.c
deleted file mode 100644
index ea54853..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/zip.c
+++ /dev/null
@@ -1,2007 +0,0 @@
-/* zip.c -- IO on .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- Changes
- Oct-2009 - Mathias Svensson - Remove old C style function prototypes
- Oct-2009 - Mathias Svensson - Added Zip64 Support when creating new file archives
- Oct-2009 - Mathias Svensson - Did some code cleanup and refactoring to get better overview of some functions.
- Oct-2009 - Mathias Svensson - Added zipRemoveExtraInfoBlock to strip extra field data from its ZIP64 data
- It is used when recreting zip archive with RAW when deleting items from a zip.
- ZIP64 data is automaticly added to items that needs it, and existing ZIP64 data need to be removed.
- Oct-2009 - Mathias Svensson - Added support for BZIP2 as compression mode (bzip2 lib is required)
- Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer
-
-*/
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include "zlib.h"
-#include "zip.h"
-
-#ifdef STDC
-# include <stddef.h>
-# include <string.h>
-# include <stdlib.h>
-#endif
-#ifdef NO_ERRNO_H
- extern int errno;
-#else
-# include <errno.h>
-#endif
-
-
-#ifndef local
-# define local static
-#endif
-/* compile with -Dlocal if your debugger can't find static symbols */
-
-#ifndef VERSIONMADEBY
-# define VERSIONMADEBY (0x0) /* platform depedent */
-#endif
-
-#ifndef Z_BUFSIZE
-#define Z_BUFSIZE (64*1024) //(16384)
-#endif
-
-#ifndef Z_MAXFILENAMEINZIP
-#define Z_MAXFILENAMEINZIP (256)
-#endif
-
-#ifndef ALLOC
-# define ALLOC(size) (malloc(size))
-#endif
-#ifndef TRYFREE
-# define TRYFREE(p) {if (p) free(p);}
-#endif
-
-/*
-#define SIZECENTRALDIRITEM (0x2e)
-#define SIZEZIPLOCALHEADER (0x1e)
-*/
-
-/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
-
-
-// NOT sure that this work on ALL platform
-#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32))
-
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-#ifndef DEF_MEM_LEVEL
-#if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-#else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-#endif
-#endif
-const char zip_copyright[] =" zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
-
-
-#define SIZEDATA_INDATABLOCK (4096-(4*4))
-
-#define LOCALHEADERMAGIC (0x04034b50)
-#define CENTRALHEADERMAGIC (0x02014b50)
-#define ENDHEADERMAGIC (0x06054b50)
-#define ZIP64ENDHEADERMAGIC (0x6064b50)
-#define ZIP64ENDLOCHEADERMAGIC (0x7064b50)
-
-#define FLAG_LOCALHEADER_OFFSET (0x06)
-#define CRC_LOCALHEADER_OFFSET (0x0e)
-
-#define SIZECENTRALHEADER (0x2e) /* 46 */
-
-typedef struct linkedlist_datablock_internal_s
-{
- struct linkedlist_datablock_internal_s* next_datablock;
- uLong avail_in_this_block;
- uLong filled_in_this_block;
- uLong unused; /* for future use and alignement */
- unsigned char data[SIZEDATA_INDATABLOCK];
-} linkedlist_datablock_internal;
-
-typedef struct linkedlist_data_s
-{
- linkedlist_datablock_internal* first_block;
- linkedlist_datablock_internal* last_block;
-} linkedlist_data;
-
-
-typedef struct
-{
- z_stream stream; /* zLib stream structure for inflate */
-#ifdef HAVE_BZIP2
- bz_stream bstream; /* bzLib stream structure for bziped */
-#endif
-
- int stream_initialised; /* 1 is stream is initialised */
- uInt pos_in_buffered_data; /* last written byte in buffered_data */
-
- ZPOS64_T pos_local_header; /* offset of the local header of the file
- currenty writing */
- char* central_header; /* central header data for the current file */
- uLong size_centralExtra;
- uLong size_centralheader; /* size of the central header for cur file */
- uLong size_centralExtraFree; /* Extra bytes allocated to the centralheader but that are not used */
- uLong flag; /* flag of the file currently writing */
-
- int method; /* compression method of file currenty wr.*/
- int raw; /* 1 for directly writing raw data */
- Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/
- uLong dosDate;
- uLong crc32;
- int encrypt;
- int zip64; /* Add ZIP64 extened information in the extra field */
- ZPOS64_T pos_zip64extrainfo;
- ZPOS64_T totalCompressedData;
- ZPOS64_T totalUncompressedData;
-#ifndef NOCRYPT
- unsigned long keys[3]; /* keys defining the pseudo-random sequence */
- const z_crc_t* pcrc_32_tab;
- int crypt_header_size;
-#endif
-} curfile64_info;
-
-typedef struct
-{
- zlib_filefunc64_32_def z_filefunc;
- voidpf filestream; /* io structore of the zipfile */
- linkedlist_data central_dir;/* datablock with central dir in construction*/
- int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/
- curfile64_info ci; /* info on the file curretly writing */
-
- ZPOS64_T begin_pos; /* position of the beginning of the zipfile */
- ZPOS64_T add_position_when_writting_offset;
- ZPOS64_T number_entry;
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- char *globalcomment;
-#endif
-
-} zip64_internal;
-
-
-#ifndef NOCRYPT
-#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED
-#include "crypt.h"
-#endif
-
-local linkedlist_datablock_internal* allocate_new_datablock()
-{
- linkedlist_datablock_internal* ldi;
- ldi = (linkedlist_datablock_internal*)
- ALLOC(sizeof(linkedlist_datablock_internal));
- if (ldi!=NULL)
- {
- ldi->next_datablock = NULL ;
- ldi->filled_in_this_block = 0 ;
- ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ;
- }
- return ldi;
-}
-
-local void free_datablock(linkedlist_datablock_internal* ldi)
-{
- while (ldi!=NULL)
- {
- linkedlist_datablock_internal* ldinext = ldi->next_datablock;
- TRYFREE(ldi);
- ldi = ldinext;
- }
-}
-
-local void init_linkedlist(linkedlist_data* ll)
-{
- ll->first_block = ll->last_block = NULL;
-}
-
-local void free_linkedlist(linkedlist_data* ll)
-{
- free_datablock(ll->first_block);
- ll->first_block = ll->last_block = NULL;
-}
-
-
-local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len)
-{
- linkedlist_datablock_internal* ldi;
- const unsigned char* from_copy;
-
- if (ll==NULL)
- return ZIP_INTERNALERROR;
-
- if (ll->last_block == NULL)
- {
- ll->first_block = ll->last_block = allocate_new_datablock();
- if (ll->first_block == NULL)
- return ZIP_INTERNALERROR;
- }
-
- ldi = ll->last_block;
- from_copy = (unsigned char*)buf;
-
- while (len>0)
- {
- uInt copy_this;
- uInt i;
- unsigned char* to_copy;
-
- if (ldi->avail_in_this_block==0)
- {
- ldi->next_datablock = allocate_new_datablock();
- if (ldi->next_datablock == NULL)
- return ZIP_INTERNALERROR;
- ldi = ldi->next_datablock ;
- ll->last_block = ldi;
- }
-
- if (ldi->avail_in_this_block < len)
- copy_this = (uInt)ldi->avail_in_this_block;
- else
- copy_this = (uInt)len;
-
- to_copy = &(ldi->data[ldi->filled_in_this_block]);
-
- for (i=0;i<copy_this;i++)
- *(to_copy+i)=*(from_copy+i);
-
- ldi->filled_in_this_block += copy_this;
- ldi->avail_in_this_block -= copy_this;
- from_copy += copy_this ;
- len -= copy_this;
- }
- return ZIP_OK;
-}
-
-
-
-/****************************************************************************/
-
-#ifndef NO_ADDFILEINEXISTINGZIP
-/* ===========================================================================
- Inputs a long in LSB order to the given file
- nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T)
-*/
-
-local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte));
-local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte)
-{
- unsigned char buf[8];
- int n;
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
- if (x != 0)
- { /* data overflow - hack for ZIP64 (X Roche) */
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = 0xff;
- }
- }
-
- if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte)
- return ZIP_ERRNO;
- else
- return ZIP_OK;
-}
-
-local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte));
-local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte)
-{
- unsigned char* buf=(unsigned char*)dest;
- int n;
- for (n = 0; n < nbByte; n++) {
- buf[n] = (unsigned char)(x & 0xff);
- x >>= 8;
- }
-
- if (x != 0)
- { /* data overflow - hack for ZIP64 */
- for (n = 0; n < nbByte; n++)
- {
- buf[n] = 0xff;
- }
- }
-}
-
-/****************************************************************************/
-
-
-local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm)
-{
- uLong year = (uLong)ptm->tm_year;
- if (year>=1980)
- year-=1980;
- else if (year>=80)
- year-=80;
- return
- (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) |
- ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour));
-}
-
-
-/****************************************************************************/
-
-local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi));
-
-local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi)
-{
- unsigned char c;
- int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1);
- if (err==1)
- {
- *pi = (int)c;
- return ZIP_OK;
- }
- else
- {
- if (ZERROR64(*pzlib_filefunc_def,filestream))
- return ZIP_ERRNO;
- else
- return ZIP_EOF;
- }
-}
-
-
-/* ===========================================================================
- Reads a long in LSB order from the given gz_stream. Sets
-*/
-local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
-
-local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<8;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX));
-
-local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX)
-{
- uLong x ;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (uLong)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<8;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<16;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((uLong)i)<<24;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
- return err;
-}
-
-local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX));
-
-
-local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)
-{
- ZPOS64_T x;
- int i = 0;
- int err;
-
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x = (ZPOS64_T)i;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<8;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<16;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<24;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<32;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<40;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<48;
-
- if (err==ZIP_OK)
- err = zip64local_getByte(pzlib_filefunc_def,filestream,&i);
- x += ((ZPOS64_T)i)<<56;
-
- if (err==ZIP_OK)
- *pX = x;
- else
- *pX = 0;
-
- return err;
-}
-
-#ifndef BUFREADCOMMENT
-#define BUFREADCOMMENT (0x400)
-#endif
-/*
- Locate the Central directory of a zipfile (at the end, just before
- the global comment)
-*/
-local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-
-local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos ;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) &&
- ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))
- {
- uPosFound = uReadPos+i;
- break;
- }
-
- if (uPosFound!=0)
- break;
- }
- TRYFREE(buf);
- return uPosFound;
-}
-
-/*
-Locate the End of Zip64 Central directory locator and from there find the CD of a zipfile (at the end, just before
-the global comment)
-*/
-local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream));
-
-local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)
-{
- unsigned char* buf;
- ZPOS64_T uSizeFile;
- ZPOS64_T uBackRead;
- ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */
- ZPOS64_T uPosFound=0;
- uLong uL;
- ZPOS64_T relativeOffset;
-
- if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)
- return 0;
-
- uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream);
-
- if (uMaxBack>uSizeFile)
- uMaxBack = uSizeFile;
-
- buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);
- if (buf==NULL)
- return 0;
-
- uBackRead = 4;
- while (uBackRead<uMaxBack)
- {
- uLong uReadSize;
- ZPOS64_T uReadPos;
- int i;
- if (uBackRead+BUFREADCOMMENT>uMaxBack)
- uBackRead = uMaxBack;
- else
- uBackRead+=BUFREADCOMMENT;
- uReadPos = uSizeFile-uBackRead ;
-
- uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?
- (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos);
- if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- break;
-
- if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)
- break;
-
- for (i=(int)uReadSize-3; (i--)>0;)
- {
- // Signature "0x07064b50" Zip64 end of central directory locater
- if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07))
- {
- uPosFound = uReadPos+i;
- break;
- }
- }
-
- if (uPosFound!=0)
- break;
- }
-
- TRYFREE(buf);
- if (uPosFound == 0)
- return 0;
-
- /* Zip64 end of central directory locator */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature, already checked */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
-
- /* number of the disk with the start of the zip64 end of central directory */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
- if (uL != 0)
- return 0;
-
- /* relative offset of the zip64 end of central directory record */
- if (zip64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=ZIP_OK)
- return 0;
-
- /* total number of disks */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
- if (uL != 1)
- return 0;
-
- /* Goto Zip64 end of central directory record */
- if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0)
- return 0;
-
- /* the signature */
- if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK)
- return 0;
-
- if (uL != 0x06064b50) // signature of 'Zip64 end of central directory'
- return 0;
-
- return relativeOffset;
-}
-
-int LoadCentralDirectoryRecord(zip64_internal* pziinit)
-{
- int err=ZIP_OK;
- ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/
-
- ZPOS64_T size_central_dir; /* size of the central directory */
- ZPOS64_T offset_central_dir; /* offset of start of central directory */
- ZPOS64_T central_pos;
- uLong uL;
-
- uLong number_disk; /* number of the current dist, used for
- spaning ZIP, unsupported, always 0*/
- uLong number_disk_with_CD; /* number the the disk with central dir, used
- for spaning ZIP, unsupported, always 0*/
- ZPOS64_T number_entry;
- ZPOS64_T number_entry_CD; /* total number of entries in
- the central dir
- (same than number_entry on nospan) */
- uLong VersionMadeBy;
- uLong VersionNeeded;
- uLong size_comment;
-
- int hasZIP64Record = 0;
-
- // check first if we find a ZIP64 record
- central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream);
- if(central_pos > 0)
- {
- hasZIP64Record = 1;
- }
- else if(central_pos == 0)
- {
- central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream);
- }
-
-/* disable to allow appending to empty ZIP archive
- if (central_pos==0)
- err=ZIP_ERRNO;
-*/
-
- if(hasZIP64Record)
- {
- ZPOS64_T sizeEndOfCentralDirectory;
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- /* the signature, already checked */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* size of zip64 end of central directory record */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* version made by */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* version needed to extract */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of this disk */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central directory on this disk */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central directory */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
- err=ZIP_BADZIPFILE;
-
- /* size of the central directory */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* offset of start of central directory with respect to the
- starting disk number */
- if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- // TODO..
- // read the comment from the standard central header.
- size_comment = 0;
- }
- else
- {
- // Read End of central Directory info
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err=ZIP_ERRNO;
-
- /* the signature, already checked */
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of this disk */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* number of the disk with the start of the central directory */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK)
- err=ZIP_ERRNO;
-
- /* total number of entries in the central dir on this disk */
- number_entry = 0;
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- number_entry = uL;
-
- /* total number of entries in the central dir */
- number_entry_CD = 0;
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- number_entry_CD = uL;
-
- if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
- err=ZIP_BADZIPFILE;
-
- /* size of the central directory */
- size_central_dir = 0;
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- size_central_dir = uL;
-
- /* offset of start of central directory with respect to the starting disk number */
- offset_central_dir = 0;
- if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
- err=ZIP_ERRNO;
- else
- offset_central_dir = uL;
-
-
- /* zipfile global comment length */
- if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK)
- err=ZIP_ERRNO;
- }
-
- if ((central_pos<offset_central_dir+size_central_dir) &&
- (err==ZIP_OK))
- err=ZIP_BADZIPFILE;
-
- if (err!=ZIP_OK)
- {
- ZCLOSE64(pziinit->z_filefunc, pziinit->filestream);
- return ZIP_ERRNO;
- }
-
- if (size_comment>0)
- {
- pziinit->globalcomment = (char*)ALLOC(size_comment+1);
- if (pziinit->globalcomment)
- {
- size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment);
- pziinit->globalcomment[size_comment]=0;
- }
- }
-
- byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir);
- pziinit->add_position_when_writting_offset = byte_before_the_zipfile;
-
- {
- ZPOS64_T size_central_dir_to_read = size_central_dir;
- size_t buf_size = SIZEDATA_INDATABLOCK;
- void* buf_read = (void*)ALLOC(buf_size);
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- while ((size_central_dir_to_read>0) && (err==ZIP_OK))
- {
- ZPOS64_T read_this = SIZEDATA_INDATABLOCK;
- if (read_this > size_central_dir_to_read)
- read_this = size_central_dir_to_read;
-
- if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this)
- err=ZIP_ERRNO;
-
- if (err==ZIP_OK)
- err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this);
-
- size_central_dir_to_read-=read_this;
- }
- TRYFREE(buf_read);
- }
- pziinit->begin_pos = byte_before_the_zipfile;
- pziinit->number_entry = number_entry_CD;
-
- if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0)
- err=ZIP_ERRNO;
-
- return err;
-}
-
-
-#endif /* !NO_ADDFILEINEXISTINGZIP*/
-
-
-/************************************************************/
-extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
-{
- zip64_internal ziinit;
- zip64_internal* zi;
- int err=ZIP_OK;
-
- ziinit.z_filefunc.zseek32_file = NULL;
- ziinit.z_filefunc.ztell32_file = NULL;
- if (pzlib_filefunc64_32_def==NULL)
- fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64);
- else
- ziinit.z_filefunc = *pzlib_filefunc64_32_def;
-
- ziinit.filestream = ZOPEN64(ziinit.z_filefunc,
- pathname,
- (append == APPEND_STATUS_CREATE) ?
- (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :
- (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));
-
- if (ziinit.filestream == NULL)
- return NULL;
-
- if (append == APPEND_STATUS_CREATEAFTER)
- ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END);
-
- ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream);
- ziinit.in_opened_file_inzip = 0;
- ziinit.ci.stream_initialised = 0;
- ziinit.number_entry = 0;
- ziinit.add_position_when_writting_offset = 0;
- init_linkedlist(&(ziinit.central_dir));
-
-
-
- zi = (zip64_internal*)ALLOC(sizeof(zip64_internal));
- if (zi==NULL)
- {
- ZCLOSE64(ziinit.z_filefunc,ziinit.filestream);
- return NULL;
- }
-
- /* now we add file in a zipfile */
-# ifndef NO_ADDFILEINEXISTINGZIP
- ziinit.globalcomment = NULL;
- if (append == APPEND_STATUS_ADDINZIP)
- {
- // Read and Cache Central Directory Records
- err = LoadCentralDirectoryRecord(&ziinit);
- }
-
- if (globalcomment)
- {
- *globalcomment = ziinit.globalcomment;
- }
-# endif /* !NO_ADDFILEINEXISTINGZIP*/
-
- if (err != ZIP_OK)
- {
-# ifndef NO_ADDFILEINEXISTINGZIP
- TRYFREE(ziinit.globalcomment);
-# endif /* !NO_ADDFILEINEXISTINGZIP*/
- TRYFREE(zi);
- return NULL;
- }
- else
- {
- *zi = ziinit;
- return (zipFile)zi;
- }
-}
-
-extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def)
-{
- if (pzlib_filefunc32_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def);
- return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
- }
- else
- return zipOpen3(pathname, append, globalcomment, NULL);
-}
-
-extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def)
-{
- if (pzlib_filefunc_def != NULL)
- {
- zlib_filefunc64_32_def zlib_filefunc64_32_def_fill;
- zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def;
- zlib_filefunc64_32_def_fill.ztell32_file = NULL;
- zlib_filefunc64_32_def_fill.zseek32_file = NULL;
- return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill);
- }
- else
- return zipOpen3(pathname, append, globalcomment, NULL);
-}
-
-
-
-extern zipFile ZEXPORT zipOpen (const char* pathname, int append)
-{
- return zipOpen3((const void*)pathname,append,NULL,NULL);
-}
-
-extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append)
-{
- return zipOpen3(pathname,append,NULL,NULL);
-}
-
-int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local)
-{
- /* write the local header */
- int err;
- uInt size_filename = (uInt)strlen(filename);
- uInt size_extrafield = size_extrafield_local;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4);
-
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2);
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2);
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4);
-
- // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */
- }
- if (err==ZIP_OK)
- {
- if(zi->ci.zip64)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2);
-
- if(zi->ci.zip64)
- {
- size_extrafield += 20;
- }
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2);
-
- if ((err==ZIP_OK) && (size_filename > 0))
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename)
- err = ZIP_ERRNO;
- }
-
- if ((err==ZIP_OK) && (size_extrafield_local > 0))
- {
- if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local)
- err = ZIP_ERRNO;
- }
-
-
- if ((err==ZIP_OK) && (zi->ci.zip64))
- {
- // write the Zip64 extended info
- short HeaderID = 1;
- short DataSize = 16;
- ZPOS64_T CompressedSize = 0;
- ZPOS64_T UncompressedSize = 0;
-
- // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file)
- zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream);
-
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2);
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2);
-
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8);
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8);
- }
-
- return err;
-}
-
-/*
- NOTE.
- When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped
- before calling this function it can be done with zipRemoveExtraInfoBlock
-
- It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize
- unnecessary allocations.
- */
-extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting,
- uLong versionMadeBy, uLong flagBase, int zip64)
-{
- zip64_internal* zi;
- uInt size_filename;
- uInt size_comment;
- uInt i;
- int err = ZIP_OK;
-
-# ifdef NOCRYPT
- (crcForCrypting);
- if (password != NULL)
- return ZIP_PARAMERROR;
-# endif
-
- if (file == NULL)
- return ZIP_PARAMERROR;
-
-#ifdef HAVE_BZIP2
- if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED))
- return ZIP_PARAMERROR;
-#else
- if ((method!=0) && (method!=Z_DEFLATED))
- return ZIP_PARAMERROR;
-#endif
-
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- if (err != ZIP_OK)
- return err;
- }
-
- if (filename==NULL)
- filename="-";
-
- if (comment==NULL)
- size_comment = 0;
- else
- size_comment = (uInt)strlen(comment);
-
- size_filename = (uInt)strlen(filename);
-
- if (zipfi == NULL)
- zi->ci.dosDate = 0;
- else
- {
- if (zipfi->dosDate != 0)
- zi->ci.dosDate = zipfi->dosDate;
- else
- zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
- }
-
- zi->ci.flag = flagBase;
- if ((level==8) || (level==9))
- zi->ci.flag |= 2;
- if (level==2)
- zi->ci.flag |= 4;
- if (level==1)
- zi->ci.flag |= 6;
- if (password != NULL)
- zi->ci.flag |= 1;
-
- zi->ci.crc32 = 0;
- zi->ci.method = method;
- zi->ci.encrypt = 0;
- zi->ci.stream_initialised = 0;
- zi->ci.pos_in_buffered_data = 0;
- zi->ci.raw = raw;
- zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream);
-
- zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
- zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data
-
- zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree);
-
- zi->ci.size_centralExtra = size_extrafield_global;
- zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);
- /* version info */
- zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2);
- zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);
- zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);
- zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);
- zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);
- zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/
- zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/
- zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/
- zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);
- zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);
- zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);
- zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/
-
- if (zipfi==NULL)
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);
-
- if (zipfi==NULL)
- zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);
-
- if(zi->ci.pos_local_header >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4);
- else
- zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4);
-
- for (i=0;i<size_filename;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);
-
- for (i=0;i<size_extrafield_global;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =
- *(((const char*)extrafield_global)+i);
-
- for (i=0;i<size_comment;i++)
- *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+
- size_extrafield_global+i) = *(comment+i);
- if (zi->ci.central_header == NULL)
- return ZIP_INTERNALERROR;
-
- zi->ci.zip64 = zip64;
- zi->ci.totalCompressedData = 0;
- zi->ci.totalUncompressedData = 0;
- zi->ci.pos_zip64extrainfo = 0;
-
- err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local);
-
-#ifdef HAVE_BZIP2
- zi->ci.bstream.avail_in = (uInt)0;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- zi->ci.bstream.total_in_hi32 = 0;
- zi->ci.bstream.total_in_lo32 = 0;
- zi->ci.bstream.total_out_hi32 = 0;
- zi->ci.bstream.total_out_lo32 = 0;
-#endif
-
- zi->ci.stream.avail_in = (uInt)0;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- zi->ci.stream.total_in = 0;
- zi->ci.stream.total_out = 0;
- zi->ci.stream.data_type = Z_BINARY;
-
-#ifdef HAVE_BZIP2
- if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
-#else
- if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
-#endif
- {
- if(zi->ci.method == Z_DEFLATED)
- {
- zi->ci.stream.zalloc = (alloc_func)0;
- zi->ci.stream.zfree = (free_func)0;
- zi->ci.stream.opaque = (voidpf)0;
-
- if (windowBits>0)
- windowBits = -windowBits;
-
- err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy);
-
- if (err==Z_OK)
- zi->ci.stream_initialised = Z_DEFLATED;
- }
- else if(zi->ci.method == Z_BZIP2ED)
- {
-#ifdef HAVE_BZIP2
- // Init BZip stuff here
- zi->ci.bstream.bzalloc = 0;
- zi->ci.bstream.bzfree = 0;
- zi->ci.bstream.opaque = (voidpf)0;
-
- err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35);
- if(err == BZ_OK)
- zi->ci.stream_initialised = Z_BZIP2ED;
-#endif
- }
-
- }
-
-# ifndef NOCRYPT
- zi->ci.crypt_header_size = 0;
- if ((err==Z_OK) && (password != NULL))
- {
- unsigned char bufHead[RAND_HEAD_LEN];
- unsigned int sizeHead;
- zi->ci.encrypt = 1;
- zi->ci.pcrc_32_tab = get_crc_table();
- /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/
-
- sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting);
- zi->ci.crypt_header_size = sizeHead;
-
- if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead)
- err = ZIP_ERRNO;
- }
-# endif
-
- if (err==Z_OK)
- zi->in_opened_file_inzip = 1;
- return err;
-}
-
-extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting,
- uLong versionMadeBy, uLong flagBase)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, versionMadeBy, flagBase, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, VERSIONMADEBY, 0, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw,
- int windowBits,int memLevel, int strategy,
- const char* password, uLong crcForCrypting, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- windowBits, memLevel, strategy,
- password, crcForCrypting, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, 0);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void* extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int raw, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, raw,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void*extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level, int zip64)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, 0,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, zip64);
-}
-
-extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char* filename, const zip_fileinfo* zipfi,
- const void* extrafield_local, uInt size_extrafield_local,
- const void*extrafield_global, uInt size_extrafield_global,
- const char* comment, int method, int level)
-{
- return zipOpenNewFileInZip4_64 (file, filename, zipfi,
- extrafield_local, size_extrafield_local,
- extrafield_global, size_extrafield_global,
- comment, method, level, 0,
- -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
- NULL, 0, VERSIONMADEBY, 0, 0);
-}
-
-local int zip64FlushWriteBuffer(zip64_internal* zi)
-{
- int err=ZIP_OK;
-
- if (zi->ci.encrypt != 0)
- {
-#ifndef NOCRYPT
- uInt i;
- int t;
- for (i=0;i<zi->ci.pos_in_buffered_data;i++)
- zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t);
-#endif
- }
-
- if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data)
- err = ZIP_ERRNO;
-
- zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data;
-
-#ifdef HAVE_BZIP2
- if(zi->ci.method == Z_BZIP2ED)
- {
- zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32;
- zi->ci.bstream.total_in_lo32 = 0;
- zi->ci.bstream.total_in_hi32 = 0;
- }
- else
-#endif
- {
- zi->ci.totalUncompressedData += zi->ci.stream.total_in;
- zi->ci.stream.total_in = 0;
- }
-
-
- zi->ci.pos_in_buffered_data = 0;
-
- return err;
-}
-
-extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned int len)
-{
- zip64_internal* zi;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
-
- zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len);
-
-#ifdef HAVE_BZIP2
- if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw))
- {
- zi->ci.bstream.next_in = (void*)buf;
- zi->ci.bstream.avail_in = len;
- err = BZ_RUN_OK;
-
- while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0))
- {
- if (zi->ci.bstream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- }
-
-
- if(err != BZ_RUN_OK)
- break;
-
- if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
- uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32;
-// uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32;
- err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN);
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ;
- }
- }
-
- if(err == BZ_RUN_OK)
- err = ZIP_OK;
- }
- else
-#endif
- {
- zi->ci.stream.next_in = (Bytef*)buf;
- zi->ci.stream.avail_in = len;
-
- while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0))
- {
- if (zi->ci.stream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
-
-
- if(err != ZIP_OK)
- break;
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- uLong uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_NO_FLUSH);
- if(uTotalOutBefore > zi->ci.stream.total_out)
- {
- int bBreak = 0;
- bBreak++;
- }
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
- }
- else
- {
- uInt copy_this,i;
- if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
- copy_this = zi->ci.stream.avail_in;
- else
- copy_this = zi->ci.stream.avail_out;
-
- for (i = 0; i < copy_this; i++)
- *(((char*)zi->ci.stream.next_out)+i) =
- *(((const char*)zi->ci.stream.next_in)+i);
- {
- zi->ci.stream.avail_in -= copy_this;
- zi->ci.stream.avail_out-= copy_this;
- zi->ci.stream.next_in+= copy_this;
- zi->ci.stream.next_out+= copy_this;
- zi->ci.stream.total_in+= copy_this;
- zi->ci.stream.total_out+= copy_this;
- zi->ci.pos_in_buffered_data += copy_this;
- }
- }
- }// while(...)
- }
-
- return err;
-}
-
-extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong crc32)
-{
- return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32);
-}
-
-extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size, uLong crc32)
-{
- zip64_internal* zi;
- ZPOS64_T compressed_size;
- uLong invalidValue = 0xffffffff;
- short datasize = 0;
- int err=ZIP_OK;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 0)
- return ZIP_PARAMERROR;
- zi->ci.stream.avail_in = 0;
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- while (err==ZIP_OK)
- {
- uLong uTotalOutBefore;
- if (zi->ci.stream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.stream.next_out = zi->ci.buffered_data;
- }
- uTotalOutBefore = zi->ci.stream.total_out;
- err=deflate(&zi->ci.stream, Z_FINISH);
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ;
- }
- }
- else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
-#ifdef HAVE_BZIP2
- err = BZ_FINISH_OK;
- while (err==BZ_FINISH_OK)
- {
- uLong uTotalOutBefore;
- if (zi->ci.bstream.avail_out == 0)
- {
- if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO)
- err = ZIP_ERRNO;
- zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE;
- zi->ci.bstream.next_out = (char*)zi->ci.buffered_data;
- }
- uTotalOutBefore = zi->ci.bstream.total_out_lo32;
- err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH);
- if(err == BZ_STREAM_END)
- err = Z_STREAM_END;
-
- zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore);
- }
-
- if(err == BZ_FINISH_OK)
- err = ZIP_OK;
-#endif
- }
-
- if (err==Z_STREAM_END)
- err=ZIP_OK; /* this is normal */
-
- if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK))
- {
- if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO)
- err = ZIP_ERRNO;
- }
-
- if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
- {
- int tmp_err = deflateEnd(&zi->ci.stream);
- if (err == ZIP_OK)
- err = tmp_err;
- zi->ci.stream_initialised = 0;
- }
-#ifdef HAVE_BZIP2
- else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
- {
- int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
- if (err==ZIP_OK)
- err = tmperr;
- zi->ci.stream_initialised = 0;
- }
-#endif
-
- if (!zi->ci.raw)
- {
- crc32 = (uLong)zi->ci.crc32;
- uncompressed_size = zi->ci.totalUncompressedData;
- }
- compressed_size = zi->ci.totalCompressedData;
-
-# ifndef NOCRYPT
- compressed_size += zi->ci.crypt_header_size;
-# endif
-
- // update Current Item crc and sizes,
- if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff)
- {
- /*version Made by*/
- zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2);
- /*version needed*/
- zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2);
-
- }
-
- zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/
-
-
- if(compressed_size >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/
- else
- zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/
-
- /// set internal file attributes field
- if (zi->ci.stream.data_type == Z_ASCII)
- zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2);
-
- if(uncompressed_size >= 0xffffffff)
- zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/
- else
- zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/
-
- // Add ZIP64 extra info field for uncompressed size
- if(uncompressed_size >= 0xffffffff)
- datasize += 8;
-
- // Add ZIP64 extra info field for compressed size
- if(compressed_size >= 0xffffffff)
- datasize += 8;
-
- // Add ZIP64 extra info field for relative offset to local file header of current file
- if(zi->ci.pos_local_header >= 0xffffffff)
- datasize += 8;
-
- if(datasize > 0)
- {
- char* p = NULL;
-
- if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree)
- {
- // we can not write more data to the buffer that we have room for.
- return ZIP_BADZIPFILE;
- }
-
- p = zi->ci.central_header + zi->ci.size_centralheader;
-
- // Add Extra Information Header for 'ZIP64 information'
- zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID
- p += 2;
- zip64local_putValue_inmemory(p, datasize, 2); // DataSize
- p += 2;
-
- if(uncompressed_size >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, uncompressed_size, 8);
- p += 8;
- }
-
- if(compressed_size >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, compressed_size, 8);
- p += 8;
- }
-
- if(zi->ci.pos_local_header >= 0xffffffff)
- {
- zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
- p += 8;
- }
-
- // Update how much extra free space we got in the memory buffer
- // and increase the centralheader size so the new ZIP64 fields are included
- // ( 4 below is the size of HeaderID and DataSize field )
- zi->ci.size_centralExtraFree -= datasize + 4;
- zi->ci.size_centralheader += datasize + 4;
-
- // Update the extra info size field
- zi->ci.size_centralExtra += datasize + 4;
- zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
- }
-
- if (err==ZIP_OK)
- err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
-
- free(zi->ci.central_header);
-
- if (err==ZIP_OK)
- {
- // Update the LocalFileHeader with the new values.
-
- ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
-
- if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
-
- if (err==ZIP_OK)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */
-
- if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff )
- {
- if(zi->ci.pos_zip64extrainfo > 0)
- {
- // Update the size in the ZIP64 extended field.
- if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
-
- if (err==ZIP_OK) /* compressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8);
-
- if (err==ZIP_OK) /* uncompressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8);
- }
- else
- err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal
- }
- else
- {
- if (err==ZIP_OK) /* compressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4);
-
- if (err==ZIP_OK) /* uncompressed size, unknown */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4);
- }
-
- if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0)
- err = ZIP_ERRNO;
- }
-
- zi->number_entry ++;
- zi->in_opened_file_inzip = 0;
-
- return err;
-}
-
-extern int ZEXPORT zipCloseFileInZip (zipFile file)
-{
- return zipCloseFileInZipRaw (file,0,0);
-}
-
-int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip)
-{
- int err = ZIP_OK;
- ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4);
-
- /*num disks*/
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- /*relative offset*/
- if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8);
-
- /*total disks*/ /* Do not support spawning of disk so always say 1 here*/
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4);
-
- return err;
-}
-
-int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
-{
- int err = ZIP_OK;
-
- uLong Zip64DataSize = 44;
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4);
-
- if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ?
-
- if (err==ZIP_OK) /* version made by */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
-
- if (err==ZIP_OK) /* version needed */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);
-
- if (err==ZIP_OK) /* number of this disk */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
-
- if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
-
- if (err==ZIP_OK) /* total number of entries in the central dir */
- err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8);
-
- if (err==ZIP_OK) /* size of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8);
-
- if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
- {
- ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8);
- }
- return err;
-}
-int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
-{
- int err = ZIP_OK;
-
- /*signature*/
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4);
-
- if (err==ZIP_OK) /* number of this disk */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
-
- if (err==ZIP_OK) /* number of the disk with the start of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2);
-
- if (err==ZIP_OK) /* total number of entries in the central dir on this disk */
- {
- {
- if(zi->number_entry >= 0xFFFF)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
- }
- }
-
- if (err==ZIP_OK) /* total number of entries in the central dir */
- {
- if(zi->number_entry >= 0xFFFF)
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2);
- }
-
- if (err==ZIP_OK) /* size of the central directory */
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4);
-
- if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
- {
- ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- if(pos >= 0xffffffff)
- {
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4);
- }
- else
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4);
- }
-
- return err;
-}
-
-int Write_GlobalComment(zip64_internal* zi, const char* global_comment)
-{
- int err = ZIP_OK;
- uInt size_global_comment = 0;
-
- if(global_comment != NULL)
- size_global_comment = (uInt)strlen(global_comment);
-
- err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2);
-
- if (err == ZIP_OK && size_global_comment > 0)
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment)
- err = ZIP_ERRNO;
- }
- return err;
-}
-
-extern int ZEXPORT zipClose (zipFile file, const char* global_comment)
-{
- zip64_internal* zi;
- int err = 0;
- uLong size_centraldir = 0;
- ZPOS64_T centraldir_pos_inzip;
- ZPOS64_T pos;
-
- if (file == NULL)
- return ZIP_PARAMERROR;
-
- zi = (zip64_internal*)file;
-
- if (zi->in_opened_file_inzip == 1)
- {
- err = zipCloseFileInZip (file);
- }
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- if (global_comment==NULL)
- global_comment = zi->globalcomment;
-#endif
-
- centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
-
- if (err==ZIP_OK)
- {
- linkedlist_datablock_internal* ldi = zi->central_dir.first_block;
- while (ldi!=NULL)
- {
- if ((err==ZIP_OK) && (ldi->filled_in_this_block>0))
- {
- if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block)
- err = ZIP_ERRNO;
- }
-
- size_centraldir += ldi->filled_in_this_block;
- ldi = ldi->next_datablock;
- }
- }
- free_linkedlist(&(zi->central_dir));
-
- pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
- if(pos >= 0xffffffff || zi->number_entry > 0xFFFF)
- {
- ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
- Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
-
- Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos);
- }
-
- if (err==ZIP_OK)
- err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
-
- if(err == ZIP_OK)
- err = Write_GlobalComment(zi, global_comment);
-
- if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0)
- if (err == ZIP_OK)
- err = ZIP_ERRNO;
-
-#ifndef NO_ADDFILEINEXISTINGZIP
- TRYFREE(zi->globalcomment);
-#endif
- TRYFREE(zi);
-
- return err;
-}
-
-extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader)
-{
- char* p = pData;
- int size = 0;
- char* pNewHeader;
- char* pTmp;
- short header;
- short dataSize;
-
- int retVal = ZIP_OK;
-
- if(pData == NULL || *dataLen < 4)
- return ZIP_PARAMERROR;
-
- pNewHeader = (char*)ALLOC(*dataLen);
- pTmp = pNewHeader;
-
- while(p < (pData + *dataLen))
- {
- header = *(short*)p;
- dataSize = *(((short*)p)+1);
-
- if( header == sHeader ) // Header found.
- {
- p += dataSize + 4; // skip it. do not copy to temp buffer
- }
- else
- {
- // Extra Info block should not be removed, So copy it to the temp buffer.
- memcpy(pTmp, p, dataSize + 4);
- p += dataSize + 4;
- size += dataSize + 4;
- }
-
- }
-
- if(size < *dataLen)
- {
- // clean old extra info block.
- memset(pData,0, *dataLen);
-
- // copy the new extra info block over the old
- if(size > 0)
- memcpy(pData, pNewHeader, size);
-
- // set the new extra info size
- *dataLen = size;
-
- retVal = ZIP_OK;
- }
- else
- retVal = ZIP_ERRNO;
-
- TRYFREE(pNewHeader);
-
- return retVal;
-}
diff --git a/tcl8.6/compat/zlib/contrib/minizip/zip.h b/tcl8.6/compat/zlib/contrib/minizip/zip.h
deleted file mode 100644
index 8aaebb6..0000000
--- a/tcl8.6/compat/zlib/contrib/minizip/zip.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/* zip.h -- IO on .zip files using zlib
- Version 1.1, February 14h, 2010
- part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
-
- Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
-
- Modifications for Zip64 support
- Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
-
- For more info read MiniZip_info.txt
-
- ---------------------------------------------------------------------------
-
- Condition of use and distribution are the same than zlib :
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- ---------------------------------------------------------------------------
-
- Changes
-
- See header of zip.h
-
-*/
-
-#ifndef _zip12_H
-#define _zip12_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//#define HAVE_BZIP2
-
-#ifndef _ZLIB_H
-#include "zlib.h"
-#endif
-
-#ifndef _ZLIBIOAPI_H
-#include "ioapi.h"
-#endif
-
-#ifdef HAVE_BZIP2
-#include "bzlib.h"
-#endif
-
-#define Z_BZIP2ED 12
-
-#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
-/* like the STRICT of WIN32, we define a pointer that cannot be converted
- from (void*) without cast */
-typedef struct TagzipFile__ { int unused; } zipFile__;
-typedef zipFile__ *zipFile;
-#else
-typedef voidp zipFile;
-#endif
-
-#define ZIP_OK (0)
-#define ZIP_EOF (0)
-#define ZIP_ERRNO (Z_ERRNO)
-#define ZIP_PARAMERROR (-102)
-#define ZIP_BADZIPFILE (-103)
-#define ZIP_INTERNALERROR (-104)
-
-#ifndef DEF_MEM_LEVEL
-# if MAX_MEM_LEVEL >= 8
-# define DEF_MEM_LEVEL 8
-# else
-# define DEF_MEM_LEVEL MAX_MEM_LEVEL
-# endif
-#endif
-/* default memLevel */
-
-/* tm_zip contain date/time info */
-typedef struct tm_zip_s
-{
- uInt tm_sec; /* seconds after the minute - [0,59] */
- uInt tm_min; /* minutes after the hour - [0,59] */
- uInt tm_hour; /* hours since midnight - [0,23] */
- uInt tm_mday; /* day of the month - [1,31] */
- uInt tm_mon; /* months since January - [0,11] */
- uInt tm_year; /* years - [1980..2044] */
-} tm_zip;
-
-typedef struct
-{
- tm_zip tmz_date; /* date in understandable format */
- uLong dosDate; /* if dos_date == 0, tmu_date is used */
-/* uLong flag; */ /* general purpose bit flag 2 bytes */
-
- uLong internal_fa; /* internal file attributes 2 bytes */
- uLong external_fa; /* external file attributes 4 bytes */
-} zip_fileinfo;
-
-typedef const char* zipcharpc;
-
-
-#define APPEND_STATUS_CREATE (0)
-#define APPEND_STATUS_CREATEAFTER (1)
-#define APPEND_STATUS_ADDINZIP (2)
-
-extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
-extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append));
-/*
- Create a zipfile.
- pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on
- an Unix computer "zlib/zlib113.zip".
- if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip
- will be created at the end of the file.
- (useful if the file contain a self extractor code)
- if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will
- add files in existing zip (be sure you don't add file that doesn't exist)
- If the zipfile cannot be opened, the return value is NULL.
- Else, the return value is a zipFile Handle, usable with other function
- of this zip package.
-*/
-
-/* Note : there is no delete function into a zipfile.
- If you want delete file into a zipfile, you must open a zipfile, and create another
- Of couse, you can use RAW reading and writing to copy the file you did not want delte
-*/
-
-extern zipFile ZEXPORT zipOpen2 OF((const char *pathname,
- int append,
- zipcharpc* globalcomment,
- zlib_filefunc_def* pzlib_filefunc_def));
-
-extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname,
- int append,
- zipcharpc* globalcomment,
- zlib_filefunc64_def* pzlib_filefunc_def));
-
-extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level));
-
-extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int zip64));
-
-/*
- Open a file in the ZIP for writing.
- filename : the filename in zip (if NULL, '-' without quote will be used
- *zipfi contain supplemental information
- if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
- contains the extrafield data the the local header
- if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
- contains the extrafield data the the local header
- if comment != NULL, comment contain the comment string
- method contain the compression method (0 for store, Z_DEFLATED for deflate)
- level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
- zip64 is set to 1 if a zip64 extended information block should be added to the local file header.
- this MUST be '1' if the uncompressed size is >= 0xffffffff.
-
-*/
-
-
-extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw));
-
-
-extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int zip64));
-/*
- Same than zipOpenNewFileInZip, except if raw=1, we write raw file
- */
-
-extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting));
-
-extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- int zip64
- ));
-
-/*
- Same than zipOpenNewFileInZip2, except
- windowBits,memLevel,,strategy : see parameter strategy in deflateInit2
- password : crypting password (NULL for no crypting)
- crcForCrypting : crc of file to compress (needed for crypting)
- */
-
-extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- uLong versionMadeBy,
- uLong flagBase
- ));
-
-
-extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file,
- const char* filename,
- const zip_fileinfo* zipfi,
- const void* extrafield_local,
- uInt size_extrafield_local,
- const void* extrafield_global,
- uInt size_extrafield_global,
- const char* comment,
- int method,
- int level,
- int raw,
- int windowBits,
- int memLevel,
- int strategy,
- const char* password,
- uLong crcForCrypting,
- uLong versionMadeBy,
- uLong flagBase,
- int zip64
- ));
-/*
- Same than zipOpenNewFileInZip4, except
- versionMadeBy : value for Version made by field
- flag : value for flag field (compression level info will be added)
- */
-
-
-extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
- const void* buf,
- unsigned len));
-/*
- Write data in the zipfile
-*/
-
-extern int ZEXPORT zipCloseFileInZip OF((zipFile file));
-/*
- Close the current file in the zipfile
-*/
-
-extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
- uLong uncompressed_size,
- uLong crc32));
-
-extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file,
- ZPOS64_T uncompressed_size,
- uLong crc32));
-
-/*
- Close the current file in the zipfile, for file opened with
- parameter raw=1 in zipOpenNewFileInZip2
- uncompressed_size and crc32 are value for the uncompressed size
-*/
-
-extern int ZEXPORT zipClose OF((zipFile file,
- const char* global_comment));
-/*
- Close the zipfile
-*/
-
-
-extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader));
-/*
- zipRemoveExtraInfoBlock - Added by Mathias Svensson
-
- Remove extra information block from a extra information data for the local file header or central directory header
-
- It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode.
-
- 0x0001 is the signature header for the ZIP64 extra information blocks
-
- usage.
- Remove ZIP64 Extra information from a central director extra field data
- zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001);
-
- Remove ZIP64 Extra information from a Local File Header extra field data
- zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001);
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _zip64_H */
diff --git a/tcl8.6/compat/zlib/contrib/pascal/example.pas b/tcl8.6/compat/zlib/contrib/pascal/example.pas
deleted file mode 100644
index 5518b36..0000000
--- a/tcl8.6/compat/zlib/contrib/pascal/example.pas
+++ /dev/null
@@ -1,599 +0,0 @@
-(* example.c -- usage example of the zlib compression library
- * Copyright (C) 1995-2003 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- *
- * Pascal translation
- * Copyright (C) 1998 by Jacques Nomssi Nzali.
- * For conditions of distribution and use, see copyright notice in readme.txt
- *
- * Adaptation to the zlibpas interface
- * Copyright (C) 2003 by Cosmin Truta.
- * For conditions of distribution and use, see copyright notice in readme.txt
- *)
-
-program example;
-
-{$DEFINE TEST_COMPRESS}
-{DO NOT $DEFINE TEST_GZIO}
-{$DEFINE TEST_DEFLATE}
-{$DEFINE TEST_INFLATE}
-{$DEFINE TEST_FLUSH}
-{$DEFINE TEST_SYNC}
-{$DEFINE TEST_DICT}
-
-uses SysUtils, zlibpas;
-
-const TESTFILE = 'foo.gz';
-
-(* "hello world" would be more standard, but the repeated "hello"
- * stresses the compression code better, sorry...
- *)
-const hello: PChar = 'hello, hello!';
-
-const dictionary: PChar = 'hello';
-
-var dictId: LongInt; (* Adler32 value of the dictionary *)
-
-procedure CHECK_ERR(err: Integer; msg: String);
-begin
- if err <> Z_OK then
- begin
- WriteLn(msg, ' error: ', err);
- Halt(1);
- end;
-end;
-
-procedure EXIT_ERR(const msg: String);
-begin
- WriteLn('Error: ', msg);
- Halt(1);
-end;
-
-(* ===========================================================================
- * Test compress and uncompress
- *)
-{$IFDEF TEST_COMPRESS}
-procedure test_compress(compr: Pointer; comprLen: LongInt;
- uncompr: Pointer; uncomprLen: LongInt);
-var err: Integer;
- len: LongInt;
-begin
- len := StrLen(hello)+1;
-
- err := compress(compr, comprLen, hello, len);
- CHECK_ERR(err, 'compress');
-
- StrCopy(PChar(uncompr), 'garbage');
-
- err := uncompress(uncompr, uncomprLen, compr, comprLen);
- CHECK_ERR(err, 'uncompress');
-
- if StrComp(PChar(uncompr), hello) <> 0 then
- EXIT_ERR('bad uncompress')
- else
- WriteLn('uncompress(): ', PChar(uncompr));
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test read/write of .gz files
- *)
-{$IFDEF TEST_GZIO}
-procedure test_gzio(const fname: PChar; (* compressed file name *)
- uncompr: Pointer;
- uncomprLen: LongInt);
-var err: Integer;
- len: Integer;
- zfile: gzFile;
- pos: LongInt;
-begin
- len := StrLen(hello)+1;
-
- zfile := gzopen(fname, 'wb');
- if zfile = NIL then
- begin
- WriteLn('gzopen error');
- Halt(1);
- end;
- gzputc(zfile, 'h');
- if gzputs(zfile, 'ello') <> 4 then
- begin
- WriteLn('gzputs err: ', gzerror(zfile, err));
- Halt(1);
- end;
- {$IFDEF GZ_FORMAT_STRING}
- if gzprintf(zfile, ', %s!', 'hello') <> 8 then
- begin
- WriteLn('gzprintf err: ', gzerror(zfile, err));
- Halt(1);
- end;
- {$ELSE}
- if gzputs(zfile, ', hello!') <> 8 then
- begin
- WriteLn('gzputs err: ', gzerror(zfile, err));
- Halt(1);
- end;
- {$ENDIF}
- gzseek(zfile, 1, SEEK_CUR); (* add one zero byte *)
- gzclose(zfile);
-
- zfile := gzopen(fname, 'rb');
- if zfile = NIL then
- begin
- WriteLn('gzopen error');
- Halt(1);
- end;
-
- StrCopy(PChar(uncompr), 'garbage');
-
- if gzread(zfile, uncompr, uncomprLen) <> len then
- begin
- WriteLn('gzread err: ', gzerror(zfile, err));
- Halt(1);
- end;
- if StrComp(PChar(uncompr), hello) <> 0 then
- begin
- WriteLn('bad gzread: ', PChar(uncompr));
- Halt(1);
- end
- else
- WriteLn('gzread(): ', PChar(uncompr));
-
- pos := gzseek(zfile, -8, SEEK_CUR);
- if (pos <> 6) or (gztell(zfile) <> pos) then
- begin
- WriteLn('gzseek error, pos=', pos, ', gztell=', gztell(zfile));
- Halt(1);
- end;
-
- if gzgetc(zfile) <> ' ' then
- begin
- WriteLn('gzgetc error');
- Halt(1);
- end;
-
- if gzungetc(' ', zfile) <> ' ' then
- begin
- WriteLn('gzungetc error');
- Halt(1);
- end;
-
- gzgets(zfile, PChar(uncompr), uncomprLen);
- uncomprLen := StrLen(PChar(uncompr));
- if uncomprLen <> 7 then (* " hello!" *)
- begin
- WriteLn('gzgets err after gzseek: ', gzerror(zfile, err));
- Halt(1);
- end;
- if StrComp(PChar(uncompr), hello + 6) <> 0 then
- begin
- WriteLn('bad gzgets after gzseek');
- Halt(1);
- end
- else
- WriteLn('gzgets() after gzseek: ', PChar(uncompr));
-
- gzclose(zfile);
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test deflate with small buffers
- *)
-{$IFDEF TEST_DEFLATE}
-procedure test_deflate(compr: Pointer; comprLen: LongInt);
-var c_stream: z_stream; (* compression stream *)
- err: Integer;
- len: LongInt;
-begin
- len := StrLen(hello)+1;
-
- c_stream.zalloc := NIL;
- c_stream.zfree := NIL;
- c_stream.opaque := NIL;
-
- err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
- CHECK_ERR(err, 'deflateInit');
-
- c_stream.next_in := hello;
- c_stream.next_out := compr;
-
- while (c_stream.total_in <> len) and
- (c_stream.total_out < comprLen) do
- begin
- c_stream.avail_out := 1; { force small buffers }
- c_stream.avail_in := 1;
- err := deflate(c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, 'deflate');
- end;
-
- (* Finish the stream, still forcing small buffers: *)
- while TRUE do
- begin
- c_stream.avail_out := 1;
- err := deflate(c_stream, Z_FINISH);
- if err = Z_STREAM_END then
- break;
- CHECK_ERR(err, 'deflate');
- end;
-
- err := deflateEnd(c_stream);
- CHECK_ERR(err, 'deflateEnd');
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test inflate with small buffers
- *)
-{$IFDEF TEST_INFLATE}
-procedure test_inflate(compr: Pointer; comprLen : LongInt;
- uncompr: Pointer; uncomprLen : LongInt);
-var err: Integer;
- d_stream: z_stream; (* decompression stream *)
-begin
- StrCopy(PChar(uncompr), 'garbage');
-
- d_stream.zalloc := NIL;
- d_stream.zfree := NIL;
- d_stream.opaque := NIL;
-
- d_stream.next_in := compr;
- d_stream.avail_in := 0;
- d_stream.next_out := uncompr;
-
- err := inflateInit(d_stream);
- CHECK_ERR(err, 'inflateInit');
-
- while (d_stream.total_out < uncomprLen) and
- (d_stream.total_in < comprLen) do
- begin
- d_stream.avail_out := 1; (* force small buffers *)
- d_stream.avail_in := 1;
- err := inflate(d_stream, Z_NO_FLUSH);
- if err = Z_STREAM_END then
- break;
- CHECK_ERR(err, 'inflate');
- end;
-
- err := inflateEnd(d_stream);
- CHECK_ERR(err, 'inflateEnd');
-
- if StrComp(PChar(uncompr), hello) <> 0 then
- EXIT_ERR('bad inflate')
- else
- WriteLn('inflate(): ', PChar(uncompr));
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test deflate with large buffers and dynamic change of compression level
- *)
-{$IFDEF TEST_DEFLATE}
-procedure test_large_deflate(compr: Pointer; comprLen: LongInt;
- uncompr: Pointer; uncomprLen: LongInt);
-var c_stream: z_stream; (* compression stream *)
- err: Integer;
-begin
- c_stream.zalloc := NIL;
- c_stream.zfree := NIL;
- c_stream.opaque := NIL;
-
- err := deflateInit(c_stream, Z_BEST_SPEED);
- CHECK_ERR(err, 'deflateInit');
-
- c_stream.next_out := compr;
- c_stream.avail_out := Integer(comprLen);
-
- (* At this point, uncompr is still mostly zeroes, so it should compress
- * very well:
- *)
- c_stream.next_in := uncompr;
- c_stream.avail_in := Integer(uncomprLen);
- err := deflate(c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, 'deflate');
- if c_stream.avail_in <> 0 then
- EXIT_ERR('deflate not greedy');
-
- (* Feed in already compressed data and switch to no compression: *)
- deflateParams(c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
- c_stream.next_in := compr;
- c_stream.avail_in := Integer(comprLen div 2);
- err := deflate(c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, 'deflate');
-
- (* Switch back to compressing mode: *)
- deflateParams(c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
- c_stream.next_in := uncompr;
- c_stream.avail_in := Integer(uncomprLen);
- err := deflate(c_stream, Z_NO_FLUSH);
- CHECK_ERR(err, 'deflate');
-
- err := deflate(c_stream, Z_FINISH);
- if err <> Z_STREAM_END then
- EXIT_ERR('deflate should report Z_STREAM_END');
-
- err := deflateEnd(c_stream);
- CHECK_ERR(err, 'deflateEnd');
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test inflate with large buffers
- *)
-{$IFDEF TEST_INFLATE}
-procedure test_large_inflate(compr: Pointer; comprLen: LongInt;
- uncompr: Pointer; uncomprLen: LongInt);
-var err: Integer;
- d_stream: z_stream; (* decompression stream *)
-begin
- StrCopy(PChar(uncompr), 'garbage');
-
- d_stream.zalloc := NIL;
- d_stream.zfree := NIL;
- d_stream.opaque := NIL;
-
- d_stream.next_in := compr;
- d_stream.avail_in := Integer(comprLen);
-
- err := inflateInit(d_stream);
- CHECK_ERR(err, 'inflateInit');
-
- while TRUE do
- begin
- d_stream.next_out := uncompr; (* discard the output *)
- d_stream.avail_out := Integer(uncomprLen);
- err := inflate(d_stream, Z_NO_FLUSH);
- if err = Z_STREAM_END then
- break;
- CHECK_ERR(err, 'large inflate');
- end;
-
- err := inflateEnd(d_stream);
- CHECK_ERR(err, 'inflateEnd');
-
- if d_stream.total_out <> 2 * uncomprLen + comprLen div 2 then
- begin
- WriteLn('bad large inflate: ', d_stream.total_out);
- Halt(1);
- end
- else
- WriteLn('large_inflate(): OK');
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test deflate with full flush
- *)
-{$IFDEF TEST_FLUSH}
-procedure test_flush(compr: Pointer; var comprLen : LongInt);
-var c_stream: z_stream; (* compression stream *)
- err: Integer;
- len: Integer;
-begin
- len := StrLen(hello)+1;
-
- c_stream.zalloc := NIL;
- c_stream.zfree := NIL;
- c_stream.opaque := NIL;
-
- err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
- CHECK_ERR(err, 'deflateInit');
-
- c_stream.next_in := hello;
- c_stream.next_out := compr;
- c_stream.avail_in := 3;
- c_stream.avail_out := Integer(comprLen);
- err := deflate(c_stream, Z_FULL_FLUSH);
- CHECK_ERR(err, 'deflate');
-
- Inc(PByteArray(compr)^[3]); (* force an error in first compressed block *)
- c_stream.avail_in := len - 3;
-
- err := deflate(c_stream, Z_FINISH);
- if err <> Z_STREAM_END then
- CHECK_ERR(err, 'deflate');
-
- err := deflateEnd(c_stream);
- CHECK_ERR(err, 'deflateEnd');
-
- comprLen := c_stream.total_out;
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test inflateSync()
- *)
-{$IFDEF TEST_SYNC}
-procedure test_sync(compr: Pointer; comprLen: LongInt;
- uncompr: Pointer; uncomprLen : LongInt);
-var err: Integer;
- d_stream: z_stream; (* decompression stream *)
-begin
- StrCopy(PChar(uncompr), 'garbage');
-
- d_stream.zalloc := NIL;
- d_stream.zfree := NIL;
- d_stream.opaque := NIL;
-
- d_stream.next_in := compr;
- d_stream.avail_in := 2; (* just read the zlib header *)
-
- err := inflateInit(d_stream);
- CHECK_ERR(err, 'inflateInit');
-
- d_stream.next_out := uncompr;
- d_stream.avail_out := Integer(uncomprLen);
-
- inflate(d_stream, Z_NO_FLUSH);
- CHECK_ERR(err, 'inflate');
-
- d_stream.avail_in := Integer(comprLen-2); (* read all compressed data *)
- err := inflateSync(d_stream); (* but skip the damaged part *)
- CHECK_ERR(err, 'inflateSync');
-
- err := inflate(d_stream, Z_FINISH);
- if err <> Z_DATA_ERROR then
- EXIT_ERR('inflate should report DATA_ERROR');
- (* Because of incorrect adler32 *)
-
- err := inflateEnd(d_stream);
- CHECK_ERR(err, 'inflateEnd');
-
- WriteLn('after inflateSync(): hel', PChar(uncompr));
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test deflate with preset dictionary
- *)
-{$IFDEF TEST_DICT}
-procedure test_dict_deflate(compr: Pointer; comprLen: LongInt);
-var c_stream: z_stream; (* compression stream *)
- err: Integer;
-begin
- c_stream.zalloc := NIL;
- c_stream.zfree := NIL;
- c_stream.opaque := NIL;
-
- err := deflateInit(c_stream, Z_BEST_COMPRESSION);
- CHECK_ERR(err, 'deflateInit');
-
- err := deflateSetDictionary(c_stream, dictionary, StrLen(dictionary));
- CHECK_ERR(err, 'deflateSetDictionary');
-
- dictId := c_stream.adler;
- c_stream.next_out := compr;
- c_stream.avail_out := Integer(comprLen);
-
- c_stream.next_in := hello;
- c_stream.avail_in := StrLen(hello)+1;
-
- err := deflate(c_stream, Z_FINISH);
- if err <> Z_STREAM_END then
- EXIT_ERR('deflate should report Z_STREAM_END');
-
- err := deflateEnd(c_stream);
- CHECK_ERR(err, 'deflateEnd');
-end;
-{$ENDIF}
-
-(* ===========================================================================
- * Test inflate with a preset dictionary
- *)
-{$IFDEF TEST_DICT}
-procedure test_dict_inflate(compr: Pointer; comprLen: LongInt;
- uncompr: Pointer; uncomprLen: LongInt);
-var err: Integer;
- d_stream: z_stream; (* decompression stream *)
-begin
- StrCopy(PChar(uncompr), 'garbage');
-
- d_stream.zalloc := NIL;
- d_stream.zfree := NIL;
- d_stream.opaque := NIL;
-
- d_stream.next_in := compr;
- d_stream.avail_in := Integer(comprLen);
-
- err := inflateInit(d_stream);
- CHECK_ERR(err, 'inflateInit');
-
- d_stream.next_out := uncompr;
- d_stream.avail_out := Integer(uncomprLen);
-
- while TRUE do
- begin
- err := inflate(d_stream, Z_NO_FLUSH);
- if err = Z_STREAM_END then
- break;
- if err = Z_NEED_DICT then
- begin
- if d_stream.adler <> dictId then
- EXIT_ERR('unexpected dictionary');
- err := inflateSetDictionary(d_stream, dictionary, StrLen(dictionary));
- end;
- CHECK_ERR(err, 'inflate with dict');
- end;
-
- err := inflateEnd(d_stream);
- CHECK_ERR(err, 'inflateEnd');
-
- if StrComp(PChar(uncompr), hello) <> 0 then
- EXIT_ERR('bad inflate with dict')
- else
- WriteLn('inflate with dictionary: ', PChar(uncompr));
-end;
-{$ENDIF}
-
-var compr, uncompr: Pointer;
- comprLen, uncomprLen: LongInt;
-
-begin
- if zlibVersion^ <> ZLIB_VERSION[1] then
- EXIT_ERR('Incompatible zlib version');
-
- WriteLn('zlib version: ', zlibVersion);
- WriteLn('zlib compile flags: ', Format('0x%x', [zlibCompileFlags]));
-
- comprLen := 10000 * SizeOf(Integer); (* don't overflow on MSDOS *)
- uncomprLen := comprLen;
- GetMem(compr, comprLen);
- GetMem(uncompr, uncomprLen);
- if (compr = NIL) or (uncompr = NIL) then
- EXIT_ERR('Out of memory');
- (* compr and uncompr are cleared to avoid reading uninitialized
- * data and to ensure that uncompr compresses well.
- *)
- FillChar(compr^, comprLen, 0);
- FillChar(uncompr^, uncomprLen, 0);
-
- {$IFDEF TEST_COMPRESS}
- WriteLn('** Testing compress');
- test_compress(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
-
- {$IFDEF TEST_GZIO}
- WriteLn('** Testing gzio');
- if ParamCount >= 1 then
- test_gzio(ParamStr(1), uncompr, uncomprLen)
- else
- test_gzio(TESTFILE, uncompr, uncomprLen);
- {$ENDIF}
-
- {$IFDEF TEST_DEFLATE}
- WriteLn('** Testing deflate with small buffers');
- test_deflate(compr, comprLen);
- {$ENDIF}
- {$IFDEF TEST_INFLATE}
- WriteLn('** Testing inflate with small buffers');
- test_inflate(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
-
- {$IFDEF TEST_DEFLATE}
- WriteLn('** Testing deflate with large buffers');
- test_large_deflate(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
- {$IFDEF TEST_INFLATE}
- WriteLn('** Testing inflate with large buffers');
- test_large_inflate(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
-
- {$IFDEF TEST_FLUSH}
- WriteLn('** Testing deflate with full flush');
- test_flush(compr, comprLen);
- {$ENDIF}
- {$IFDEF TEST_SYNC}
- WriteLn('** Testing inflateSync');
- test_sync(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
- comprLen := uncomprLen;
-
- {$IFDEF TEST_DICT}
- WriteLn('** Testing deflate and inflate with preset dictionary');
- test_dict_deflate(compr, comprLen);
- test_dict_inflate(compr, comprLen, uncompr, uncomprLen);
- {$ENDIF}
-
- FreeMem(compr, comprLen);
- FreeMem(uncompr, uncomprLen);
-end.
diff --git a/tcl8.6/compat/zlib/contrib/pascal/readme.txt b/tcl8.6/compat/zlib/contrib/pascal/readme.txt
deleted file mode 100644
index 60e87c8..0000000
--- a/tcl8.6/compat/zlib/contrib/pascal/readme.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-
-This directory contains a Pascal (Delphi, Kylix) interface to the
-zlib data compression library.
-
-
-Directory listing
-=================
-
-zlibd32.mak makefile for Borland C++
-example.pas usage example of zlib
-zlibpas.pas the Pascal interface to zlib
-readme.txt this file
-
-
-Compatibility notes
-===================
-
-- Although the name "zlib" would have been more normal for the
- zlibpas unit, this name is already taken by Borland's ZLib unit.
- This is somehow unfortunate, because that unit is not a genuine
- interface to the full-fledged zlib functionality, but a suite of
- class wrappers around zlib streams. Other essential features,
- such as checksums, are missing.
- It would have been more appropriate for that unit to have a name
- like "ZStreams", or something similar.
-
-- The C and zlib-supplied types int, uInt, long, uLong, etc. are
- translated directly into Pascal types of similar sizes (Integer,
- LongInt, etc.), to avoid namespace pollution. In particular,
- there is no conversion of unsigned int into a Pascal unsigned
- integer. The Word type is non-portable and has the same size
- (16 bits) both in a 16-bit and in a 32-bit environment, unlike
- Integer. Even if there is a 32-bit Cardinal type, there is no
- real need for unsigned int in zlib under a 32-bit environment.
-
-- Except for the callbacks, the zlib function interfaces are
- assuming the calling convention normally used in Pascal
- (__pascal for DOS and Windows16, __fastcall for Windows32).
- Since the cdecl keyword is used, the old Turbo Pascal does
- not work with this interface.
-
-- The gz* function interfaces are not translated, to avoid
- interfacing problems with the C runtime library. Besides,
- gzprintf(gzFile file, const char *format, ...)
- cannot be translated into Pascal.
-
-
-Legal issues
-============
-
-The zlibpas interface is:
- Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler.
- Copyright (C) 1998 by Bob Dellaca.
- Copyright (C) 2003 by Cosmin Truta.
-
-The example program is:
- Copyright (C) 1995-2003 by Jean-loup Gailly.
- Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali.
- Copyright (C) 2003 by Cosmin Truta.
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the author be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
diff --git a/tcl8.6/compat/zlib/contrib/pascal/zlibd32.mak b/tcl8.6/compat/zlib/contrib/pascal/zlibd32.mak
deleted file mode 100644