summaryrefslogtreecommitdiffstats
path: root/Help/guide/tutorial/Step11/MathFunctions/MathFunctions.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Help/guide/tutorial/Step11/MathFunctions/MathFunctions.cxx')
0 files changed, 0 insertions, 0 deletions
754 Tcl is a high-level, general-purpose, interpreted, dynamic programming language. It was designed with the goal of being very simple but powerful.
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat
-rw-r--r--ChangeLog12858
-rw-r--r--ChangeLog.20075921
-rw-r--r--ChangeLog.20083796
-rw-r--r--README8
-rw-r--r--changes519
-rw-r--r--compat/dirent2.h10
-rw-r--r--compat/dlfcn.h19
-rw-r--r--compat/fake-rfc2553.c266
-rw-r--r--compat/fake-rfc2553.h170
-rw-r--r--compat/memcmp.c10
-rw-r--r--compat/mkstemp.c78
-rw-r--r--compat/opendir.c6
-rw-r--r--compat/stdlib.h51
-rw-r--r--compat/string.h74
-rw-r--r--compat/strncasecmp.c14
-rw-r--r--compat/strtod.c16
-rw-r--r--compat/strtol.c5
-rw-r--r--compat/strtoul.c6
-rw-r--r--compat/unistd.h113
-rw-r--r--compat/zlib/CMakeLists.txt190
-rw-r--r--compat/zlib/ChangeLog1208
-rw-r--r--compat/zlib/FAQ366
-rw-r--r--compat/zlib/INDEX65
-rw-r--r--compat/zlib/Makefile5
-rw-r--r--compat/zlib/Makefile.in257
-rw-r--r--compat/zlib/README115
-rw-r--r--compat/zlib/adler32.c169
-rw-r--r--compat/zlib/amiga/Makefile.pup69
-rw-r--r--compat/zlib/amiga/Makefile.sas68
-rw-r--r--compat/zlib/compress.c80
-rwxr-xr-xcompat/zlib/configure596
-rw-r--r--compat/zlib/contrib/README.contrib77
-rw-r--r--compat/zlib/contrib/ada/buffer_demo.adb106
-rw-r--r--compat/zlib/contrib/ada/mtest.adb156
-rw-r--r--compat/zlib/contrib/ada/read.adb156
-rw-r--r--compat/zlib/contrib/ada/readme.txt65
-rw-r--r--compat/zlib/contrib/ada/test.adb463
-rw-r--r--compat/zlib/contrib/ada/zlib-streams.adb225
-rw-r--r--compat/zlib/contrib/ada/zlib-streams.ads114
-rw-r--r--compat/zlib/contrib/ada/zlib-thin.adb141
-rw-r--r--compat/zlib/contrib/ada/zlib-thin.ads450
-rw-r--r--compat/zlib/contrib/ada/zlib.adb701
-rw-r--r--compat/zlib/contrib/ada/zlib.ads328
-rw-r--r--compat/zlib/contrib/ada/zlib.gpr20
-rw-r--r--compat/zlib/contrib/amd64/amd64-match.S452
-rw-r--r--compat/zlib/contrib/asm586/README.58643
-rw-r--r--compat/zlib/contrib/asm586/match.S364
-rw-r--r--compat/zlib/contrib/asm686/README.68651
-rw-r--r--compat/zlib/contrib/asm686/match.S343
-rw-r--r--compat/zlib/contrib/blast/Makefile8
-rw-r--r--compat/zlib/contrib/blast/README4
-rw-r--r--compat/zlib/contrib/blast/blast.c444
-rw-r--r--compat/zlib/contrib/blast/blast.h71
-rw-r--r--compat/zlib/contrib/blast/test.pkbin0 -> 8 bytes
-rw-r--r--compat/zlib/contrib/blast/test.txt1
-rw-r--r--compat/zlib/contrib/delphi/ZLib.pas557
-rw-r--r--compat/zlib/contrib/delphi/ZLibConst.pas11
-rw-r--r--compat/zlib/contrib/delphi/readme.txt76
-rw-r--r--compat/zlib/contrib/delphi/zlibd32.mak99
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib.build33
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib.chmbin0 -> 72726 bytes
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib.sln21
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs58
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs202
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs83
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/CodecBase.cs198
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/Deflater.cs106
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/DotZLib.cs288
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj141
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/GZipStream.cs301
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/Inflater.cs105
-rw-r--r--compat/zlib/contrib/dotzlib/DotZLib/UnitTests.cs274
-rw-r--r--compat/zlib/contrib/dotzlib/LICENSE_1_0.txt23
-rw-r--r--compat/zlib/contrib/dotzlib/readme.txt58
-rw-r--r--compat/zlib/contrib/gcc_gvmat64/gvmat64.S574
-rw-r--r--compat/zlib/contrib/infback9/README1
-rw-r--r--compat/zlib/contrib/infback9/infback9.c617
-rw-r--r--compat/zlib/contrib/infback9/infback9.h37
-rw-r--r--compat/zlib/contrib/infback9/inffix9.h107
-rw-r--r--compat/zlib/contrib/infback9/inflate9.h47
-rw-r--r--compat/zlib/contrib/infback9/inftree9.c324
-rw-r--r--compat/zlib/contrib/infback9/inftree9.h61
-rw-r--r--compat/zlib/contrib/inflate86/inffas86.c1157
-rw-r--r--compat/zlib/contrib/inflate86/inffast.S1368
-rw-r--r--compat/zlib/contrib/iostream/test.cpp24
-rw-r--r--compat/zlib/contrib/iostream/zfstream.cpp329
-rw-r--r--compat/zlib/contrib/iostream/zfstream.h128
-rw-r--r--compat/zlib/contrib/iostream2/zstream.h307
-rw-r--r--compat/zlib/contrib/iostream2/zstream_test.cpp25
-rw-r--r--compat/zlib/contrib/iostream3/README35
-rw-r--r--compat/zlib/contrib/iostream3/TODO17
-rw-r--r--compat/zlib/contrib/iostream3/test.cc50
-rw-r--r--compat/zlib/contrib/iostream3/zfstream.cc479
-rw-r--r--compat/zlib/contrib/iostream3/zfstream.h466
-rw-r--r--compat/zlib/contrib/masm686/match.asm413
-rw-r--r--compat/zlib/contrib/masmx64/bld_ml64.bat2
-rw-r--r--compat/zlib/contrib/masmx64/gvmat64.asm553
-rw-r--r--compat/zlib/contrib/masmx64/gvmat64.objbin0 -> 4119 bytes
-rw-r--r--compat/zlib/contrib/masmx64/inffas8664.c186
-rw-r--r--compat/zlib/contrib/masmx64/inffasx64.asm396
-rw-r--r--compat/zlib/contrib/masmx64/inffasx64.objbin0 -> 5913 bytes
-rw-r--r--compat/zlib/contrib/masmx64/readme.txt31
-rw-r--r--compat/zlib/contrib/masmx86/bld_ml32.bat2
-rw-r--r--compat/zlib/contrib/masmx86/gvmat32.asm972
-rw-r--r--compat/zlib/contrib/masmx86/gvmat32.objbin0 -> 10241 bytes
-rw-r--r--compat/zlib/contrib/masmx86/gvmat32c.c62
-rw-r--r--compat/zlib/contrib/masmx86/inffas32.asm1083
-rw-r--r--compat/zlib/contrib/masmx86/inffas32.objbin0 -> 14893 bytes
-rw-r--r--compat/zlib/contrib/masmx86/match686.asm478
-rwxr-xr-xcompat/zlib/contrib/masmx86/mkasm.bat3
-rw-r--r--compat/zlib/contrib/masmx86/readme.txt27
-rw-r--r--compat/zlib/contrib/minizip/ChangeLogUnzip67
-rw-r--r--compat/zlib/contrib/minizip/Makefile25
-rw-r--r--compat/zlib/contrib/minizip/MiniZip64_Changes.txt6
-rw-r--r--compat/zlib/contrib/minizip/MiniZip64_info.txt74
-rw-r--r--compat/zlib/contrib/minizip/crypt.h131
-rw-r--r--compat/zlib/contrib/minizip/ioapi.c235
-rw-r--r--compat/zlib/contrib/minizip/ioapi.h200
-rw-r--r--compat/zlib/contrib/minizip/iowin32.c389
-rw-r--r--compat/zlib/contrib/minizip/iowin32.h28
-rw-r--r--compat/zlib/contrib/minizip/make_vms.com25
-rw-r--r--compat/zlib/contrib/minizip/miniunz.c648
-rw-r--r--compat/zlib/contrib/minizip/minizip.c507
-rw-r--r--compat/zlib/contrib/minizip/mztools.c281
-rw-r--r--compat/zlib/contrib/minizip/mztools.h31
-rw-r--r--compat/zlib/contrib/minizip/unzip.c2125
-rw-r--r--compat/zlib/contrib/minizip/unzip.h437
-rw-r--r--compat/zlib/contrib/minizip/zip.c2004
-rw-r--r--compat/zlib/contrib/minizip/zip.h362
-rw-r--r--compat/zlib/contrib/pascal/example.pas599
-rw-r--r--compat/zlib/contrib/pascal/readme.txt76
-rw-r--r--compat/zlib/contrib/pascal/zlibd32.mak99
-rw-r--r--compat/zlib/contrib/pascal/zlibpas.pas236
-rw-r--r--compat/zlib/contrib/puff/Makefile8
-rw-r--r--compat/zlib/contrib/puff/README63
-rw-r--r--compat/zlib/contrib/puff/puff.c955
-rw-r--r--compat/zlib/contrib/puff/puff.h31
-rw-r--r--compat/zlib/contrib/puff/zeros.rawbin0 -> 1213 bytes
-rw-r--r--compat/zlib/contrib/testzlib/testzlib.c275
-rw-r--r--compat/zlib/contrib/testzlib/testzlib.txt10
-rw-r--r--compat/zlib/contrib/untgz/Makefile14
-rw-r--r--compat/zlib/contrib/untgz/Makefile.msc17
-rw-r--r--compat/zlib/contrib/untgz/untgz.c674
-rw-r--r--compat/zlib/contrib/vstudio/readme.txt60
-rw-r--r--compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj310
-rw-r--r--compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters22
-rw-r--r--compat/zlib/contrib/vstudio/vc10/miniunz.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc10/minizip.vcxproj307
-rw-r--r--compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters22
-rw-r--r--compat/zlib/contrib/vstudio/vc10/minizip.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj420
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters58
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlib.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj310
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters22
-rw-r--r--compat/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlib.rc32
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj457
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters77
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibvc.def130
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibvc.sln135
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj659
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters118
-rw-r--r--compat/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.user3
-rw-r--r--compat/zlib/contrib/vstudio/vc7/miniunz.vcproj126
-rw-r--r--compat/zlib/contrib/vstudio/vc7/minizip.vcproj126
-rw-r--r--compat/zlib/contrib/vstudio/vc7/testzlib.vcproj126
-rw-r--r--compat/zlib/contrib/vstudio/vc7/zlib.rc32
-rw-r--r--compat/zlib/contrib/vstudio/vc7/zlibstat.vcproj246
-rw-r--r--compat/zlib/contrib/vstudio/vc7/zlibvc.def92
-rw-r--r--compat/zlib/contrib/vstudio/vc7/zlibvc.sln78
-rw-r--r--compat/zlib/contrib/vstudio/vc7/zlibvc.vcproj445
-rw-r--r--compat/zlib/contrib/vstudio/vc8/miniunz.vcproj566
-rw-r--r--compat/zlib/contrib/vstudio/vc8/minizip.vcproj563
-rw-r--r--compat/zlib/contrib/vstudio/vc8/testzlib.vcproj948
-rw-r--r--compat/zlib/contrib/vstudio/vc8/testzlibdll.vcproj567
-rw-r--r--compat/zlib/contrib/vstudio/vc8/zlib.rc32
-rw-r--r--compat/zlib/contrib/vstudio/vc8/zlibstat.vcproj870
-rw-r--r--compat/zlib/contrib/vstudio/vc8/zlibvc.def92
-rw-r--r--compat/zlib/contrib/vstudio/vc8/zlibvc.sln144
-rw-r--r--compat/zlib/contrib/vstudio/vc8/zlibvc.vcproj1219
-rw-r--r--compat/zlib/contrib/vstudio/vc9/miniunz.vcproj565
-rw-r--r--compat/zlib/contrib/vstudio/vc9/minizip.vcproj562
-rw-r--r--compat/zlib/contrib/vstudio/vc9/testzlib.vcproj852
-rw-r--r--compat/zlib/contrib/vstudio/vc9/testzlibdll.vcproj565
-rw-r--r--compat/zlib/contrib/vstudio/vc9/zlib.rc32
-rw-r--r--compat/zlib/contrib/vstudio/vc9/zlibstat.vcproj835
-rw-r--r--compat/zlib/contrib/vstudio/vc9/zlibvc.def130
-rw-r--r--compat/zlib/contrib/vstudio/vc9/zlibvc.sln144
-rw-r--r--compat/zlib/contrib/vstudio/vc9/zlibvc.vcproj1156
-rw-r--r--compat/zlib/crc32.c442
-rw-r--r--compat/zlib/crc32.h441
-rw-r--r--compat/zlib/deflate.c1834
-rw-r--r--compat/zlib/deflate.h342
-rw-r--r--compat/zlib/doc/algorithm.txt209
-rw-r--r--compat/zlib/doc/rfc1950.txt619
-rw-r--r--compat/zlib/doc/rfc1951.txt955
-rw-r--r--compat/zlib/doc/rfc1952.txt675
-rw-r--r--compat/zlib/doc/txtvsbin.txt107
-rw-r--r--compat/zlib/example.c565
-rw-r--r--compat/zlib/examples/README.examples49
-rw-r--r--compat/zlib/examples/enough.c569
-rw-r--r--compat/zlib/examples/fitblk.c233
-rw-r--r--compat/zlib/examples/gun.c701
-rw-r--r--compat/zlib/examples/gzappend.c500
-rw-r--r--compat/zlib/examples/gzjoin.c448
-rw-r--r--compat/zlib/examples/gzlog.c1058
-rw-r--r--compat/zlib/examples/gzlog.h89
-rw-r--r--compat/zlib/examples/zlib_how.html545
-rw-r--r--compat/zlib/examples/zpipe.c205
-rw-r--r--compat/zlib/examples/zran.c404
-rw-r--r--compat/zlib/gzclose.c25
-rw-r--r--compat/zlib/gzguts.h132
-rw-r--r--compat/zlib/gzlib.c537
-rw-r--r--compat/zlib/gzread.c653
-rw-r--r--compat/zlib/gzwrite.c531
-rw-r--r--compat/zlib/infback.c632
-rw-r--r--compat/zlib/inffast.c340
-rw-r--r--compat/zlib/inffast.h11
-rw-r--r--compat/zlib/inffixed.h94
-rw-r--r--compat/zlib/inflate.c1480
-rw-r--r--compat/zlib/inflate.h122
-rw-r--r--compat/zlib/inftrees.c330
-rw-r--r--compat/zlib/inftrees.h62
-rw-r--r--compat/zlib/make_vms.com804
-rw-r--r--compat/zlib/minigzip.c440
-rw-r--r--compat/zlib/msdos/Makefile.bor115
-rw-r--r--compat/zlib/msdos/Makefile.dj2104
-rw-r--r--compat/zlib/msdos/Makefile.emx69
-rw-r--r--compat/zlib/msdos/Makefile.msc112
-rw-r--r--compat/zlib/msdos/Makefile.tc100
-rw-r--r--compat/zlib/nintendods/Makefile126
-rw-r--r--compat/zlib/nintendods/README5
-rw-r--r--compat/zlib/old/Makefile.riscos151
-rw-r--r--compat/zlib/old/README3
-rw-r--r--compat/zlib/old/as400/bndsrc132
-rw-r--r--compat/zlib/old/as400/compile.clp123
-rw-r--r--compat/zlib/old/as400/readme.txt111
-rw-r--r--compat/zlib/old/as400/zlib.inc331
-rw-r--r--compat/zlib/old/descrip.mms48
-rw-r--r--compat/zlib/old/os2/Makefile.os2136
-rw-r--r--compat/zlib/old/os2/zlib.def51
-rw-r--r--compat/zlib/old/visual-basic.txt160
-rw-r--r--compat/zlib/old/visualc6/README.txt73
-rw-r--r--compat/zlib/old/visualc6/example.dsp278
-rw-r--r--compat/zlib/old/visualc6/minigzip.dsp278
-rw-r--r--compat/zlib/old/visualc6/zlib.dsp621
-rw-r--r--compat/zlib/old/visualc6/zlib.dsw59
-rw-r--r--compat/zlib/qnx/package.qpg141
-rw-r--r--compat/zlib/treebuild.xml116
-rw-r--r--compat/zlib/trees.c1244
-rw-r--r--compat/zlib/trees.h128
-rw-r--r--compat/zlib/uncompr.c59
-rw-r--r--compat/zlib/watcom/watcom_f.mak43
-rw-r--r--compat/zlib/watcom/watcom_l.mak43
-rw-r--r--compat/zlib/win32/DLL_FAQ.txt397
-rw-r--r--compat/zlib/win32/Makefile.bor110
-rw-r--r--compat/zlib/win32/Makefile.emx69
-rw-r--r--compat/zlib/win32/Makefile.gcc164
-rw-r--r--compat/zlib/win32/Makefile.msc157
-rw-r--r--compat/zlib/win32/README-WIN32.txt103
-rw-r--r--compat/zlib/win32/README.txt59
-rw-r--r--compat/zlib/win32/USAGE.txt89
-rw-r--r--compat/zlib/win32/VisualC.txt3
-rw-r--r--compat/zlib/win32/zdll.libbin0 -> 13438 bytes
-rw-r--r--compat/zlib/win32/zlib.def74
-rw-r--r--compat/zlib/win32/zlib1.dllbin0 -> 100352 bytes
-rw-r--r--compat/zlib/win32/zlib1.rc40
-rw-r--r--compat/zlib/zconf.h428
-rw-r--r--compat/zlib/zconf.h.cmakein430
-rw-r--r--compat/zlib/zconf.h.in428
-rw-r--r--compat/zlib/zlib.3151
-rw-r--r--compat/zlib/zlib.3.pdfbin0 -> 8686 bytes
-rw-r--r--compat/zlib/zlib.h1613
-rw-r--r--compat/zlib/zlib.map68
-rw-r--r--compat/zlib/zlib.pc.in13
-rw-r--r--compat/zlib/zlib2ansi152
-rw-r--r--compat/zlib/zutil.c318
-rw-r--r--compat/zlib/zutil.h274
-rw-r--r--doc/Access.371
-rw-r--r--doc/AddErrInfo.346
-rw-r--r--doc/AppInit.310
-rw-r--r--doc/AssocData.34
-rw-r--r--doc/Async.34
-rw-r--r--doc/BackgdErr.349
-rw-r--r--doc/ByteArrObj.310
-rw-r--r--doc/CallDel.314
-rw-r--r--doc/Cancel.366
-rw-r--r--doc/ChnlStack.32
-rw-r--r--doc/Class.3236
-rw-r--r--doc/CrtChannel.3117
-rw-r--r--doc/CrtChnlHdlr.36
-rw-r--r--doc/CrtCloseHdlr.35
-rw-r--r--doc/CrtCommand.324
-rw-r--r--doc/CrtFileHdlr.311
-rw-r--r--doc/CrtInterp.362
-rw-r--r--doc/CrtMathFnc.317
-rw-r--r--doc/CrtObjCmd.315
-rw-r--r--doc/CrtTimerHdlr.39
-rw-r--r--doc/CrtTrace.310
-rw-r--r--doc/DoWhenIdle.39
-rw-r--r--doc/Encoding.343
-rw-r--r--doc/Ensemble.373
-rw-r--r--doc/Eval.35
-rw-r--r--doc/Exit.325
-rw-r--r--doc/FileSystem.3715
-rw-r--r--doc/FindExec.37
-rwxr-xr-x[-rw-r--r--]doc/GetCwd.30
-rw-r--r--doc/GetIndex.37
-rw-r--r--doc/GetStdChan.32
-rw-r--r--doc/GetTime.351
-rwxr-xr-x[-rw-r--r--]doc/GetVersion.30
-rw-r--r--doc/Hash.332
-rw-r--r--doc/IntObj.39
-rw-r--r--doc/Interp.340
-rw-r--r--doc/Limit.36
-rw-r--r--doc/LinkVar.328
-rw-r--r--doc/ListObj.310
-rw-r--r--doc/Load.369
-rw-r--r--doc/Method.3248
-rw-r--r--doc/NRE.3328
-rw-r--r--doc/Namespace.312
-rw-r--r--doc/Notifier.362
-rw-r--r--doc/Object.353
-rw-r--r--doc/ObjectType.324
-rw-r--r--doc/OpenFileChnl.344
-rw-r--r--doc/OpenTcp.324
-rw-r--r--doc/Panic.327
-rw-r--r--doc/ParseArgs.3198
-rw-r--r--doc/ParseCmd.345
-rw-r--r--doc/PkgRequire.313
-rw-r--r--doc/Preserve.38
-rw-r--r--doc/PrintDbl.34
-rw-r--r--doc/RegConfig.39
-rw-r--r--doc/RegExp.314
-rw-r--r--doc/SaveResult.34
-rw-r--r--doc/SetChanErr.3153
-rw-r--r--doc/SetResult.359
-rw-r--r--doc/SplitList.311
-rw-r--r--doc/SplitPath.33
-rw-r--r--doc/StaticPkg.311
-rw-r--r--doc/StringObj.348
-rw-r--r--doc/Tcl.n74
-rw-r--r--doc/TclZlib.3248
-rw-r--r--doc/Tcl_Main.397
-rw-r--r--doc/Thread.360
-rw-r--r--doc/TraceCmd.34
-rw-r--r--doc/TraceVar.36
-rw-r--r--doc/Translate.311
-rw-r--r--doc/Utf.32
-rw-r--r--doc/WrongNumArgs.310
-rw-r--r--doc/after.n31
-rw-r--r--doc/append.n9
-rw-r--r--doc/apply.n46
-rw-r--r--doc/array.n14
-rw-r--r--doc/bgerror.n8
-rw-r--r--doc/binary.n144
-rw-r--r--doc/break.n18
-rw-r--r--doc/catch.n88
-rw-r--r--doc/cd.n6
-rw-r--r--doc/chan.n168
-rw-r--r--doc/class.n136
-rw-r--r--doc/clock.n44
-rw-r--r--doc/close.n38
-rw-r--r--doc/concat.n8
-rw-r--r--doc/continue.n20
-rw-r--r--doc/copy.n53
-rw-r--r--doc/coroutine.n155
-rw-r--r--doc/dde.n3
-rw-r--r--doc/define.n297
-rw-r--r--doc/dict.n85
-rw-r--r--doc/encoding.n14
-rw-r--r--doc/eof.n6
-rw-r--r--doc/error.n20
-rw-r--r--doc/eval.n25
-rw-r--r--doc/exec.n140
-rw-r--r--doc/exit.n6
-rw-r--r--doc/expr.n100
-rw-r--r--doc/fblocked.n3
-rw-r--r--doc/fconfigure.n42
-rw-r--r--doc/fcopy.n18
-rw-r--r--doc/file.n98
-rw-r--r--doc/fileevent.n39
-rw-r--r--doc/filename.n2
-rw-r--r--doc/flush.n5
-rw-r--r--doc/for.n25
-rw-r--r--doc/foreach.n7
-rw-r--r--doc/format.n34
-rw-r--r--doc/glob.n165
-rw-r--r--doc/global.n8
-rw-r--r--doc/http.n148
-rw-r--r--doc/if.n26
-rw-r--r--doc/incr.n12
-rw-r--r--doc/info.n451
-rw-r--r--doc/interp.n200
-rw-r--r--doc/join.n6
-rw-r--r--doc/lappend.n5
-rw-r--r--doc/lassign.n21
-rw-r--r--doc/library.n50
-rw-r--r--doc/lindex.n57
-rw-r--r--doc/linsert.n29
-rw-r--r--doc/list.n16
-rw-r--r--doc/llength.n8
-rw-r--r--doc/load.n33
-rw-r--r--doc/lrange.n12
-rw-r--r--doc/lrepeat.n13
-rw-r--r--doc/lreplace.n9
-rw-r--r--doc/lreverse.n5
-rw-r--r--doc/lsearch.n52
-rwxr-xr-x[-rw-r--r--]doc/lset.n50
-rw-r--r--doc/lsort.n165
-rw-r--r--doc/mathfunc.n46
-rw-r--r--doc/mathop.n10
-rw-r--r--doc/memory.n3
-rw-r--r--doc/msgcat.n59
-rw-r--r--doc/my.n56
-rw-r--r--doc/namespace.n271
-rw-r--r--doc/next.n203
-rw-r--r--doc/object.n113
-rw-r--r--doc/open.n85
-rw-r--r--doc/package.n34
-rw-r--r--doc/packagens.n10
-rw-r--r--doc/pkgMkIndex.n11
-rw-r--r--doc/prefix.n116
-rw-r--r--doc/proc.n25
-rw-r--r--doc/puts.n8
-rw-r--r--doc/pwd.n4
-rw-r--r--doc/re_syntax.n37
-rw-r--r--doc/read.n17
-rw-r--r--doc/refchan.n159
-rw-r--r--doc/regexp.n35
-rw-r--r--doc/registry.n19
-rw-r--r--doc/regsub.n41
-rw-r--r--doc/rename.n5
-rw-r--r--doc/return.n144
-rw-r--r--doc/safe.n19
-rw-r--r--doc/scan.n82
-rw-r--r--doc/seek.n13
-rw-r--r--doc/self.n152
-rw-r--r--doc/set.n5
-rw-r--r--doc/socket.n163
-rw-r--r--doc/source.n10
-rw-r--r--doc/split.n29
-rw-r--r--doc/string.n180
-rw-r--r--doc/subst.n21
-rw-r--r--doc/switch.n65
-rw-r--r--doc/tailcall.n69
-rw-r--r--doc/tclsh.122
-rw-r--r--doc/tcltest.n505
-rw-r--r--doc/tclvars.n160
-rw-r--r--doc/tell.n5
-rw-r--r--doc/throw.n48
-rw-r--r--doc/time.n11
-rw-r--r--doc/tm.n19
-rw-r--r--doc/trace.n15
-rw-r--r--doc/transchan.n160
-rw-r--r--doc/try.n103
-rw-r--r--doc/unknown.n2
-rw-r--r--doc/unload.n12
-rw-r--r--doc/unset.n16
-rw-r--r--doc/update.n7
-rw-r--r--doc/uplevel.n10
-rw-r--r--doc/upvar.n28
-rw-r--r--doc/variable.n11
-rw-r--r--doc/vwait.n205
-rw-r--r--doc/while.n8
-rw-r--r--doc/zlib.n390
-rw-r--r--generic/regc_color.c32
-rw-r--r--generic/regc_cvec.c6
-rw-r--r--generic/regc_lex.c53
-rw-r--r--generic/regc_nfa.c83
-rw-r--r--generic/regcomp.c16
-rw-r--r--generic/regcustom.h14
-rw-r--r--generic/rege_dfa.c212
-rw-r--r--generic/regerror.c2
-rw-r--r--generic/regex.h15
-rw-r--r--generic/regexec.c505
-rw-r--r--generic/regfronts.c6
-rw-r--r--generic/regguts.h19
-rw-r--r--generic/tcl.decls1946
-rw-r--r--generic/tcl.h905
-rw-r--r--generic/tclAlloc.c13
-rw-r--r--generic/tclAssembly.c4331
-rw-r--r--generic/tclAsync.c8
-rw-r--r--generic/tclBasic.c4198
-rw-r--r--generic/tclBinary.c2252
-rw-r--r--generic/tclCkalloc.c107
-rw-r--r--generic/tclClock.c390
-rw-r--r--generic/tclCmdAH.c2337
-rw-r--r--generic/tclCmdIL.c1262
-rw-r--r--generic/tclCmdMZ.c1288
-rw-r--r--generic/tclCompCmds.c4151
-rw-r--r--generic/tclCompCmdsSZ.c3585
-rw-r--r--generic/tclCompExpr.c1282
-rw-r--r--generic/tclCompile.c1186
-rw-r--r--generic/tclCompile.h527
-rw-r--r--generic/tclConfig.c55
-rw-r--r--generic/tclDTrace.d56
-rw-r--r--generic/tclDate.c36
-rw-r--r--generic/tclDecls.h4288
-rw-r--r--generic/tclDictObj.c654
-rw-r--r--generic/tclEncoding.c651
-rw-r--r--generic/tclEnsemble.c2969
-rw-r--r--generic/tclEnv.c51
-rw-r--r--generic/tclEvent.c359
-rw-r--r--generic/tclExecute.c7344
-rw-r--r--generic/tclFCmd.c539
-rw-r--r--generic/tclFileName.c259
-rw-r--r--generic/tclFileSystem.h20
-rw-r--r--generic/tclGet.c56
-rw-r--r--generic/tclGetDate.y36
-rw-r--r--generic/tclHash.c155
-rw-r--r--generic/tclHistory.c90
-rw-r--r--generic/tclIO.c1386
-rw-r--r--generic/tclIO.h15
-rw-r--r--generic/tclIOCmd.c326
-rw-r--r--generic/tclIOGT.c20
-rw-r--r--generic/tclIORChan.c482
-rw-r--r--generic/tclIORTrans.c3421
-rw-r--r--generic/tclIOSock.c183
-rw-r--r--generic/tclIOUtil.c2237
-rw-r--r--generic/tclIndexObj.c916
-rw-r--r--generic/tclInt.decls789
-rw-r--r--generic/tclInt.h1115
-rw-r--r--generic/tclIntDecls.h1399
-rw-r--r--generic/tclIntPlatDecls.h409
-rw-r--r--generic/tclInterp.c528
-rw-r--r--generic/tclLink.c79
-rw-r--r--generic/tclListObj.c453
-rw-r--r--generic/tclLiteral.c244
-rw-r--r--generic/tclLoad.c300
-rw-r--r--generic/tclLoadNone.c57
-rw-r--r--generic/tclMain.c707
-rw-r--r--generic/tclNamesp.c3304
-rw-r--r--generic/tclNotify.c77
-rw-r--r--generic/tclOO.c2726
-rw-r--r--generic/tclOO.decls204
-rw-r--r--generic/tclOO.h140
-rw-r--r--generic/tclOOBasic.c1210
-rw-r--r--generic/tclOOCall.c1480
-rw-r--r--generic/tclOODecls.h218
-rw-r--r--generic/tclOODefineCmds.c2001
-rw-r--r--generic/tclOOInfo.c1555
-rw-r--r--generic/tclOOInt.h633
-rw-r--r--generic/tclOOIntDecls.h163
-rw-r--r--generic/tclOOMethod.c1755
-rw-r--r--generic/tclOOStubInit.c78
-rw-r--r--generic/tclOOStubLib.c84
-rw-r--r--generic/tclObj.c969
-rw-r--r--generic/tclPanic.c58
-rw-r--r--generic/tclParse.c304
-rw-r--r--generic/tclPathObj.c294
-rw-r--r--generic/tclPipe.c186
-rw-r--r--generic/tclPkg.c151
-rw-r--r--generic/tclPkgConfig.c4
-rw-r--r--generic/tclPlatDecls.h71
-rw-r--r--generic/tclPosixStr.c56
-rw-r--r--generic/tclPreserve.c49
-rw-r--r--generic/tclProc.c1062
-rw-r--r--generic/tclRegexp.c51
-rw-r--r--generic/tclRegexp.h2
-rw-r--r--generic/tclResolve.c42
-rw-r--r--generic/tclResult.c265
-rw-r--r--generic/tclScan.c85
-rwxr-xr-xgeneric/tclStrToD.c2326
-rw-r--r--generic/tclStringObj.c1456
-rw-r--r--generic/tclStubInit.c351
-rw-r--r--generic/tclStubLib.c102
-rw-r--r--generic/tclTest.c1456
-rw-r--r--generic/tclTestObj.c454
-rw-r--r--generic/tclTestProcBodyObj.c103
-rw-r--r--generic/tclThread.c67
-rw-r--r--generic/tclThreadAlloc.c95
-rw-r--r--generic/tclThreadJoin.c6
-rw-r--r--generic/tclThreadStorage.c602
-rw-r--r--generic/tclThreadTest.c365
-rw-r--r--generic/tclTimer.c202
-rw-r--r--generic/tclTomMath.decls143
-rw-r--r--generic/tclTomMath.h82
-rw-r--r--generic/tclTomMathDecls.h372
-rw-r--r--generic/tclTomMathInt.h1
-rw-r--r--generic/tclTomMathInterface.c11
-rw-r--r--generic/tclTomMathStubLib.c89
-rw-r--r--generic/tclTrace.c399
-rw-r--r--generic/tclUtf.c81
-rw-r--r--generic/tclUtil.c429
-rw-r--r--generic/tclVar.c2416
-rw-r--r--generic/tclZlib.c2984
-rw-r--r--library/auto.tcl294
-rw-r--r--library/clock.tcl1116
-rw-r--r--library/history.tcl302
-rw-r--r--library/http/http.tcl273
-rw-r--r--library/http/pkgIndex.tcl6
-rw-r--r--library/http1.0/http.tcl6
-rw-r--r--library/init.tcl123
-rw-r--r--library/opt/optparse.tcl474
-rw-r--r--library/opt/pkgIndex.tcl2
-rw-r--r--library/package.tcl320
-rwxr-xr-xlibrary/reg/pkgIndex.tcl8
-rw-r--r--library/safe.tcl100
-rw-r--r--library/tclIndex20
-rw-r--r--library/tm.tcl230
-rw-r--r--libtommath/bn_mp_cmp.c2
-rw-r--r--libtommath/bn_mp_cmp_d.c2
-rw-r--r--libtommath/bn_mp_cmp_mag.c2
-rw-r--r--libtommath/bn_mp_cnt_lsb.c2
-rw-r--r--libtommath/bn_mp_copy.c2
-rw-r--r--libtommath/bn_mp_count_bits.c2
-rw-r--r--libtommath/bn_mp_div_2d.c2
-rw-r--r--libtommath/bn_mp_mod_2d.c2
-rw-r--r--libtommath/bn_mp_mul_2d.c2
-rw-r--r--libtommath/bn_mp_neg.c2
-rw-r--r--libtommath/mtest/mpi.c2
-rw-r--r--libtommath/tommath.h74
-rw-r--r--license.terms2
-rw-r--r--macosx/GNUmakefile2
-rw-r--r--macosx/README190
-rw-r--r--macosx/Tcl-Common.xcconfig11
-rw-r--r--macosx/Tcl.pbproj/default.pbxuser173
-rw-r--r--macosx/Tcl.pbproj/jingham.pbxuser173
-rw-r--r--macosx/Tcl.pbproj/project.pbxproj1539
-rw-r--r--macosx/Tcl.xcode/default.pbxuser12
-rw-r--r--macosx/Tcl.xcode/project.pbxproj770
-rw-r--r--macosx/Tcl.xcodeproj/default.pbxuser19
-rw-r--r--macosx/Tcl.xcodeproj/project.pbxproj700
-rw-r--r--macosx/tclMacOSXBundle.c166
-rw-r--r--macosx/tclMacOSXFCmd.c244
-rw-r--r--macosx/tclMacOSXNotify.c385
-rw-r--r--pkgs/README1
-rw-r--r--tests/all.tcl1
-rw-r--r--tests/append.test247
-rw-r--r--tests/appendComp.test281
-rw-r--r--tests/apply.test89
-rw-r--r--tests/assemble.test3293
-rw-r--r--tests/assemble1.bench85
-rw-r--r--tests/async.test66
-rw-r--r--tests/autoMkindex.test283
-rw-r--r--tests/basic.test6
-rw-r--r--tests/binary.test1850
-rw-r--r--tests/case.test2
-rw-r--r--tests/chan.test60
-rw-r--r--tests/chanio.test4403
-rw-r--r--tests/clock.test8
-rw-r--r--tests/cmdAH.test1188
-rw-r--r--tests/cmdIL.test405
-rw-r--r--tests/cmdMZ.test291
-rw-r--r--tests/compExpr.test213
-rw-r--r--tests/compile.test347
-rw-r--r--tests/concat.test21
-rw-r--r--tests/config.test4
-rw-r--r--tests/coroutine.test599
-rw-r--r--tests/dict.test1549
-rw-r--r--tests/dstring.test266
-rw-r--r--tests/encoding.test194
-rw-r--r--tests/env.test209
-rw-r--r--tests/error.test902
-rw-r--r--tests/eval.test21
-rw-r--r--tests/event.test771
-rw-r--r--tests/exec.test592
-rw-r--r--tests/execute.test297
-rw-r--r--tests/expr.test16
-rw-r--r--tests/fCmd.test381
-rw-r--r--tests/fileName.test1193
-rw-r--r--tests/fileSystem.test958
-rw-r--r--tests/for.test13
-rw-r--r--tests/foreach.test1
-rw-r--r--tests/format.test20
-rw-r--r--tests/history.test16
-rw-r--r--tests/http.test318
-rw-r--r--tests/http11.test656
-rw-r--r--tests/httpd11.tcl254
-rw-r--r--tests/if.test677
-rw-r--r--tests/incr.test230
-rw-r--r--tests/indexObj.test42
-rw-r--r--tests/info.test674
-rw-r--r--tests/init.test123
-rw-r--r--tests/interp.test1223
-rw-r--r--tests/io.test54
-rw-r--r--tests/ioCmd.test439
-rw-r--r--tests/ioTrans.test1864
-rw-r--r--tests/ioUtil.test331
-rw-r--r--tests/iogt.test475
-rw-r--r--tests/join.test15
-rw-r--r--tests/lindex.test4
-rw-r--r--tests/link.test154
-rw-r--r--tests/linsert.test10
-rw-r--r--tests/list.test20
-rw-r--r--tests/load.test16
-rw-r--r--tests/lrange.test1
-rw-r--r--tests/lrepeat.test23
-rw-r--r--tests/lreplace.test4
-rw-r--r--tests/lsearch.test144
-rw-r--r--tests/lset.test86
-rwxr-xr-x[-rw-r--r--]tests/lsetComp.test2
-rw-r--r--tests/main.test12
-rw-r--r--tests/mathop.test16
-rw-r--r--tests/namespace-old.test139
-rw-r--r--tests/namespace.test430
-rwxr-xr-x[-rw-r--r--]tests/notify.test0
-rw-r--r--tests/nre.test445
-rw-r--r--tests/oo.test2819
-rw-r--r--tests/ooNext2.test790
-rw-r--r--tests/opt.test28
-rw-r--r--tests/package.test1258
-rw-r--r--tests/parse.test29
-rw-r--r--tests/parseExpr.test45
-rw-r--r--tests/pkg.test1219
-rw-r--r--tests/pkgMkIndex.test111
-rw-r--r--tests/platform.test2
-rw-r--r--tests/proc-old.test19
-rw-r--r--tests/proc.test355
-rw-r--r--tests/reg.test15
-rw-r--r--tests/regexp.test249
-rw-r--r--tests/regexpComp.test47
-rw-r--r--tests/registry.test277
-rw-r--r--tests/remote.tcl43
-rw-r--r--tests/rename.test77
-rw-r--r--tests/resolver.test200
-rw-r--r--tests/result.test19
-rw-r--r--tests/safe.test617
-rw-r--r--tests/scan.test28
-rw-r--r--tests/security.test14
-rw-r--r--tests/set-old.test31
-rw-r--r--tests/socket.test1348
-rw-r--r--tests/source.test18
-rw-r--r--tests/split.test22
-rw-r--r--tests/stack.test44
-rw-r--r--tests/string.test230
-rw-r--r--tests/stringComp.test321
-rw-r--r--tests/stringObj.test125
-rw-r--r--tests/subst.test133
-rw-r--r--tests/switch.test29
-rw-r--r--tests/tailcall.test663
-rwxr-xr-x[-rw-r--r--]tests/tcltest.test0
-rw-r--r--tests/thread.test1479
-rw-r--r--tests/timer.test306
-rw-r--r--tests/tm.test8
-rw-r--r--tests/trace.test6
-rw-r--r--tests/unixFCmd.test300
-rw-r--r--tests/unixInit.test141
-rw-r--r--tests/unixNotfy.test18
-rw-r--r--tests/unknown.test10
-rw-r--r--tests/unload.test65
-rw-r--r--tests/uplevel.test116
-rw-r--r--tests/upvar.test301
-rw-r--r--tests/utf.test14
-rw-r--r--tests/util.test26
-rw-r--r--tests/var.test407
-rw-r--r--tests/while.test373
-rw-r--r--tests/winDde.test6
-rw-r--r--tests/winFCmd.test1478
-rw-r--r--tests/winFile.test88
-rw-r--r--tests/winPipe.test42
-rw-r--r--tests/zlib.test610
-rwxr-xr-x[-rw-r--r--]tools/checkLibraryDoc.tcl28
-rwxr-xr-x[-rw-r--r--]tools/configure2
-rw-r--r--tools/configure.in4
-rw-r--r--tools/eolFix.tcl18
-rwxr-xr-xtools/fix_tommath_h.tcl8
-rw-r--r--tools/genStubs.tcl151
-rw-r--r--tools/index.tcl10
-rw-r--r--tools/man2help2.tcl32
-rw-r--r--tools/regexpTestLib.tcl30
-rw-r--r--tools/tcl.hpj.in4
-rw-r--r--tools/tcl.wse.in6
-rwxr-xr-xtools/tclZIC.tcl10
-rw-r--r--tools/tclsh.svg67
-rw-r--r--tools/tcltk-man2html-utils.tcl1613
-rwxr-xr-xtools/tcltk-man2html.tcl2142
-rw-r--r--tools/tsdPerf.c59
-rw-r--r--tools/tsdPerf.tcl24
-rw-r--r--unix/Makefile.in819
-rwxr-xr-xunix/configure1543
-rw-r--r--unix/configure.in131
-rw-r--r--unix/dltest/pkga.c28
-rw-r--r--unix/dltest/pkgb.c31
-rw-r--r--unix/dltest/pkgc.c31
-rw-r--r--unix/dltest/pkgd.c31
-rw-r--r--unix/dltest/pkge.c13
-rw-r--r--unix/dltest/pkgua.c37
-rwxr-xr-xunix/install-sh580
-rwxr-xr-xunix/installManPage7
-rw-r--r--unix/tcl.m4156
-rw-r--r--unix/tcl.pc.in15
-rw-r--r--unix/tcl.spec2
-rw-r--r--unix/tclAppInit.c98
-rw-r--r--unix/tclConfig.h.in61
-rw-r--r--unix/tclLoadAix.c8
-rw-r--r--unix/tclLoadDl.c72
-rw-r--r--unix/tclLoadDyld.c94
-rw-r--r--unix/tclLoadNext.c43
-rw-r--r--unix/tclLoadOSF.c42
-rw-r--r--unix/tclLoadShl.c44
-rw-r--r--unix/tclUnixChan.c1333
-rw-r--r--unix/tclUnixCompat.c268
-rw-r--r--unix/tclUnixEvent.c2
-rw-r--r--unix/tclUnixFCmd.c299
-rw-r--r--unix/tclUnixFile.c318
-rw-r--r--unix/tclUnixInit.c309
-rw-r--r--unix/tclUnixNotfy.c757
-rw-r--r--unix/tclUnixPipe.c203
-rw-r--r--unix/tclUnixPort.h491
-rw-r--r--unix/tclUnixSock.c1280
-rw-r--r--unix/tclUnixTest.c130
-rw-r--r--unix/tclUnixThrd.c178
-rw-r--r--unix/tclUnixTime.c38
-rw-r--r--unix/tclXtNotify.c42
-rw-r--r--unix/tclXtTest.c40
-rw-r--r--unix/tclooConfig.sh19
-rw-r--r--win/Makefile.in333
-rw-r--r--win/README11
-rwxr-xr-x[-rw-r--r--]win/buildall.vc.bat33
-rw-r--r--win/cat.c9
-rw-r--r--win/coffbase.txt9
-rwxr-xr-xwin/configure493
-rw-r--r--win/configure.in118
-rw-r--r--win/makefile.bc82
-rw-r--r--win/makefile.vc297
-rw-r--r--win/nmakehlp.c74
-rw-r--r--win/rules.vc51
-rw-r--r--win/stub16.c195
-rw-r--r--win/tcl.dsp16
-rw-r--r--win/tcl.hpj.in4
-rw-r--r--win/tcl.m4110
-rw-r--r--win/tclAppInit.c207
-rw-r--r--win/tclWin32Dll.c538
-rw-r--r--win/tclWinChan.c61
-rw-r--r--win/tclWinConsole.c473
-rw-r--r--win/tclWinDde.c183
-rw-r--r--win/tclWinError.c9
-rw-r--r--win/tclWinFCmd.c323
-rw-r--r--win/tclWinFile.c820
-rw-r--r--win/tclWinInit.c79
-rw-r--r--win/tclWinInt.h135
-rw-r--r--win/tclWinLoad.c185
-rw-r--r--win/tclWinNotify.c451
-rw-r--r--win/tclWinPipe.c328
-rw-r--r--win/tclWinPort.h287
-rw-r--r--win/tclWinReg.c568
-rw-r--r--win/tclWinSerial.c121
-rw-r--r--win/tclWinSock.c612
-rw-r--r--win/tclWinTest.c151
-rw-r--r--win/tclWinThrd.c78
-rw-r--r--win/tclWinThrd.h19
-rw-r--r--win/tclWinTime.c23
-rw-r--r--win/tclooConfig.sh19
-rw-r--r--win/tclsh.icobin3630 -> 57022 bytes
848 files changed, 209307 insertions, 72557 deletions
diff --git a/ChangeLog b/ChangeLog
index eac6e29..a15a7e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,21 +3,25 @@
* 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 is wrong
+ * generic/tclUtf.c: [Bug 3464428]: string is graph \u0120 is wrong
* generic/regc_locale.c: 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): Corrected a bug where loading
- * tests/clock.test (clock-56.4): 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." [Bug 3470928]
+ * 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>
@@ -31,13 +35,19 @@
2011-12-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUtf.c: [Bug 3464428] string is graph \u0120 is wrong
+ * 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
+ * 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
@@ -45,7 +55,7 @@
2011-12-07 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/uniParse.tcl: [Bug 3444754] string tolower \u01c5 is wrong
+ * tools/uniParse.tcl: [Bug 3444754]: string tolower \u01c5 is wrong
* generic/tclUniData.c:
* tests/utf.test:
@@ -57,67 +67,143 @@
2011-11-29 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/tclsh.1: Use the same shebang comment everywhere.
- * tools/str2c
- * tools/tcltk-man2html.tcl
* 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 2935503] Windows: file mtime
+ * win/tclWinPort.h: [Bug 2935503]: Windows: file mtime
* win/tclWinFile.c: sets wrong time (VS2005+ only)
* generic/tclTest.c:
-2011-11-04 Don Porter <dgp@users.sourceforge.net>
+2011-11-20 Joe Mistachkin <joe@mistachkin.com>
- *** 8.5.11 TAGGED FOR RELEASE ***
+ * 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.
- * generic/tcl.h: Bump to 8.5.11 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+2011-11-18 Joe Mistachkin <joe@mistachkin.com>
- * unix/configure: autoconf-2.59
- * win/configure:
+ * 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>
- * changes: Update for 8.5.11 release.
+ * 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.7.7
+ * library/http/http.tcl: Bump to version 2.8.3
* library/http/pkgIndex.tcl:
* unix/Makefile.in:
* win/Makefile.in:
- * changes: Updates for 8.5.11 release.
+ * 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.
+ * 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
+ * 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/tclIORChan.c: Fix gcc warning
- (discovered with latest mingw, based on gcc 4.6.1)
- * tests/env.test: Fix env.test, when running
- under wine 1.3 (partly backported from Tcl 8.6)
+ * generic/tcl.h: Fix gcc warnings (discovered with
+ * generic/tclIORChan.c: latest 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>
@@ -133,6 +219,113 @@
* 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]:
@@ -145,30 +338,55 @@
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
+ * generic/tclUtil.c: [Bug 3390638]: Workaround broken solaris
studio cc optimizer. Thanks to Wolfgang S. Kechel.
- * generic/tclDTrace.d: [Bug 3405652] Portability workaround for
+ * 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
+ * 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.
+ * 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>
@@ -182,9 +400,26 @@
* 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()
+ * 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.
@@ -197,40 +432,78 @@
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 Jan Nijtmans <nijtmans@users.sf.net>
+2011-08-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdAH.c: [Bug 3388350]: mingw64 compiler warnings
- * generic/tclFCmd.c In mingw, sys/stat.h must be included
- * generic/tclFileName.c before winsock2.h, so make sure of that.
- * generic/tclIOUtil.c
- * generic/tclBasic.c
- * generic/tclBinary.c
- * generic/tclHash.c
- * generic/tclTest.c
- * win/tclWinChan.c
- * win/tclWinConsole.c
- * win/tclWinDde.c
- * win/tclWinFile.c
- * win/tclWinReg.c
- * win/tclWinSerial.c
- * win/tclWinSock.c
- * win/tclWinThrd.c
+ * 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>
@@ -238,19 +511,44 @@
2011-08-15 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Bug 3388350]: mingw64 compiler warnings
- * win/tclWinPipe.c
- * win/tclWinSock.c
+ * generic/tclPosixStr.c: [Bug 3388350]: mingw64 compiler warnings
+ * win/tclWinPort.h:
* win/configure.in
* win/configure
- * generic/tclPosixStr.c
- * generic/tclStrToD.c
+
+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
@@ -258,13 +556,120 @@
* 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:
@@ -284,6 +689,12 @@
* 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
@@ -292,16 +703,68 @@
* 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
@@ -319,21 +782,19 @@
* unix/Makefile.in:
* win/Makefile.in:
* win/Makefile.vc:
- 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). [Bug 3349507]
+ [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-30 Reinhard Max <max@suse.de>
+2011-06-28 Reinhard Max <max@suse.de>
- * unix/configure.in: Add a volatile declaration to the test for
- TCL_STACK_GROWS_UP to prevent gcc 4.6 from producing invalid
- results due to aggressive optimisation.
+ * 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].
-2011-06-23 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5.10 TAGGED FOR RELEASE ***
-
- * changes: Update for 8.5.10 release.
+ * 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>
@@ -345,24 +806,43 @@
* 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>
- * changes: Update for 8.5.10 release.
+ * generic/tclLink.c: [Bug 3317466]: Prevent multiple links to a
+ single Tcl variable when calling Tcl_LinkVar().
- * library/tcltest/tcltest.tcl (loadIntoSlaveInterpreter):
- * library/tcltest/pkgIndex.tcl: Backport tcltest 2.3.3 for release
- * unix/Makefile.in: with Tcl 8.5.*.
- * win/Makefile.in:
+2011-06-13 Don Porter <dgp@users.sourceforge.net>
- * tests/init.test: Update test files to use new command.
- * tests/pkg.test:
+ * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf Neumann.
- * generic/tclLink.c: Prevent multiple links to a single Tcl
- variable when calling Tcl_LinkVar(). [Bug 3317466]
+2011-06-08 Andreas Kupries <andreask@activestate.com>
-2011-06-13 Don Porter <dgp@users.sourceforge.net>
+ * 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>
- * generic/tclStrToD.c: [Bug 3315098] Mem leak fix from Gustaf Neumann.
+ * 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>
@@ -377,22 +857,52 @@
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
+ * generic/tclListObj.c: so that length limits do not overconstrain
+ * generic/tclStringObj.c: by a factor of 2. [Bug 3293874]:
+ * generic/tclUtil.c: Fix includes rooting all growth routines
+ by default on a commone tunable parameter TCL_MIN_GROWTH.
+
2011-05-25 Don Porter <dgp@users.sourceforge.net>
- * library/msgcat/msgcat.tcl: Backport improvements to msgcat
- * library/msgcat/pkgIndex.tcl: package. Bump to 1.4.4
+ * 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
@@ -403,6 +913,14 @@
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
@@ -416,11 +934,23 @@
* 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
@@ -436,6 +966,8 @@
* 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>
@@ -444,7 +976,7 @@
* generic/tclListObj.c: of a 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
+ 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
@@ -459,15 +991,15 @@
* tests/parse.test: Tests for expanded literals quoting detection.
- * generic/tclCompCmds.c: New TclFindElement() is also a better
+ * 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/tclCompCmds.c:
+ * generic/tclCompCmdsSZ.c:
- * generic/tclCompCmds.c: Rewrite of parts of the switch compiler to
+ * generic/tclCompCmdsSZ.c: Rewrite of parts of the switch compiler to
better use the powers of TclFindElement() and do less parsing on
its own.
@@ -482,24 +1014,23 @@
* generic/tclStrToD.c:
* generic/tclUtf.c:
* unix/tclUnixFile.c:
-
-2011-04-27 Don Porter <dgp@users.sourceforge.net>
- * generic/tclListObj.c: FreeListInternalRep() cleanup.
+ * generic/tclStringObj.c: Improved reaction to out of memory.
- * generic/tclBinary.c: Backport fix for [Bug 2857044].
- * generic/tclDictObj.c: All freeIntRepProcs set typePtr to NULL.
- * generic/tclEncoding.c:
+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/tclObj.c:
- * generic/tclPathObj.c:
- * generic/tclProc.c:
- * generic/tclRegexp.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.
@@ -508,6 +1039,7 @@
* 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.
@@ -526,14 +1058,6 @@
* win/configure.in: for Tcl_StatBuf - the one used by MSVC6 -
* win/configure: in all situations.
-2011-04-20 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclFCmd.c (TclFileAttrsCmd): Added commands to reset the
- typePtr of the Tcl_Obj* whose int-rep was just purged. Required to
- prevent a dangling IndexRep* to reused, smashing the heap. See
- also the entries at 2011-04-16 and 2011-03-24 for the history of
- the problem.
-
2011-04-19 Don Porter <dgp@users.sourceforge.net>
* generic/tclConfig.c: Reduce internals access in the implementation
@@ -549,12 +1073,16 @@
* generic/tclBasic.c: a Tcl 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): Tidied up the memory management
- a bit to try to ensure that the dynamic and static cases don't get
- confused while still promoting caching where possible. Added a panic
- to trap problems in the case where an extension is misusing the API.
+ * 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>
@@ -572,9275 +1100,5883 @@
* 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>
- * generic/tclStringObj.c: [Bug 3285472]: Repair corruption in
- * tests/string.test: [string reverse] when string rep invalidation
- failed to also reset the bytes allocated for string rep to zero.
+ * 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-06 Miguel Sofer <msofer@users.sf.net>
+2011-04-12 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c (TclCompEvalObj): Earlier return if Tip280
- gymnastics not needed.
-
-2011-04-05 Venkat Iyer <venkat@comit.com>
+ * generic/tclBasic.c: Fix for [Bug 2440625], kbk's patch
- * 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-11 Miguel Sofer <msofer@users.sf.net>
-2011-04-04 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c:
+ * tests/coroutine.test: [Bug 3282869]: Ensure that 'coroutine eval'
+ runs the initial command in the proper context.
- * README: Updated README files, repairing broken URLs and
- * macosx/README: removing other bits that were clearly wrong.
- * unix/README: Still could use more eyeballs on the detailed build
- * win/README: advice on various plaforms. [Bug 3202030]
+2011-04-11 Jan Nijtmans <nijtmans@users.sf.net>
-2011-04-02 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tcl.h: Fix for [Bug 3281728]: Tcl sources from 2011-04-06
+ * unix/tcl.m4: do not build on GCC9 (RH9)
+ * unix/configure:
- * 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-08 Jan Nijtmans <nijtmans@users.sf.net>
-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-21 Jan Nijtmans <nijtmans@users.sf.net>
+ * win/tclWinPort.h: Fix for [Bug 3280043]: win2k: unresolved DLL
+ * win/configure.in: imports.
+ * win/configure
- * 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-04-06 Miguel Sofer <msofer@users.sf.net>
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclExecute.c (TclCompileObj): Earlier return if Tip280
+ gymnastics not needed.
- * generic/tclCkalloc.c: [Bug #3197864]: pointer truncation on Win64
- TCL_MEM_DEBUG builds
+ * generic/tclExecute.c: Fix for [Bug 3274728]: making *catchTop an
+ unsigned long.
-2011-03-16 Don Porter <dgp@users.sourceforge.net>
+2011-04-06 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Some rewrites to eliminate calls to
- * generic/tclParse.c: isspace() and their /* INTL */ risk.
- * generic/tclProc.c:
+ * 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-03-16 Jan Nijtmans <nijtmans@users.sf.net>
+2011-04-06 Donal K. Fellows <dkf@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.
+ * 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-03-14 Kevin B. Kenny <kennykb@acm.org>
+2011-04-05 Venkat Iyer <venkat@comit.com>
- * 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/Africa/Casablanca: Update to Olson's tzdata2011e
* library/tzdata/America/Santiago:
- * library/tzdata/Europe/Istanbul:
- * library/tzdata/Pacific/Apia:
* library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Honolulu: tzdata2011d
-
-
- * unix/configure.in: [Bug 3205320]: stack space detection defeated by inlining
- * unix/configure: (autoconf-2.59)
-
-2011-03-09 Don Porter <dgp@users.sourceforge.net>
+ * library/tzdata/America/Metlakatla: (new)
+ * library/tzdata/America/North_Dakota/Beulah: (new)
+ * library/tzdata/America/Sitka: (new)
- * generic/tclNamesp.c: Tighten the detector of nested [namespace code]
- * tests/namespace.test: quoting that the quoted scripts function
- properly even in a namespace that contains a custom "namespace"
- command. [Bug 3202171]
+2011-04-04 Donal K. Fellows <dkf@users.sf.net>
- * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
+ * generic/tclOO.c, generic/tclOOBasic.c, generic/tclOODefineCmds.c
+ * generic/tclOOInfo.c, generic/tclOOMethod.c: More generation of
+ error codes (TclOO miscellany).
-2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclCmdAH.c, generic/tclCmdIL.c: More generation of error
+ codes (miscellaneous commands mostly already handled).
- * generic/tclBasic.c: Fix gcc warnings: variable set but not used
+2011-04-04 Don Porter <dgp@users.sourceforge.net>
-2011-03-08 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.
- * generic/tclInt.h: Remove TclMarkList() routine, an experimental
- * generic/tclUtil.c: dead-end from the 8.5 alpha days.
+2011-04-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclResult.c (ResetObjResult): Correct failure to clear
- invalid intrep. Thanks to Colin McDonald. [Bug 3202905]
+ * library/init.tcl (tcl::mathfunc::rmmadwiw): Disable by default to
+ make test suite work.
-2011-03-06 Don Porter <dgp@users.sourceforge.net>
+ * 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).
- * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
- * generic/tclCompile.c: with TclParseBackslash() where possible.
- * generic/tclParse.c:
- * generic/tclUtil.c:
+2011-04-04 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUtil.c (TclFindElement): Guard escape sequence scans
- to not overrun the string end. [Bug 3192636]
+ * 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-03-05 Don Porter <dgp@users.sourceforge.net>
+2011-04-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclParse.c (TclParseBackslash): Correct trunction checks in
- * tests/parse.test: \x and \u substitutions. [Bug 3200987]
+ * 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-01-26 Donal K. Fellows <dkf@users.sf.net>
+2011-04-02 Kevin B. Kenny <kennykb@acm.org>
- * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
- of subexpression info in Tcl_RegExpInfo structure.
+ * 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-01-25 Jan Nijtmans <nijtmans@users.sf.net>
+2011-04-02 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCkalloc.c: [Bug 3129448]: Possible over-allocation on
- * generic/tclHash.c: 64-bit platforms, part 2, backported
- * generic/tclProc.c: strcpy->memcpy change but not change in any
- struct.
+ * generic/tclInterp.c, generic/tclListObj.c, generic/tclLoad.c:
+ More generation of errorCodes ([interp], [lset], [load], [unload]).
-2011-01-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/tclEvent.c, generic/tclFileName.c: More generation of
+ errorCode information (default [bgerror] and [glob]).
- * generic/tclExecute.c: [Bug 3138178]: Backport of Miguel's 2010-09-22
- fix on 8.6 branch (decache stack info wherever ::errorInfo may be
- updated, for trace sanity).
+2011-04-01 Reinhard Max <max@suse.de>
-2011-01-19 Jan Nijtmans <nijtmans@users.sf.net>
+ * library/init.tcl: TIP#131 implementation.
- * tools/genStubs.tcl: Make sure to use CONST/VOID in stead of
- * generic/tclIntDecls.h: const/void when appropriate. This allows to
- * generic/tclIntPlatDecls.h:use const/void in the *.decls file always,
- * generic/tclTomMathDecls.h:genStubs will do the right thing.
+2011-03-31 Donal K. Fellows <dkf@users.sf.net>
-2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclGetDate.y, generic/tclDate.c (TclClockOldscanObjCmd):
+ More generation of errorCode information.
- * generic/tclBasic.c: Various mismatches between Tcl_Panic
- * generic/tclCompCmds.c: format string and its arguments,
- * generic/tclCompExpr.c: discovered thanks to [Bug 3159920]
- * generic/tclPreserve.c: (Backported)
- * generic/tclTest.c:
+2011-03-28 Donal K. Fellows <dkf@users.sf.net>
-2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclCmdMZ.c, generic/tclConfig.c, generic/tclUtil.c: More
+ generation of errorCode information, notably when lists are
+ mis-parsed.
- * win/tcl.m4: handle --enable-64bit=ia64 for gcc. BACKPORT.
- * win/configure: (autoconf-2.59)
- * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
- * 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
+ * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): Use the
+ error messages generated by the variable management code rather than
+ creating our own.
-2011-01-15 Kevin B. Kenny <kennykb@users.sf.net>
+2011-03-27 Miguel Sofer <msofer@users.sf.net>
- * doc/tclvars.n:
- * generic/tclStrToD.c:
- * generic/tclUtil.c (Tcl_PrintDouble):
- * tests/util.test (util-16.*): 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.
- [Bug 3157475]
+ * 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-01-13 Miguel Sofer <msofer@users.sf.net>
+2011-03-26 Donal K. Fellows <dkf@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. BACKPORT.
+ * generic/tclNamesp.c (Tcl_Export, Tcl_Import, DoImport): More
+ generation of errorCode information.
-2011-01-03 Jan Nijtmans <nijtmans@users.sf.net>
+ * 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.
- * tools/genStubs.tcl: Fix "make genstubs", which was broken
- since 2010-11-30, the TclDoubleDigits backport.
+2011-03-24 Don Porter <dgp@users.sourceforge.net>
-2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tcl.h (ckfree,etc.): Restored C++ usability to the memory
+ allocation and free macros.
- * generic/tclHash.c: [Bug 3007895]: Tcl_(Find|Create)HashEntry
- stub entries can never be called. They still cannot be called
- (no change in functionality), but at least they now do
- exactly the same as the Tcl_(Find|Create)HashEntry macro's,
- so the confusion addressed in this Bug report is gone.
- (Backported from Tcl 8.6)
+2011-03-24 Donal K. Fellows <dkf@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.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.
- * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
+2011-03-23 Miguel Sofer <msofer@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclObj.c: Exploit HAVE_FAST_TSD for the deletion context in
+ TclFreeObj()
- * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
+2011-03-22 Miguel Sofer <msofer@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclThreadAlloc.c: Simpler initialization of Cache under
+ HAVE_FAST_TSD, from mig-alloc-reform.
- * unix/Makefile.in: Use 'rpmbuild', not 'rpm' [Bug 2537626].
+2011-03-21 Jan Nijtmans <nijtmans@users.sf.net>
-2010-12-13 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
- * unix/tcl.m4: Cross-compile support for Win and UNIX (backported)
- * unix/configure: (autoconf-2.59)
- * win/tcl.m4:
- * win/configure.in:
- * win/configure: (autoconf-2.59)
+2011-03-21 Miguel Sofer <msofer@users.sf.net>
-2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclCkAlloc.c:
+ * generic/tclInt.h: Remove one level of allocator indirection in
+ non-memdebug builds, imported from mig-alloc-reform.
- * unix/tcl.m4: Better building on OpenBSD.
- * unix/configure: (autoconf-2.59)
+2011-03-20 Miguel Sofer <msofer@users.sf.net>
-2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.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.
- * generic/tclIO.c: [backport] Make sure [fcopy -size ... -command ...] always
- * tests/io.test: calls the callback asynchronously, even for size zero.
+2011-03-17 Donal K. Fellows <dkf@users.sf.net>
-2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclCompExpr.c (ParseExpr): Generate errorCode information on
+ failure to parse expressions.
- * 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.
+2011-03-17 Jan Nijtmans <nijtmans@users.sf.net>
-2010-12-01 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclMain.c: [Patch 3124683]: Reorganize the platform-specific
+ stuff in (tcl|tk)Main.c.
- * generic/tclStrToD.c (SetPrecisionLimits, TclDoubleDigits):
- 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.
- [Bug 3124675]
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-2010-11-30 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCkalloc.c: [Bug 3197864]: Pointer truncation on Win64
+ TCL_MEM_DEBUG builds.
- * generic/tclInt.decls: Backport of Kevin B. Kenny's work on
- * generic/tclInt.h: the Tcl Head, with help from Jeff Hobbs.
- * 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.
+2011-03-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTomMathDecls.h: Regenerated.
+ * generic/tclBasic.c: Some rewrites to eliminate calls to
+ * generic/tclParse.c: isspace() and their /* INTL */ risk.
+ * generic/tclProc.c:
-2010-11-30 Jeff Hobbs <jeffh@ActiveState.com>
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
- * 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).
+ * 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.
-2010-11-23 Andreas Kupries <andreask@activestate.com>
+2011-03-14 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclVar.c (VarHashInvalidateEntry): Removed obsolete
- patch for AIX defining this macro as function. This is not
- necessary anymore. See ChangeLog entry 2010-07-28 (Bug 3037525)
- for the actual bug and fix the patch was a workaround for.
+ * 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
-2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
+ * 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*'.
- * generic/tclInterp.c: fix gcc warning: passing argument 3 of
- 'Tcl_GetIndexFromObj' discards qualifiers from pointer target type
- * generic/tclWinInit.c: fix gcc warning: dereferencing pointer
- 'oemId' does break strict-aliasing rules
- * win/tclWin32Dll.c: fix gcc warnings: unused variable 'registration'
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/configure.in: Allow cross-compilation by default. (backported)
- * win/tcl.m4: Use -pipe for gcc on win32 (backported)
- * win/configure: (regenerated)
+2011-03-13 Miguel Sofer <msofer@users.sf.net>
-2010-11-18 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclExecute.c: remove TEBCreturn()
- * doc/file.n: [Bug 3111298]: Typofix.
+2011-03-12 Donal K. Fellows <dkf@users.sf.net>
-2010-11-16 Jan Nijtmans <nijtmans@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).
- * generic/tclPlatDecls.h: [Bug 3110161]: Extensions using TCHAR don't
- compile on VS2005 SP1
+2011-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-2010-11-15 Andreas Kupries <andreask@activestate.com>
+ * win/tclWinFile.c: [Bug 3185609]: File normalization corner case
+ of ... broken with -DUNICODE
- * doc/interp.n: [Bug 3081184]: TIP #378 backport.
- * 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:
+2011-03-11 Donal K. Fellows <dkf@users.sf.net>
-2010-11-03 Kevin B. Kenny <kennykb@acm.org>
+ * tests/unixInit.test: Make better use of tcltest2.
- * generic/tclCompCmds.c (TclCompileCatchCmd):
- * tests/compile.test (compile-3.6): [Bug 3098302]: 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.
+2011-03-10 Donal K. Fellows <dkf@users.sf.net>
-2010-11-01 Stuart Cassoff <stwo@users.sourceforge.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/safe.tcl: Improved handling of non-standard module
- * tests/safe.test: path lists, empty path lists in particular.
+ * 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.
-2010-11-01 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * library/tzdata/Asia/Hong_Kong:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
+2011-03-09 Donal K. Fellows <dkf@users.sf.net>
-2010-10-23 Jan Nijtmans <nijtmans@users.sf.net>
+ * tests/incr.test: Update more of the test suite to use Tcltest 2.
- * tools/uniParse.tcl: [Bug 3085863]: tclUniData 9 years old
- * tools/uniClass.tcl: Upgrade everything to Unicode 6.0, except
- * tests/utf.test: non-BMP characters > 0xFFFF
- * generic/tclUniData.c: (re-generated)
- * generic/regc_locale.c:(re-generated)
- * generic/regcomp.c: fix comment
- * win/rules.vc Update for VS10
+2011-03-09 Don Porter <dgp@users.sourceforge.net>
-2010-10-09 Miguel Sofer <msofer@users.sf.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.
- * generic/tclExecute.c: fix overallocation of exec stack in TEBC
- (mixing numwords and numbytes)
+ * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
-2010-10-01 Jeff Hobbs <jeffh@ActiveState.com>
+2011-03-09 Donal K. Fellows <dkf@users.sf.net>
- * 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
- * generic/tclInt.decls: objPtr as well as FILE* as output.
- * generic/tclIntDecls.h:
+ * tests/dstring.test, tests/init.test, tests/link.test: Update more of
+ the test suite to use Tcltest 2.
-2010-09-24 Andreas Kupries <andreask@activestate.com>
+2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * 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
-2010-09-23 Don Porter <dgp@users.sourceforge.net>
+2011-03-08 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.
+ * generic/tclInt.h: Remove TclMarkList() routine, an experimental
+ * generic/tclUtil.c: dead-end from the 8.5 alpha days.
-2010-09-19 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclResult.c (ResetObjResult): [Bug 3202905]: Correct failure
+ to clear invalid intrep. Thanks to Colin McDonald.
- * doc/file.n (file readlink): [Bug 3070580]: Typofix.
+2011-03-08 Donal K. Fellows <dkf@users.sf.net>
-2010-09-10 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.
- * 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.
+2011-03-06 Don Porter <dgp@users.sourceforge.net>
-2010-09-08 Andreas Kupries <andreask@activestate.com>
+ * 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:
- *** 8.5.9 TAGGED FOR RELEASE ***
+ * generic/tclUtil.c (TclFindElement): [Bug 3192636]: Guard escape
+ sequence scans to not overrun the string end.
- * 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.
+2011-03-05 Don Porter <dgp@users.sourceforge.net>
-2010-09-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclParse.c (TclParseBackslash): [Bug 3200987]: Correct
+ * tests/parse.test: trunction checks in \x and \u substitutions.
- * changes: Update for 8.5.9 release.
+2011-03-05 Miguel Sofer <msofer@users.sf.net>
- * win/tclWin32Dll.c: #ifdef protections to permit builds with
- * win/tclWinChan.c: mingw on amd64 systems. Thanks to "mescalinum"
- * win/tclWinFCmd.c: for reporting and testing.
+ * 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.
-2010-09-06 Stuart Cassoff <stwo@users.sourceforge.net>
+2011-03-05 Kevin B. Kenny <kennykb@acm.org>
- * 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. Backported from HEAD (2010-02-16).
- * unix/configure: autoconf-2.59
+ * 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.
-2010-09-02 Andreas Kupries <andreask@activestate.com>
+2011-03-05 Miguel Sofer <msofer@users.sf.net>
- * doc/glob.n: Fixed documentation ambiguity regarding the handling
- of -join.
+ * generic/tclExecute.c: cleaner mem management for TEBCdata
- * 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.
+ * 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.
-2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * generic/tclBasic.c: Renamed struct TEOV_callback to
+ * generic/tclCompExpr.c: the more descriptive NRE_callback.
+ * generic/tclCompile.c:
+ * generic/tclExecute.c:
+ * generic/tclInt.decls:
+ * generic/tclInt.h:
+ * generic/tclIntDecls.h:
+ * generic/tclTest.c:
- * 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,
+2011-03-04 Donal K. Fellows <dkf@users.sf.net>
-2010-09-01 Don Porter <dgp@users.sourceforge.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.
- * changes: Update for 8.5.9 release.
+2011-03-01 Miguel Sofer <msofer@users.sf.net>
-2010-09-01 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c (TclNREvalObjv): missing a variable
+ declaration in commented out non-optimised code, left for ref in
+ checkin [b97b771b6d]
- * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff to
- * generic/tclVar.c: make the behaviour of lappend in bytecompiled
- * tests/append.test: mode consistent with direct-eval and 'append'
- * tests/appendComp.test: generally. Added tests (append*-9.*)
- showing the difference.
- ***POTENTIAL INCOMPATIBILITY***
+2011-03-03 Don Porter <dgp@users.sourceforge.net>
-2010-09-01 Donal K. Fellows <dkf@users.sf.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.
- * tools/tcltk-man2html.tcl: Improve handling of cross-links for
- options between Ttk manual pages.
+2011-03-01 Miguel Sofer <msofer@users.sf.net>
- * doc/Tcl.n: Avoid nroff hazards when generating documentation.
+ * generic/tclCompCmdsSZ.c (TclCompileThrowCmd, TclCompileUnsetCmd):
+ fix leaks
-2010-08-31 Andreas Kupries <andreask@activestate.com>
+ * 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:
- * win/tcl.m4: Applied patch by Jeff fixing issues with the
- manifest handling on Win64.
- * win/configure: Regenerated.
+ * generic/tclExecute.c (ExprObjCallback): Fix object leak
-2010-08-29 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclExecute.c (TEBCresume): Store local var array and
+ constants in automatic vars to reduce indirection, slight perf
+ increase
- * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
- manpage to refer to (correct) existing subcommand.
+ * generic/tclOOCall.c (TclOODeleteContext): Added missing '*' so
+ that trunk compiles.
-2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c (TclNRRunCallbacks): [Patch 3168229]: Don't do
+ the trampoline dance for commands that do not have an nreProc.
- * 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.
+2011-03-01 Donal K. Fellows <dkf@users.sf.net>
- * 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+.
+ * 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.
-2010-08-24 Don Porter <dgp@users.sourceforge.net>
+2011-01-26 Donal K. Fellows <dkf@users.sf.net>
- * changes: Update for 8.5.9 release.
+ * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
+ of subexpression info in Tcl_RegExpInfo structure.
-2010-08-23 Kevin B. Kenny <kennykb@acm.org>
+2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
+ * 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 messages
+ * win/tclWinConsole.c e.g. by using full 64-bits for socket fd's
+ * win/tclWinDde.c
+ * win/tclWinPipe.c
+ * win/tclWinReg.c
+ * win/tclWinSerial.c
+ * win/tclWinSock.c
+ * win/tclWinThrd.c
-2010-08-19 Donal K. Fellows <dkf@users.sf.net>
+2011-01-19 Jan Nijtmans <nijtmans@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.
+ * tools/genStubs.tcl: [Enh #3159920]: Tcl_ObjPrintf() crashes with
+ * generic/tcl.decls bad format specifier.
+ * generic/tcl.h
+ * generic/tclDecls.h
-2010-08-15 Donal K. Fellows <dkf@users.sf.net>
+2011-01-18 Donal K. Fellows <dkf@users.sf.net>3159920
- * 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.
+ * 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!)
-2010-08-12 Donal K. Fellows <dkf@users.sf.net>
+2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): [Bug 2826551, Patch 2948425]:
- Backport of updates to make handling of RE line anchors correct.
+ * 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
-2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * 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
-2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-15 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
- null-terminated, so account for that.
+ * 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.
-2010-08-05 Don Porter <dgp@users.sourceforge.net>
+2011-01-07 Kevin B. Kenny <kennykb@acm.org>
- * changes: Update for 8.5.9 release.
+ * 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.)
-2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-05 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixFCmd.c: Adjust license header as per
- ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+ * 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.
- * license.terms: Fix DFARs note for number-adjusted rights clause
+2011-01-01 Donal K. Fellows <dkf@users.sf.net>
- * 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.
- ***POTENTIAL INCOMPATIBILITY***
+ * 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.
- * win/Makefile.in (%.${OBJEXT}): better implicit rules support
+ * 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-08-04 Don Porter <dgp@users.sourceforge.net>
+2010-12-31 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h: Bump to 8.5.9 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ * 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.
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Update for 8.5.9 release.
+ * unix/dltest/*.c: [Bug 3148192]: Fix broken [load] tests by ensuring
+ that the affected files are never compiled with -DSTATIC_BUILD.
-2010-08-04 Andreas Kupries <andreask@activestate.com>
+2010-12-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting
- * tests/ioCmd.test: in InvokeTclMethod and callers.
+ * 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-08-03 Andreas Kupries <andreask@activestate.com>
+2010-12-26 Donal K. Fellows <dkf@users.sf.net>
- * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
- the local hashtable deletion crash and fix.
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix crash when multiple -index
+ options are used. Simplified memory handling logic.
- * tests/info.test (info-39.1, test_info_frame): Changed absolute to
- relative frame adressing to handle difference between testing with
- -singleproc 1 vs. the default -singleproc 0. Plus comment fix. The
- test and issue are not relevant to the trunk, forward porting is not
- required.
+2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-2010-08-03 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
+ tdm64-1: completed for all environments.
- * changes: Update for 8.5.9 release.
+2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-2010-08-02 Kevin B. Kenny <kennykb@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:
- * 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-12-19 Jan Nijtmans <nijtmans@users.sf.net>
-2010-07-28 Miguel Sofer <msofer@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.
- * generic/tclVar.c: [Bug 3037525]: lose fickle optimisation in
- TclDeleteVars (used for runtime-created locals) that caused crashes.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-25 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
- * generic/tclInt.h: [Bug 3030870]: Make itcl 3.x built with pre-8.6
- * generic/tclBasic.c: work in 8.6 revert tclInt.h to what it was
- before, and relax the relation between Tcl_CallFrame and CallFrame.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-17 Jan Nijtmans <nijtmans@users.sf.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.
- * generic/tcl.h: [Bug 3030870]: Make itcl 3.x built with pre-8.6
- * generic/tclInt.h: work in 8.6
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-02 Donal K. Fellows <dkf@users.sf.net>
+ * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
- * 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-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/Makefile.in: [Bug 2537626]: Use 'rpmbuild', not 'rpm'.
- * generic/tclIntDecls.h: [Bug 803489]: Tcl_FindNamespace problem in
- the Stubs table.
+2010-12-16 Jan Nijtmans <nijtmans@users.sf.net>
-2010-07-01 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclPanic.c: [Patch 3124554]: Move WishPanic from Tk to Tcl
+ * win/tclWinFile.c: Better communication with debugger, if present.
- * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
- rendering of the exclusive-or operator.
+2010-12-15 Kevin B. Kenny <kennykb@acm.org>
-2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
+ [dogeen-assembler-branch]
- * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have
- conflicting definitions.
+ * 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-06-22 Donal K. Fellows <dkf@users.sf.net>
+2010-12-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
- args message.
+ * generic/tclPanic.c: Restore abort() as it was before.
+ * win/tclWinFile.c: [Patch 3124554]: Use ExitProcess() here, like
+ in wish.
-2010-06-18 Donal K. Fellows <dkf@users.sf.net>
+2010-12-14 Jan Nijtmans <nijtmans@users.sf.net>
- * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
- default list of extensions that we can execute interactively.
+ * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build
+ on GCC 3.
-2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-14 Reinhard Max <max@suse.de>
- * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format
- * library/msgs/he.msg: with locale of he_IL
+ * 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-06-09 Andreas Kupries <andreask@activestate.com>
+2010-12-13 Jan Nijtmans <nijtmans@users.sf.net>
- * 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:
+ * 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-05-26 Donal K. Fellows <dkf@users.sf.net>
+2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net>
- * doc/socket.n: [Bug 3007442]: Server sockets never took a host
- argument, so the list of options must precede the port argument.
+ * unix/tcl.m4: Better building on OpenBSD.
+ * unix/configure: (autoconf-2.59)
-2010-05-25 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
- * win/tclWinPort.h: limits.h
+ * 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-05-21 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tools/installData.tcl: Make sure that copyDir only receives
- normalized paths. Backported from trunk.
- * generic/tclPlatDecls.h: Fix <tchar.h> inclusion for CYGWIN.
- Backported from trunk (although for trunk this was moved to
- tclWinPort.h)
- * generic/tclPathObj.c: Fix Tcl_SetStringObj usage for CYGWIN. This
- function can only be used with unshared objects. This causes a crash
- on CYGWIN. (backported from trunk)
- * generic/tclFileName.c: Don't declare cygwin_conv_to_win32_path here
- * win/tclWinChan.c: Fix various minor other gcc warnings, like
- * win/tclWinConsole.c: signed<->unsigned mismatch. Backported from
- * win/tclWinDde.c: trunk.
- * win/tclWinNotify.c:
- * generic/tclStrToD.c: [Bug 3005233]: fix for build on OpenBSD vax
+ * generic/tclIO.c: Make sure [fcopy -size ... -command ...] always
+ * tests/io.test: calls the callback asynchronously, even for size
+ zero.
-2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c: Backport of fix for [Bug 3004007], EIAS
- * tests/dict.test: violation in list-dict conversions.
+ * 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-05-07 Andreas Kupries <andreask@activestate.com>
+2010-12-09 Donal K. Fellows <dkf@users.sf.net>
- * 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:
+ * tests/fCmd.test: Improve sanity of constraints now that we don't
+ support anything before Windows 2000.
-2010-04-30 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
- panic when the generated string representation would grow beyond Tcl's
- size limits.
+ * 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-04-29 Andreas Kupries <andreask@activestate.com>
+2010-12-07 Donal K. Fellows <dkf@users.sf.net>
- * 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:
+ * 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.
-2010-04-29 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * 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-19 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-06 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Patch 2986105]: Conditionally defining
- * win/tclWinFile.c: strcasecmp/strncasecmp
+ * generic/tclBinary.c: [Bug 3129448]: Possible over-allocation on
+ * generic/tclCkalloc.c: 64-bit platforms.
+ * generic/tclTrace.c
-2010-04-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/unset.n: [Bug 2988940]: 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
- * unix/Makefile.in: files matching libc* before accepting it as
- * win/Makefile.in: base 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-12-05 Jan Nijtmans <nijtmans@users.sf.net>
-2010-04-03 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * unix/tcl.m4: [Patch 3116490]: Cross-compile support for unix
+ * unix/configure: (autoconf-2.59)
- * generic/tclStringObj.c: (SetStringFromAny): avoid trampling
- over the tclEmptyStringRep as it is thread-shared.
+2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclThreadStorage.c (ThreadStorageGetHashTable):
- avoid accessing shared table index w/o mutex protection
- if VALGRIND defined on compilation time. This rules out
- helgrind complains about potential race-conditions at
- that place.
+ * 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.
- Thanks to Gustaf Neumann for the (hard) work.
+2010-12-03 Jan Nijtmans <nijtmans@users.sf.net>
-2010-03-31 Donal K. Fellows <dkf@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).
- * doc/package.n: [Bug 2980210]: Document the arguments taken by
- the [package present] command correctly.
+2010-12-01 Kevin B. Kenny <kennykb@acm.org>
-2010-03-30 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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-12-01 Jan Nijtmans <nijtmans@users.sf.net>
-2010-03-30 Don Porter <dgp@users.sourceforge.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.
- * 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-11-30 Jeff Hobbs <jeffh@ActiveState.com>
-2010-03-29 Don Porter <dgp@users.sourceforge.net>
+ * 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).
- * generic/tclStringObj.c: Fix array overrun in test format-1.12
- caught by valgrind testing.
+2010-11-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2010-03-25 Donal K. Fellows <dkf@users.sf.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.
- * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
- number of arguments to fstatfs() call.
+2010-11-29 Kevin B. Kenny <kennykb@acm.org>
-2010-03-24 Don Porter <dgp@users.sourceforge.net>
+ * 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/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so
- * tests/result.test: that it rejects illegal non-list values.
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
+ * generic/tclTomMathDecls.h: Regenerated.
-2010-03-20 Donal K. Fellows <dkf@users.sf.net>
+2010-11-24 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIO.c (CopyData): Allow the total number of bytes copied
- by [fcopy] to exceed 2GB. Can happen when no -size parameter given.
+ * tests/chanio.test, tests/iogt.test, tests/ioTrans.test: Convert more
+ tests to tcltest2 and factor them to be easier to understand.
-2010-03-18 Don Porter <dgp@users.sourceforge.net>
+2010-11-20 Donal K. Fellows <dkf@users.sf.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.
+ * tests/chanio.test: Converted many tests to tcltest2 by marking the
+ setup and cleanup parts as such.
-2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
- * win/makefile.vc: Fix [Bug 2967340]: Static build failure
- * win/.cvsignore
+ * win/tclWin32Dll.c: Fix gcc warnings: unused variable 'registration'
+ * win/tclWinChan.c:
+ * win/tclWinFCmd.c:
-2010-03-09 Andreas Kupries <andreask@activestate.com>
+2010-11-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux
- * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging
- * tests/ioCmd.test: and fixing the problem. It is the write-side
- equivalent to the bug fixed 2009-08-06.
+ * 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-03-09 Don Porter <dgp@users.sourceforge.net>
+2010-11-18 Donal K. Fellows <dkf@users.sf.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.
+ * doc/file.n: [Bug 3111298]: Typofix.
-2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * tests/oo.test: [Bug 3111059]: Added testing that neatly trapped this
+ issue.
- * unix/tclUnixChan.c: [backported] Refrain from a possibly lengthy
- reverse-DNS lookup on 0.0.0.0 when calling [fconfigure -sockname]
- on an universally-bound (default) server socket.
+2010-11-18 Miguel Sofer <msofer@users.sf.net>
-2010-02-27 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclNamesp.c: [Bug 3111059]: Fix leak due to bad looping
+ construct.
- * 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).
+2010-11-17 Jan Nijtmans <nijtmans@users.sf.net>
-2010-02-21 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)
- * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0
- * tests/expr.test
+2010-11-16 Jan Nijtmans <nijtmans@users.sf.net>
-2010-02-19 Stuart Cassoff <stwo@users.sourceforge.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
- * tcl.m4: Correct compiler/linker flags for threaded builds on OpenBSD
- * configure: (regenerated).
+2010-11-15 Andreas Kupries <andreask@activestate.com>
-2010-02-19 Donal K. Fellows <dkf@users.sf.net>
+ * 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:
- * 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-11-10 Andreas Kupries <andreask@activestate.com>
-2010-02-11 Donal K. Fellows <dkf@users.sf.net>
+ * changes: Updates for 8.6b2 release.
- * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
- we do not try to put a NULL pipeline channel into binary mode.
+2010-11-09 Donal K. Fellows <dkf@users.sf.net>
-2010-02-07 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclOOMethod.c (ProcedureMethodVarResolver): [Bug 3105999]:
+ * tests/oo.test: Make sure that resolver structures that are
+ only temporarily needed get squelched.
- * tools/genStubs.tcl Backport various formatting (spacing)
- * generic/tcl*.decls changes from HEAD, so diffing
- * generic/tcl*Decls.h between 8.5.x and 8.6 shows the
- * generic/tclStubInit.c real structural differences again.
- (any signature change not backported!)
+2010-11-05 Jan Nijtmans <nijtmans@users.sf.net>
-2010-02-03 Donal K. Fellows <dkf@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).
- * generic/tclVar.c (Tcl_ArrayObjCmd): More corrections for the 'unset'
- subcommand.
+2010-11-05 Kevin B. Kenny <kennykb@acm.org>
-2010-02-02 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclCompile.c: [Bug 2933089]: A literal sharing problem with
- * generic/tclCompile.h: 'info frame' affects not only 8.6 but 8.5 as
- * generic/tclExecute.h: well. Backported the fix done in 8.6, without
- * tests/info.test: changes. New testcase info-39.1.
+2010-11-04 Jan Nijtmans <nijtmans@users.sf.net>
-2010-02-02 Donal K. Fellows <dkf@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
- * 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.
+2010-11-04 Reinhard Max <max@suse.de>
-2010-02-01 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * 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.
+ Rework some of the tests to speed them up by avoiding (supposedly)
+ unneeded [after]s.
-2010-02-01 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-04 Stuart Cassoff <stwo@users.sourceforge.net>
- * generic/tclInt.decls: Various CYGWIN-related fixes
- * generic/tclInt.h: backported from HEAD. Still
- * generic/tclIntPlatDecls.h: configure script not modified,
- * generic/tclPort.h: so CYGWIN build is still
- * generic/tclTest.c: disabled. Reason: although the
- * win/cat.c: build succeeds with those changes,
- * win/tclWinDde.c: many tests still fail.
- * win/tclWinError.c:
- * win/tclWinFile.c:
- * win/tclWinPipe.c:
- * win/tclWinPort.h:
- * win/tclWinReg.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinTest.c:
- * win/tclWinThrd.c:
+ * unix/Makefile.in: [Patch 3101127]: Installer Improvements.
+ * unix/install-sh:
-2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h: Use correct TCL_LL_MODIFIER for CYGWIN.
- Formatting (all backported from HEAD)
- * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use
- "small".
- * generic/tclTest.c: Fix gcc 4.4 warning: ignoring return value of
- * unix/tclUnixPipe.c: 'write'
- * unix/tclUnixNotify.c:
+ * tests/error.test (error-19.13): Another variation on testing for
+ issues in [try] compilation.
-2010-01-19 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
- update] are doing with variables.
+2010-11-04 Don Porter <dgp@users.sourceforge.net>
-2010-01-18 Andreas Kupries <andreask@activestate.com>
+ * changes: Updates for 8.6b2 release. (Thanks Andreas Kupries)
- * generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize
- the EventScriptRecord (esPtr) fully before handing it to
- Tcl_CreateChannelHandler for registration. Otherwise a reflected
- channel calling 'chan postevent' (== Tcl_NotifyChannel) in its
- 'watchProc' will cause the function 'TclChannelEventScriptInvoker'
- to be run on an uninitialized structure.
-
-2010-01-18 Donal K. Fellows <dkf@users.sf.net>
+2010-11-03 Jan Nijtmans <nijtmans@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.
+ * win/tclWinFcmd.c: [FRQ 2965056]: Windows build with -DUNICODE
+ * win/tclWinFile.c: (more clean-ups for pre-win2000 stuff)
+ * win/tclWinReg.c:
-2010-01-06 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c: Warning: array subscript has type 'char'
- * generic/tclPkg.c:
- * libtommath/bn_mp_read_radix.c:
- * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type
- in conditional expression.
- * unix/tcl.m4: Add support for Haiku and CYGWIN dynamical loading
- * unix/configure: (regenerated)
- * unix/Makefile.in:
- * unix/.cvsignore:
- * tests/stack.test: Reduced minimum required C-stack size to 2034:
- CYGWIN has this stack size and the test runs fine!
- * generic/tclEnv.c: Fix environment tests under CYGWIN
- * generic/tclPort.h:
- * tests/env.test:
+ * 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-01-05 Don Porter <dgp@users.sourceforge.net>
+2010-11-03 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ * 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-01-03 Donal K. Fellows <dkf@users.sf.net>
+2010-11-01 Stuart Cassoff <stwo@users.sourceforge.net>
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
- for modern FreeBSD suggested by the FreeBSD porter.
+ * library/safe.tcl: Improved handling of non-standard module path
+ * tests/safe.test: lists, empty path lists in particular.
-2009-12-30 Donal K. Fellows <dkf@users.sf.net>
+2010-11-01 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ * library/tzdata/Asia/Hong_Kong:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
-2009-12-29 Donal K. Fellows <dkf@users.sf.net>
+2010-10-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
- the min() and max() functions are supported in safe interpreters.
+ * generic/tclTimer.c: [Bug 2905784]: Stop small [after]s from
+ wasting CPU while keeping accuracy.
-2009-12-28 Donal K. Fellows <dkf@users.sf.net>
+2010-10-28 Kevin B. Kenny <kennykb@acm.org>
- * unix/configure.in: [Bug 942170]: Detect the st_blocks field of
- * generic/tclCmdAH.c (StoreStatData): 'struct stat' correctly.
- * generic/tclIOUtil.c (Tcl_Stat, Tcl_FSStat):
- * generic/tclTest.c (PretendTclpStat):
+ [dogeen-assembler-branch]
+ * generic/tclAssembly.c:
+ * tests/assembly.test (assemble-31.*): Added jump tables.
- * 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.
+2010-10-28 Don Porter <dgp@users.sourceforge.net>
-2009-12-27 Donal K. Fellows <dkf@users.sf.net>
+ * tests/http.test: [Bug 3097490]: Make http-4.15 pass in
+ isolation.
- * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
- not be quite so ancient.
+ * unix/tclUnixSock.c: [Bug 3093120]: Prevent calls of
+ freeaddrinfo(NULL) which can crash some
+ systems. Thanks Larry Virden.
-2009-12-23 Donal K. Fellows <dkf@users.sf.net>
+2010-10-26 Reinhard Max <max@suse.de>
- * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
- information about paths from leaking through [info script] and [info
- nameofexecutable].
+ * Changelog.2008: Split off from Changelog.
+ * generic/tclIOSock.c (TclCreateSocketAddress): The interp != NULL
+ check is needed for ::tcl::unsupported::socketAF as well.
-2009-12-16 Donal K. Fellows <dkf@users.sf.net>
+2010-10-26 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.
+ * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp is
+ * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation).
- * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
- to the list manpage when generating HTML.
+2010-10-26 Reinhard Max <max@suse.de>
- * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform
- tests that are not needed and which don't work in safe interpreters.
+ * 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.
-2009-12-12 Donal K. Fellows <dkf@users.sf.net>
+2010-10-24 Kevin B. Kenny <kennykb@acm.org>
- * 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!
+ [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.
-2009-12-10 Andreas Kupries <andreask@activestate.com>
+2010-10-23 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ [dogeen-assembler-branch]
+ * generic/tclAssembly.h (removed):
+ Removed file that was included in only one
+ source file.
+ * generictclAssembly.c: Inlined tclAssembly.h.
-2009-12-09 Andreas Kupries <andreask@activestate.com>
+2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * library/safe.tcl: Backport of the streamlined safe base from
- * tests/safe.test: head to the 8.5 branch (See head changelog entries
- 2009-11-05, 2009-11-06, 2009-12-03).
+ * 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:
-2009-12-07 Don Porter <dgp@users.sourceforge.net>
+2010-10-20 Donal K. Fellows <dkf@users.sf.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.
+ * 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.
-2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
+2010-10-19 Donal K. Fellows <dkf@users.sf.net>
- * tools/genStubs.tcl: Add support for win32 CALLBACK functions (needed
- for Tk bugfix).
+ * 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.
-2009-11-30 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
- mention that it is using list syntax.
+ * tests/http11.test (check_crc): Use a simpler way to express the
+ functionality of this procedure.
-2009-11-27 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * doc/BoolObj.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/ObjectType.3, doc/PkgRequire.3:
- * doc/SetChanErr.3, doc/SetResult.3: [Patch 2903921]: Many small
- spelling fixes from Larry Virden.
+2010-10-18 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-25 Stuart Cassoff <stwo@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
- * 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.
+2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * doc/info.n: Document [info errorstack] faithfully.
- * generic/tclEncoding.c: Fix [Bug 2891556] and improve test to detect
- * tests/decoding.test: similar manifestations in the future.
-
-2009-11-12 Don Porter <dgp@users.sourceforge.net>
+2010-10-16 Donal K. Fellows <dkf@users.sf.net>
- *** 8.5.8 TAGGED FOR RELEASE ***
+ * 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.
- * changes: Update for 8.5.8 release.
+2010-10-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclClock.c (TclClockInit): Do not create [clock] support
- commands in safe interps.
+ * 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)
- * tests/io.test: New test io-53.11 to test for [Bug 2895565].
+2010-10-13 Don Porter <dgp@users.sourceforge.net>
-2009-11-12 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompile.c: Alternative fix for [Bugs 467523,983660] where
+ * generic/tclExecute.c: sharing of empty scripts is allowed again.
- * generic/tclIO.c (CopyData): [Bug 2895565]: Dropped bogosity which
- used the number of _written_ bytes or character to update the counters
- for the read bytes/characters. See last entry for the test case.
+2010-10-13 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-11 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * win/tclWinThrd.h: (removed) because it is just empty en used nowhere
+ * win/tcl.dsp
- * tests/fCmd.test: Fixed a number of issues for Vista and Win7
- * tests/registry.test: that are due to restricted permissions.
- * tests/winFCmd.test:
+2010-10-12 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-11 Don Porter <dgp@users.sourceforge.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
- * library/http/http.tcl: [Bug 2891171]: Update the URL syntax
- check to RFC 3986 compliance on the subject of non-encoded question
- mark characters.
-
- * library/http/pkgIndex.tcl: Bump to http 2.7.5 to avoid any
- * unix/Makefile.in: confusion with snapshot "releases"
- * win/Makefile.in: that might be in ActiveTcl, etc.
+2010-10-12 Reinhard Max <max@suse.de>
-2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * unix/tclUnixSock.c (CreateClientSocket): [Bug 3084338]: Fix a
+ memleak and refactor the calls to freeaddrinfo().
- * generic/tclIO.c: Backported fix for [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.
+2010-10-11 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-10 Don Porter <dgp@users.sourceforge.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
- * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT
- evaluation.
+2010-10-09 Miguel Sofer <msofer@users.sf.net>
- * generic/tclObj.c: Plug memory leak in TclContinuationsEnter().
- [Bug 2895323]
+ * generic/tclExecute.c: Fix overallocation of exec stack in TEBC (due
+ to mixing numwords and numbytes)
-2009-11-09 Stuart Cassoff <stwo@users.sf.net>
+2010-10-08 Jan Nijtmans <nijtmans@users.sf.net>
- * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
+ * generic/tclIOSock.c: On Windows, use gai_strerrorA
-2009-11-09 Don Porter <dgp@users.sourceforge.net>
+2010-10-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c (TclEvalObjEx): Plug memory leak in
- TCL_EVAL_DIRECT evaluation.
+ * tests/winPipe.test: Test hygiene with makeFile and removeFile.
- * tests/info.test: Resolve ambiguous resolution of variable "res".
+ * generic/tclCompile.c: [Bug 3081065]: Prevent writing to the intrep
+ * tests/subst.test: fields of a freed Tcl_Obj.
-2009-11-03 Don Porter <dgp@users.sourceforge.net>
+2010-10-06 Kevin B. Kenny <kennykb@acm.org>
- * generic/tcl.h: Bump to 8.5.8 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ [dogeen-assembler-branch]
- * unix/configure: autoconf-2.59
- * win/configure:
+ * generic/tclAssembly.c:
+ * generic/tclAssembly.h:
+ * tests/assemble.test: Added catches. Still needs a lot of testing.
- * changes: Update for 8.5.8 release.
+2010-10-02 Kevin B. Kenny <kennykb@acm.org>
-2009-11-03 Andreas Kupries <andreask@activestate.com>
+ [dogeen-assembler-branch]
- * library/safe.tcl (::safe::InterpSetConfig): [Bug 2854929]: Added
- code to recursively find deeper paths which may contain modules.
- Required to handle modules with names like 'platform::shell', which
- translate into 'platform/shell-X.tm', i.e arbitrarily deep
- subdirectories.
+ * generic/tclAssembly.c:
+ * generic/tclAssembly.h:
+ * tests/assemble.test: Added dictAppend, dictIncrImm, dictLappend,
+ dictSet, dictUnset, nop, regexp, nsupvar, upvar, and variable.
-2009-11-03 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.
+2010-10-02 Donal K. Fellows <dkf@users.sf.net>
-2009-11-03 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclExecute.c (TEBCresume): [Bug 3079830]: Added invalidation
+ of string representations of dictionaries in some cases.
- * tests/tcltest.test: Backport permissions fix for Win7.
+2010-10-01 Jeff Hobbs <jeffh@ActiveState.com>
-2009-10-31 Donal K. Fellows <dkf@users.sf.net>
+ * 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:
- * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
- the expected number of arguments when generating an error for round().
+2010-10-01 Donal K. Fellows <dkf@users.sf.net>
-2009-10-29 Don Porter <dgp@users.sourceforge.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.
- * generic/tcl.h: [Bug 2800740]: 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.
+2010-10-01 Kevin B. Kenny <kennykb@acm.org>
- ***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.
+ [dogeen-assembler-branch]
-2009-10-29 Kevin B. Kenny <kennykb@acm.org>
+ * tests/assemble.test:
+ * generic/tclAssemble.h:
+ * generic/tclAssemble.c: Added listIn, listNotIn, and dictGet.
- * 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.
+2010-09-30 Kevin B. Kenny <kennykb@acm.org>
-2009-10-28 Don Porter <dgp@users.sourceforge.net>
+ [dogeen-assembler-branch]
- * generic/tclLiteral.c: Backport fix for [Bug 2888044].
+ * tests/assemble.test: Added tryCvtToNumeric and several more list
+ * generic/tclAssemble.c: operations.
+ * generic/tclAssemble.h:
-2009-10-28 Kevin B. Kenny <kennykb@acm.org>
+2010-09-29 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).
+ [dogeen-assembler-branch]
-2009-10-27 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
- normalized path caused crashes.
+2010-09-29 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-27 Kevin B. Kenny <kennykb@acm.org>
+ * 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:
- * 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.)
+ * generic/tclVar.c: Use the macro HasLocalVars everywhere
-2009-10-24 Kevin B. Kenny <kennykb@acm.org>
+2010-09-26 Miguel Sofer <msofer@users.sf.net>
- * 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 regression.
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Asia/Karachi:
- New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.)
+ * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid code
+ duplication, let the runtime var resolver call the compiled var
+ resolver.
-2009-10-23 Andreas Kupries <andreask@activestate.com>
+2010-09-26 Kevin B. Kenny <kennykb@acm.org>
- * 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>.
+ [dogeen-assembler-branch]
-2009-10-21 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
- where SIGSEGV and SIGBUS are the same value.
+2010-09-25 Kevin B. Kenny <kennykb@acm.org>
-2009-10-19 Don Porter <dgp@users.sourceforge.net>
+ [dogeen-assembler-branch]
- * generic/tclIO.c: 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. [Patch 2107634]
- Thanks to Sean Morrison and Bob Parker for their roles in the fix.
+ * 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.
-2009-10-18 Joe Mistachkin <joe@mistachkin.com>
+2010-09-24 Jeff Hobbs <jeffh@ActiveState.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.
-
- * doc/memory.n: [Bug 988703]: Add mechanism for finding what Tcl_Objs
- * generic/tclCkalloc.c (MemoryCmd): are allocated when built for
- * generic/tclInt.decls: memory debugging. This was previously
- * generic/tclInt.h: backported from Tcl 8.6 with the corrections to
- * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): fix [Bug
- 2871908]. However, there were key elements missing. These changes make
- things consistent between branches.
+ * 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.
-2009-10-17 Donal K. Fellows <dkf@users.sf.net>
+2010-09-24 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (TclDeleteCompiledLocalVars, UnsetVarStruct)
- (TclDeleteNamespaceVars):
- * 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.
+ * 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.
-2009-10-08 Donal K. Fellows <dkf@users.sf.net>
+2010-09-23 Jan Nijtmans <nijtmans@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.
+ * generic/tclDecls.h: Make Tcl_SetPanicProc and Tcl_GetStringResult
+ * unix/tclAppInit.c: callable without stubs, just as Tcl_SetVar.
+ * win/tclAppInit.c:
-2009-10-07 Andreas Kupries <andreask@activestate.com>
+2010-09-23 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of the
- 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/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.
- * generic/tclIORChan.c (ErrnoReturn): Replace the hardwired constant
- 11 with the 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.
+2010-09-23 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-06 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclAppInit.c: Make compilable with -DUNICODE (not activated
+ * win/tclAppInit.c: yet), many clean-ups in comments.
- * 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].
+2010-09-22 Miguel Sofer <msofer@users.sf.net>
-2009-10-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute: [Bug 3072640]: One more DECACHE_STACK_INFO() was
+ missing.
- * changes: Update for 8.5.8 release.
+ * tests/execute.test: Added execute-10.3 for [Bug 3072640]. The test
+ causes a mem failure.
-2009-10-04 Daniel Steffen <das@users.sourceforge.net>
+ * 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].
- * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
- * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
+2010-09-22 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-02 Kevin B. Kenny <kennykb@acm.org>
+ * win/tcl.m4: Add kernel32 to LIBS, so the link line for
+ * win/configure: mingw is exactly the same as for MSVC++.
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
+2010-09-21 Jeff Hobbs <jeffh@ActiveState.com>
-2009-09-29 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * 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].
+2010-09-21 Kevin B. Kenny <kennykb@acm.org>
-2009-09-11 Don Porter <dgp@users.sourceforge.net>
+ [BRANCH: dogeen-assembler-branch]
- * library/http/http.tcl: Bump to http 2.7.4 to account for
- * library/http/pkgIndex.tcl: [Bug 2849860] fix.
+ * 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.
-2009-09-10 Donal K. Fellows <dkf@users.sf.net>
+2010-09-21 Jan Nijtmans <nijtmans@users.sf.net>
- * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
- names in double quotes; some servers like generating them like that.
+ * 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
-2009-09-01 Don Porter <dgp@users.sourceforge.net>
+2010-09-20 Jan Nijtmans <nijtmans@users.sf.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:
+ * win/tclWinFCmd.c: Eliminate tclWinProcs->useWide everywhere, since
+ * win/tclWinFile.c: the value is always "1" on platforms >win95
+ * win/tclWinPipe.c:
-2009-08-27 Don Porter <dgp@users.sourceforge.net>
+2010-09-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c: [Bug 2845535]: A few more string
- overflow cases in [format].
+ * doc/file.n (file readlink): [Bug 3070580]: Typofix.
-2009-08-25 Andreas Kupries <andreask@activestate.com>
+2010-09-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard)
- (EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations)
- (TclEvalObjEx):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
- * generic/tclCompCmds.c (*):
- * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv)
- (TclFreeCompileEnv, TclCompileScript):
- * generic/tclCompile.h (CompileEnv):
- * generic/tclInt.h (ContLineLoc, Interp):
- * generic/tclObj.c (ThreadSpecificData, ContLineLocFree)
- (TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter)
- (TclContinuationsEnterDerived, TclContinuationsCopy)
- (TclContinuationsGet, TclFreeObj):
- * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
- * generic/tclProc.c (TclCreateProc):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/info.test (info-30.0-24):
+ * win/tclWinFCmd.c [Bug 3069278]: Breakage on head Windows triggered
+ by install-tzdata. Temporary don't compile this with -DUNICODE, while
+ investigating this bug.
- Extended parser, compiler, and execution with code and attendant data
- structures tracking the positions of continuation lines which are not
- visible in script Tcl_Obj*'s, to properly account for them while
- counting lines for #280.
+2010-09-16 Jeff Hobbs <jeffh@ActiveState.com>
-2009-08-24 Daniel Steffen <das@users.sourceforge.net>
+ * win/tclWinFile.c: Remove define of FINDEX_INFO_LEVELS as all
+ supported versions of compilers should now have it.
- * 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)
+ * unix/Makefile.in: Do not pass current build env vars when using
+ NATIVE_TCLSH in targets.
-2009-08-21 Don Porter <dgp@users.sourceforge.net>
+2010-09-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
- * tests/fileName.test:
+ * 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.
-2009-08-20 Don Porter <dgp@users.sourceforge.net>
+2010-09-15 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclFileName.c: [Bug 2837800]: Get the correct result from
- [glob */test] when * matches something like ~foo.
+ * 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.
- * 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.
+2010-09-15 Don Porter <dgp@users.sourceforge.net>
-2009-08-20 Donal K. Fellows <dkf@users.sf.net>
+ * unix/Makefile.in: Revise `make dist` target to tolerate the
+ case of zero bundled packages.
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug memory leak.
+2010-09-15 Jan Nijtmans <nijtmans@users.sf.net>
-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].
+ * 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.
-2009-08-06 Andreas Kupries <andreask@activestate.com>
+2010-09-14 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/refchan.n [Bug 2827000]: Extended the implementation of
- * generic/tclIORChan.c: reflective channels (TIP 219, method 'read'),
- * tests/ioCmd.test: 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}).
+ * win/tclWinPort.h: Allow all Win2000+ API entries in Tcl
+ * win/tclWin32Dll.c: Eliminate dynamical loading of advapi23 and
+ kernel32 symbols.
-2009-08-02 Donal K. Fellows <dkf@users.sf.net>
+2010-09-13 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
- (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
- * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
- they've been unnecessary for ages.
+ * 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)
-2009-07-31 Don Porter <dgp@users.sourceforge.net>
+2010-09-10 Jan Nijtmans <nijtmans@users.sf.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.
+ * win/tclWin32Dll.c: Partly revert yesterday's change, to make it work
+ on VC++ 6.0 again.
-2009-07-24 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>. Backported from CVS
- head.
+2010-09-10 Donal K. Fellows <dkf@users.sf.net>
-2009-07-23 Joe Mistachkin <joe@mistachkin.com>
+ * 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.
- * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
- freed once processed.
+2010-09-09 Jan Nijtmans <nijtmans@users.sf.net>
-2009-07-21 Kevin B. Kenny <kennykb@acm.org>
+ * 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++.
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
+2010-09-08 Don Porter <dgp@users.sourceforge.net>
-2009-07-20 Donal K. Fellows <dkf@users.sf.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.
- * 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.
+2010-09-08 Andreas Kupries <andreask@activestate.com>
-2009-07-16 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclCmdIL.c: Removed unused variables.
- * generic/tclCompile.c:
- * generic/tclVar.c:
- * unix/tclUnixChan.c:
+2010-09-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
+ * 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.
- * generic/tclStrToD.c: [Bug 2819200]: Set floating point control
- register on MIPS systems so that the gradual underflow expected by Tcl
- is in effect.
+2010-09-02 Andreas Kupries <andreask@activestate.com>
-2009-07-14 Andreas Kupries <andreask@activestate.com>
+ * doc/glob.n: Fixed documentation ambiguity regarding the handling
+ of -join.
- * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter,
- (TclArgumentBCRelease, TclArgumentGet):
- * generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode,
- (TclInitCompileEnv, TclCompileScript):
- * generic/tclCompile.h (ExtCmdLoc):
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclInt.h (ExtIndex, CFWordBC):
- * tests/info.test (info-39.0):
+ * 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.
- Backport of some changes made to the Tcl head, to handle literal
- sharing better. The code here is much simpler (trimmed down) compared
- to the head as the 8.5 branch is not bytecode compiling whole files,
- and doesn't compile eval'd code either.
+2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
- 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
- removes the problems with location data caused by literal sharing in
- proc bodies. Simplified the associated datastructures (ExtIndex is
- gone, as is the function EnterCmdWordIndex).
+ * 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,
-2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-09-01 Andreas Kupries <andreask@activestate.com>
- * 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.
+ * 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.
-2009-06-15 Don Porter <dgp@users.sourceforge.net>
+2010-08-31 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
+ * 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
-2009-06-13 Don Porter <dgp@users.sourceforge.net>
+2010-08-31 Andreas Kupries <andreask@activestate.com>
- * generic/tclCompile.c: The value stashed in iPtr->compiledProcPtr
- * generic/tclProc.c: when compiling a proc survives too long. We
- * tests/execute.test: 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. [Bug 2802881].
+ * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest
+ handling on Win64.
+ * win/configure: Regenerated.
-2009-06-10 Don Porter <dgp@users.sourceforge.net>
+2010-08-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c: 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. [Bug 2801413]
+ * 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:
-2006-06-09 Kevin B. Kenny <kennykb@acm.org>
+2010-08-30 Jan Nijtmans <nijtmans@users.sf.net>
- * 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
+ * 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:
-2006-06-08 Kevin B. Kenny <kennykb@acm.org>
+2010-08-29 Donal K. Fellows <dkf@users.sf.net>
- * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh.
- (Olson's tzdata2009i.)
+ * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
+ manpage to refer to (correct) existing subcommand.
-2009-06-02 Don Porter <dgp@users.sourceforge.net>
+2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
- * 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.
+ * 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.
- * generic/tclExecute.c: Corrected implementations and selection
- logic of the INST_EXPON instruction to fix [Bug 2798543].
+ * 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+.
-2009-06-01 Don Porter <dgp@users.sourceforge.net>
+2010-08-24 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/expr.test: Added many tests demonstrating the broken
- cases of [Bug 2798543].
+ * 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.
-2009-05-30 Kevin B. Kenny <kennykb@acm.org>
+2010-08-23 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-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],
- insure that a command in a deleted namespace cannot be found
- through a cached name.
+ * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
-2009-05-06 Don Porter <dgp@users.sourceforge.net>
+2010-08-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdMZ.c: Improve overflow error message from
- [string repeat]. [Bug 2582327]
+ * 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:
-2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
+2010-08-21 Donal K. Fellows <dkf@users.sf.net>
- * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check
- to add _r to CC on AIX with threads.
+ * doc/linsert.n: [Bug 3045123]: Make description of what is actually
+ happening more accurate.
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-08-21 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: Backport fix for [Bug 1028264]: WSACleanup() too early.
- * generic/tclEvent.c: The fix introduces "late exit handlers"
- * win/tclWinSock.c: for similar late process-wide cleanups.
+ * 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)
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-08-20 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinSock.c: Backport fix for [Bug 2446662]: resync Win
- behavior on RST with that of unix (EOF).
+ * doc/Method.3: Fix definition of Tcl_MethodType.
-2009-04-27 Donal K. Fellows <dkf@users.sf.net>
+2010-08-19 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.)
+ * 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.
-2009-04-24 Stuart Cassoff <stwo@users.sf.net>
+2010-08-18 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
+ * 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)
-2009-04-15 Don Porter <dgp@users.sourceforge.net>
+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:
- *** 8.5.7 TAGGED FOR RELEASE ***
+ * generic/tclCmdAH.c (TclNRTryObjCmd): [Bug 3046594]: Block
+ tailcalling out of the body of a non-bc'ed [try].
- * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed
- to set stringPtr->allocated to 0, leading to crashes.
+ * 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:
- * changes: Update for 8.5.7 release.
+2010-08-18 Donal K. Fellows <dkf@users.sf.net>
-2009-04-14 Stuart Cassoff <stwo@users.sourceforge.net>
+ * library/safe.tcl (AliasGlob): [Bug 3004191]: Restore safe [glob] to
+ working condition.
- * unix/tcl.m4: Removed -Wno-implicit-int from CFLAGS_WARNING.
+2010-08-15 Donal K. Fellows <dkf@users.sf.net>
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
- Time (Olson's tzdata2009f)
+2010-08-14 Jan Nijtmans <nijtmans@users.sf.net>
-2009-04-10 Don Porter <dgp@users.sourceforge.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
- * changes: Update for 8.5.7 release.
+2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tcl.h: Bump to 8.5.7 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ * 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.
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-08-11 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c (UpdateStringOfString): Fix bug detected
- by compiler warning about undefined "dst".
+ * generic/tclBasic.c (TclNRYieldToObjCmd):
+ * tests/coroutine.test: Fixed bad copypasta snafu. Thanks to Andy Goth
+ for finding the bug.
- * tests/httpd: Backport new tests for http 2.7.3.
- * tests/http.tcl:
+2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
-2009-04-10 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
+ null-terminated, so account for that.
- * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
- * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
- [Bug 1960647]
+2010-08-09 Don Porter <dgp@users.sourceforge.net>
- * unix/tclLoadDyld.c: use RTLD_GLOBAL instead of RTLD_LOCAL.
- [Bug 1961211]
+ * changes: Updates for 8.6b2 release.
- * 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).
+2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
- * 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.
+ * 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.
- * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
+ * 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.
- * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
- * generic/tclIntPlatDecls.h: internal API, regen.
- * generic/tclStubInit.c:
+ * unix/tclUnixFCmd.c: Adjust license header as per
+ ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
- * 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
+ * license.terms: Fix DFARs note for number-adjusted rights clause
- * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
- deprecated NSModule API by dlfcn API.
+ * 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.
-2009-04-09 Kevin B. Kenny <kennykb@acm.org>
+ * win/Makefile.in (%.${OBJEXT}): better implicit rules support
- * tools/tclZIC.tcl: Always emit Unix-style line terminators.
- * library/tzdata: Olson's tzdata2009e.
+2010-08-04 Andreas Kupries <andreask@activestate.com>
-2009-04-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting in
+ * generic/tclIORTrans.c: InvokeTclMethod and callers.
+ * tests/ioTrans.test:
- * library/http/http.tcl: Backport http 2.7.3 from HEAD for
- * library/http/pkgIndex.tcl: bundling with the Tcl 8.5.7 release.
- * unix/Makefile.in:
- * win/Makefile.in:
+2010-08-03 Andreas Kupries <andreask@activestate.com>
-2009-04-08 Andreas Kupries <andreask@activestate.com>
+ * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
+ the local hashtable deletion crash and fix.
- * library/platform/platform.tcl: Extended the darwin sections to
- * library/platform/pkgIndex.tcl: add a kernel version number to
- * unix/Makefile.in: the identifier for anything from Leopard (10.5)
- * win/Makefile.in: on up. 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.
+ * 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.
-2009-04-08 Don Porter <dgp@users.sourceforge.net>
+2010-08-02 Kevin B. Kenny <kennykb@users.sf.net>
- * library/tcltest/tcltest.tcl: Converted [eval]s (some unsafe!) to
- * library/tcltest/pkgIndex.tcl: {*} in tcltest package. [Bug 2570363]
- * unix/Makefile.in: => tcltest 2.3.1
- * win/Makefile.in:
+ * 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.
-2009-04-07 Don Porter <dgp@users.sourceforge.net>
+2010-08-02 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c: Completed backports of fixes for
- [Bug 2494093] and [Bug 2553906].
+ * generic/tclVar.c: Correcting bad port of [Bug 3037525] fix
-2009-03-30 Don Porter <dgp@users.sourceforge.net>
+2010-07-28 Miguel Sofer <msofer@users.sf.net>
- * doc/Alloc.3: Size argument is "unsigned int". [Bug 2556263]
+ * generic/tclVar.c: [Bug 3037525]: Lose fickle optimisation in
+ TclDeleteVars (used for runtime-created locals) that caused crash.
- * generic/tclStringObj.c: Added protections from invalid memory
- * generic/tclTestObj.c: accesses when we append (some part of)
- * tests/stringObj.test: a Tcl_Obj to itself. Added the
- appendself and appendself2 subcommands to the [teststringobj] testing
- command and added tests to the test suite. [Bug 2603158]
+2010-07-29 Jan Nijtmans <nijtmans@users.sf.net>
-2009-03-27 Don Porter <dgp@users.sourceforge.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:
- * generic/tclPathObj.c (TclPathPart): TclPathPart() was computing
- * tests/fileName.test: 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. [Bug 2710920]
+2010-07-25 Donal K. Fellows <dkf@users.sf.net>
-2009-03-20 Don Porter <dgp@users.sourceforge.net>
+ * doc/http.n: Corrected description of location of one of the entries
+ in the state array.
- * generic/tclStringObj.c: Test stringObj-6.9 checks that
- * tests/stringObj.test: Tcl_AppendStringsToObj() no longer
- crashes when operating on a pure unicode value. [Bug 2597185]
+2010-07-24 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclExecute.c (INST_CONCAT1): Panic when appends overflow
- the max length of a Tcl value. [Bug 2669109]
+ * 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.
-2009-03-18 Don Porter <dgp@users.sourceforge.net>
+2010-07-16 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinFile.c (TclpObjNormalizePath): Corrected Tcl_Obj leak.
- Thanks to Joe Mistachkin for detection and patch. [Bug 2688184].
+ * generic/tclBasic.c: Added more errorCode setting.
-2009-03-15 Donal K. Fellows <dkf@users.sf.net>
+2010-07-15 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
- Added support for SIGINFO, which is present on BSD platforms.
+ * generic/tclExecute.c (TclExecuteByteCode): Ensure that [dict get]
+ * generic/tclDictObj.c (DictGetCmd): always generates an errorCode on
+ a failure to look up an entry.
-2009-02-20 Don Porter <dgp@users.sourceforge.net>
+2010-07-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()
- * tests/fileName.test: that assumed (not "absolute" => "relative").
- This is a false assumption on Windows, where "volumerelative" is
- another possibility. [Bug 2571597].
+ * 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.
-2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
+2010-07-02 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * 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:
-2009-02-05 Don Porter <dgp@users.sourceforge.net>
+2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStringObj.c: Added overflow protections to the
- AppendUtfToUtfRep routine to either avoid invalid arguments and
- crashes, or to replace them with controlled panics. [Bug 2561794]
+ * generic/tclInt.decls: [Bug 803489]: Tcl_FindNamespace problem in the
+ * generic/tclIntDecls.h: Stubs table
+ * generic/tclStubInit.c:
-2009-02-04 Don Porter <dgp@users.sourceforge.net>
+2010-07-02 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c (SetUnicodeObj): Corrected failure of
- Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
- factored out common code to reduce duplication.
+ * 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.
- * generic/tclCmdMZ.c: Prevent crashes due to int overflow of the
- length of the result of [string repeat]. [Bug 2561746]
+2010-07-01 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-29 Donal K. Fellows <dkf@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:
- * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
- the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
+2010-07-01 Donal K. Fellows <dkf@users.sf.net>
-2009-01-22 Kevin B. Kenny <kennykb@acm.org>
+ * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
+ rendering of the exclusive-or operator.
- * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
- ${SHLIB_VERSION}).
- * unix/configure: Autoconf 2.59
+2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-21 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclIORChan.c (ReflectClose): Fix for [Bug 2458202].
- 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.
+2010-06-25 Reinhard Max <max@suse.de>
-2009-01-19 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * unix/Makefile.in: Added a CONFIG_INSTALL_DIR parameter so that
- * unix/tcl.m4: 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 [Patch 907924].
- * unix/configure: Autoconf 2.59
+2010-06-24 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-09 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinPort.h: [Bug 3019634]: errno.h and tclWinPort.h have
+ conflicting definitions.
- * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit
- memory allocation requests to the sizes that can be supported by
- Tcl's memory allocation routines. [Bug 2494093].
+ ***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.
-2009-01-08 Don Porter <dgp@users.sourceforge.net>
+2010-06-22 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
- required to get correct results out of things like
- STRING_UALLOC(num + append). [Bug 2494093].
+ * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
+ args message.
-2009-01-06 Donal K. Fellows <dkf@users.sf.net>
+2010-06-21 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
- of dictionaries so that literals can't get destroyed.
+ * 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
- * tests/expr.test, tests/string.test: Eliminate non-ASCII characters.
- [Bugs 2006884, 2006879]
+2010-06-18 Donal K. Fellows <dkf@users.sf.net>
-2009-01-03 Kevin B. Kenny <kennykb@acm.org>:
+ * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
+ default list of extensions that we can execute interactively.
- * 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].
+2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-21 Don Porter <dgp@users.sourceforge.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.
- *** 8.5.6 TAGGED FOR RELEASE ***
+2010-06-14 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tcl.h: Bump to 8.5.6 for release.
+ * 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:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * changes: Update for 8.5.6 release.
-
- * 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 Stu Cassoff <stwo@users.sf.net>
- Backport of 2008-11-26 commit from Kevin Kenny.
-
- * 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.
- Backport of 2008-10-13 commit from Pat Thoyts.
-
-2008-12-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TEBC:INST_DICT_GET): Make sure that the result
- is empty when generating an error message. [Bug 2431847]
-
-2008-12-12 Jan Nijtmans <nijtmans@users.sf.net>
+ * library/package.tcl:
+ * library/safe.tcl:
+ * library/tm.tcl:
- * library/clock.tcl (ProcessPosixTimeZone): Fix time change in Eastern
- Europe (not 3:00 but 4:00 local time) [Bug 2207436]
+2010-06-13 Donal K. Fellows <dkf@users.sf.net>
-2008-12-11 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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]
+2010-06-09 Andreas Kupries <andreask@activestate.com>
-2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
+ * 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:
- * 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.
+2010-06-09 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-10 Kevin B. Kenny <kennykb@acm.org>
+ * 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
- * library/tzdata/*: Update from Olson's tzdata2008i.
+2010-06-07 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-12-04 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c: Ensure proper reset of [info errorstack] even
+ * generic/tclNamesp.c: when compiling constant expr's with errors.
- * 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]
+2010-06-05 Miguel Sofer <msofer@users.sf.net>
-2008-12-03 Don Porter <dgp@users.sourceforge.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.
- * 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.
+2010-06-03 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-12-02 Andreas Kupries <andreask@activestate.com>
+ * generic/tclNamesp.c: Safer (and faster) computation of [uplevel]
+ * tests/error.test: offsets in TIP 348. Toplevel offsets no longer
+ * tests/result.test: overestimated.
- * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre
- Ferrieux's first patch for [Bug 2270477] with a gentler version, also
- supplied by him.
+2010-06-02 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-01 Don Porter <dgp@users.sourceforge.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
- * generic/tclParse.c: Backport fix for [Bug 2251175].
+2010-06-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-11-30 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * 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.
+2010-05-31 Jan Nijtmans <nijtmans@users.sf.net>
-2008-11-25 Andreas Kupries <andreask@activestate.com>
+ * generic/tclVar.c: Eliminate some casts to (Tcl_HashTable *)
+ * generic/tclExecute.c:
+ * tests/fileSystem.test: Fix filesystem-5.1 test failure on CYGWIN
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre
- Ferrieux's patch for [Bug 2270477] to prevent infinite looping during
- finalization of channels not bound to interpreters.
+2010-05-28 Jan Nijtmans <nijtmans@users.sf.net>
-2008-08-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclInt.h: [Patch 3008541]: Order of TIP #348 fields in
+ Interp structure
- * generic/tclIO.c: Backport of fix for [Bug 2333466].
+2010-05-28 Donal K. Fellows <dkf@users.sf.net>
-2008-11-18 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]:
+ Corrected error in handling of catch contexts to prevent crash with
+ chained handlers.
- * generic/tcl.decls: Fix signature and implementation of
- * generic/tclDecls.h: Tcl_HashStats, such that it conforms
- * generic/tclHash.c: to the documentation. [Bug 2308236]
- * doc/Hash.3:
+ * generic/tclExecute.c (TclExecuteByteCode): Restore correct operation
+ of instruction-level execution tracing (had been broken by NRE).
-2008-11-13 Jan Nijtmans <nijtmans@users.sf.net>
+2010-05-27 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: Rename static function FSUnloadTempFile to
- * generic/tclIOUtil.c: TclFSUnloadTempFile, needed in tclLoad.c
+ * 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:
- * generic/tclLoad.c: Fixed [Bug 2269431]: load of shared
- objects leaves temporary files on windows
+2010-05-21 Jan Nijtmans <nijtmans@users.sf.net>
-2008-11-10 Andreas Kupries <andreask@activestate.com>
+ * 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
- * 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.
+2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-11-04 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/dict.test: Add missing tests for [Bug 3004007], fixed under
+ the radar on 2010-02-24 (dkf): EIAS violation in
+ list-dict conversions.
- * 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.
+2010-05-19 Jan Nijtmans <nijtmans@users.sf.net>
-2008-10-24 Pat Thoyts <patthoyts@users.sourceforge.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)
- * library/http/http.tcl: Backported a fix for reading HTTP-like
- protocols that used to work and were broken with http 2.7. Now http
- 2.7.2
+2010-05-17 Jan Nijtmans <nijtmans@users.sf.net>
-2008-10-23 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStrToD.c: [Bug 2996549]: Failure in expr.test on Win32
- * generic/tcl.h: Bump version number to 8.5.6b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.5 and
- * unix/configure.in: 8.5.6 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * tools/tcl.wse.in:
- * README
+2010-05-17 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * 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.
-2008-10-19 Don Porter <dgp@users.sourceforge.net>
+2010-05-11 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclProc.c: Reset -level and -code values to defaults
- after they are used. [Bug 2152286]
+ * 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
-2008-10-16 Don Porter <dgp@users.sourceforge.net>
+2010-05-07 Andreas Kupries <andreask@activestate.com>
- * 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]
+ * 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:
-2008-10-10 Don Porter <dgp@users.sourceforge.net>
+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:
- *** 8.5.5 TAGGED FOR RELEASE ***
+2010-04-30 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Bump to 8.5.5 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
+ * 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:
- * changes: Update for 8.5.5 release.
-
-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-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tclWinTest.c: Fix compiler warning when compiling this file with
- mingw gcc:
- tclWinTest.c:706: warning: dereferencing type-punned pointer will
- break strict-aliasing rules
- * 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-06 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2tcl.c: Added missing line from patch by Harald Oehlmann.
- [Bug 1934200]
-
-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.
-
-2008-10-02 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2help2.tcl: Integrated patches from Harald Oehlmann.
- * tools/man2tcl.c: [Bug 1934200, 1934272]
-
-2008-09-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * 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-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/global.n: Correct false claim about [info locals].
-
-2008-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Correct the TclGetLongFromObj,
- TclGetIntFromObj, and TclGetIntForIndexM macros so that they
- retrieve the internalRep.longValue field instead of casting the
- internalRep.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-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * 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-07 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n: fix [Bug 2098441]
-
-2008-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.5.5b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.4 and
- * unix/configure.in: 8.5.5 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * tools/tcl.wse.in:
- * README
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2008-08-22 Don Porter <dgp@users.sourceforge.net>
-
- * 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 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-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/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!
+ * 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.
- *** NASTY BUG FIXED ***
-
-2008-08-14 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
+ panic when the generated string representation would grow beyond Tcl's
+ size limits.
- *** 8.5.4 TAGGED FOR RELEASE ***
+2010-04-30 Donal K. Fellows <dkf@users.sf.net>
- * tests/fileName.test: Revise new tests for portability to case
- insensitive filesystems.
+ * generic/tclBinary.c (TclAppendBytesToByteArray): Add extra armour
+ against buffer overflows.
-2008-08-14 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
+ * tests/coroutine.test (coroutine-6.4): arguments to deal with
+ trickier cases.
- * 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).
+2010-04-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdIL.c (TclInfoFrame): Check fPtr->line before
- dereferencing as line info may
- not exists when TclInfoFrame()
- is called from a DTrace probe.
+ * tests/coroutine.test: testing coroutine arguments after [yield]:
+ check that only 0/1 allowed
- * tests/msgcat.test: Fix for ::tcl::mac::locale with
- @modifier (HEAD backport 2008-06-01).
+2010-04-30 Donal K. Fellows <dkf@users.sf.net>
- * tests/fCmd.test (fCmd-6.23): Made result matching robust when test
- workdir and /tmp are not on same FS.
+ * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
+ arguments to deal with trickier cases.
- * 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]
+ * generic/tclCompCmds.c (TclCompileVariableCmd): Slightly tighter
+ issuing of instructions.
- * unix/tcl.m4 (SC_PATH_X): Check for libX11.dylib in addition to
- libX11.so et al.
+ * generic/tclExecute.c (TclExecuteByteCode): Add peephole optimization
+ of the fact that INST_DICT_FIRST and INST_DICT_NEXT always have a
+ conditional jump afterwards.
- * unix/configure: autoconf-2.59
+ * generic/tclBasic.c (TclNRYieldObjCmd, TclNRYieldmObjCmd)
+ (NRInterpCoroutine): Replace magic values for formal argument counts
+ for coroutine command implementations with #defines, for an increase
+ in readability.
-2008-08-13 Don Porter <dgp@users.sourceforge.net>
+2010-04-30 Jan Nijtmans <nijtmans@users.sf.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.
+ * 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.
-2008-08-12 Don Porter <dgp@users.sourceforge.net>
+2010-04-29 Miguel Sofer <msofer@users.sf.net>
- * changes: Update for 8.5.4 release.
+ * 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:
-2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-29 Andreas Kupries <andreask@activestate.com>
- * library/http/http.tcl: Remove 8.5 requirement.
- * library/http/pkgIndex.tcl:
- * unix/Makefile.in:
+ * 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:
- * 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
- * tests/proc.test: by 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-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump to 8.5.4 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: Update for 8.5.4 release.
-
-2008-08-08 Kevin Kenny <kennykb@acm.org>
+2010-04-29 Kevin B. Kenny <kennykb@acm.org>
- * library/tzdata/CET:
- * library/tzdata/MET:
+ * library/tzdata/Antarctica/Macquarie:
* library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Eirunepe:
- * library/tzdata/America/Santarem:
- * library/tzdata/America/Rio_Branco:
+ * 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/Europe/Belgrade:
- * library/tzdata/Europe/Berlin:
- * library/tzdata/Europe/Budapest:
- * library/tzdata/Europe/Sofia:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2008e.
-
-2008-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c (TclLookupSimpleVar): Retrieve the number of
- locals in the localCache from the CallFrame and not from the Proc
- which may have been mangled by a (broken?) recompile. Backport from
- the HEAD.
-
-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-07-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrected the timing of when the flag
- TCL_ALLOW_EXCEPTIONS is tested.
-
-2008-07-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fix [Bug 2030670] that cause
- TclStackRealloc to panic on rare corner cases. Thx ajpasadyn for
- diagnose and patch.
-
-2008-07-28 Andreas Kupries <andreask@activestate.com>
+ * library/tzdata/Asia/Taipei:
+ * library/tzdata/Europe/Samara:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Easter:
+ * library/tzdata/Pacific/Fiji: Olson's tzdata2010i.
- * 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.
+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:
-2008-07-25 Daniel Steffen <das@users.sourceforge.net>
+2010-04-27 Kevin B. Kenny <kennykb@acm.org>
- * 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]
+ * 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.
-2008-07-25 Andreas Kupries <andreask@activestate.com>
+2010-04-26 Donal K. Fellows <dkf@users.sf.net>
- * tests/info.test: Tests 38.* added, exactly testing the tracking of
- location for uplevel scripts.
+ * 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/tclCompile.c (TclInitCompileEnv): Reorganized the
- initialization of the #280 location information to match the flow in
- TclEvalObjEx to get more absolute contexts.
+ * 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.
- * generic/tclBasic.c (TclEvalObjEx): Moved the pure-list optimization
- out of the eval-direct code path to be done always, i.e. even when a
- compile is requested. This way we do not loose the association between
- #280 location information and the list elements, if any.
+2010-04-25 Miguel Sofer <msofer@users.sf.net>
-2008-07-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c: Add unsupported [yieldm] command. Credit
+ * generic/tclInt.h: Lars Hellstrom for the basic idea.
- * tests/info.test: Reordered the tests to have monotonously
- increasing numbers.
+2010-04-24 Miguel Sofer <msofer@users.sf.net>
- * generic/tclBasic.c: Modified TclArgumentGet to reject pure lists
- * generic/tclCmdIL.c: immediately, without search. Reworked setup
- * generic/tclCompile.c: of eoFramePtr, doesn't need the line
- * tests/info.test: information, 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.
+ * 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.
-2008-07-22 Andreas Kupries <andreask@activestate.com>
+2010-04-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Added missing function comments.
+ * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
+ limits.h
- * generic/tclCompile.c: Made the new TclEnterCmdWordIndex
- * generic/tclCompile.h: static, and ansified.
+2010-04-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Reworked the handling of bytecode literals
- * generic/tclCompile.c: for #280 to fix the abysmal performance
- * generic/tclCompile.h: for deep recursion, replaced the linear
- * generic/tclExecute.c: search through the whole stack with another
- * generic/tclInt.h: hashtable and simplified the data structure used
- by the compiler (array instead of hashtable). Incidentially this also
- fixes the memory leak reported via [Bug 2024937].
+ * 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:
-2008-07-21 Don Porter <dgp@users.sourceforge.net>
+2010-04-20 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/encoding.test: Make failing tests pass again. [Bug 1972867]
+ * generic/tclTest.c: Use function prototypes from the FS API.
+ * compat/zlib/*: Upgrade to zlib 1.2.5
-2008-07-21 Andreas Kupries <andreask@activestate.com>
+2010-04-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c: Extended the existing TIP #280 system (info
- * generic/tclCmdAH.c: frame), added the ability to track the
- * generic/tclCompCmds.c: absolute location of literal procedure
- * generic/tclCompile.c: arguments, and making this information
- * generic/tclCompile.h: available to uplevel, eval, and
- * generic/tclInterp.c: siblings. This allows proper tracking of
- * generic/tclInt.h: absolute location through custom (Tcl-coded)
- * generic/tclNamesp.c: control structures based on uplevel, etc.
- * generic/tclProc.c:
+ * generic/tclExecute.c (TclExecuteByteCode): Improve commenting and
+ reduce indentation for the Invocation Block.
-2008-07-21 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-18 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclFCmd.c: Inodes on windows are unreliable [Bug 2015723]
+ * doc/unset.n: [Bug 2988940]: Fix typo.
-2008-07-20 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-15 Jan Nijtmans <nijtmans@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.
+ * 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.
-2008-07-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-15 Donal K. Fellows <dkf@users.sf.net>
- * doc/DictObj.3: Fix error in example. [Bug 2016740]
+ * doc/try.n: [Bug 2987551]: Fix typo.
-2008-07-08 Don Porter <dgp@users.sourceforge.net>
+2010-04-14 Andreas Kupries <andreask@activestate.com>
- * generic/tclGet.c: Corrected out of date comments.
+ * 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.
-2008-07-07 Andreas Kupries <andreask@activestate.com>
+2010-04-13 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting the
- interp result found by Don Porter.
+ * 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
-2008-07-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-08 Donal K. Fellows <dkf@users.sf.net>
- * doc/regexp.n, doc/regsub.n: Correct examples. [Bug 1982642]
+ * 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.
-2008-07-04 Joe English <jenglish@users.sourceforge.net>
+2010-04-07 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension
- when converting incomplete UTF-8 sequences. See [Bug 1908443] for
- details.
+ * doc/catch.n, doc/info.n, doc/return.n: Formatting.
-2008-07-03 Andreas Kupries <andreask@activestate.com>
+2010-04-06 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIORChan.c (InvokeTclMethod): Fixed the memory leak
- reported in [Bug 1987821]. Thanks to Miguel for the rpeort and Don
- Porter for tracking the cause down.
+ * doc/Load.3: Minor corrections of formatting and cross links.
-2008-07-03 Don Porter <dgp@users.sourceforge.net>
+2010-04-06 Jan Nijtmans <nijtmans@users.sf.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]
+ * 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.
-2008-06-29 Don Porter <dgp@users.sourceforge.net>
+2010-04-05 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- *** 8.5.3 TAGGED FOR RELEASE ***
+ TIP #348 IMPLEMENTATION
- * generic/tcl.h: Bump to 8.5.3 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+ * 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:
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-04-05 Donal K. Fellows <dkf@users.sf.net>
- * doc/ObjectType.3: Updated documentation of the Tcl_ObjType
- struct to match expectations of Tcl 8.5 [Bug 1917650].
+ * 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.
- * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanks
- Rolf Ade for detecting.
+ * unix/tclLoadDyld.c (FindSymbol): Better human-readable error message
+ generation to match code in tclLoadDl.c.
-2008-06-28 Don Porter <dgp@users.sourceforge.net>
+2010-04-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanks
- Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
+ * generic/tclIOUtil.c, unix/tclLoadDl.c: Minor changes to enforce
+ Engineering Manual style rules.
-2008-06-26 Andreas Kupries <andreask@activestate.com>
+ * doc/FileSystem.3, doc/Load.3: Documentation for TIP#357.
- * unix/Makefile.in: Followup to my change of 2008-06-25, make code
- generated by the Makefile and put into the installd tm.tcl conditional
- on interpreter safeness as well. Thanks to Daniel Steffen for
- reminding me of that code.
+ * macosx/tclMacOSXBundle.c (OpenResourceMap): [Bug 2981528]: Only
+ define this function when HAVE_COREFOUNDATION is defined.
-2008-06-25 Don Porter <dgp@users.sourceforge.net>
+2010-04-02 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Update for 8.5.3 release.
+ * generic/tcl.decls (Tcl_LoadFile): Add missing "const" in signature,
+ * generic/tclIOUtil.c (Tcl_LoadFile): and some formatting fixes
+ * generic/tclDecls.h: (regenerated)
-2008-06-25 Andreas Kupries <andreask@activestate.com>
+2010-04-02 Donal K. Fellows <dkf@users.sf.net>
- * 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. Fixes [Bug 1999119].
+ * generic/tclIOUtil.c (Tcl_LoadFile): Corrections to previous commit
+ * unix/tclLoadDyld.c (TclpDlopen): to make it build on OSX.
-2008-06-25 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-02 Kevin B. Kenny <kennykb@acm.org>
- * win/rules.vc: Backported fix for dde/registry versions and
- * win/makefile.vc: the staticpkg build option
+ TIP #357 IMPLEMENTATION
+ TIP #362 IMPLEMENTATION
-2008-06-24 Don Porter <dgp@users.sourceforge.net>
+ * 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.)
- * 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].
+ * 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.
-2008-06-23 Don Porter <dgp@users.sourceforge.net>
+ * 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:
- * 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]
+2010-03-31 Donal K. Fellows <dkf@users.sf.net>
-2008-06-19 Don Porter <dgp@users.sourceforge.net>
+ * doc/registry.n: Added missing documentation of TIP#362 flags.
- * changes: Update for 8.5.3 release.
+ * doc/package.n: [Bug 2980210]: Document the arguments taken by
+ the [package present] command correctly.
- * 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]
+ * 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.
- * tests/chanio.test: Corrected flawed tests revealed by a -debug 1
- * tests/event.test: -singleproc 1 test suite run.
- * tests/io.test:
+2010-03-31 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-19 Don Porter <dgp@users.sourceforge.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.
- * changes: Updates for 8.5.3 release.
+2010-03-30 Andreas Kupries <andreask@activestate.com>
-2008-06-17 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.
- * generic/tclClock.c (ClockConvertlocaltoutcObjCmd): Removed left
- over debug output.
+2010-03-30 Don Porter <dgp@users.sourceforge.net>
-2008-06-17 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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. See [Bug 1914604].
+2010-03-30 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-17 Kevin Kenny <kennykb@acm.org>
+ * generic/tclIndexObj: [FRQ 2974744]: share exception codes
+ * generic/tclResult.c: further optimization, making use of indexType.
+ * generic/tclZlib.c: [Bug 2979399]: uninitialized value troubles
- * 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.
+2010-03-30 Donal K. Fellows <dkf@users.sf.net>
-2008-06-16 Andreas Kupries <andreask@activestate.com>
+ TIP #362 IMPLEMENTATION
- * generic/tclCmdIL.c (TclInfoFrame): Backport of fix made on the
- * tests/info.test: head branch :: Moved the code looking up the
- 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. Fixes
- [Bug 1987851].
+ * 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
-2008-06-12 Daniel Steffen <das@users.sourceforge.net>
+2010-03-29 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/Makefile.in: add complete deps on tclDTrace.h.
+ * unix/tcl.m4: Only test for -visibility=hidden with gcc
+ (Second remark in [Bug 2976508])
+ * unix/configure: regen
- * unix/Makefile.in: clean generated tclDTrace.h file.
- * unix/configure.in (SunOS): fix static DTrace-enabled build.
+2010-03-29 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc.
- * unix/configure: autoconf-2.59
+ * generic/tclStringObj.c: Fix array overrun in test format-1.12
+ caught by valgrind testing.
- * macosx/Tcl.xcodeproj/project.pbxproj: add debug configs with gcov,
- and with corefoundation disabled; updates and cleanup for Xcode 3.1 and
- for Leopard.
- * macosx/Tcl.xcode/project.pbxproj: sync Tcl.xcodeproj changes.
- * macosx/README: document new build configs.
+2010-03-27 Jan Nijtmans <nijtmans@users.sf.net>
-2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclInt.h: [FRQ 2974744]: share exception codes
+ * generic/tclResult.c: (ObjType?)
+ * generic/tclCmdMZ.c:
+ * generic/tclCompCmdsSZ.c:
- * tests/io.test (io-53.9): need to close chan before removing file.
+2010-03-26 Jan Nijtmans <nijtmans@users.sf.net>
-2008-05-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclExecute.c: [Bug 2976508]: Tcl HEAD fails on HP-UX
- * 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.
+2010-03-25 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
+ number of arguments to fstatfs() call.
-2008-05-22 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * 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].
+2010-03-24 Don Porter <dgp@users.sourceforge.net>
-2008-05-21 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.
- * 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]
+2010-03-24 Donal K. Fellows <dkf@users.sf.net>
-2008-05-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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.
- * 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.
+ * 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].
-2008-05-16 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCmdMZ.c (TryPostBody, TryPostHandler): Make sure that the
+ [try] command does not trap unwinding due to limits.
- * generic/tclCompile.c: Fix crash with tcl_traceExec. Found and
- fixed by Alexander Pasadyn [Bug 1964803].
+2010-03-23 Don Porter <dgp@users.sourceforge.net>
-2008-05-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCmdMZ.c: [Bug 2973361]: Revised fix for computing
+ indices of script arguments to [try].
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix silly
- off-by-one error that caused a crash every time a compiled 'dict
- append' with more than one value argument was used. Found by Colin
- McCormack.
+2010-03-23 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.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
- * 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.
+2010-03-22 Don Porter <dgp@users.sourceforge.net>
- 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.
+ * 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.
-2008-04-24 Andreas Kupries <andreask@activestate.com>
+2010-03-20 Donal K. Fellows <dkf@users.sf.net>
- * 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.)
+ * doc/exec.n: Make it a bit clearer that there is an option to run a
+ pipeline in the background.
- * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases,
- redone most of the cleanup and exit handling.
+ * 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.
-2008-04-15 Andreas Kupries <andreask@activestate.com>
+2010-03-20 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIO.c (CopyData): Applied another patch by Alexandre
- * io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.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.
+ * 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.
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
+2010-03-19 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * generic/tclCompCmdsSZ.c (TclCompileThrowCmd): Added compilation for
+ the [throw] command.
-2008-04-11 Don Porter <dgp@users.sourceforge.net>
+2010-03-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Bump version number to 8.5.3b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.2 and
- * unix/configure.in: 8.5.3 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * README
+ * 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.
- * unix/configure: autoconf (2.59)
- * win/configure:
+2010-03-18 Donal K. Fellows <dkf@users.sf.net>
-2008-04-10 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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).
+2010-03-17 Andreas Kupries <andreask@activestate.com>
- * tests/iocmd.test (iocmd-15.{12,13}): Removed.
+ * 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.
- * 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.
+ * generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate topChan,
+ may have been changed by a self-modifying transformation.
-2008-04-09 Andreas Kupries <andreask@activestate.com>
+ * tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11)
+ (iortrans-7.4, iortrans-8.3): New test cases.
- * 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.
+2010-03-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Added checking of -size
- * tests/ioCmd.test (iocmd-15.{13,14}): value to reject negative
- values, and values overflowing 32-bit signed. [Bug 1557855]. Basic
- patch by Alexandre Ferrieux <ferrieux@users.sourceforge.net>, with
- modifications from me to separate overflow from true negative
- value. Extended testsuite.
+ * 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.
-2008-04-08 Andreas Kupries <andreask@activestate.com>
+2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/io.test (io-53.8): Fixed ordering of vwait and after
- cancel. cancel has to be done after the vwait completes.
+ * win/makefile.vc: [Bug 2967340]: Static build was failing.
+ * win/.cvsignore:
-2008-04-09 Daniel Steffen <das@users.sourceforge.net>
+2010-03-10 Jan Nijtmans <nijtmans@users.sf.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
+ * 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
-2008-04-07 Andreas Kupries <andreask@activestate.com>
+2010-03-09 Andreas Kupries <andreask@activestate.com>
- * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.
- * tests/chanio.test:
- * generic/tclIO.c: Additional changes to data structures for fcopy
- * generic/tclIO.h: and channels to perform proper cleanup in case
- of a channel having two background copy operations running as is
- now possible.
+ * 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.
- * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.
- * generic/tclIO.c: Additional changes to data structures for fcopy
- and channels to perform proper cleanup in case of a channel having
- two background copy operations running as is now possible.
+2010-03-09 Don Porter <dgp@users.sourceforge.net>
-2008-04-07 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclIO.c (BUSY_STATE, CheckChannelErrors,
- TclCopyChannel): New macro, and the places using it. This change
- allows for bi-directional fcopy on channels. [Bug 1350564]. Thanks
- to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for the
- patch.
+2010-03-07 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-07 Reinhard Max <max@suse.de>
+ * 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:
- * 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'.
+2010-03-06 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-05 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclStubLib.c: Remove presence of tclTomMathStubsPtr here.
+ * generic/tclTest.c: Test that tommath stubs are present in stub
+ library.
- * 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.
+2010-03-05 Donal K. Fellows <dkf@users.sf.net>
- * 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).
+ * 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.
- * 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.
+ * 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.
-2008-04-04 Andreas Kupries <andreask@activestate.com>
+ ***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:
- * 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.
+2010-03-03 Andreas Kupries <andreask@activestate.com>
-2008-04-04 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.
- * 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'.
+2010-03-02 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed
- message.
+ * unix/tcl.m4: [FRQ 2959069]: Support for -fvisibility=hidden
+ * unix/configure (regenerated with autoconf-2.59)
- * 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.
+2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tests/ioCmd.test (iocmd-31.8): Testcase for the above.
+ * 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.
-2008-04-03 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIndexObj.c: fix [AT 86258]: special-casing of empty
+ tables when generating error messages for [::tcl::prefix match].
- * 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.
+2010-02-28 Donal K. Fellows <dkf@users.sf.net>
-2008-04-02 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclIO.c (CopyData): Applied patch for the 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.
+2010-02-28 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-01 Andreas Kupries <andreask@activestate.com>
+ * generic/tclStubInit.c: [Bug 2959713]: Link error with gcc 4.1
- * generic/tclStrToD.c: Applied patch for [Bug 1839067] (fp
- * unix/tcl.m4: rounding setup on solaris x86, native cc), provided
- * unix/configure: by Michael Schlenker. configure regen'd.
+2010-02-27 Donal K. Fellows <dkf@users.sf.net>
-2008-04-01 Don Porter <dgp@users.sourceforge.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/tclStubLib.c (Tcl_InitStubs): Added missing error message.
- * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
+ * generic/tclMain.c (Tcl_Main): [Bug 801429]: Factor out the holding
+ of the client-installed main loop function into thread-specific data.
-2008-03-30 Kevin Kenny <kennykb@acm.org>
+ ***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.
- * 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.
+2010-02-26 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf-2.61
+ * 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.
- * 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]
+2010-02-26 Reinhard Max <max@suse.de>
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
+ * doc/safe.n: Name the installed file after the command it documents.
+ Use "Safe Tcl" instead of the "Safe Base", "Safe Tcl" mixture.
- *** 8.5.2 TAGGED FOR RELEASE ***
+2010-02-26 Donal K. Fellows <dkf@users.sf.net>
- * 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/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/configure: autoconf-2.59
- * win/configure:
+ * unix/installManPage: Remap non-alphanumeric sequences in filenames
+ to single underscores (especially colons).
- * changes: Updated for 8.5.2 release.
+2010-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-2008-03-28 Donal K. Fellows <dkf@users.sf.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.
- * 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!
+2010-02-25 Jan Nijtmans <nijtmans@users.sf.net>
-2008-03-27 Kevin B. Kenny <kennykb@acm.org>
+ * 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:
- * 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.
+2010-02-24 Donal K. Fellows <dkf@users.sf.net>
-2008-03-27 Daniel Steffen <das@users.sourceforge.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.
- * unix/tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]
+ * generic/tclExecute.c (TclExecuteByteCode): Reduce ifdef-fery and
+ size of activation record. More variables shared across instructions
+ than before.
- * unix/configure: autoconf-2.59
+ * doc/socket.n: [Bug 2957688]: Clarified that [socket -server] works
+ with a command prefix. Extended example to show this in action.
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
+2010-02-22 Andreas Kupries <andreask@activestate.com>
- * changes: Updated for 8.5.2 release.
+ * 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.
-2008-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-02-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBinary.c: [Bug 1923966] - crash in binary format
- * tests/binary.test: Added tests for the above crash condition.
+ * 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:
-2008-03-21 Donal K. Fellows <dkf@users.sf.net>
+2010-02-21 Mo DeJong <mdejong@users.sourceforge.net>
- * doc/switch.n: Clarified documentation in respect of two-argument
- invokation. [Bug 1899962]
+ * tests/regexp.test: Add test cases back ported from Jacl regexp work.
- * tests/switch.test: Added more tests of regexp-mode compilation of
- the [switch] command. [Bug 1854435]
+2010-02-21 Jan Nijtmans <nijtmans@users.sf.net>
-2008-03-20 Donal K. Fellows <dkf@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:
- * 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.
+2010-02-20 Donal K. Fellows <dkf@users.sf.net>
-2008-03-19 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).
- * generic/tcl.h, generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Make
- sure this function is available when direct linking. [Bug 1868171]
+2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net>
- * tests/reg.test (reg-33.14): Marked nonPortable because some
- environments have small default stack sizes. [Bug 1905562]
+ * tcl.m4: Correct compiler/linker flags for threaded builds on
+ OpenBSD.
+ * configure: (regenerated).
-2008-03-18 Andreas Kupries <andreask@activestate.com>
+2010-02-19 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * 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).
- ***INCOMPATIBILITY*** for all Tcl Modules already written in non-utf-8
- compatible encodings.
+2010-02-17 Donal K. Fellows <dkf@users.sf.net>
-2008-03-18 Don Porter <dgp@users.sourceforge.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/tclExecute.c: Patch from Miguel Sofer to correct the
- alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
+ * generic/tclCompCmds.c (TclCompileDictUpdateCmd): Stack depth must be
+ correctly described when compiling a body to prevent crashes in some
+ debugging modes.
-2008-03-18 Andreas Kupries <andreask@activestate.com>
+2010-02-16 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tm.tcl (::tcl::tm::Defaults): Modified handling of
- environment variables. See [Bug 1914604]. 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.
+ * generic/tclInt.h: Change order of various struct members,
+ fixing potential binary incompatibility with Tcl 8.5
-2008-03-16 Donal K. Fellows <dkf@users.sf.net>
+2010-02-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]
+ * 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.
- * doc/lreplace.n: Clarified documentation of what happens with
- negative indices. [Bug 1905809] Added example, tidied up formatting.
+ * generic/tclLiteral.c (HashString): Missed updating to FNV in one
+ place; the literal table (a copy of the hash table code...)
-2008-03-14 Don Porter <dgp@users.sourceforge.net>
+2010-02-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c (OldMathFuncProc): Same workaround protection
- from bad TclStackAlloc() alignment. Thanks George Peter Staplin.
+ * 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:
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Use ckalloc() to allocate
- SortElement arrays instead of TclStackAlloc() which isn't getting
- alignment right. Workaround for [Bug 1914503].
+2010-02-15 Donal K. Fellows <dkf@users.sf.net>
-2008-03-14 Reinhard Max <max@suse.de>
+ * 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.)
- * generic/tclTest.c: Ignore the return value of write() when we are
- * unix/tclUnixPipe.c: about to exit anyways.
+2010-02-13 Donal K. Fellows <dkf@users.sf.net>
-2008-03-13 Daniel Steffen <das@users.sourceforge.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.
- * 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
+ * generic/tclEnsemble.c: Split the ensemble engine out into its own
+ file rather than keeping it mashed together with the namespace code.
-2008-03-13 Don Porter <dgp@users.sourceforge.net>
+2010-02-12 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Updated for 8.5.2 release.
+ * win/tcl.m4: Use -pipe for gcc on win32
+ * win/configure: (mingw/cygwin) (regenerated)
+ * win/.cvsignore: Add .lib, .exp and .res here
- * generic/tclStrToD.c: Resolve identifier conflict over "pow10" with
- libm in Cygwin and DJGPP. Thanks to Gordon Schumacher and Philip
- Moore. [Patch 1800636]
+2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-2008-03-12 Daniel Steffen <das@users.sourceforge.net>
+ * tests/list.test: Add tests for explicit \0 in a string argument to
+ the list command.
- * 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'.
+2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-2008-03-12 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
+ we do not try to put a NULL pipeline channel into binary mode.
- * doc/info.n: Replaced {expand} with {*}.
+2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-2008-03-12 Jeff Hobbs <jeffh@ActiveState.com>
+ [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.
- * 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]
+2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-2008-03-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclOO.c (ObjectRenamedTrace): [Bug 2949397]: Prevent
+ destructors from running on the two core class objects when the whole
+ interpreter is being destroyed.
- * 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]
+2010-02-09 Donal K. Fellows <dkf@users.sf.net>
- * library/http/http.tcl: Whitespace changes, code cleanup. Allow http
- to be re-sourced without overwriting http state.
+ * 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.
-2008-03-11 Daniel Steffen <das@users.sourceforge.net>
+2010-02-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclEncoding.c (LoadEscapeEncoding): Avoid leaking escape
- sub-encodings, fixes encoding-11.1 failing after iso2022-jp loaded.
- [Bug 1893053]
+ * tools/genStubs.tcl: Remove dependency on 8.5+ idiom "in" in
+ expressions.
- * macosx/tclMacOSXNotify.c: Avoid using CoreFoundation after fork() on
- Darwin 9 even when TclpCreateProcess() uses vfork().
+2010-02-08 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * 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).
- * unix/tclUnixPort.h: Workaround vfork() problems
- in llvm-gcc-4.2.1 -O4 build.
+2010-02-06 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixPort.h: Move MODULE_SCOPE compat define
- to top [Bug 1911102].
+ * 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.
- * macosx/GNUmakefile: Fix quoting to allow paths to
- * macosx/Tcl-Common.xcconfig: ${builddir} and ${INSTALL_ROOT}
- * unix/Makefile.in: to contain spaces.
- * unix/configure.in:
- * unix/install-sh:
- * unix/tcl.m4:
- * tests/ioCmd.test:
+ ***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.
- * unix/configure: autoconf-2.59
+2010-02-05 Donal K. Fellows <dkf@users.sf.net>
- * unix/Makefile.in (install-strip): Strip non-global symbols from
- dynamic library.
+ * generic/tclCompCmds.c (TclCompileErrorCmd): Added compilation of the
+ [error] command. No new bytecodes.
- * unix/tclUnixNotfy.c: Fix warning.
+2010-02-05 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/exec.test (exec-9.7): Reduce timing sensitivity
- * tests/socket.test (socket-2.11): (esp. on multi-proc machines).
+ * 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.
- * tests/fCmd.test (fCmd-9.4): Skip on Darwin 9 (xfail).
+2010-02-03 Donal K. Fellows <dkf@users.sf.net>
-2008-03-11 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclVar.c (ArrayUnsetCmd): More corrections.
- * 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]
+2010-02-02 Donal K. Fellows <dkf@users.sf.net>
-2008-03-10 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclVar.c: Turned the [array] command into a true ensemble.
- * changes: Updated for 8.5.2 release.
+ * 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.
- * doc/http.n: Revised to indicate that [package require http 2.5.5]
- is needed to get all the documented commands ([http::meta]).
+ * generic/tclOOBasic.c (TclOO_Object_Destroy): [Bug 2944404]: Do not
+ crash when a destructor deletes the object that is executing that
+ destructor.
- * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Added error
- * tests/event.test (event-5.*): checking to protect against callers
- passing invalid return options dictionaries. [Bug 1901113]
+2010-02-01 Donal K. Fellows <dkf@users.sf.net>
- * 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]
+ * 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.
-2008-03-07 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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.
+2010-01-30 Donal K. Fellows <dkf@users.sf.net>
-2008-03-07 Don Porter <dgp@users.sourceforge.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/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/tclVar.c (TclPtrUnsetVar): Var reference version of the code
+ to unset a variable. Required for INST_UNSET bytecodes.
- * generic/tclCmdAH.c: Revised direct evaluation implementation of
- [expr] so that [expr $e] caches compiled bytecodes for the expression
- as the intrep of $e.
+2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/execute.test (execute-6.*): More tests checking that
- script bytecode is invalidated in the right situations.
+ * 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:
-2008-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-01-28 Donal K. Fellows <dkf@users.sf.net>
- * win/configure.in: Add AC_HEADER_STDC to support msys/win64.
+ * 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).
-2008-03-06 Donal K. Fellows <dkf@users.sf.net>
+2010-01-25 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/namespace.n: Minor tidying up. [Bug 1909019]
+ * generic/tclOOStubInit.c: Remove double includes (which causes a
+ * generic/tclOOStubLib.c: warning in CYGWIN compiles)
+ * unix/.cvsignore: add confdefs.h
-2008-03-04 Don Porter <dgp@users.sourceforge.net>
+2010-01-22 Donal K. Fellows <dkf@users.sf.net>
- * tests/execute.test (6.3,4): Added tests for [Bug 1899164].
+ * doc/proc.n: [Bug 1970629]: Define a bit better what the current
+ namespace of a procedure is.
-2008-03-03 Reinhard Max <max@suse.de>
+2010-01-22 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixChan.c: Fix mark and space parity on Linux, which uses
- CMSPAR instead of PAREXT.
+ * 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.
-2008-03-02 Miguel Sofer <msofer@users.sf.net>
+2010-01-22 Donal K. Fellows <dkf@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.
+ * generic/tclExecute.c (TclExecuteByteCode): Improve error code
+ generation from some of the tailcall-related bits of TEBC.
-2008-02-29 Don Porter <dgp@users.sourceforge.net>
+2010-01-21 Miguel Sofer <msofer@users.sf.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/tclCompile.h: NRE-enable direct eval on BC spoilage
+ * generic/tclExecute.c: [Bug 2910748]
+ * tests/nre.test:
- * 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().
+2010-01-19 Donal K. Fellows <dkf@users.sf.net>
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
+ * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
+ update] are doing with variables.
- * unix/tclPort.h, unix/tclCompat.h, unix/tclUnixChan.h: Reduce scope
- of <sys/filio.h> and <sys/ioctl.h> #includes. [Patch 1903339]
+2010-01-18 Andreas Kupries <andreask@activestate.com>
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
+ * 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.
- * 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].
+2010-01-18 Donal K. Fellows <dkf@users.sf.net>
-2008-02-28 Don Porter <dgp@users.sourceforge.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.
- * 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.
+2010-01-13 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c (ParseExpr): Plug memory leak in error
- message generation.
+ * 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.
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
- leaked an mp_int.
+2010-01-13 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * 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
-2008-02-27 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-01-12 Donal K. Fellows <dkf@users.sf.net>
- * library/http/http.tcl: [Bug 705956] - fix inverted logic when
- cleaning up socket error in geturl.
+ * 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.
-2008-02-27 Kevin B. Kenny <kennykb@acm.org>
+2010-01-10 Jan Nijtmans <nijtmans@users.sf.net>
- * 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].
+ * 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.
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+2010-01-10 Donal K. Fellows <dkf@users.sf.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.
+ * 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.
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+ * 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.
- * generic/tclIORChan.c (enum MethodName),
- * generic/tclCompExpr.c (enum Marks): More stray trailing ","s
+2010-01-09 Donal K. Fellows <dkf@users.sf.net>
-2008-02-26 Joe English <jenglish@users.sourceforge.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.
- * 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.
+2010-01-05 Don Porter <dgp@users.sourceforge.net>
-2008-02-26 Joe English <jenglish@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.
- * generic/tclCompile.h: Remove stray trailing "," from enum
- InstOperandType definition (C99ism).
+2010-01-03 Donal K. Fellows <dkf@users.sf.net>
-2008-02-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
+ for modern FreeBSD suggested by the FreeBSD porter.
- * generic/tclUtil.c (TclReToGlob): Fix the handling of the last star
- * tests/regexpComp.test: possibly being escaped in
- determining right anchor. [Bug 1902436]
+2010-01-03 Miguel Sofer <msofer@users.sf.net>
-2008-02-26 Pat Thoyts <patthoyts@users.sourceforge.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:
- * 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]
+2009-12-30 Donal K. Fellows <dkf@users.sf.net>
-2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.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.
- * 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]
+2009-12-30 Miguel Sofer <msofer@users.sf.net>
-2008-02-13 Don Porter <dgp@users.sourceforge.net>
+ * library/init.tcl (unknown): [Bug 2824981]: Fix infinite recursion of
+ ::unknown when [set] is undefined.
- * 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
+2009-12-29 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclHistory.c (Tcl_RecordAndEvalObj): Reduce the amount of
+ allocation and deallocation of memory by caching objects in the
+ interpreter assocData table.
-2008-02-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/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]
+ * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
+ the min() and max() functions are supported in safe interpreters.
- * unix/README: Documented missing configure flags. [Bug 1799011]
+2009-12-29 Pat Thoyts <patthoyts@users.sourceforge.net>
-2008-02-06 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclBinary.c: [Bug 2922555]: Handle completely invalid input
+ * tests/binary.test: to the decode methods.
- * 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).
+2009-12-28 Donal K. Fellows <dkf@users.sf.net>
-2008-02-04 Don Porter <dgp@users.sourceforge.net>
+ * unix/Makefile.in (trace-shell, trace-test): [FRQ 1083288]: Added
+ targets to allow easier tracing of shell and test invokations.
- *** 8.5.1 TAGGED FOR RELEASE ***
+ * 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):
- * changes: Updated for 8.5.1 release.
+ * 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.
- * 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:
+2009-12-27 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf-2.59
- * win/configure:
+ * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
+ not be quite so ancient.
-2008-02-04 Miguel Sofer <msofer@users.sf.net>
+2009-12-25 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclExecute.c (INST_CONCAT1): Fix optimisation for in-place
- concatenation (was going over String type)
+ * generic/tclCmdMZ.c: CONST -> const
+ * generic/tclParse.c
-2008-02-02 Daniel Steffen <das@users.sourceforge.net>
+2009-12-23 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure.in (Darwin): Correct Info.plist year substitution in
- non-framework builds.
+ * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
+ information about paths from leaking through [info script] and [info
+ nameofexecutable].
- * unix/configure: autoconf-2.59
+2009-12-23 Jan Nijtmans <nijtmans@users.sf.net>
-2008-01-30 Miguel Sofer <msofer@users.sf.net>
+ * unix/tcl.m4: Install libtcl8.6.dll in bin directory
+ * unix/Makefile.in:
+ * unix/configure: (regenerated)
- * generic/tclInterp.c (Tcl_GetAlias): Fix for [Bug 1882373], thanks go
- to an00na.
+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
-2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-12-19 Miguel Sofer <msofer@users.sf.net>
- * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a
- proper job of handling references to Ttk options. [Tk Bug 1876493]
+ * generic/tclBasic.c: [Bug 2917627]: Fix for bad cmd resolution by
+ * tests/coroutine.test: coroutines. Thanks to schelte for finding it.
-2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-12-16 Donal K. Fellows <dkf@users.sf.net>
- * 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]
+ * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a
+ larger fraction of [glob] functionality, while being stricter about
+ directory management.
-2008-01-25 Don Porter <dgp@users.sourceforge.net>
+2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Updated for 8.5.1 release.
+ * 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:
-2008-01-23 Don Porter <dgp@users.sourceforge.net>
+2009-12-16 Donal K. Fellows <dkf@users.sf.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.
+ * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
+ to the list manpage when generating HTML.
- * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to
- * generic/tclInt.decls: a MODULE_SCOPE routine declared in
- tclCompile.h.
+ * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform
+ tests that are not needed and which don't work in safe interpreters.
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
+2009-12-14 Donal K. Fellows <dkf@users.sf.net>
-2008-01-22 Don Porter <dgp@users.sourceforge.net>
+ * doc/file.n (file tempfile): [Bug 2388866]: Note that this only ever
+ creates files on the native filesystem. This is a design feature.
- * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with
- Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor
- compiled execution over direct evaluation.
+2009-12-13 Miguel Sofer <msofer@users.sf.net>
-2008-01-22 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclBasic.c: Release TclPopCallFrame() from its
+ * generic/tclExecute.c: tailcall-management duties
+ * generic/tclNamesp.c:
- * generic/tclCmdIl.c (Tcl_LreverseObjCmd):
- * tests/cmdIL.test (cmdIL-7.7): Fix crash on reversing an empty list.
- [Bug 1876793]
+ * 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.
-2008-01-20 Jeff Hobbs <jeffh@ActiveState.com>
+2009-12-12 Donal K. Fellows <dkf@users.sf.net>
- * unix/README: Minor typo fixes [Bug 1853072]
+ * 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!
- * generic/tclIO.c (TclGetsObjBinary): Operate on topmost channel.
- [Bug 1869405] (Ficicchia)
+2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-2008-01-17 Don Porter <dgp@users.sourceforge.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.
- * generic/tclCompExpr.c: Revision to preserve parsed intreps of
- numeric and boolean literals when compiling expressions with (optimize
- == 1).
+2009-12-11 Donal K. Fellows <dkf@users.sf.net>
-2008-01-15 Miguel Sofer <msofer@users.sf.net>
+ * tools/tcltk-man2html.tcl (long-toc, cross-reference): [FRQ 2897296]:
+ Added cross links to sections within manual pages.
- * 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:
+2009-12-11 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp)
+ * generic/tclBasic.c: [Bug 2806407]: Full nre-enabling of coroutines
* 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]
+ * generic/tclBasic.c: Small cleanup
-2008-01-15 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclExecute.c: Fix panic in http11.test caused by buggy
+ earlier commits in coroutine management.
- * 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:
+2009-12-10 Andreas Kupries <andreask@activestate.com>
-2007-12-31 Donal K. Fellows <dkf@users.sf.net>
+ * 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.
- * doc/dict.n: Clarified meaning of dictionary values following
- discussion on comp.lang.tcl.
+2009-12-10 Miguel Sofer <msofer@users.sf.net>
-2007-12-26 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.
- * 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.
+2009-12-09 Andreas Kupries <andreask@activestate.com>
-2007-12-25 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * 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.
+2009-12-09 Miguel Sofer <msofer@users.sf.net>
-2007-12-23 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c: Ensure right lifetime of varFrame's (objc,objv)
+ for coroutines.
- * 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.
+ * generic/tclExecute.c: Code regrouping
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-09 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdIL.c: Speed patch for lsort [Patch 1856994].
+ * generic/tclBasic.c: Added some of the missing setting of errorcode
+ values.
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-08 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): Avoid
- calling SelectObjFromSublist when there are no sublists.
+ * generic/tclExecute.c (TclStackFree): Improved panic msg.
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-08 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.
+ * 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.
-2007-12-19 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (TEBC): Silence warning about pcAdjustment.
- *** 8.5.0 TAGGED FOR RELEASE ***
+2009-12-08 Donal K. Fellows <dkf@users.sf.net>
- * changes: Updated for 8.5.0 release.
+ * 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.
-2007-12-19 Jeff Hobbs <jeffh@ActiveState.com>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * 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]
+ * generic/tclExecute.c (TEBC): Grouping "slow" variables into structs,
+ to reduce register pressure and help the compiler with variable
+ allocation.
-2007-12-18 Don Porter <dgp@users.sourceforge.net>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * changes: Updated for 8.5.0 release.
+ * generic/tclExecute.c: Start cleaning the TEBC stables
+ * generic/tclInt.h:
-2007-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdIL.c: [Bug 2910094]: Fix by aku
+ * tests/coroutine.test:
- * 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]
+ * 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.
-2007-12-17 Don Porter <dgp@users.sourceforge.net>
+2009-12-07 Don Porter <dgp@users.sourceforge.net>
- * changes: Updated for 8.5.0 release.
+ * 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.
-2007-12-17 Miguel Sofer <msofer@users.sf.net>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * generic/tclAlloc.c:
- * generic/tclExecute.c:
+ * generic/tclBasic.c: [Patch 2910056]: Add ::tcl::unsupported::yieldTo
* 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]
+2009-12-07 Donal K. Fellows <dkf@users.sf.net>
- * win/README: updated notes
+ * generic/tclCmdMZ.c (TryPostBody): [Bug 2910044]: Close off memory
+ leak in [try] when a variable-free handler clause is present.
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
+2009-12-05 Miguel Sofer <msofer@users.sf.net>
- * tests/winFile.test: Fixed tests for win2k with long machine name
+ * generic/tclBasic.c: Small changes for clarity in tailcall
+ * generic/tclExecute.c: and coroutine code.
+ * tests/coroutine.test:
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * tests/tailcall.test: Remove some old unused crud; improved the
+ stack depth tests.
- * win/nmakehlp.c: Support compilation with MSVC9 for AMD64.
- * win/makefile.vc:
-
-2007-12-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c: Fixed things so that you can tailcall
+ * generic/tclNamesp.c: properly out of a coroutine.
+ * tests/tailcall.test:
- * doc/trace.n: Clarified documentation of enterstep and leavestep
- traces, including adding example. [Bug 614282, 1701540, 1755984]
+ * generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no
+ test)
-2007-12-12 Don Porter <dgp@users.sourceforge.net>
+2009-12-03 Donal K. Fellows <dkf@users.sf.net>
- * doc/IntObj.3: Update docs for the Tcl_GetBignumAndClearObj() ->
- Tcl_TakeBignumFromObj() revision [TIP 298]. Added docs for the
- Tcl_InitBignumFromDouble() routine. [Bug 1446971].
+ * 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.
- * changes: Updated for 8.5.0 release.
+2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
-2007-12-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclUtil.c (TclReToGlob): reduce escapes in conversion
- when not necessary
+2009-11-30 Jan Nijtmans <nijtmans@users.sf.net>
- * 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
+ * generic/tcl.h: Don't use EXPORT for Tcl_InitStubs
+ * win/Makefile.in: Better dependancies in case of static build.
-2007-12-10 Joe English <jenglish@users.sourceforge.net>
+2009-11-30 Donal K. Fellows <dkf@users.sf.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".
+ * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
+ mention that it is using list syntax.
-2007-12-10 Daniel Steffen <das@users.sourceforge.net>
+2009-11-27 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ * 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.)
- * 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.
+2009-11-27 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclDecls.h: regen with new genStubs.tcl.
- * generic/tclIntDecls.h: [Bug 1834288]
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c:
+ * 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.
-2007-12-09 Jeff Hobbs <jeffh@ActiveState.com>
+ BUMP VERSION OF TCLOO TO 0.6.2. Too many people need accumulated small
+ versions and bugfixes, so the version-bump removes confusion.
- * 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]
+ * generic/tclOOBasic.c (TclOO_Object_LinkVar): [Bug 2903811]: Remove
+ unneeded restrictions on who can usefully call this method.
-2007-12-08 Donal K. Fellows <dkf@users.sf.net>
+2009-11-26 Donal K. Fellows <dkf@users.sf.net>
- * doc/expr.n, doc/mathop.n: Improved the documentation of the
- operators. [Bug 1823622]
+ * 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.
- * 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]
+2009-11-26 Jan Nijtmans <nijtmans@users.sf.net>
-2007-12-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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)
- * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP):
- * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE
- compile flags at compile time, and use TCL_REG_NOSUB.
+2009-11-25 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclIOCmd.c (FinalizeIOCmdTSD, Tcl_PutsObjCmd): cache
- stdout channel object for [puts $str] calls.
+ * 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.)
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
+2009-11-25 Stuart Cassoff <stwo@users.sf.net>
- * README: Remove mention of dead comp.lang.tcl.announce
- newsgroup. [Bug 1846433].
+ * 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.
- * 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]
+2009-11-24 Andreas Kupries <andreask@activestate.com>
- * doc/AddErrInfo.3: Documentation for the new routines in TIP 270.
- * doc/Interp.3:
- * doc/StringObj.3:
+ * 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.
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
+ 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.
- * doc/namespace.n: Documentation for zero-argument form of
- [namespace import] (TIP 261) [Bug 1596416]
+2009-11-24 Donal K. Fellows <dkf@users.sf.net>
-2007-12-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclInt.h: add TclGetChannelFromObj decl
- (TclMatchIsTrivial): simplify TclMatchIsTrivial to remove ] check.
+2009-11-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-12-06 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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>
- * 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.
+ * 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)
- * generic/tclCompCmds.c (TclCompileEnsemble): Ensure that the right
- number of tokens are copied. [Bug 1845320]
+2009-11-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclNamesp.c (TclMakeEnsemble): Added missing release of a
- DString. [Bug 1845397]
+ * 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.
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-23 Kevin B. Kenny <kennykb@acm.org>
- * 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]
+ * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Further
+ machinations to get NewTestThread actually to launch the thread, not
+ just compile.
-2007-12-05 Miguel Sofer <msofer@users.sf.net>
+2009-11-22 Donal K. Fellows <dkf@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).
+ * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Fix small
+ error in function naming which blocked a threaded test build.
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-19 Jan Nijtmans <nijtmans@users.sf.net>
- * win/configure, win/tcl.m4 (LIBS_GUI): mingw needs -lole32
- -loleaut32 but not msvc for Tk's [send]. [Bug 1844749]
+ * 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
-2007-12-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-11-19 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
- when -exact and -integer/-real are mixed. [Bug 1844789]
+ * unix/tclAppInit.c: [Bug 2883850, 2900542]: Repair broken build of
+ * win/tclAppInit.c: the tcltest executable.
-2007-12-03 Donal K. Fellows <dkf@users.sf.net>
+2009-11-19 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]
+ * 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.
-2007-12-03 Don Porter <dgp@users.sourceforge.net>
+2009-11-19 Jan Nijtmans <nijtmans@users.sf.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.
+ * 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:
-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>
+2009-11-18 Jan Nijtmans <nijtmans@users.sf.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]
+ * 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/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/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
- * generic/tclIO.c: Simplify test and improve accuracy of error
- message in latest changes.
+2009-11-17 Andreas Kupries <andreask@activestate.com>
-2007-11-28 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * 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.
- * generic/tclIO.c: -eofchar must support no eofchar.
+2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-11-27 Miguel Sofer <msofer@users.sf.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.
- * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp, add
- comments.
+2009-11-15 Mo DeJong <mdejong@users.sourceforge.net>
-2007-11-27 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinDde.c: Avoid gcc compiler warning by explicitly casting
+ DdeCreateStringHandle argument.
- * win/tclWinSock.c: Add mising encoding conversion of the [info
- hostname] value from the system encoding to Tcl's internal encoding.
+2009-11-12 Andreas Kupries <andreask@activestate.com>
- * doc/chan.n: "Fix" the limitation on channel -eofchar
- * doc/fconfigure.n: values to single byte characters by documenting
- * generic/tclIO.c: it and making it fail loudly. Thanks to Stuart
- * tests/chan.test: Cassoff for contributing the fix. [Bug 800753]
+ * 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.
-2007-11-26 Miguel Sofer <msofer@users.sf.net>
+2009-11-11 Don Porter <dgp@users.sourceforge.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.
+ * generic/tclClock.c (TclClockInit): Do not create [clock] support
+ commands in safe interps.
-2007-11-24 Donal K. Fellows <dkf@users.sf.net>
+2009-11-11 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict
- append] compiler which caused strange stack corruption. [Bug 1837392]
+ * 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:
-2007-11-23 Andreas Kupries <andreask@activestate.com>
+2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * 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.
+ * 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.
- 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'.
+2009-11-10 Pat Thoyts <patthoyts@users.sourceforge.net>
- * tests/ioCmd.test: Updated the testsuite.
+ * 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
-2007-11-23 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-10 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data for
- * tests/var.test (var-14.2): [array names $var -glob $ptn]
+ * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT evaluation.
+ Forward port from Tcl 8.5 branch, change by Don Porter.
-2007-11-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclObj.c: [Bug 2895323]: Plug memory leak in
+ TclContinuationsEnter(). Forward port from Tcl 8.5 branch, change by
+ Don Porter.
- * generic/tclCmdMZ.c (String*Cmd, TclInitStringCmd): Rebuilt [string]
- * generic/tclCompCmds.c (TclCompileString*Cmd): as an ensemble.
+2009-11-09 Stuart Cassoff <stwo@users.sf.net>
-2007-11-22 Donal K. Fellows <dkf@users.sf.net>
+ * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
- * generic/tclDictObj.c (Dict*Cmd,TclInitDictCmd): Rebuilt the [dict]
- * generic/tclCompCmds.c (TclCompileDict*Cmd): command as an ensemble.
+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>
-2007-11-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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.
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Rewrote the [string] and
- * generic/tclDictObj.c (Tcl_DictObjCmd): [dict] implementations to be
- ready for conversion to ensembles.
+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.
- * tests/string.test (string-12.22): Flag shimmering bug found in
- [string range].
+2009-11-01 Joe English <jenglish@users.sourceforge.net>
-2007-11-21 Donal K. Fellows <dkf@users.sf.net>
+ * doc/Eval.3, doc/Cancel.3: Move TIP#285 routines out of Eval.3 into
+ their own manpage.
- * 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).
+2009-10-31 Donal K. Fellows <dkf@users.sf.net>
-2007-11-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
+ the expected number of arguments when generating an error for round().
- * 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.
+2009-10-30 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/various: Start to return more useful Error codes, currently
- mainly on assorted lookup failures.
+ * 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.
-2007-11-20 Donal K. Fellows <dkf@users.sf.net>
+2009-10-29 Don Porter <dgp@users.sourceforge.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.
+ * 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 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.
+ 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.
- * generic/tclInt.h (ENSEMBLE_COMPILE): Added flag to allow for cleaner
- turning on and off of ensemble bytecode compilation.
+2009-10-29 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompile.c (TclCompileScript): Add the cmdPtr to the list
- of arguments passed to command compilers.
+ * tests/dict.test: Make variable-clean and simplify tests by utilizing
+ the fact that dictionaries have defined orders.
-2007-11-15 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclZlib.c (TclZlibCmd): Remove accidental C99-ism which
+ reportedly makes the AIX native compiler choke.
- * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler.
- [Bug 1810038]
+2009-10-29 Kevin B. Kenny <kennykb@acm.org>
- * generic/regc_nfa.c: Corrected looping logic in fixempties() to
- avoid wasting time walking a list of dead states. [Bug 1832612]
+ * 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
-2007-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-10-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL
- interp to Tcl_SetEnsemble* functions.
+ * 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.
- * doc/re_syntax.n: Try to make this easier to read. It's still a very
- difficult manual page!
+2009-10-28 Kevin B. Kenny <kennykb@acm.org>
- * 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].
+ * 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).
-2007-11-15 Pat Thoyts <patthoyts@users.sourceforge.net>
+2009-10-27 Don Porter <dgp@users.sourceforge.net>
- * win/tclWin32Dll.c: Prefer UINT_PTR to DWORD_PTR when casting pointers
- to integer types for greater portability. [Bug 1831253]
+ * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
+ normalized path caused crashes.
-2007-11-15 Daniel Steffen <das@users.sourceforge.net>
+2009-10-27 Kevin B. Kenny <kennykb@acm.org>
- * macosx/Tcl.xcodeproj/project.pbxproj: add new chanio.test.
- * macosx/Tcl.xcode/project.pbxproj:
+ * 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.)
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-10-26 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * unix/Makefile.in: Remove $(PACKAGE).* and prototype from the
+ `make distclean` target. Completes 2009-10-20 commit.
- * 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.
+2009-10-24 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclCompCmds.c (TclCompileInfoCmd): Simple compiler for the
- [info] command that only handles [info exists].
+ * 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.)
- * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): New
- instructions to allow the testing of whether a variable exists.
+2009-10-23 Andreas Kupries <andreask@activestate.com>
-2007-11-14 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>.
- * 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.
+2009-10-22 Donal K. Fellows <dkf@users.sf.net>
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 2883857]: Allow
+ the passing of array element names through this method.
- * 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]
+2009-10-21 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
+ where SIGSEGV and SIGBUS are the same value.
- * generic/tclCompCmds.c (TclCompileRegexpCmd): clean up comments, only
- free dstring on OK from TclReToGlob.
- (TclCompileSwitchCmd): simplify TclReToGlob usage.
+ * generic/tclTrace.c (StringTraceProc): [Bug 2881259]: Added back cast
+ to work around silly bug in MSVC's handling of auto-casting.
-2007-11-14 Donal K. Fellows <dkf@users.sf.net>
+2009-10-20 Don Porter <dgp@users.sourceforge.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]
+ * 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.
-2007-11-13 Donal K. Fellows <dkf@users.sf.net>
+2009-10-19 Don Porter <dgp@users.sourceforge.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.
+ * 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.
- * doc/mathop.n: Clarify definitions of some operations.
+2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-2007-11-13 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * 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.
+2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-2007-11-13 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * 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.
- * unix/tcl.m4: Added autoconf goo to detect and make use of
- * unix/configure.in: getaddrinfo and friends.
- * unix/configure: (regenerated)
+2009-10-17 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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.
- * 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]
+2009-10-08 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Don Porter <dgp@users.sourceforge.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.
- * generic/regcomp.c: Convert optst() from expensive no-op to a
- cheap no-op.
+2009-10-07 Andreas Kupries <andreask@activestate.com>
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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>.
- * 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].
+ * 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.
-2007-11-12 Jeff Hobbs <jeffh@ActiveState.com>
+2009-10-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros
- due to compiler warning. These cases won't save time either.
+ * 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/tclUtil.c (TclReToGlob): add more comments, set interp result
- if specified on error.
+ * 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].
-2007-11-12 Miguel Sofer <msofer@users.sf.net>
+2009-10-05 Andreas Kupries <andreask@activestate.com>
- * generic/tclBasic.c: New macro TclResetResult, new iPtr flag
- * generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for
- * generic/tclInt.h: Tcl_ResetResult for the "normal" case:
- * generic/tclProc.c: TCL_OK, no return options, no errorCode
- * generic/tclResult.c: nor errorInfo, return at normal level.
- * generic/tclStubLib.c: [Patch 1830184]
- * generic/tclUtil.c:
+ * 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.
- THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
- perfomance wins, which turn out to be tiny. Not worth the complication.
+2009-10-04 Daniel Steffen <das@users.sourceforge.net>
-2007-11-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
+ * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
- * 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.
+2009-10-02 Kevin B. Kenny <kennykb@acm.org>
-2007-11-11 Miguel Sofer <msofer@users.sf.net>
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Karachi:
+ * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
- * generic/tclResult.c (ResetObjResult): clarify the logic.
+2009-09-29 Don Porter <dgp@users.sourceforge.net>
- * 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 has
- * generic/tclIO.c: been recorded as [Patch 1830038] in
- * generic/tclIOCmd.c: order to facilitate reviewing.
- * generic/tclIOGT.c:
- * generic/tclIndexObj.c:
+ * 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/tclInterp.c:
* generic/tclListObj.c:
- * generic/tclLiteral.c:
* generic/tclNamesp.c:
+ * generic/tclOOCall.c:
* generic/tclObj.c:
- * generic/tclParse.c:
+ * generic/tclPathObj.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.
+ * 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].
- * unix/configure: autoconf 2.61
+2009-09-28 Don Porter <dgp@users.sourceforge.net>
- * 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).
+ * 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.
-2007-11-10 Kevin Kenny <kennykb@acm.org>
+2009-09-27 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * tests/error.test (error-15.8.*): Coverage tests illustrating
+ flaws in the propagation of return options by [try].
-2007-11-10 Miguel Sofer <msofer@users.sf.net>
+2009-09-26 Donal K. Fellows <dkf@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.
+ * 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.
-2007-11-09 Miguel Sofer <msofer@users.sf.net>
+2009-09-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclResult.c (ResetObjResult): new shortcut.
+ TIP #356 IMPLEMENTATION
- * generic/tclAsync.c:
- * generic/tclBasic.c:
- * generic/tclExecute.c:
+ * generic/tcl.decls: Promote internal routine TclNRSubstObj()
+ * generic/tclCmdMZ.c: to public Tcl_NRSubstObj(). Still needs docs.
+ * generic/tclCompile.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/tclDecls.h: make genstubs
+ * generic/tclStubInit.c:
- * generic/tclBinary.c (Tcl_GetByteArrayFromObj): check type before
- func jump (perf).
+2009-09-23 Miguel Sofer <msofer@users.sf.net>
-2007-11-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/namespace.n: the description of [namespace unknown] failed
+ to mention [namespace path]: fixed. Thx emiliano.
- * 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]
+2009-09-21 Mo DeJong <mdejong@users.sourceforge.net>
- * generic/tclIO.c (TclGetsObjBinary): Add an efficient binary path for
- [gets].
- (DoWriteChars): Special case for 1-byte channel write.
+ * tests/regexp.test: Added check for error message from
+ unbalanced [] in regexp. Added additional simple test cases
+ of basic regsub command.
-2007-11-06 Miguel Sofer <msofer@users.sf.net>
+2009-09-21 Don Porter <dgp@users.sourceforge.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.
+ * generic/tclCompile.c: Correct botch in the conversion of
+ Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report.
-2007-11-05 Andreas Kupries <andreask@activestate.com>
+2009-09-17 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * 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.
- * 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.
+2009-09-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-11-03 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclObj.c: Extended ::tcl::unsupported::representation.
- * 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).
+2009-09-11 Don Porter <dgp@users.sourceforge.net>
-2007-11-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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:
- * tools/tcltk-man2html.tcl (output-directive): Convert .DS/.DE pairs
- into tables since that is now all that they are used for.
+2009-09-11 Donal K. Fellows <dkf@users.sf.net>
- * doc/RegExp.3: Clarified documentation of RE flags. [Bug 1167840]
+ * tests/http.test: Added in cleaning up of http tokens for each test
+ to reduce amount of global-variable pollution.
- * doc/refchan.n: Adjust internal name to be consistent with the file
- name for reduced user confusion. After comment by Dan Steffen.
+2009-09-10 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdMZ.c (Tcl_StringObjCmd, UniCharIsAscii): Remember, the
- NUL character is in ASCII too. [Bug 1808258]
+ * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
+ names in double quotes; some servers like generating them like that.
- * doc/file.n: Clarified use of [file normalize]. [Bug 1185154]
+2009-09-07 Don Porter <dgp@users.sourceforge.net>
-2007-10-30 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclParse.c: [Bug 2850901]: Corrected line counting error
+ * tests/into.test: in multi-command script substitutions.
- * 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:
+2009-09-07 Daniel Steffen <das@users.sourceforge.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * 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:
-2007-10-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclExecute.c: Silence false positives from clang static
+ * generic/tclIO.c: analyzer about potential null dereference.
+ * generic/tclScan.c:
+ * generic/tclCompExpr.c:
- * doc/expr.n, doc/mathfunc.n: Improve documentation to try to make
- clearer what is going on.
+2009-09-04 Don Porter <dgp@users.sourceforge.net>
- * doc/interp.n: Shorten the basic descriptive text for some interp
- subcommands so Solaris nroff doesn't truncate them. [Bug 1822268]
+ * 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:
-2007-10-30 Donal K. Fellows <dkf@users.sf.net>
+2009-09-03 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.
+ * doc/LinkVar.3: [Bug 2844962]: Added documentation of issues relating
+ to use of this API in a multi-threaded environment.
-2007-10-28 Miguel Sofer <msofer@users.sf.net>
+2009-09-01 Andreas Kupries <andreask@activestate.com>
- * generic/tclUtil.c (Tcl_ConcatObj): optimise for some of the
- concatenees being empty objs. [Bug 1447328]
+ * 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.
-2007-10-28 Donal K. Fellows <dkf@users.sf.net>
+2009-09-01 Don Porter <dgp@users.sourceforge.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.
+ * 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:
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
+2009-08-27 Don Porter <dgp@users.sourceforge.net>
- * generic/regc_lex.c (lexescape): Close off one of the problems
- mentioned in [Bug 1810264].
+ * generic/tclStringObj.c: [Bug 2845535]: A few more string
+ overflow cases in [format].
-2007-10-27 Miguel Sofer <msofer@users.sf.net>
+2009-08-25 Andreas Kupries <andreask@activestate.com>
- * 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]
+ * 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):
- * 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]
+ 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.
- * 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).
+2009-08-24 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclVar.c: try to preserve Tcl_Objs when doing variable
- lookups by name, partially addressing [Bug 1793601].
+ * generic/tclInt.h: Annotate Tcl_Panic as noreturn for clang static
+ analyzer in PURIFY builds, replacing preprocessor/assert technique.
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
+ * 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)
- * tools/tcltk-man2html.tcl (make-man-pages, htmlize-text)
- (process-text): Make the man->HTML scraper work better.
+2009-08-21 Don Porter <dgp@users.sourceforge.net>
-2007-10-26 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
+ * tests/fileName.test:
- *** 8.5b2 TAGGED FOR RELEASE ***
+2009-08-20 Don Porter <dgp@users.sourceforge.net>
- * changes: Updated for 8.5b2 release.
+ * generic/tclFileName.c: [Bug 2837800]: Correct the result produced by
+ [glob */test] when * matches something like ~foo.
- * doc/*.1: Revert doc changes that broke
- * doc/*.3: `make html` so we can get the release
- * doc/*.n: out the door.
+ * 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.
- * 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:
+2009-08-20 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclCmdIL.c (TclNRIfObjCmd): [Bug 2823276]: Make [if]
+ NRE-safe on all arguments when interpreted.
+ (Tcl_LsortObjCmd): Close off memory leak.
-2007-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-08-19 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * generic/tclCmdAH.c (TclNRForObjCmd, etc.): [Bug 2823276]: Make [for]
+ and [while] into NRE-safe commands, even when interpreted.
-2007-10-25 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2009-08-18 Don Porter <dgp@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]
+ * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent
+ * tests/fileName.test: crashes during [glob].
-2007-10-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-08-16 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/man2html2.tcl (macro): Added support for converting the new
- macros into HTML.
+ * 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:
- * 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.
+2009-08-12 Don Porter <dgp@users.sourceforge.net>
-2007-10-20 Miguel Sofer <msofer@users.sf.net>
+ TIP #353 IMPLEMENTATION
- * generic/tclCompile.c: Fix comments.
+ * 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:
-
-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:
+ * generic/tclInt.h:
+ * generic/tclObj.c:
* 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/tclDecls.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.
+2009-08-06 Andreas Kupries <andreask@activestate.com>
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
+ * 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}).
- * generic/tclInt.h: remove redundant ops in TclNewStringObj macro.
+2009-08-02 Miguel Sofer <msofer@users.sf.net>
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
+ * tests/coroutine.test: fix testfile cleanup
- * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was causing a
- leak.
+2009-08-02 Donal K. Fellows <dkf@users.sf.net>
-2007-08-10 Don Porter <dgp@users.sourceforge.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!
- * 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.
+ * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
+ (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
+ * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
+ they've been unnecessary for ages.
-2007-08-09 Miguel Sofer <msofer@users.sf.net>
+2009-08-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclProc.c (TclCreateProc): better comments on the required
- varflag values when loading precompiled procs.
+ * 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
- * 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]
+2009-07-31 Don Porter <dgp@users.sourceforge.net>
-2007-08-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via
- procPtr. codePtr->procPtr == NULL exposed by tbcload.
+2009-07-26 Donal K. Fellows <dkf@users.sf.net>
-2007-08-08 Don Porter <dgp@users.sourceforge.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].
- * generic/tclExecute.c: Corrected failure to compile/link in the
- -DNO_WIDE_TYPE configuration.
+2009-07-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: Corrected improper use of bignum arguments to
- * tests/expr.test: *SHIFT operations. [Bug 1770224]
+ * tools/genStubs.tcl: Forced LF translation when generating .h's to
+ avoid spurious diffs when regenerating on a Windows box.
-2007-08-07 Miguel Sofer <msofer@users.sf.net>
+2009-07-26 Jan Nijtmans <nijtmans@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.
+ * 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].
- * generic/tclInt.decls: Exporting via stubs to help xotcl adapt to
- * generic/tclInt.h: VarReform.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
+2009-07-25 Donal K. Fellows <dkf@users.sf.net>
-2007-08-07 Daniel Steffen <das@users.sourceforge.net>
+ * library/history.tcl (history): Reworked the history mechanism in
+ terms of ensembles, rather than the ad hoc ensemble-lite mechanism
+ used previously.
- * generic/tclEnv.c: improve environ handling on Mac OS X (adapted
- * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
+2009-07-24 Donal K. Fellows <dkf@users.sf.net>
- * unix/Makefile.in: add support for compile flags specific to
- object files linked directly into executables.
+ * 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.
- * 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.
+2009-07-23 Andreas Kupries <andreask@activestate.com>
- * unix/configure: autoconf-2.59
+ * 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>
-2007-08-06 Don Porter <dgp@users.sourceforge.net>
+2009-07-23 Joe Mistachkin <joe@mistachkin.com>
- * tests/parseExpr.test: Update source file name of expr parser code.
+ * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
+ freed once processed.
- * 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().
+2009-07-22 Jan Nijtmans <nijtmans@users.sf.net>
-2007-08-06 Kevin B. Kenny <kennykb@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
- * 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.
+2009-07-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-08-04 Miguel Sofer <msofer@users.sf.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.
- * 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:
+2009-07-21 Kevin B. Kenny <kennykb@acm.org>
-2007-08-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
- * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318]
+2009-07-20 Donal K. Fellows <dkf@users.sf.net>
-2007-08-01 Pat Thoyts <patthoyts@users.sourceforge.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.
- * 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).
+2009-07-19 Donal K. Fellows <dkf@users.sf.net>
-2007-08-01 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclOO.decls, generic/tclOO.c (Tcl_GetObjectName): Expose a
+ function for efficiently returning the current name of an object.
- * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry
- Virden.
+2009-07-18 Daniel Steffen <das@users.sourceforge.net>
-2007-07-31 Miguel Sofer <msofer@users.sf.net>
+ * unix/Makefile.in: Define NDEBUG in optimized (non-symbols) build to
+ disable NRE assert()s and threaded allocator range checks.
- * 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.
+2009-07-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h:
- * generic/tclBasic.c:
+ * generic/tclBinary.c: Removed unused variables.
* 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
+ * generic/tclIOUtil.c:
+ * generic/tclVar.c:
-2007-07-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c: Silence compiler warnings about ClientData.
+ * generic/tclProc.c:
- * 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]
+ * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
- * unix/tclUnixCompat.c: Simplify the #ifdef logic.
+ * generic/tclStrToD.c: [Bug 2819200]: Set floating point control
+ register on MIPS systems so that the gradual underflow expected by Tcl
+ is in effect.
- * unix/tclUnixChan.c (FileWatchProc): Fix test failures.
+2009-07-15 Donal K. Fellows <dkf@users.sf.net>
-2007-07-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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.
- * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this
- file clearer.
+ * generic/tclInt.decls: Added four functions for better integration
+ with itcl-ng.
-2007-07-24 Miguel Sofer <msofer@users.sf.net>
+2009-07-14 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ * 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.
-2007-07-20 Andreas Kupries <andreask@activestate.com>
+ 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).
- * 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.
+ 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'.
-2007-07-19 Don Porter <dgp@users.sourceforge.net>
+ 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.
- * 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.
+ The above fixes [Bug 1605269].
-2007-07-18 Don Porter <dgp@users.sourceforge.net>
+2009-07-12 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c: Removed unused arguments and variables
+ * 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_.
-2007-07-17 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * 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.
+2009-07-11 Donal K. Fellows <dkf@users.sf.net>
-2007-07-15 Don Porter <dgp@users.sourceforge.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.
- * 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.
+2009-07-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-12 Don Porter <dgp@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.
- * generic/tclCompExpr.c: Factored out, corrected, and commented
- common code for reporting syntax errors in LEAF elements.
+2009-07-09 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-11 Miguel Sofer <msofer@users.sf.net>
+ * tests/zlib.test: [Bug 2818131]: Added tests and fixed a typo that
+ broke [zlib push] for deflate format.
- * 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]
+2009-07-09 Donal K. Fellows <dkf@users.sf.net>
-2007-07-11 Don Porter <dgp@users.sourceforge.net>
+ * compat/mkstemp.c (mkstemp): [Bug 2819227]: Use rand() for random
+ numbers as it is more portable.
- * 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.
+2009-07-05 Donal K. Fellows <dkf@users.sf.net>
-2007-07-10 Don Porter <dgp@users.sourceforge.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.
- * 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.
+2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-09 Don Porter <dgp@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.
- * 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.
+2009-06-30 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclCompExpr.c: Added missing creation and return of
- the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
+ * 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.
-2007-07-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c: Add clang assert for false positive
+ from static analyzer.
- * library/init.tcl (unknown): Corrected inconsistent error message
- in interactive [unknown] when empty command is invoked. [Bug 1743676]
+2009-06-26 Daniel Steffen <das@users.sourceforge.net>
-2007-07-05 Miguel Sofer <msofer@users.sf.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.
- * generic/tclNamesp.c (SetNsNameFromAny):
- * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary
- ckfree/ckalloc when the old structs can be reused.
+ * macosx/README: Update project docs, cleanup.
-2007-07-04 Miguel Sofer <msofer@users.sf.net>
+ * unix/Makefile.in: Update dist target for project
+ changes.
- * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached
- * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512]
+2009-06-24 Donal K. Fellows <dkf@users.sf.net>
-2007-07-03 Don Porter <dgp@users.sourceforge.net>
+ * tests/oo.test (oo-19.1): [Bug 2811598]: Make more resilient.
- * generic/tclCompExpr.c: Revised #define values so that there
- is now more expansion room to define more BINARY operators.
+2009-06-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-02 Donal K. Fellows <dkf@users.sf.net>
+ * tests/http11.test: [Bug 2811492]: Clean up procs after testing.
- * 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]
+2009-06-18 Donal K. Fellows <dkf@users.sf.net>
-2007-07-02 Don Porter <dgp@users.sourceforge.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.
- * 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.
+2009-06-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclIO.c: Removed dead code.
- * unix/tclUnixChan.c:
+ * 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]
- * generic/tclCompExpr.c: Removed dead code, old implementations
- * generic/tclEvent.c: of expr parsing and compiling, including the
- * generic/tclInt.h: routine TclFinalizeCompilation().
+2009-06-15 Don Porter <dgp@users.sourceforge.net>
-2007-06-30 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug a memory leak caused by a
- missing Tcl_DecrRefCount on an error path. [Bug 1717186]
+2009-06-15 Reinhard Max <max@suse.de>
-2007-06-30 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * unix/tclUnixPort.h: Move all socket-related code from tclUnixChan.c
+ * unix/tclUnixChan.c: to tclUnixSock.c.
+ * unix/tclUnixSock.c:
- * 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.
+2009-06-15 Donal K. Fellows <dkf@users.sf.net>
-2007-06-29 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.
- * doc/DictObj.3 (Tcl_DictObjDone): Improved documentation of this
- function to make it clearer how to use it. [Bug 1710795]
+2009-06-13 Don Porter <dgp@users.sourceforge.net>
-2007-06-29 Daniel Steffen <das@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.
- * 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).
+2009-06-10 Don Porter <dgp@users.sourceforge.net>
- * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free.
- * generic/tclDate.c: bison 1.875e
+ * 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/tclBasic.c (TclEvalEx): fix warnings.
+ * 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.
- * 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.
+2006-06-09 Kevin B. Kenny <kennykb@acm.org>
- * macosx/README: document Tcl.xcodeproj changes.
+ * 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
-2007-06-28 Don Porter <dgp@users.sourceforge.net>
+2006-06-08 Kevin B. Kenny <kennykb@acm.org>
- * 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:
+ * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh. (Olson's
+ tzdata2009i.)
- * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c.
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.vc:
+2009-06-08 Donal K. Fellows <dkf@users.sf.net>
-2007-06-28 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * doc/copy.n: Fix error in example spotted by Venkat Iyer.
- * generic/tclBasic.c: Silence constness warnings for TclStackFree
- * generic/tclCompCmds.c: when building with msvc.
- * generic/tclFCmd.c:
- * generic/tclIOCmd.c:
- * generic/tclTrace.c:
+2009-06-02 Don Porter <dgp@users.sourceforge.net>
-2007-06-28 Miguel Sofer <msofer@users.sf.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/tclVar.c (UnsetVarStruct): fix possible segfault.
+ * generic/tclExecute.c: [Bug 2798543]: Corrected implementations and
+ selection logic of the INST_EXPON instruction.
-2007-06-27 Don Porter <dgp@users.sourceforge.net>
+2009-06-01 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]
+ * tests/expr.test: [Bug 2798543]: Added many tests demonstrating
+ the broken cases.
-2007-06-26 Don Porter <dgp@users.sourceforge.net>
+009-05-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclBasic.c (TclEvalEx): Moved some arrays from the C
- stack to the Tcl stack.
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Amman: Olson's tzdata2009h.
-2007-06-26 Miguel Sofer <msofer@users.sf.net>
+2009-05-29 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (UnsetVarStruct): more streamlining.
+ * 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.
-2007-06-25 Don Porter <dgp@users.sourceforge.net>
+2009-05-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: Safety checks to avoid crashes in the
- TclStack* routines when called with an incompletely initialized
- interp. [Bug 1743302]
+ * doc/expr.n: Fixed documentation of the right-associativity of
+ the ** operator. (spotted by kbk)
-2007-06-25 Miguel Sofer <msofer@users.sf.net>
+2009-05-14 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more
- streamlining.
+ * 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.
-2007-06-24 Miguel Sofer <msofer@users.sf.net>
+2009-05-12 Donal K. Fellows <dkf@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).
+ * doc/vwait.n: Added more words to make it clear just how bad it is to
+ nest [vwait]s.
- * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last
- commit.
+ * compat/mkstemp.c: Add more headers to make this file build on IRIX
+ 6.5. Thanks to Larry McVoy for this.
-2007-06-23 Miguel Sofer <msofer@users.sf.net>
+2009-05-08 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logic
- slightly clearer, eliminated some duplicated code.
+ * 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.
- *** 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.
+ * 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.
-2007-06-23 Daniel Steffen <das@users.sourceforge.net>
+2009-05-07 Miguel Sofer <msofer@users.sf.net>
- * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation
- APIs after fork() on systems where that would lead to an abort().
+ * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2785893]: Ensure that
+ a command in a deleted namespace can't be found through a cached name.
-2007-06-22 Don Porter <dgp@users.sourceforge.net>
+ * 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).
- * generic/tclExecute.c: Revised TclStackRealloc() signature to better
- * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc.
+2009-05-07 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced
- ckrealloc based allocations with TclStackRealloc allocations.
+ * 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.
- * generic/tclCmdIL.c: More conversions to use TclStackAlloc.
- * generic/tclScan.c:
+2009-05-06 Don Porter <dgp@users.sourceforge.net>
-2007-06-21 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdMZ.c: [Bug 2582327]: Improve overflow error message
+ from [string repeat].
- * 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:
+ * tests/interp.test: interp-20.50 test for Bug 2486550.
-2007-06-21 Miguel Sofer <msofer@users.sf.net>
+2009-05-04 Donal K. Fellows <dkf@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.
+ * 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.
-2007-06-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-05-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h, generic/tclCompile.h, generic/tclCompile.c: Remove
- references in comments to obsolete {expand} notation. [Bug 1740859]
+ * 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.
-2007-06-20 Miguel Sofer <msofer@users.sf.net>
+2009-04-30 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.
+ * generic/tclBasic.c (TclObjInvoke): [Bug 2486550]: Make sure that a
+ null objProc is not used, use Tcl_NRCallObjProc instead.
-2007-06-20 Don Porter <dgp@users.sourceforge.net>
+2009-05-01 Jan Nijtmans <nijtmans@users.sf.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.
+ * win/configure.in Fix 64-bit detection for zlib on Win64
+ * win/configure (regenerated)
- * generic/tclIntDecls.h: make genstubs
+2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
- * 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:
+ * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check to
+ add _r to CC on AIX with threads.
-2007-06-20 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-27 Donal K. Fellows <dkf@users.sf.net>
- * tools/tcltk-man2html.tcl: revamp of html doc output to use CSS,
- standardized headers, subheaders, dictionary sorting of names.
+ * 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.)
-2007-06-18 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-27 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/tcltk-man2html.tcl: clean up copyright merging and output.
- clean up coding constructs.
+ * 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.
-2007-06-18 Miguel Sofer <msofer@users.sf.net>
+2009-04-24 Stuart Cassoff <stwo@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.
+ * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
- * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stack and
- onto the Tcl stack, between the catch and the execution stacks
+2009-04-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-06-18 Don Porter <dgp@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
- * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame off
- the C stack and onto the Tcl stack.
+2009-04-15 Donal K. Fellows <dkf@users.sf.net>
-2007-06-17 Donal K. Fellows <dkf@users.sf.net>
+ * doc/chan.n, doc/close.n: Tidy up documentation of TIP #332.
- * generic/tclProc.c (TclObjInterpProcCore): Minor fixes to make
- * generic/tclExecute.c (TclExecuteByteCode): compilation debugging
- builds work again. [Bug 1738542]
+2009-04-14 Kevin B. Kenny <kennykb@acm.org>
-2007-06-16 Donal K. Fellows <dkf@users.sf.net>
+ * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
+ Time (Olson's tzdata2009f)
- * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of a
- chain of if's for a modest performance gain and a little more clarity.
+2009-04-11 Donal K. Fellows <dkf@users.sf.net>
-2007-06-15 Miguel Sofer <msofer@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.
- * generic/tclCompCmds.c: Simplified [variable] compiler and executor.
- * generic/tclExecute.c: Missed updates to "there is always a valid
- frame".
+2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
- * 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.
+ * 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
- * 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.
+2009-04-10 Daniel Steffen <das@users.sourceforge.net>
-2007-06-14 Miguel Sofer <msofer@users.sf.net>
+ * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
+ * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
+ [Bug 1960647]
- * 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).
+ * unix/tclLoadDyld.c: use RTLD_GLOBAL instead of RTLD_LOCAL.
+ [Bug 1961211]
- * generic/tclProc.c (TclObjInterpProcCore): simplified obj management
- in wrongNumArgs calls.
+ * 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).
-2007-06-14 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * 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.
+ * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
-2007-06-13 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
+ * generic/tclIntPlatDecls.h: internal API, regen.
+ * generic/tclStubInit.c:
- * generic/tclExecute.c (TclCompEvalObj): missed update to "there is
- always a valid frame".
+ * 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
- * 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].
+ * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
+ deprecated NSModule API by dlfcn API.
-2007-06-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-04-10 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * doc/StringObj.3: [Bug 2089279]: Corrected example so that it works
+ on 64-bit machines as well.
- * 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.
+2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-06-11 Miguel Sofer <msofer@users.sf.net>
+ * tests/http.test: [Bug 26245326]: Added specific check for problem
+ * tests/httpd: (return incomplete HTTP response header).
- * generic/tclExecute.c: comments added to explain iPtr->numLevels
- management.
+2009-04-08 Kevin B. Kenny <kennykb@acm.org>
- * 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.
+ * tools/tclZIC.tcl: Always emit files with Unix line termination.
+ * library/tzdata: Olson's tzdata2009e
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
+2009-04-09 Don Porter <dgp@users.sourceforge.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.
+ * library/http/http.tcl: [Bug 26245326]: Handle incomplete
+ lines in the "connecting" state. Thanks to Sergei Golovan.
- ***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***
+2009-04-08 Andreas Kupries <andreask@activestate.com>
-2007-06-10 Jeff Hobbs <jeffh@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.
- * README: updated links. [Bug 1715081]
+2009-04-08 Don Porter <dgp@users.sourceforge.net>
- * 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]
+ * 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:
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
+2009-04-07 Don Porter <dgp@users.sourceforge.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/tclStringObj.c: Correction so that value of
+ TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment
+ claims.
- * generic/tclInt.h: New TclCleanupCommandMacro for core usage.
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclObj.c:
+2009-04-04 Donal K. Fellows <dkf@users.sf.net>
-2007-06-09 Daniel Steffen <das@users.sourceforge.net>
+ * doc/vwait.n: [Bug 1910136]: Extend description and examples to make
+ it clearer just how this command interprets variable names.
- * macosx/Tcl.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in.
+2009-03-30 Don Porter <dgp@users.sourceforge.net>
-2007-06-08 Donal K. Fellows <dkf@users.sf.net>
+ * doc/Alloc.3: [Bug 2556263]: Size argument is "unsigned int".
- * 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...
+2009-03-27 Don Porter <dgp@users.sourceforge.net>
-2007-06-06 Miguel Sofer <msofer@users.sf.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.
- * generic/tclParse.c: fix for uninit read. [Bug 1732414]
+2009-03-25 Jan Nijtmans <nijtmans@users.sf.net>
-2007-06-06 Daniel Steffen <das@users.sourceforge.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
- * macosx/Tcl.xcodeproj/project.pbxproj: add settings for Fix&Continue.
+2009-03-25 Donal K. Fellows <dkf@users.sf.net>
- * 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:
+ * doc/coroutine.n: [Bug 2152285]: Added basic documentation for the
+ coroutine and yield commands.
- * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds.
- * unix/configure: autoconf-2.59
+2009-03-24 Donal K. Fellows <dkf@users.sf.net>
-2007-06-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOOBasic.c (TclOOSelfObjCmd): [Bug 2704302]: Make 'self
+ class' better defined in the context of objects that change class.
- * 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]
+ * generic/tclVar.c (Tcl_UpvarObjCmd): [Bug 2673163] (ferrieux)
+ * generic/tclProc.c (TclObjGetFrame): Make the upvar command more able
+ to handle its officially documented syntax.
-2007-06-05 Miguel Sofer <msofer@users.sf.net>
+2009-03-22 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInt.h:
- * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
+ * generic/tclBasic.c: [Bug 2502037]: NR-enable the handling of unknown
+ commands.
-2007-06-03 Daniel Steffen <das@users.sourceforge.net>
+2009-03-21 Miguel Sofer <msofer@users.sf.net>
- * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning.
+ * 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:
-2007-05-30 Don Porter <dgp@users.sourceforge.net>
+ * tclInt.h: comments
- * 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.
+ * 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.
- * 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]
+ * tests/nre.test: [foreach] has been NR-enabled for a while, the test
+ was marked 'knownBug': unmark it.
-2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
- pthread_join exit return code storage. [Bug 1712723]
+ * 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.
-2007-05-22 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c: Fix both test and code for tailcall
+ * tests/tailcall.test: from within a compiled [eval] body.
- [core-stabilizer-branch]
+ * tests/tailcall.test: Slightly improved tests
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
+2009-03-20 Don Porter <dgp@users.sourceforge.net>
- * 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:
+ * tests/stringObj.test: [Bug 2597185]: Test stringObj-6.9
+ checks that Tcl_AppendStringsToObj() no longer crashes when operating
+ on a pure unicode value.
-2007-05-18 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (INST_CONCAT1): [Bug 2669109]: Panic when
+ appends overflow the max length of a Tcl value.
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
+2009-03-19 Miguel Sofer <msofer@users.sf.net>
- * 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.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].
- * 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.
+ * 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.
-2007-05-05 Donal K. Fellows <dkf@users.sf.net>
+2009-03-19 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.
+ * doc/tailcall.n: Added documentation for tailcall command.
-2007-05-04 Kevin B. Kenny <kennykb@acm.org>
+2009-03-18 Don Porter <dgp@users.sourceforge.net>
- * 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
+ * win/tclWinFile.c (TclpObjNormalizePath): [Bug 2688184]:
+ Corrected Tcl_Obj leak. Thanks to Joe Mistachkin for detection and
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>
+ * 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.
- * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist;
- copy license.terms to dist macosx dir; fix autoheader bits.
+2009-03-16 Donal K. Fellows <dkf@users.sf.net>
-2007-04-24 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCmdMZ.c (TryPostBody): [Bug 2688063]: Extract information
+ from list before getting rid of last reference to it.
- * 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.
+2009-03-15 Joe Mistachkin <joe@mistachkin.com>
-2007-04-24 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclThread.c: Modify fix for TSD leak to match Tcl 8.5
+ * generic/tclThreadStorage.c: (and prior) allocation semantics. [Bug
+ 2687952]
- * 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])
+2009-03-15 Donal K. Fellows <dkf@users.sf.net>
-2007-04-23 Daniel Steffen <das@users.sourceforge.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/tclCkalloc.c: fix warnings from gcc build configured with
- * generic/tclCompile.c: --enable-64bit --enable-symbols=all.
- * generic/tclExecute.c:
+ * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
+ Added support for SIGINFO, which is present on BSD platforms.
- * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()
- * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
+2009-03-14 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic.
+ * 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.
- * macosx/Tcl-Common.xcconfig: enable more warnings.
+2009-03-11 Miguel Sofer <msofer@users.sf.net>
- * 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.
+ * generic/tclBasic.c (TclNRCoroutineObjCmd): fix Tcl_Obj leak.
+ Diagnosis and fix thanks to GPS.
- * macosx/tclMacOSXNotify.c: fix warnings.
+2009-03-09 Donal K. Fellows <dkf@users.sf.net>
- * macosx/tclMacOSXFCmd.c: const fixes.
+ * 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.
- * macosx/Tcl-Common.xcconfig: fix whitespace.
- * macosx/Tcl-Debug.xcconfig:
- * macosx/Tcl-Release.xcconfig:
- * macosx/README:
+2009-03-04 Donal K. Fellows <dkf@users.sf.net>
- * 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:
+ * 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.
- * 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). [Bug 1637471]. Many thanks to SourceForge user 'nyademo' for
- pointing this out and developing a fix.
- * 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.
+2009-02-27 Jan Nijtmans <nijtmans@users.sf.net>
-2007-04-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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)
- * generic/regcomp.c, generic/regc_cvec.c, generic/regc_lex.c,
- * generic/regc_locale.c: Improve the const-correctness of the RE
- compiler.
+2009-02-25 Don Porter <dgp@users.sourceforge.net>
-2007-04-18 Miguel Sofer <msofer@users.sf.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/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/tclCmdMZ.c: Since Tcl_GetCharLength() has its own
+ * generic/tclExecute.c: optimizations for the tclByteArrayType, stop
+ having the callers do them.
- * 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)
+2009-02-24 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c: slight changes in Tcl_Obj management.
+ * 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.
-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.
+ * library/http/http.tcl (geturl, Eof): Added support for 8.6's built
+ in zlib routines.
-2007-04-14 Miguel Sofer <msofer@users.sf.net>
+2009-02-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: removed some code at INST_EXPAND_SKTOP that
- duplicates functionality already present at checkForCatch.
+ * tests/lrange.test: Revert commits of 2008-07-23. Those were speed
+ * tests/binary.test: tests, that are inherently brittle.
-2007-04-12 Miguel Sofer <msofer@users.sf.net>
+2009-02-21 Don Porter <dgp@users.sourceforge.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).
+ * 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.
-2007-04-11 Miguel Sofer <msofer@users.sf.net>
+2009-02-20 Don Porter <dgp@users.sourceforge.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/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()
+ * tests/fileName.test: that assumed (not "absolute" => "relative").
+ This is a false assumption on Windows, where "volumerelative" is
+ another possibility. [Bug 2571597]
- * 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).
+2009-02-18 Don Porter <dgp@users.sourceforge.net>
-2007-04-08 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Simplify the logic of the
+ Tcl_*SetObjLength() routines.
- * generic/tclCompile (tclInstructionTable): Fixed bugs in description
- of dict instructions.
+ * 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.
-2007-04-07 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Another round of simplification on
+ the allocation macros.
- * generic/tclCompile (tclInstructionTable): Fixed bug in description
- of INST_START_COMMAND.
+2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclExecute.c (TEBC): Small code reduction.
+ * 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.
-2007-04-06 Miguel Sofer <msofer@users.sf.net>
+2009-02-17 Don Porter <dgp@users.sourceforge.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).
+ * 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.
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Factor out common GrowUnicodeBuffer()
+ and solve overflow and growth algorithm fallbacks in it.
- * generic/tclExecute.c: INST_INVOKE optimisation. [Patch 1693802]
+ * generic/tclStringObj.c: Factor out common GrowStringBuffer().
-2007-04-03 Don Porter <dgp@users.sourceforge.net>
+ * 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/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoRead trace
- routines so they guarantee the ::errorCode and ::errorInfo variable
- always appear to exist. [Bug 1693252]
+ * 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.
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
+2009-02-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: Moved TclGetNamespaceFromObj() to the
- * generic/tclInt.h: internal stubs table; regen.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
+ * 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:
-2007-04-02 Miguel Sofer <msofer@users.sf.net>
+ * win/Makefile.in: fix [Bug 2605232] tdbc doesn't build when
+ Tcl is compiled with --disable-shared.
- * 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:
+2009-02-15 Don Porter <dgp@users.sourceforge.net>
-2007-04-02 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c: Added protections from invalid memory
+ * generic/tclTestObj.c: accesses when we append (some part of)
+ * tests/stringObj.test: a Tcl_Obj to itself. Added the
+ appendself and appendself2 subcommands to the [teststringobj] testing
+ command and added tests to the test suite. [Bug 2603158]
- * 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/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/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/tclIO.c:
* 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/tclListObj.c:
+ * generic/tclLiteral.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
+ * generic/tclOOBasic.c:
+ * generic/tclPathObj.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/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:
- * 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/tclVar.c:
+ * generic/tclStubInit.c: (regenerated)
- * 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)
+2009-02-10 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when
+ using the native CC.
+ * unix/configure: (autoconf-2.59)
- * 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.
+2009-02-10 Don Porter <dgp@users.sourceforge.net>
- * tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
+ * generic/tclObj.c (Tcl_GetString): Added comments and validity
+ checks following the call to an UpdateStringProc.
- * unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
- needed when TCL_LIBRARY is defined to run only in that case.
+ * 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.
- * generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
- comparison warning from gcc4 -Wextra.
+2009-02-09 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * generic/tclCompile.c: fix [Bug 2555129] const compiler warning (as
+ error) in tclCompile.c
-2006-08-17 Don Porter <dgp@users.sourceforge.net>
+2009-02-07 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompile.c: Revised the new set of expression
- * generic/tclParseExpr.c: parse error messages.
+ * 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.
-2006-08-16 Don Porter <dgp@users.sourceforge.net>
+2009-02-05 Joe Mistachkin <joe@mistachkin.com>
- * generic/tclParseExpr.c: Replace PrecedenceOf() function with
- prec[] static array.
+ * generic/tclInterp.c: Fix argument checking for [interp cancel]. [Bug
+ 2544618]
+ * unix/Makefile.in: Fix build issue with zlib on FreeBSD (and possibly
+ other platforms).
-2006-08-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-02-05 Donal K. Fellows <dkf@users.sf.net>
- * library/clock.tcl (::tcl::clock::add): Added missing braces to
- clockval validation code. Pointed out on comp.lang.tcl.
+ * generic/tclCmdMZ.c (StringIndexCmd, StringRangeCmd, StringLenCmd):
+ Simplify the implementation of some commands now that the underlying
+ string API knows more about bytearrays.
-2006-08-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclExecute.c (TclExecuteByteCode): [Bug 2568434]: Make sure
+ that INST_CONCAT1 will not lose string reps wrongly.
- * generic/tclNamesp.c: Improvements in buffer management to make
- namespace creation faster. Plus selected other minor improvements to
- code quality. [Patch 1352382]
+ * 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.
-2006-08-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-02-04 Don Porter <dgp@users.sourceforge.net>
- 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.
+ * generic/tclStringObj.c: Added overflow protections to the
+ AppendUtfToUtfRep routine to either avoid invalid arguments and
+ crashes, or to replace them with controlled panics. [Bug 2561794]
-2006-08-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdMZ.c: Prevent crashes due to int overflow of the
+ length of the result of [string repeat]. [Bug 2561746]
- * generic/tclEncoding.c: Replace buffer copy in for loop with
- call to memcpy(). Thanks to afredd. [Patch 1530262]
+2009-02-03 Jan Nijtmans <nijtmans@users.sf.net>
-2006-08-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Make the wrong#args message
- a bit more consistent with those used elsewhere. [Bug 1534628]
+2009-02-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclDictObj.c (DictForCmd): Stop crash when attempting to
- iterate over an invalid dictionary. [Bug 1531184]
+ * 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.
- * 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]
+2009-02-03 Don Porter <dgp@users.sourceforge.net>
-2006-08-03 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclStringObj.c (SetUnicodeObj): Corrected failure of
+ Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
+ factored out common code to reduce duplication.
- * 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
+ * generic/tclObj.c (Tcl_GetStringFromObj): Reduce code duplication.
- * 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.
+2009-02-02 Don Porter <dgp@users.sourceforge.net>
-2006-07-31 Kevin B. Kenny <kennykb@acm.org>
+ * 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/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]
+ * generic/tclStringObj.c (STRING_NOMEM): [Bug 2494093]: Add missing
+ cast of NULL to (char *) that upsets some compilers.
-2006-07-30 Kevin B. Kenny <kennykb@acm.org>
+ * 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.
- * 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.
+2009-02-01 David Gravereaux <davygrvy@pobox.com>
-2006-07-30 Joe English <jenglish@users.sourceforge.net>
+ * win/makefile.vc: Allow nmake flags such as -a (rebuild all) to pass
+ down to the pkgs targets, too.
- * doc/AppInit.3: Fix typo [Bug 1496886]
+2009-01-30 Donal K. Fellows <dkf@users.sf.net>
-2006-07-26 Don Porter <dgp@users.sourceforge.net>
+ * doc/chan.n: [Bug 1216074]: Added another extended example.
- * 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].
+ * doc/refchan.n: Added an example of how to build a scripted channel.
-2006-07-24 Don Porter <dgp@users.sourceforge.net>
+2009-01-29 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinSock.c: Correct un-initialized Tcl_DString. Thanks to
- afredd. [Bug 1518166]
+ * 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.
-2006-07-21 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
+ the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
- * 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/tclOODecls.h (Tcl_OOInitStubs): [Bug 2537839]: Make the
+ declaration of this macro work correctly in the non-stub case.
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
+2009-01-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStrToD.c: Removed dead code that permitted disabling of
- recognition of the new 0b and 0o numeric formats.
+ * 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.
- * 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
+2009-01-29 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdAH.c: Removed dead code that was old implementation
- of [format].
+ * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529117]: Make this
+ function behave more sensibly when presented with a fully-qualified
+ name, rather than doing strange stuff.
-2006-06-14 Daniel Steffen <das@users.sourceforge.net>
+2009-01-28 Donal K. Fellows <dkf@users.sf.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.
+ * 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...
-2006-06-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529157]: Made this
+ understand NRE command implementations better.
+ * generic/tclDictObj.c (DictForCmd): Eliminate unnecessary command
+ implementation.
- * doc/format.n, doc/scan.n: Added examples for converting between
- characters and their numeric interpretations following user prompting.
+2009-01-27 Donal K. Fellows <dkf@users.sf.net>
-2006-06-13 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.
- * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
- Forte 6. [Bug 1503729]
+2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2006-06-06 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclInt.h: Fix [Bug 1028264]: WSACleanup() too early.
+ * generic/tclEvent.c: The fix introduces "late exit handlers"
+ * win/tclWinSock.c: for similar late process-wide cleanups.
- * doc/GetStdChan.3: Added recommendation that each call to
- Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel().
+2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2006-06-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * win/tclWinSock.c: Fix [Bug 2446662]: resync Win behavior on RST
+ with that of unix (EOF).
- * 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.
+2009-01-26 Donal K. Fellows <dkf@users.sf.net>
-2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclZlib.c (ChanClose): Only generate error messages in the
+ interpreter when the thread is not being closed down. [Bug 2536400]
- * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
- placement in unbraced outer if/else conditions. (jcw)
+2009-01-23 Donal K. Fellows <dkf@users.sf.net>
-2006-05-27 Daniel Steffen <das@users.sourceforge.net>
+ * doc/zlib.n: Added a note that 'zlib push' is reversed by 'chan pop'.
- * 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]
+2009-01-22 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
+ * 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:
-2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-01-22 Kevin B. Kenny <kennykb@acm.org>
- * 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]
+ * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
+ ${SHLIB_VERSION}).
+ * unix/configure: Autoconf 2.59
-2006-05-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-01-21 Andreas Kupries <andreask@activestate.com>
- * doc/chan.n, doc/refchan.n: Tighten up the documentation to follow a
- slightly more consistent style with regard to argument capitalization.
+ * generic/tclIORChan.c (ReflectClose): Fix for [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.
-2006-05-13 Don Porter <dgp@users.sourceforge.net>
+2009-01-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclProc.c (ProcCompileProc): When a bump of the compile
- epoch forces the re-compile of a proc body, take care not to overwrite
- any Proc struct that may be referred to on the active call stack. This
- fixes [Bug 1482718]. Note that the fix will not be effective for code
- that calls the private routine TclProcCompileProc() directly.
+ * generic/tclStringObj.c: New fix for [Bug 2494093] replaces the
+ flawed attempt committed 2009-01-09.
-2006-05-13 Daniel Steffen <das@users.sourceforge.net>
+2009-01-19 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86]
+ * unix/Makefile.in: Added a CONFIG_INSTALL_DIR parameter so that
+ * unix/tcl.m4: 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
+ [Patch 907924].
+ * unix/configure: Autoconf 2.59
-2006-05-05 Don Porter <dgp@users.sourceforge.net>
+2009-01-19 David Gravereaux <davygrvy@pobox.com>
- * 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]
+ * 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.
-2006-05-04 Don Porter <dgp@users.sourceforge.net>
+2009-01-16 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:
+ * 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:
- * 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).
+2009-01-14 Don Porter <dgp@users.sourceforge.net>
-2006-03-17 Joe Mistachkin <joe@mistachkin.com>
+ * 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.
- * unix/tclUnixPort.h: Include pthread.h prior to pthread_np.h [Bug
- 1444692]
+2009-01-13 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinTest.c: Corrected typo of 'initializeMutex' that prevented
- successful compilation.
+ * unix/tcl.m4: fix [tcl-Bug 2502365] Building of head on HPUX is
+ broken when using the native CC.
+ * unix/configure (autoconf-2.59)
-2006-03-16 Andreas Kupries <andreask@activestate.com>
+2009-01-13 Donal K. Fellows <dkf@users.sf.net>
- * doc/open.n: Documented the changed behaviour of 'a'ppend mode.
+ * generic/tclCmdMZ.c (Tcl_ThrowObjCmd): Move implementation of [throw]
+ * library/init.tcl (throw): to C from Tcl.
- * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be self-contained
- with regard to setup and cleanup. [Bug 681793]
+2009-01-12 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * 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].
- * 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>
+2009-01-09 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when
- to update the FP rounding mode on FreeBSD, taken from FreeBSD port.
+ * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit
+ memory allocation requests to the sizes that can be supported by Tcl's
+ memory allocation routines. [Bug 2494093]
-2006-01-23 Donal K. Fellows <dkf@users.sf.net>
+2009-01-09 Donal K. Fellows <dkf@users.sf.net>
- * tests/string.test (string-12.21): Added test for [Bug 1410553] based
- on original bug report.
+ * generic/tclNamesp.c (NamespaceEnsembleCmd): Error out when someone
+ gives wrong # of args to [namespace ensemble create]. [Bug 1558654]
-2006-01-23 Miguel Sofer <msofer@users.sf.net>
+2009-01-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStringObj.c: fixed incorrect handling of internal rep in
- Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553]
+ * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
+ required to get correct results out of things like
+ STRING_UALLOC(num + append). [Bug 2494093]
- * generic/tclProc.c: fixed args handling for precompiled bodies [Bug
- 1412695]; thanks to Uwe Traum.
+2009-01-08 Donal K. Fellows <dkf@users.sf.net>
-2006-01-16 Reinhard Max <max@suse.de>
+ * 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".
- * generic/tclPipe.c (FileForRedirect): Prevent nameString from being
- freed without having been initialized.
- * tests/exec.test: Added a test for the above.
+2009-01-07 Donal K. Fellows <dkf@users.sf.net>
-2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * doc/dict.n: Added more examples. [Tk Bug 2491235]
- * generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from
- core-8-4-branch. A freed pointer has been overwritten causing all
- sorts of coredumps.
+ * 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.
-2006-01-12 Vince Darley <vincentdarley@sourceforge.net>
+2009-01-06 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinFile.c: fix to sharing violation [Bug 1366227]
+ * 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.
-2006-01-11 Don Porter <dgp@users.sourceforge.net>
+2009-01-06 Donal K. Fellows <dkf@users.sf.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]
+ * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
+ of dictionaries so that literals can't get destroyed.
-2006-01-10 Daniel Steffen <das@users.sourceforge.net>
+ * tests/expr.test: Eliminate non-ASCII char. [Bug 2006879]
- * 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.
+ * generic/tclOOInfo.c (InfoObjectMethodsCmd,InfoClassMethodsCmd): Only
+ delete pointers that were actually allocated! [Bug 2489836]
-2006-01-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOO.c (TclNRNewObjectInstance, Tcl_NewObjectInstance):
+ Perform search for existing commands in right context. [Bug 2481109]
- * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
- * tests/namespace.test: commands were not reported by [info level].
- [Bug 1400572]
+2009-01-05 Donal K. Fellows <dkf@users.sf.net>
-2006-01-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdMZ.c (TclNRSourceObjCmd): Make implementation of the
+ * generic/tclIOUtil.c (TclNREvalFile): [source] command be NRE
+ enabled so that [yield] inside a script sourced in a coroutine can
+ work. [Bug 2412068]
- * generic/tclTrace.c: Stop exporting the guts of the trace command;
- nothing outside this file needs to see it. [Bug 971336]
+2009-01-04 Donal K. Fellows <dkf@users.sf.net>
-2006-01-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdAH.c: Tidy up spacing and code style.
- * unix/tcl.m4 (TCL_CONFIG_SYSTEM): Factor out the code to determine
- the operating system version number, as it was replicated in several
- places.
+2009-01-03 Kevin B. Kenny <kennykb@acm.org>
-2006-01-04 David Gravereaux <davygrvy@pobox.com>
+ * 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].
- * 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.
+2009-01-02 Donal K. Fellows <dkf@users.sf.net>
+
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): Force the use of the compatibility
+ version of mkstemp() on IRIX. [Bug 878333]
+ * unix/configure.in, unix/Makefile.in (mkstemp.o):
+ * compat/mkstemp.c (new file): Added a compatibility implementation of
+ the mkstemp() function, which is apparently needed on some platforms.
+ [Bug 741967]
+
+ ******************************************************************
+ *** 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" ***
+ ******************************************************************
- ******************************************************************
- *** 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/ChangeLog.2007 b/ChangeLog.2007
new file mode 100644
index 0000000..5995956
--- /dev/null
+++ b/ChangeLog.2007
@@ -0,0 +1,5921 @@
+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/ChangeLog.2008 b/ChangeLog.2008
new file mode 100644
index 0000000..9c4e951
--- /dev/null
+++ b/ChangeLog.2008
@@ -0,0 +1,3796 @@
+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/README b/README
index b3bbc2e..0442a0e 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
README: Tcl
- This is the Tcl 8.5.11 source distribution.
+ This is the Tcl 8.6b2 source distribution.
http://tcl.sourceforge.net/
You can get any source release of Tcl from the file distributions
link at the above URL.
@@ -45,7 +45,7 @@ and selling it either in whole or in part. See the file
Extensive documentation is available at our website.
The home page for this release, including new features, is
- http://www.tcl.tk/software/tcltk/8.5.html
+ 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.
@@ -57,9 +57,9 @@ Information about Tcl itself can be found at
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.5 online,
+To view the complete set of reference manual entries for Tcl 8.6 online,
visit the URL:
- http://www.tcl.tk/man/tcl8.5/
+ http://www.tcl.tk/man/tcl8.6/
2a. Unix Documentation
----------------------
diff --git a/changes b/changes
index 0442b3a..cf8a62e 100644
--- a/changes
+++ b/changes
@@ -7191,16 +7191,27 @@ variables without "." added to customization hooks (kupries)
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)
@@ -7209,10 +7220,20 @@ variables without "." added to customization hooks (kupries)
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)
@@ -7221,20 +7242,44 @@ variables without "." added to customization hooks (kupries)
2008-06-25 (bug fix)[1999119] Support TM packages in Safe Base (kupries)
---- Released 8.5.3, June 30, 2008 --- See ChangeLog for details ---
+--- 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)
@@ -7242,78 +7287,223 @@ variables without "." added to customization hooks (kupries)
2008-08-11 (enhancement) automatic [package provide] for TMs (kupries)
---- Released 8.5.4, August 15, 2008 --- See ChangeLog for details ---
+2008-08-17 (bug fix)[2055782] crash involving Tcl_ConcatObj (sofer)
-2008-08-14 (bug fix)[2055782] fix crash in [namespace inscope] (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-08-21 (bug fix)[2065115] correct handling of ***= RE's (hobbs,porter)
+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)
---- Released 8.5.5, October 15, 2008 --- See ChangeLog for details ---
+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-30 (bug fix)[2362156] [clock]: colon in format string (mizuno,kenny)
+2008-11-26 (bug fix)[2114900] updated tclIndex file (cassoff,kenny)
+
+2008-11-27 (bug fix)[2251175] [{*}{\{}] errors (hellström,ferrieux,porter)
-2008-12-01 (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-21 (bug fix) Fix ability to join threads on 64-bit Windows (thoyts)
+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-21 (bug fix)[2114900] updated tclIndex file (cassoff,kenny)
+2008-12-17 (new feature)[TIP 308] package tdbc 1.0b1 (kenny)
---- Released 8.5.6, December 21, 2008 --- See ChangeLog for details ---
+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-27 (bug fix)[2710920] [file dirname|tail /foo/] errors (epler,porter)
+2009-03-20 (bug fix)[2561794,2669109,2494093,2553906] string overflow (porter)
-2009-03-30 (bug fix)[2603158] Tcl_AppendObjToObj: append to self crash (porter)
+2009-03-22 (bug fix)[2502037] NR-enable [namespace unknown] (sofer)
-2009-04-07 (bug fix)[2561794,2669109,2494093,2553906] string overflow (porter)
+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
@@ -7328,16 +7518,22 @@ among multiple interps (kupries)
2009-04-10 (bug fix)[1961211] Darwin [load] back-compatibility (steffen)
-2009-04-14 tzdata updated to Olson's tzdata2009f (kenny)
+2009-04-09 (new feature) http chunked+gzip modes (thoyts)
+=> http 2.8.0
---- Released 8.5.7, April 15, 2009 --- See ChangeLog for details ---
+2009-04-11 (enhancement) clarified cmd name resolution in oo forwards (fellows)
-2009-04-27 (bug fix)[2446662] uniformly declare EOF on RST on sockets (ferrieux)
+20009-04-19 (bug fix)[2715421] http: excess bytes after POST (thoyts)
+=> http 2.8.1
-2009-04-27 (bug fix)[1028264] delay WSACleanup() from under our feet (ferrieux)
+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
@@ -7347,10 +7543,32 @@ among multiple interps (kupries)
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)
@@ -7359,6 +7577,10 @@ among multiple interps (kupries)
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)
@@ -7375,8 +7597,15 @@ among multiple interps (kupries)
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)
@@ -7390,68 +7619,136 @@ among multiple interps (kupries)
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 ***
+ *** POTENTIAL INCOMPATIBILITY ***
-2009-11-03 tzdata updated to Olson's tzdata2009q (kenny)
+2009-11-05 (bug fix)[2854929] TM search path support in Safe Base (kupries)
-2009-11-03 (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.7.5
+=> http 2.8.2
2009-11-12 (bug fix)[2895565] [fcopy -size] miscounts when converting encodings
(kupries)
---- Released 8.5.8, November 16, 2009 --- See ChangeLog for details ---
-
2009-11-16 (bug fix)[2891556] encoding finalization crash (mistachkin,ferrieux)
-2009-12-09 (enhancement) rewrite of the Safe Base commands (kupries)
+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-28 (bug fix)[2895741] enable min(), max() in safe interps (fellows)
+2009-12-29 (bug fix)[2922555] [binary decode hex { }] crash (thoyts)
-2010-01-05 (bug fix)[2918610] [file rootname] corruption (magerya,porter)
+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-06 (enhancement) Haiku, CYGWIN support improvements (nijtmans)
+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-02 (bug fix)[2939073] [array unset] unset trace crash (ferrieux)
+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-02 (bug fix)[2933089] [info frame] shared lit trouble (kupries)
+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-11 (bug fix)[2954959] get sign of abs($zero) right (nijtmans)
+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)
@@ -7459,7 +7756,10 @@ memory with buffer backup (ferrieux)
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)
@@ -7468,40 +7768,136 @@ memory with buffer backup (ferrieux)
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)
- *** POTENTIAL INCOMPATIBILITY ***
-2010-08-12 (bug fix)[2826551] line-sensitive matching in regexp (dejong)
+2010-08-04 (platform support) panic on detection of win9x system (hobbs)
+ *** POTENTIAL INCOMPATIBILITY ***
-2010-08-19 (bug fix)[3048354] buffer overflow detect in Fortify build (fellows)
+2010-08-10 (fix) Handle non-null-terminated bytearrys in glob matching (hobbs)
-2010-08-23 tzdata updated to Olson's tzdata2010l (kenny)
+2010-08-11 (fix) copy-paste bug in [yield] implementation (sofer, goth)
-2010-09-01 (bug fix)[3057639] no read traces [lappend arr(elem) ...] (hobbs)
- *** POTENTIAL INCOMPATIBILITY ***
+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)
---- Released 8.5.9, September 8, 2010 --- See ChangeLog for details ---
+2010-08-31 windows makefile and stub changes (nijtmans)
-2010-09-24 (bug fix)[3056775] race condition in Win sockets (twylite,kupries)
+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-23 (update)[3085863] Update Unicode data to 6.0 (nijtmans)
+2010-10-28 (bug fix)[3093120] prevent freeaddrinfo(NULL) (porter, virden)
-2010-11-02 Safe Tcl handling of empty path lists (cassoff)
+2010-10-29 (bug fix)[2905784] stop cycle waste in short [after] (ferrieux)
-2010-11-03 (bug fix)[3098302] crash in compiled [catch] (kenny)
+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-11-30 (enhancement) Tcl_PrintDouble performance improvements (kenny)
+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)
-2011-01-13 (bug fix)[3142026] GrowEvaluationStack OBOE (harder,sofer)
+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-01-19 (bug fix)[3072640] protect writes to ::error* variables (sofer)
+2011-03-05 (new cmd) [tcl::unsupported::assemble] (ugurlu,kenny)
2011-03-06 (bug fix)[3200987,3192636] parser buffer overruns (porter)
@@ -7509,12 +7905,21 @@ memory with buffer backup (ferrieux)
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-04-12 (bug fix)[3285472] intrep corruption in [string reverse] (porter)
+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)
@@ -7527,25 +7932,29 @@ memory with buffer backup (ferrieux)
2011-05-10 (bug fix)[3173086] Crash parsing long lists (rogers,porter)
-2011-05-12 (bug fix)[2715421] surplus \n in POST (passadyn,thoyts)
-=> http 2.7.6
+2011-05-24 (enhancement) msgcat internal improvements (fellows)
+=> msgcat 1.4.4
-2011-05-24 tzdata updated to Olson's tzdata2011g (iyer)
+2011-05-25 (TIP 381) [info object|class call] [self call] [nextto] (fellows)
-2011-05-25 (enhancement) msgcat internal improvements (fellows)
-=> msgcat 1.4.4
+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-21 (new cmd) [tcltest::loadIntoSlaveInterpreter] (fellows)
-=> tcltest 2.3.3
-
2011-06-22 (new feature) DEB_HOST_MULTIARCH support (kupries)
=> platform 1.0.10
---- Released 8.5.10, June 23, 2011 --- See ChangeLog for details ---
+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)
@@ -7580,4 +7989,4 @@ like "nano()" instead of parsing as "nan o()" with missing op (duquette,porter)
2011-10-15 tzdata updated to Olson's tzdata2011l (iyer)
---- Released 8.5.11, November 4, 2011 --- See ChangeLog for details ---
+--- Released 8.6b3, November 20, 2011 --- See ChangeLog for details ---
diff --git a/compat/dirent2.h b/compat/dirent2.h
index c00d2f4..878457f 100644
--- a/compat/dirent2.h
+++ b/compat/dirent2.h
@@ -14,9 +14,7 @@
#ifndef _DIRENT
#define _DIRENT
-#ifndef _TCL
-#include <tcl.h>
-#endif
+#include "tcl.h"
/*
* Dirent structure, which holds information about a single
@@ -50,8 +48,8 @@ typedef struct _dirdesc {
* Procedures defined for reading directories:
*/
-extern void closedir _ANSI_ARGS_((DIR *dirp));
-extern DIR * opendir _ANSI_ARGS_((char *name));
-extern struct dirent * readdir _ANSI_ARGS_((DIR *dirp));
+extern void closedir (DIR *dirp);
+extern DIR * opendir (char *name);
+extern struct dirent * readdir (DIR *dirp);
#endif /* _DIRENT */
diff --git a/compat/dlfcn.h b/compat/dlfcn.h
index 1a6a118..6940c2a 100644
--- a/compat/dlfcn.h
+++ b/compat/dlfcn.h
@@ -1,4 +1,4 @@
-/*
+/*
* dlfcn.h --
*
* This file provides a replacement for the header file "dlfcn.h"
@@ -19,7 +19,6 @@
*/
/*
- * @(#)dlfcn.h 1.4 revision of 95/04/25 09:36:52
* This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
* 30159 Hannover, Germany
*/
@@ -27,9 +26,7 @@
#ifndef __dlfcn_h__
#define __dlfcn_h__
-#ifndef _TCL
-#include <tcl.h>
-#endif
+#include "tcl.h"
#ifdef __cplusplus
extern "C" {
@@ -47,14 +44,14 @@ extern "C" {
* that contains functions to be called to initialize and terminate.
*/
struct dl_info {
- void (*init) _ANSI_ARGS_((void));
- void (*fini) _ANSI_ARGS_((void));
+ void (*init) (void);
+ void (*fini) (void);
};
-VOID *dlopen _ANSI_ARGS_((const char *path, int mode));
-VOID *dlsym _ANSI_ARGS_((void *handle, const char *symbol));
-char *dlerror _ANSI_ARGS_((void));
-int dlclose _ANSI_ARGS_((void *handle));
+void *dlopen (const char *path, int mode);
+void *dlsym (void *handle, const char *symbol);
+char *dlerror (void);
+int dlclose (void *handle);
#ifdef __cplusplus
}
diff --git a/compat/fake-rfc2553.c b/compat/fake-rfc2553.c
new file mode 100644
index 0000000..666144f
--- /dev/null
+++ b/compat/fake-rfc2553.c
@@ -0,0 +1,266 @@
+/*
+ * 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) {
+ int 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
+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(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/compat/fake-rfc2553.h b/compat/fake-rfc2553.h
new file mode 100644
index 0000000..cc26f55
--- /dev/null
+++ b/compat/fake-rfc2553.h
@@ -0,0 +1,170 @@
+/*
+ * 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/compat/memcmp.c b/compat/memcmp.c
index 5fce528..c4e25a8 100644
--- a/compat/memcmp.c
+++ b/compat/memcmp.c
@@ -15,7 +15,7 @@
* 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);
+int memcmp(const void *s1, const void *s2, size_t n);
/*
*----------------------------------------------------------------------
@@ -38,12 +38,12 @@ int memcmp(CONST VOID *s1, CONST VOID *s2, size_t n);
int
memcmp(
- CONST VOID *s1, /* First string. */
- CONST VOID *s2, /* Second string. */
+ 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;
+ 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;
diff --git a/compat/mkstemp.c b/compat/mkstemp.c
new file mode 100644
index 0000000..eaa0b66
--- /dev/null
+++ b/compat/mkstemp.c
@@ -0,0 +1,78 @@
+/*
+ * 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/compat/opendir.c b/compat/opendir.c
index 3fe70c1..a18f96b 100644
--- a/compat/opendir.c
+++ b/compat/opendir.c
@@ -10,7 +10,7 @@
#undef DIRSIZ
#define DIRSIZ(dp) \
- ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
+ ((sizeof(struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3))
/*
* open a directory.
@@ -45,14 +45,14 @@ opendir(
#ifndef pyr
#define ODIRSIZ 14
-struct olddirect {
+struct olddirect {
ino_t od_ino;
char od_name[ODIRSIZ];
};
#else /* a Pyramid in the ATT universe */
#define ODIRSIZ 248
-struct olddirect {
+struct olddirect {
long od_ino;
short od_fill1, od_fill2;
char od_name[ODIRSIZ];
diff --git a/compat/stdlib.h b/compat/stdlib.h
index 4d1a386..0ad4c1d 100644
--- a/compat/stdlib.h
+++ b/compat/stdlib.h
@@ -1,43 +1,36 @@
/*
* 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).
+ * 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.
+ * 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
-#include <tcl.h>
-
-extern void abort _ANSI_ARGS_((void));
-extern double atof _ANSI_ARGS_((CONST char *string));
-extern int atoi _ANSI_ARGS_((CONST char *string));
-extern long atol _ANSI_ARGS_((CONST char *string));
-extern char * calloc _ANSI_ARGS_((unsigned int numElements,
- unsigned int size));
-extern void exit _ANSI_ARGS_((int status));
-extern int free _ANSI_ARGS_((char *blockPtr));
-extern char * getenv _ANSI_ARGS_((CONST char *name));
-extern char * malloc _ANSI_ARGS_((unsigned int numBytes));
-extern void qsort _ANSI_ARGS_((VOID *base, int n, int size,
- int (*compar)(CONST VOID *element1, CONST VOID
- *element2)));
-extern char * realloc _ANSI_ARGS_((char *ptr, unsigned int numBytes));
-extern double strtod _ANSI_ARGS_((CONST char *string, char **endPtr));
-extern long strtol _ANSI_ARGS_((CONST char *string, char **endPtr,
- int base));
-extern unsigned long strtoul _ANSI_ARGS_((CONST char *string,
- char **endPtr, int base));
+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/compat/string.h b/compat/string.h
index 4eb2b86..84ee094 100644
--- a/compat/string.h
+++ b/compat/string.h
@@ -6,66 +6,54 @@
* 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.
+ * 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
-#include <tcl.h>
+#include "tcl.h"
/*
- * 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)
+ * 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 _ANSI_ARGS_((CONST VOID *s, int c, size_t n));
+extern void * memchr(const void *s, int c, size_t n);
#else
-extern char * memchr _ANSI_ARGS_((CONST VOID *s, int c, size_t n));
+extern char * memchr(const void *s, int c, size_t n);
#endif
-extern int memcmp _ANSI_ARGS_((CONST VOID *s1, CONST VOID *s2,
- size_t n));
-extern char * memcpy _ANSI_ARGS_((VOID *t, CONST VOID *f, size_t n));
+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))
+#define memmove(d,s,n) (bcopy((s), (d), (n)))
#else
-extern char * memmove _ANSI_ARGS_((VOID *t, CONST VOID *f,
- size_t n));
+extern char * memmove(void *t, const void *f, size_t n);
#endif
-extern char * memset _ANSI_ARGS_((VOID *s, int c, size_t n));
+extern char * memset(void *s, int c, size_t n);
-extern int strcasecmp _ANSI_ARGS_((CONST char *s1,
- CONST char *s2));
-extern char * strcat _ANSI_ARGS_((char *dst, CONST char *src));
-extern char * strchr _ANSI_ARGS_((CONST char *string, int c));
-extern int strcmp _ANSI_ARGS_((CONST char *s1, CONST char *s2));
-extern char * strcpy _ANSI_ARGS_((char *dst, CONST char *src));
-extern size_t strcspn _ANSI_ARGS_((CONST char *string,
- CONST char *chars));
-extern char * strdup _ANSI_ARGS_((CONST char *string));
-extern char * strerror _ANSI_ARGS_((int error));
-extern size_t strlen _ANSI_ARGS_((CONST char *string));
-extern int strncasecmp _ANSI_ARGS_((CONST char *s1,
- CONST char *s2, size_t n));
-extern char * strncat _ANSI_ARGS_((char *dst, CONST char *src,
- size_t numChars));
-extern int strncmp _ANSI_ARGS_((CONST char *s1, CONST char *s2,
- size_t nChars));
-extern char * strncpy _ANSI_ARGS_((char *dst, CONST char *src,
- size_t numChars));
-extern char * strpbrk _ANSI_ARGS_((CONST char *string,
- CONST char *chars));
-extern char * strrchr _ANSI_ARGS_((CONST char *string, int c));
-extern size_t strspn _ANSI_ARGS_((CONST char *string,
- CONST char *chars));
-extern char * strstr _ANSI_ARGS_((CONST char *string,
- CONST char *substring));
-extern char * strtok _ANSI_ARGS_((char *s, CONST char *delim));
+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/compat/strncasecmp.c b/compat/strncasecmp.c
index 76cf549..299715d 100644
--- a/compat/strncasecmp.c
+++ b/compat/strncasecmp.c
@@ -18,7 +18,7 @@
* sequences.
*/
-static unsigned char charmap[] = {
+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,
@@ -57,8 +57,8 @@ static unsigned char charmap[] = {
* 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);
+int strncasecmp(const char *s1, const char *s2, size_t n);
+int strcasecmp(const char *s1, const char *s2);
/*
*----------------------------------------------------------------------
@@ -79,8 +79,8 @@ int strcasecmp(CONST char *s1, CONST char *s2);
int
strcasecmp(
- CONST char *s1, /* First string. */
- CONST char *s2) /* Second string. */
+ const char *s1, /* First string. */
+ const char *s2) /* Second string. */
{
unsigned char u1, u2;
@@ -114,8 +114,8 @@ strcasecmp(
int
strncasecmp(
- CONST char *s1, /* First string. */
- CONST char *s2, /* Second string. */
+ 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). */
diff --git a/compat/strtod.c b/compat/strtod.c
index 1147825..cb9f76d 100644
--- a/compat/strtod.c
+++ b/compat/strtod.c
@@ -11,7 +11,6 @@
*/
#include "tclInt.h"
-#include <ctype.h>
#ifndef TRUE
#define TRUE 1
@@ -21,12 +20,12 @@
#define NULL 0
#endif
-static int maxExponent = 511; /* Largest possible base 10 exponent. Any
+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 double powersOf10[] = { /* Table giving binary powers of 10. Entry */
+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,
@@ -61,7 +60,7 @@ static double powersOf10[] = { /* Table giving binary powers of 10. Entry */
double
strtod(
- CONST char *string, /* A decimal ASCII floating-point number,
+ 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
@@ -76,8 +75,9 @@ strtod(
* address here. */
{
int sign, expSign = FALSE;
- double fraction, dblExp, *d;
- register CONST char *p;
+ 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
@@ -92,7 +92,7 @@ strtod(
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
+ const char *pExp; /* Temporarily holds location of exponent in
* string. */
/*
@@ -229,7 +229,7 @@ strtod(
errno = ERANGE;
}
dblExp = 1.0;
- for (d = powersOf10; exp != 0; exp >>= 1, d += 1) {
+ for (d = powersOf10; exp != 0; exp >>= 1, ++d) {
if (exp & 01) {
dblExp *= *d;
}
diff --git a/compat/strtol.c b/compat/strtol.c
index 793f094..b111d97 100644
--- a/compat/strtol.c
+++ b/compat/strtol.c
@@ -10,7 +10,6 @@
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
-#include <ctype.h>
#include "tclInt.h"
/*
@@ -34,7 +33,7 @@
long int
strtol(
- CONST char *string, /* String of ASCII digits, possibly preceded
+ 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. */
@@ -46,7 +45,7 @@ strtol(
* hex, "0" means octal, anything else means
* decimal. */
{
- register CONST char *p;
+ register const char *p;
long result;
/*
diff --git a/compat/strtoul.c b/compat/strtoul.c
index 9d3f372..d572c2b 100644
--- a/compat/strtoul.c
+++ b/compat/strtoul.c
@@ -18,7 +18,7 @@
* characters).
*/
-static char cvtIn[] = {
+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' */
@@ -50,7 +50,7 @@ static char cvtIn[] = {
unsigned long int
strtoul(
- CONST char *string, /* String of ASCII digits, possibly preceded
+ 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. */
@@ -62,7 +62,7 @@ strtoul(
* hex, "0" means octal, anything else means
* decimal. */
{
- register CONST char *p;
+ register const char *p;
register unsigned long int result = 0;
register unsigned digit;
int anyDigits = 0;
diff --git a/compat/unistd.h b/compat/unistd.h
index 1a40e90..6779e74 100644
--- a/compat/unistd.h
+++ b/compat/unistd.h
@@ -1,82 +1,77 @@
/*
* unistd.h --
*
- * Macros, CONSTants and prototypes for Posix conformance.
+ * 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.
+ * 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 "tcl.h"
#include <sys/types.h>
-#ifndef _TCL
-# include "tcl.h"
-#endif
#ifndef NULL
#define NULL 0
#endif
/*
- * Strict POSIX stuff goes here. Extensions go down below, in the
- * ifndef _POSIX_SOURCE section.
+ * Strict POSIX stuff goes here. Extensions go down below, in the ifndef
+ * _POSIX_SOURCE section.
*/
-extern void _exit _ANSI_ARGS_((int status));
-extern int access _ANSI_ARGS_((CONST char *path, int mode));
-extern int chdir _ANSI_ARGS_((CONST char *path));
-extern int chown _ANSI_ARGS_((CONST char *path, uid_t owner, gid_t group));
-extern int close _ANSI_ARGS_((int fd));
-extern int dup _ANSI_ARGS_((int oldfd));
-extern int dup2 _ANSI_ARGS_((int oldfd, int newfd));
-extern int execl _ANSI_ARGS_((CONST char *path, ...));
-extern int execle _ANSI_ARGS_((CONST char *path, ...));
-extern int execlp _ANSI_ARGS_((CONST char *file, ...));
-extern int execv _ANSI_ARGS_((CONST char *path, char **argv));
-extern int execve _ANSI_ARGS_((CONST char *path, char **argv, char **envp));
-extern int execvp _ANSI_ARGS_((CONST char *file, char **argv));
-extern pid_t fork _ANSI_ARGS_((void));
-extern char *getcwd _ANSI_ARGS_((char *buf, size_t size));
-extern gid_t getegid _ANSI_ARGS_((void));
-extern uid_t geteuid _ANSI_ARGS_((void));
-extern gid_t getgid _ANSI_ARGS_((void));
-extern int getgroups _ANSI_ARGS_((int bufSize, int *buffer));
-extern pid_t getpid _ANSI_ARGS_((void));
-extern uid_t getuid _ANSI_ARGS_((void));
-extern int isatty _ANSI_ARGS_((int fd));
-extern long lseek _ANSI_ARGS_((int fd, long offset, int whence));
-extern int pipe _ANSI_ARGS_((int *fildes));
-extern int read _ANSI_ARGS_((int fd, char *buf, size_t size));
-extern int setgid _ANSI_ARGS_((gid_t group));
-extern int setuid _ANSI_ARGS_((uid_t user));
-extern unsigned sleep _ANSI_ARGS_ ((unsigned seconds));
-extern char *ttyname _ANSI_ARGS_((int fd));
-extern int unlink _ANSI_ARGS_((CONST char *path));
-extern int write _ANSI_ARGS_((int fd, CONST char *buf, size_t size));
+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 _ANSI_ARGS_((CONST char *, CONST char *));
-extern int fchown _ANSI_ARGS_((int fd, uid_t owner, gid_t group));
-extern int flock _ANSI_ARGS_((int fd, int operation));
-extern int ftruncate _ANSI_ARGS_((int fd, unsigned long length));
-extern int ioctl _ANSI_ARGS_((int fd, int request, ...));
-extern int readlink _ANSI_ARGS_((CONST char *path, char *buf, int bufsize));
-extern int setegid _ANSI_ARGS_((gid_t group));
-extern int seteuid _ANSI_ARGS_((uid_t user));
-extern int setreuid _ANSI_ARGS_((int ruid, int euid));
-extern int symlink _ANSI_ARGS_((CONST char *, CONST char *));
-extern int ttyslot _ANSI_ARGS_((void));
-extern int truncate _ANSI_ARGS_((CONST char *path, unsigned long length));
-extern int vfork _ANSI_ARGS_((void));
+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/compat/zlib/CMakeLists.txt b/compat/zlib/CMakeLists.txt
new file mode 100644
index 0000000..a64fe0b
--- /dev/null
+++ b/compat/zlib/CMakeLists.txt
@@ -0,0 +1,190 @@
+cmake_minimum_required(VERSION 2.4.4)
+set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
+
+project(zlib C)
+
+if(NOT DEFINED BUILD_SHARED_LIBS)
+ option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
+endif()
+
+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)
+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(FATAL_ERROR
+ "You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h "
+ "from the source tree. This file is included with zlib "
+ "but CMake generates this file for you automatically "
+ "in the build directory.")
+ endif()
+endif()
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
+ ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
+include_directories(${CMAKE_CURRENT_BINARY_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
+ win32/zlib1.rc
+)
+
+# 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.
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
+ COMMAND windres.exe
+ -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_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
+endif(MINGW)
+
+add_library(zlib ${ZLIB_SRCS} ${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 PROPERTIES OUTPUT_NAME z)
+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
+ RUNTIME DESTINATION bin
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib )
+endif()
+if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
+ install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include)
+endif()
+if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
+ install(FILES zlib.3 DESTINATION share/man/man3)
+endif()
+
+#============================================================================
+# Example binaries
+#============================================================================
+
+add_executable(example example.c)
+target_link_libraries(example zlib)
+add_test(example example)
+
+add_executable(minigzip minigzip.c)
+target_link_libraries(minigzip zlib)
+
+if(HAVE_OFF64_T)
+ add_executable(example64 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 minigzip.c)
+ target_link_libraries(minigzip64 zlib)
+ set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
+endif()
diff --git a/compat/zlib/ChangeLog b/compat/zlib/ChangeLog
new file mode 100644
index 0000000..fc61964
--- /dev/null
+++ b/compat/zlib/ChangeLog
@@ -0,0 +1,1208 @@
+
+ ChangeLog file for zlib
+
+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
+
+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 error in zlib.h [Willem]
+- 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: ChangeLog,v 1.4 2010/04/20 14:50:10 nijtmans Exp $. 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/compat/zlib/FAQ b/compat/zlib/FAQ
new file mode 100644
index 0000000..1a22750
--- /dev/null
+++ b/compat/zlib/FAQ
@@ -0,0 +1,366 @@
+
+ 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 example.c and
+ 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?
+
+ make clean
+ ./configure -s
+ 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
+ specficiation 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/compat/zlib/INDEX b/compat/zlib/INDEX
new file mode 100644