OSDN Git Service

gdb/
[pf3gnuchains/pf3gnuchains3x.git] / tcl / ChangeLog.2001
1 2001-12-28  Jeff Hobbs  <jeffh@ActiveState.com>
2
3         * library/init.tcl: make sure env(COMSPEC) on Windows is executed
4         with the right case, as it may otherwise fail inexplicably.
5
6 2001-12-28  Don Porter <dgp@users.sourceforge.net>
7
8         * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem):
9         Added the [memory onexit] command, intended to replace [checkmem].
10
11         * doc/DumpActiveMemory.3: 
12         * doc/memory.n: Updated documentation for [memory] and related
13         matters.  [Bug 487677]
14
15         * mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the
16         machinery for the [checkmem] command that is completely duplicated
17         by code in generic/tclCkalloc.c.
18
19         * generic/tclBinary.c:
20         * generic/tclListObj.c:
21         * generic/tclObj.c:
22         * generic/tclStringObj.c: Removed references to [checkmem] in
23         comments, referencing [memory active] instead, since it is
24         documented.
25
26 2001-12-28  Daniel Steffen <das@users.sourceforge.net>
27
28         * mac/tclMacInit.c:
29         * mac/tclMacTclCode.r: synced up tclInit features to unix/win:
30         implemented TclSetPreInitScript support, use of existing tclInit 
31         proc if defined, check of default encoding dir if set. Changed
32         script library resource names to lowercase (i.e. same as
33         corresponding files). Used Tcl_JoinPath instead of string append.
34         Check that system encoding could be loaded before utf translating
35         the LibraryPath.
36         * mac/tclMacApplication.r:
37         * mac/tclMacLibrary.r:
38         * mac/tclMacOSA.r:
39         * mac/tclMacResource.r: minor version resources cleanup
40
41 2001-12-21  Mo DeJong  <mdejong@users.sourceforge.net>
42
43         * unix/tcl.m4 (SC_PATH_TCLCONFIG, SC_PATH_TKCONFIG):
44         Search for config file using exec_prefix instead of
45         prefix when no --with-tcl or --with-tk argument is used. [Bug 492418]
46
47 2001-12-21  Daniel Steffen <das@users.sourceforge.net>
48
49         * unix/tcl.m4: fixed incorrect SHLIB_LD_LIBS
50         setting for MacOSX / Darwin.
51         * unix/configure: Regen.
52         * unix/mkLinks.tcl: improved case-insensitive
53         filesystem support.
54         * unix/mkLinks: Regen.
55
56 2001-12-19  Don Porter <dgp@users.sourceforge.net>
57
58         * unix/Makefile.in (dist): corrected use of eolFix.tcl on
59         working files.  It should operate on distributed files.  [Bug 495120]
60
61 2001-12-19  David Gravereaux <davygrvy@pobox.com>
62
63         * tools/tcl.wse.in: Fix for #495120.  tcl.wse.in was
64         stored in cvs with improper <eol>.  This resulted in
65         corrupted <eol> when checked-out on translating CVS
66         clients such as windows (CRCRLF) and mac (CRCR).
67
68 2001-12-19  Mo DeJong  <mdejong@users.sourceforge.net>
69
70         * unix/configure:
71         * unix/tcl.m4 (SC_CONFIG_CFLAGS): Update
72         SunOS 5.[0-6] target so that correct linker
73         options are passed to gcc or ld. [Tk Bug 220863]
74
75 2001-12-19  Mo DeJong  <mdejong@users.sourceforge.net>
76
77         * unix/README: Update to account for changes
78         in the unix/dltest directory, the way autoconf
79         is run, and the new "make shell" target.
80
81 2001-12-19  Mo DeJong  <mdejong@users.sourceforge.net>
82
83         * unix/Makefile.in: Rename dltest to dlpkgs to
84         fix problem where lib files were not getting
85         built because dltest/ directory already existed.
86
87 2001-12-19  Jeff Hobbs  <jeffh@ActiveState.com>
88
89         * win/tclWinSerial.c (SerialCheckProc): corrected time
90         calculations to be unsigned. (schroedter)
91
92 2001-12-18  Mo DeJong  <mdejong@users.sourceforge.net>
93
94         * unix/Makefile.in: Define new dltest target that
95         simply does a cd to dltest/ before running make.
96         There is no need for the separate configure
97         script that was previously being used.
98         * unix/configure: Regen.
99         * unix/configure.in: Subst into dltest/Makefile.
100         * unix/dltest/Makefile.in: Define LIBS using
101         DL_LIBS, LIBS, and MATH_LIBS variables instead
102         of TCL_LIBS variable from tclConfig.sh.
103         * unix/dltest/README: Update readme to account for new
104         configure free implementation.
105         * unix/dltest/configure: Removed.
106         * unix/dltest/configure.in: Removed.
107
108 2001-12-18  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
109
110         * generic/tcl.h (TCL_STUB_MAGIC): Added cast to force type to be
111         an int and get rid of a persistent and pointless warning with
112         SunPro compiler.
113
114         * generic/tclCkalloc.c (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): 
115         * generic/tcl.decls (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc):
116         Made the file parameters to these functions into CONST char *,
117         like they always should have been to match the other Tcl*Db* API
118         functions.
119
120 2001-12-17  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
121
122         * Applied #219311 on behalf of Rolf Schroedter
123           <schroedter@users.sourceforge.net> to prevent fcopy on serial
124           ports from flooding the event queue.
125
126 2001-12-11  Miguel Sofer  <msofer@users.sourceforge.net>
127
128         * doc/CrtInterp.3:
129         * generic/tclBasic.c: docs and comments corrections [Bug 493412]
130         Bug & patch by Don Porter.  
131
132 2001-12-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
133
134         * win/tclWinNotify.c (Tcl_FinalizeNotifier): Stop Tcl on Windows
135         from crashing when shutdown from a non-Tcl thread. Fixes Bug
136         #217982 [orig. 5804] reported by Hugh Vu and Gene Leache.   I'm
137         not convinced that the shutdown process is right even with this,
138         but it was definitely wrong without...
139
140 2001-12-13  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
141
142         * win/tclWinSock.c (TcpGetOptionProc): Fix for tcl bug item
143           #478565 reported by an unknown person. Bypasses all calls to
144           "gethostbyaddr" for address "0.0.0.0" to prevent delays on
145           Win/NT.
146
147 2001-12-12  Jeff Hobbs  <jeffh@ActiveState.com>
148
149         * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch #483989] (porter)
150
151 2001-12-12  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
152
153         * generic/tclIO.c (Tcl_GetsObj): Applied patch for bug #491341 as
154           provided by Don Porter <dgp@users.sourceforge.net>. Fixes the
155           assumption of having an empty Tcl_Obj to work with.
156
157 2001-12-11  Miguel Sofer  <msofer@users.sourceforge.net>
158
159         * generic/tclCompCmds.c:
160         * generic/tclCompile.c:
161         * generic/tclExecute.c: consistency patch, to make all
162           instructions that pop a variable number of Tcl_Obj's off the
163           execution stack take the number of popped objects as first
164           operand. Modified *only* the new instructions
165           INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no effect
166           on bytecodes generated up to tcl8.4a3 inclusive.
167
168         * generic/tclExecute.c: fix debug messages in INST_LSET_LIST. 
169
170         * generic/tclCompCmds.c (TclCompileLindexCmd):
171         * generic/tclCompExpr.c (CompileMathFuncCall): removed the last
172           two overestimates of the necessary stack depth for bytecodes in
173           the fix of [Bug 483611].
174
175 2001-12-10  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
176
177         * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter's
178           patch fixing bug #437489.
179
180 2001-12-10  Miguel Sofer  <msofer@users.sourceforge.net>
181
182         * generic/tclEvent.c:
183         * tests/event.test: fix background error reporting in the absence
184         of a bgerror proc [Bug 219142].
185
186 2001-12-10  Don Porter <dgp@users.sourceforge.net>
187
188         * doc/Access.3:
189         * doc/CrtChannel.3:
190         * doc/DString.3:
191         * doc/ExprLong.3:
192         * doc/FileSystem.3:
193         * doc/GetStdChan.3:
194         * doc/OpenFileChnl.3:
195         * doc/StdChannels.3:
196         * doc/TCL_MEM_DEBUG.3:
197         * doc/Tcl_Main.3:
198         * doc/Utf.3:
199         * doc/file.n:
200         * doc/tclsh.1:  Several typo and formatting corrections discovered
201         during conversion to TMML.  Thanks to Joe English.  [Patch 490514]
202         * unix/mkLinks: 'make mklinks'
203
204 2001-12-10  Miguel Sofer  <msofer@users.sourceforge.net>
205
206         * generic/tclCompCmds.c:
207         * generic/tclCompExpr.c:
208         * generic/tclCompile.c:
209         * generic/tclCompile.h:
210         * generic/tclExecute.c:
211         * generic/tclProc.c: fixed the calculation of the maximal stack
212         depth required by bytecodes [Bug 483611].
213
214 2001-12-07  Miguel Sofer  <msofer@users.sourceforge.net>
215
216         * generic/tclVar.c: 
217         * tests/trace.test: restored consistency in refCount accounting by
218         array traces [Bug #4484339], submitted by Don Porter. 
219
220 2001-12-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
221
222         * tests/parseExpr.test, tests/for.test, tests/expr.test:
223         * tests/expr-old.test, tests/compile.test, tests/compExpr.test
224         * tests/compExpr-old.test: Kept up to date with syntax errors.
225         * generic/tclParseExpr.c (ParsePrimaryExpr): Rewrote to give even
226         better syntax errors in the fairly common case of an identifier
227         without decorations by guessing based on the currently available
228         functions.  Also made messages consistent between memdebug and
229         ordinary builds.
230
231 2001-12-05  Miguel Sofer  <msofer@users.sourceforge.net>
232
233         * generic/tclVar.c: 
234         * tests/trace.test: new algorithm for [array get], safe when there
235         are traces that modify the array [Bug #449893]. 
236
237 2001-12-04  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
238
239         * tests/compExpr-old.test, tests/compExpr.test, tests/compile.test: 
240         * tests/expr-old.test, tests/expr.test, tests/for.test: 
241         * tests/while.test, tests/if.test: Rewrite to handle more specific
242         syntax errors.
243         * tests/parseExpr.test: Rewrite to get rid of dup test numbers and
244         handle more specific syntax errors.
245         * generic/tclParseExpr.c (LogSyntaxError): Added a detail message
246         argument to help explain what the syntax error is.
247         (Tcl_ParseExpr, ParseCondExpr, ParsePrimaryExpr): Added detail
248         messages.
249         (UNKNOWN_CHAR): New lexeme for characters that are always illegal
250         in expressions outside strings.
251
252 2001-12-03  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
253
254         * doc/expr.n: Various documentation improvements in relation to
255         the function calls.  Includes fix for Bug #487704 submitted by
256         Devin Eyre.
257
258 2001-12-03  David Gravereaux <davygrvy@pobox.com>
259
260         * win/makefile.vc: Some install target bugs repaired along with
261         $(TCLSTUBLIB) added to the dependencies rather than implicit through
262         the dde and reg extensions which don't happen to always require it
263         for some build types.
264
265 2001-11-30  Miguel Sofer  <msofer@users.sourceforge.net>
266
267         * generic/tclVar.c: Tcl_Preserve'ing VarTrace structures to avoid 
268         memory corruption. Patch for [Bug: 484334] provided by Don Porter 
269
270 2001-11-29  Miguel Sofer  <msofer@users.sourceforge.net>
271
272         * tests/namespace.test: modified namespace-41.2, added 41.3
273         {knownbug} after discussion with Don Porter and Kevin Kenny.
274
275 2001-11-29  Miguel Sofer  <msofer@users.sourceforge.net>
276
277         * tests/namespace.test: added namespace-41.2, a simpler test for
278         [Bug: 231259]
279
280 2001-11-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
281
282         * generic/tclBinary.c (BINARY_SCAN_MAX_CACHE, Tcl_BinaryObjCmd,
283         ScanNumber): Added caching scheme to reduce number of object
284         allocations when doing scans of large repetitive binary strings.
285         See comments in file for reasoning behind implementation.
286         Suggested by Miguel Sofer in Patch #429916, but independently
287         implemented.
288
289 2001-11-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
290
291         * doc/regsub.n, doc/regexp.n: Converted dangling references to
292         METASYNTAX section into references to the re_syntax manual page.
293
294 2001-11-27  D. Richard Hipp   <drh@hwaci.com>
295
296         * win/tclWinFCmd.c: Fix a coredump in the filename normalizer
297         code for Win95/98.
298
299 2001-11-27  David Gravereaux <davygrvy@pobox.com>
300
301         * win/makefile.vc: Removed the Tk reference for the 'winhelp' target.
302         Converge at install will need to be the solution for Tk and all other
303         extensions.
304
305 2001-11-27  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
306
307         * tests/cmdAH.test (cmdAH-24.2): Made test less sensitive to OS
308         preemption, but perfection isn't practical [Bug 463189, reported
309         by Don Porter.]
310
311         * tests/switch.test (switch-9.*): Added tests to exercise more of
312         the argument checking.  (switch-7.2,switch-7.3): Test changed
313         behaviour slightly.
314         * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reworked argument parsing
315         to be stricter about what it accepts.  This should make uses of
316         the [switch] command be more maintainable.  [Bug 475397, reported
317         by Don Porter.]
318
319 2001-11-26  Don Porter <dgp@users.sourceforge.net>
320
321         * generic/tclIntPlatDecls.h: 'make genstubs' after changes
322         in 2001-11-23 commit from Daniel Steffen.
323
324 2001-11-24  Mo DeJong  <mdejong@users.sourceforge.net>
325
326         * unix/Makefile.in: Add comments to better describe
327         TCL_EXE and when it should be available.
328         * win/Makefile.in: Add TCL_EXE variable to be used
329         by rules like `make genstubs`. Don't set TCL_LIBRARY
330         before running `make genstubs` since we will be running
331         with a tclsh from the PATH not the one we build.
332
333 2001-11-24  Mo DeJong  <mdejong@users.sourceforge.net>
334
335         * win/configure: Regen.
336         * win/tcl.m4 (SC_CONFIG_CFLAGS): Add comctl32.lib
337         to wish link libs. This change was originally added
338         to Tk on 2001-11-09 but was not committed to Tcl.
339
340 2001-11-23  Daniel Steffen <das@users.sourceforge.net>
341
342         * unix/Makefile.in:
343         * unix/configure.in:
344         * unix/install-sh:
345         * unix/mkLinks:
346         * unix/mkLinks.tcl:
347         * unix/tclLoadDyld.c:
348         * unix/tclMtherr.c: Mac OSX support: build system, dynamic code loading
349         and support for case-insensitive filesystems in mkLinks (patch #435258)
350
351 2001-11-23  Daniel Steffen <das@users.sourceforge.net>
352
353         Up-port to 8.4 of mac code changes for 8.3.3 & various new
354         changes for 8.4, some already backported to 8.3.4 (patch #435658)
355
356         * generic/tclObj.c: added #include to fix missing prototype errors
357
358         * generic/tcl.h: MAC_TCL: addition of ConditionalMacros.h and use of
359         DLLIMPORT and DLLEXPORT like on other platforms.  ( => no longer need
360         the .exp files and can remove use of #pragma export that never worked
361         well)
362         removed line continuation in #if clause as this breaks the mac
363         resource compiler (note that *.r files include tcl.h)
364
365         * mac/tclMacFile.c: fixed bug in permission checking code
366
367         * mac/tclMacLoad.c: corrected utf8 handling, comparison of
368         package names to code fragment names changed to only match on the
369         length of package name, this allows for fragment names with version
370         numbers appended
371
372         * mac/tclMacInt.h:
373         * generic/tclInt.h:
374         * mac/tclMacTime.c:
375         * generic/tclIOUtil.c: moved declaration of TclpGetGMTOffset()
376
377         * mac/tclMacShLib.exp:
378         * mac/tclMacOSA.exp:
379         * mac/tclMacMSLPrefix.h: removed files
380
381         * unix/Makefile.in: removed reference to .exp files
382
383         * mac/MW_TclBuildLibHeader.h:
384         * mac/MW_TclBuildLibHeader.pch:
385         * mac/MW_TclHeaderCommon.h:
386         * mac/MW_TclStaticHeader.h:
387         * mac/MW_TclStaticHeader.pch: new precompiled header files
388
389         * mac/MW_TclAppleScriptHeader.pch:
390         * mac/MW_TclHeader.pch:
391         * mac/MW_TclTestHeader.pch:
392         * mac/tclMacCommonPch.h: revised precompiled header handling: now
393         include a common header file 'MW_TclHeaderCommon.h' from all .pch
394         files, the .pch files themselves now only setup #defines (e.g.
395         BUILD_tcl, STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on
396         other platforms.
397
398         * mac/tclMac.h:
399         * mac/tclMacPort.h:
400         * mac/tclMacInt.h: use of BUILD_tcl and TCL_STORAGE_CLASS like on other
401         platforms, standardize #include'd files to what's done on other
402         platforms, removed use of #pragma export.
403
404         * mac/tcltkMacBuildSupport.sea.hqx: new archive of mac build support
405         files & suggested build environment directory hierarchy: 
406         'Building MacTclTk' & 'CW Pro6 changes' readme's.
407         projects for MoreFiles 1.5.2 static & shared libraries.
408         project & sources for 'pseudoCarbonSupport', see below.
409         included XML versions of the projects for CW Pro5 or Pro7 users.
410
411         * mac/tclMacProjects.sea.hqx: updated mac build project files:
412         build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime
413         libraries: the MSL libraries and MoreFiles are no longer compiled into
414         Tcl.shlb, all non-static binaries now use the Pro6 shared runtime
415         libraries and MoreFiles.shlb.  These shlbs are merged into the standard
416         Wish and TclShell, but 3rd party applications linking with Tcl.shlb or
417         Tk.shlb need to setup access to them.  (see the "(sh-ppc)" targets
418         for how to do this.)
419         included XML versions of the projects for CW Pro5 or Pro7 users.
420         use compat/strtod.c instead of MSL's strtod()
421         use WASTE versions of MSL for tcl test target to avoid text buffer
422         cutoff at 32k.
423         Merging the full MSL.shlb and the other shlbs into Wish & TclShell
424         makes them a bit larger than before, use unmerged binaries to avoid
425         copying the shared code with every application, e.g. when deploying
426         numerous Wish based droplets.
427         Note that using CW Pro5 to compile extensions is in principle still
428         possible, but need to link with Pro6 runtime libraries.
429         Tclapplescript now loads and runs on CFM68k.
430         Highly experimental "pseudoCarbon" support for Tcl only on OS 8/9:
431         binaries in "Build:(Carbon):" link against CarbonLib instead of
432         InterfaceLib, however the actual code has not been carbonized! i.e. it
433         will not run on OSX and may not even run properly with CarbonLib. 
434         This should in principle allow you to build & test OS9 CFM Carbon
435         binaries that need to link with Tcl.shlb.  On OSX you can use the
436         native Tcl.framework, but you have to build a MachO binary as there
437         is no CFM glue lib for Tcl.framework.
438         the library pseudoCarbonSupport.shlb manually loads the symbols
439         from InterfaceLib that are not in CarbonLib but are needed by the
440         uncarbonized code in Tcl.shlb and TclShell.
441
442         * generic/tclMain.c: MAC_TCL: workaround for broken/non-standard isatty
443         on MW Pro6, #include <unistd.h> instead of defining isatty
444
445         * mac/tclMacPort.h: MW Pro6 changes for MSL fcntl.h, stat.h & isatty
446
447         * mac/tclMacAppInit.c: add EXTERN to InstallConsole to enable DLL
448         export via the TCL_STORAGE_CLASS mechanism.
449
450         * mac/tclMacFCmd.c: fix for FSpDirectoryCopy API change
451
452         * mac/tclMacLibrary.c: emit compile time error when
453         TCL_REGISTER_LIBRARY and USE_TCL_STUBS are both defined at the same
454         time in an extension, this use is not currently supported and will
455         result in a crash when dynamically loading the extension.
456
457         * mac/tclMacApplication.r:
458         * mac/tclMacLibrary.r:
459         * mac/tclMacOSA.r:
460         * mac/tclMacResource.r: fixed obsolete copyrights/dates in version
461         strings; updated version strings to standard usage; added support for
462         '(Support Libraries)' subfolder for shared runtime libraries in
463         unmerged binaries; commented out demo setting of "Tcl Environment
464         Variables"; reorganized resources among these files to avoid 
465         multiple copies in applications and shared libraries, the script
466         libraries are now no longer duplicated in Tclsh but are only included 
467         in the resources of Tcl.shlb.
468
469         * mac/tclMacChan.c:
470         * mac/tclMacSock.c: cast for *BlockMode
471
472         * mac/tclMacUtil.c:
473         * mac/tclMacMath.h: removed obsolete hypot() definition
474
475         * generic/tclIntPlatDecls.h:
476         * generic/tclInt.decls:
477         * generic/tclStubInit.c:
478         * mac/tclMacNotify.c:
479         * mac/tclMacOSA.c:
480         * mac/tclMacUtil.c:
481         * generic/tclThreadTest.c: renamed routines conflicting with standard
482         Apple or MoreFiles headers (at compile or link time):
483         GetGlobalMouse         -> GetGlobalMouseTcl
484         FSpGetDirectoryID      -> FSpGetDirectoryIDTcl
485         FSpOpenResFileCompat   -> FSpOpenResFileCompatTcl
486         FSpCreateResFileCompat -> FSpCreateResFileCompatTcl
487         NewThread              -> NewTestThread
488         the renamed MoreFiles *Tcl routines are just wrappers calling into the
489         MoreFiles DLL.
490
491         * mac/tclMacCommonPch.h:
492         * mac/tclMacThrd.c:
493         * mac/tclMacPanic.c: removed OLDROUTINENAMES define, renamed obsolete
494         apple API names to modern equivalents; UH3.4 support: added #include
495         <ControlDefinitions.h>, updated New*Proc() calls to New*UPP().
496
497         * mac/tclMacUnix.c: added missing (Tcl_Obj ***) cast to
498         Tcl_ListObjGetElements call
499
500         * mac/tclMacAlloc.c: modernized TclpSysAlloc() to use temporary
501         memory instead of system heap memory when available (MacOS
502         >= 7.5 and possibly earlier, use of system heap has been
503         discouraged for a long time and has many disadvantages, e.g. memory
504         isn't paged out, and errors can very easily bring the system down);
505         fixed crashing bug in TclpSysRealloc() and CleanUpExitProc() where
506         memory was being accessed after having been deallocated; fixed
507         memory leak in (de)allocation code (for every block ever allocated
508         with TclpSysAlloc, a Ptr was leaked), if temporary memory is
509         available, don't track allocated memory, instead use
510         RecoverHandle() to get Handle from Ptr, otherwise use doubly linked
511         list to correctly track memory and free all allocated memory; added
512         new option for ConfigureMemory: MEMORY_DONT_USE_TEMPMEM, disables
513         use of temporary memory even when it would be available, only
514         necessary when writing e.g. a driver (using tcl??); increased
515         fraction of application heap reserved for OS routines to 512K
516
517         * compat/strftime.c: 
518         * mac/tclMacTime.c:
519         * mac/tclMacPort.h:
520         * generic/tclInt.decls: 
521         * generic/tclIntPlatDecls.h:
522         * generic/tclStubInit.c: timezone support for mac via 
523         TclpGetTZName() like on windows, using an inverse timezone table
524         adapted from tclDate.c to map gmtoffset in seconds gotten from
525         the MacOS APIs to a  timezone string, as there is no good way to get
526         this info from MacOS. I had to make up some unusual timezones and
527         arbitrarily decide on the most standard of the multiple choices
528         available for every timezone.
529
530         * generic/tclExecute.c: workaround for a MSL bug/misfeature: for
531         very small floats, MSL can return errno ERANGE but a
532         non-zero value ( < LDBL_MIN however)
533         
534         * mac/tclMacAppInit.c: support for WASTE text library using
535         temporary memory, setting has no effect if WASTE is not used.
536         
537         * mac/tclMacPanic.c: removed duplicate code from generic/tclPanic.c
538         and added that file to projects instead.
539
540         * tests/all.tcl: set tcltest::singleProcess 1 as multiple processes
541         are not available on the mac.
542         
543         * tests/cmdAH.test: access time not available on the mac, skip the 
544         atime touch test
545         
546         * tests/appendComp.test:
547         * tests/cmdMZ.test:
548         * tests/compile.test:
549         * tests/exec.test:
550         * tests/fileName.test:
551         * tests/lset.test:
552         * tests/namespace.test:
553         * tests/tcltest.test: added missing cleanups/tests/catches that
554         caused tests to fail on the mac.
555
556         * doc/tclvars.n: doc bug, env(PWD) should be env(HOME) [Bug 463834]
557         
558 2001-11-21  Don Porter  <dgp@users.sourceforge.net>
559
560         * tests/trace.test (trace-8.8): Corrected test for Bug 219393.
561
562         * generic/tclBasic.c (Tcl_DeleteCommandFromToken,CallCommandTraces):
563         * generic/tclCmdMZ>c (Tcl_UntraceCommand):  Added Tcl_Preserve and
564         Tcl_Release calls to prevent deletion of CommandTrace structures
565         until all callers are done using them, preventing memory corruption.
566         [Bug 453805]
567
568 2001-11-20  Kevin B. Kenny  <kennykb@users.sourceforge.net>
569
570         * doc/GetTime.3 (Tcl_GetTime):
571         * generic/tcl.decls (Tcl_GetTime):
572         * generic/tclClock.c (Tcl_ClockObjCmd):
573         * generic/tclCompile.c (TclCleanupByteCode, TclInitByteCodeObj):
574         * generic/tclCmdMZ.c (Tcl_TimeObjCmd):
575         * generic/tclUtil.c (TclpGetTime):
576         * generic/tclTest.c (GetTimesCmd):
577         * generic/tclTimer.c (Tcl_CreateTimerHandler, TimerSetupProc,
578         TimerCheckProc, TimerHandlerEventProc):
579         * mac/tclMacNotify.c (Tcl_SetTimer):
580         * mac/tclMacShLib.exp (Tcl_GetTime):
581         * mac/tclMacTime.c (Tcl_GetTime):
582         * unix/tclUnixChan.c (TclUnixWaitForFile):
583         * unix/tclUnixEvent.c (Tcl_Sleep):
584         * unix/tclUnixThrd.c (Tcl_ConditionWait):
585         * unix/tclUnixTime.c (Tcl_GetTime):
586         * win/tclWinNotify.c (Tcl_Sleep):
587         * win/tclWinTest.c (TestwinclockCmd):
588         * win/tclWinTime.c (TclpGetSeconds, TclpGetClicks, Tcl_GetTime):
589         Changed all uses of TclpGetTime to Tcl_GetTime.  Added Tcl_GetTime
590         to the Stubs table and the library documentation.  Added a
591         TclpGetTime in tclUtil.c for backward compatibility of
592         extensions. [Patch #483500, TIP#73]
593
594         * generic/tclCmdMZ.c (Tcl_TimeObjCmd): Corrected an error in the
595         [time] command that caused incorrect results to be returned if the
596         total duration of all iterations exceeded 2**31 microseconds.
597         [Bug #478847]
598
599         * generic/tclInt.decls:
600         * generic/tclInt.h:
601         * generic/tclStubInit.h: Reran 'make genstubs'
602         
603 2001-11-20  Miguel Sofer  <msofer@users.sourceforge.net>
604
605         * generic/tclBasic.c
606         * generic/tclCompile.h: 
607         * generic/tclExecute.c: moving all code relative to bytecodes from
608         tclBasic.c to tclExecute.c - the functions RecordTracebackInfo and
609         Tcl_ExprObj went to tclExecute.c, and new interface function was
610         defined (TclCompEvalObj).
611         The final objective of this sequence of moves is to provide a
612         clean, clear-cut interface between Tcl's core and the
613         compiler/engine subsystem.  
614
615 2001-11-20  Miguel Sofer  <msofer@users.sourceforge.net>
616
617         * generic/tclBasic.c
618         * generic/tclCompile.h: 
619         * generic/tclExecute.c: factoring out of common code in tclBasic.c
620         (new function TclInterpReady defined: it resets the interp's
621         result, then checks that it hasn't been deleted and that the
622         nesting level is acceptable). Passed the responsibility of calling
623         it to the *callers* of TclEvalObjvInternal.
624
625 2001-11-20  Miguel Sofer  <msofer@users.sourceforge.net>
626
627         * generic/tclBasic.c
628         * generic/tclExecute.c: a better variant of the previous-to-last
629         commit (restoring numLevels computations). The managing of the
630         levels now has to be done by the *callers* of TclEvalObjvInternal  
631
632 2001-11-20  Miguel Sofer  <msofer@users.sourceforge.net>
633
634         * generic/tclExecute.c: missing variable declaration under
635         TCL_COMPILE_DEBUG. 
636
637 2001-11-20  Miguel Sofer  <msofer@users.sourceforge.net>
638
639         * generic/tclExecute.c:
640         * generic/tclProc.c: restoring the computations of iPtr->numLevels
641         to the original logic (previous to buggy modifs on 2001-11-16).
642
643 2001-11-20  Jeff Hobbs  <jeffh@ActiveState.com>
644
645         * tools/eolFix.tcl (new-file):
646         * unix/Makefile.in: added EOL correction for Windows bat files to
647         dist target. [Bug #219409] (davygrvy)
648
649         * unix/tclUnixInit.c (TclpSetInitialEncodings): update of patch
650         from 2001-11-16 that uses the old Tcl encoding check mechanism as
651         a fallback to the original.  Also added a TCL_DEFAULT_ENCODING
652         #define (defaults to iso8859-1).  Tcl will first try setlocale and
653         nl_langinfo, and if that fails, guess based on certain LANG|LC_*
654         env vars. [Patch #418645]
655
656 2001-11-19  David Gravereaux <davygrvy@pobox.com>
657
658         * win/buildall.vc.bat:  Added useful comments.
659
660 2001-11-19  Miguel Sofer  <msofer@users.sourceforge.net>
661
662         * tests/compile.test: added a test for bug [Bug 483309]
663
664 2001-11-19  Vince Darley  <vincentdarley@users.sourceforge.net>
665
666         * win/tclWinFile.c:
667         * win/tclWinFCmd.c:
668         * win/tclWin32Dll.c:
669         * doc/file.n:
670         * tests/winFCmd.test: improved speed of file normalization
671         for Win95/98, and clarified docs on differences in file
672         normalization between NT/2000 and the older operating systems.
673         Added test to ensure normalization is correct.
674         
675 2001-11-19  Miguel Sofer  <msofer@users.sourceforge.net>
676
677         * generic/tclBasic.c:
678         * generic/tclParse.c: Code reorganisation. Moved all evaluation
679         functions from tclParse.c to tclBasic.c, so that now tclParse.c
680         deals exclusively with parsing and all evaluations are done by
681         code in tclBasic.c. The functions moved are: TclEvalObjvInternal,
682         Tcl_EvalObjv, Tcl_LogCommandInfo, Tcl_EvalTokensStandard,
683         Tcl_EvalTokens, Tcl_EvalEx, Tcl_Eval, Tcl_EvalObj and
684         Tcl_GlobalEvalObj. 
685
686 2001-11-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
687
688         * tests/trace.test (trace-8.8): Added adapted version of Bug
689         #219393 as new test; the test won't reliably show up the old
690         problem unless it is being run under something like Purify, but
691         something is better than nothing...
692
693         * generic/tclVar.c (Tcl_TraceVar2, Tcl_UntraceVar2): Added missing
694         mask bits for trace result type and a check for a nonsense flag
695         combination.
696         * generic/tclCmdMZ.c (TraceVarProc): Added missing test for NULL
697         when deleting a trace that doesn't cause an error.
698
699         * doc/TraceVar.3: Added documentation for change due to TIP#68.
700
701         * generic/tclCmdMZ.c (TraceVarInfo): Removed problematic errMsg
702         field from structure.
703         (TraceVarProc): Removed references to errMsg field and changed
704         handling of errors so that they returned a Tcl_Obj* containing the
705         error string.  This minimizes the number of calls to the memory
706         management subsystem.
707         (TclTraceCommandObjCmd, TraceCommandProc): Removed references to
708         errMsg field which was never used in command traces in any case.
709         (Tcl_TraceObjCmd, TclTraceVariableObjCmd): Removed references to
710         errMsg field and made variable traces register with
711         TCL_TRACE_RESULT_OBJECT bit set.
712
713         * generic/tcl.h (TCL_TRACE_RESULT_DYNAMIC,TCL_TRACE_RESULT_OBJECT): 
714         New constants to define how to handle the strings returned from
715         trace callbacks [TIP#68]
716         * generic/tclVar.c (CallTraces, Tcl_GetVar2Ex, TclGetIndexedScalar,
717         TclGetElementOfIndexedArray, Tcl_SetVar2Ex, TclSetIndexedScalar,
718         TclSetElementOfIndexedArray, Tcl_UnsetVar2, Tcl_ArrayObjCmd,
719         TclDeleteVars, TclDeleteCompiledLocalVars, DeleteArray,
720         TclVarTraceExists): Support for those new trace flags.
721
722 2001-11-19  Miguel Sofer  <msofer@users.sourceforge.net>
723
724         * generic/tclCompCmds.c: patch for [Bug 483309] (petasis).
725
726 2001-11-16  Kevin B. Kenny  <kennykb@users.sourceforge.net>
727
728         * generic/tclListObj.c: removed a C++-style comment that
729           was inadvertently left in the source code.
730
731 2001-11-16  Jeff Hobbs  <jeffh@ActiveState.com>
732
733         * tests/interp.test: 
734         * generic/tclInterp.c (SlaveObjCmd): Corrected argument checking
735         for '$interp alias|aliases|issafe'. [Patch #479560] (thoyts, hobbs)
736
737         * unix/tclUnixInit.c: added HAVE_LANGINFO code block.
738         * unix/configure: regened
739         * unix/configure.in: added SC_ENABLE_LANGINFO call
740         * unix/tcl.m4: made SHLIB_LD_LIBS='${LIBS}' for FreeBSD* (meyer)
741         Added modified version of Wagner patch to make use of nl_langinfo
742         where possible to determine Unix platform encoding, instead of the
743         inflexible built-in system.  This is used by default when
744         possible, and can be disabled with --enable-langinfo=no.
745         [Patch #418645] (hobbs, wagner)
746
747 2001-11-16  Miguel Sofer  <msofer@users.sourceforge.net>
748
749         * generic/tclCompile.h:
750         * generic/tclExecute.c:
751         * generic/tclObj.c: moved Tcl_GetCommandFromObj and all defining
752         code for tclCmdNameType objects to tclObj.c (from tclExecute.c). 
753         This code has nothing to do with bytecodes.
754
755 2001-11-16  Miguel Sofer  <msofer@users.sourceforge.net>
756
757         * generic/tclBasic.c:
758         * generic/tclCompile.h:
759         * generic/tclExecute.c:
760         * generic/tclParse.c:
761         * generic/tclProc.c:
762         * tests/stack.test: consolidation of duplicated code (in
763         TclExecuteByteCode and EvalObjv); renaming of EvalObjv to
764         TclEvalObjv as it is not static anymore; restored consistency of
765         level counts between compiled and directly evaled code.
766         [Bug 480896]
767
768 2001-11-12  David Gravereaux <davygrvy@pobox.com>
769
770         * win/makefile.vc:
771         * win/rules.vc:  Small bug fixes.
772
773         * win/README: added some docs pointing to the docs in makefile.vc
774         for it's use.
775
776 2001-10-17  Kevin B. Kenny  <kennykb@users.sourceforge.net>
777
778         * doc/lappend.n:
779         * doc/lindex.n:
780         * doc/linsert.n:
781         * doc/list.n:
782         * doc/llength.n:
783         * doc/lrange.n:
784         * doc/lsearch.n:
785         * doc/lset.n (new-file):
786         * doc/lsort.n:
787         * generic/tclBasic.c (builtInCmds, Tcl_EvalObjEx):
788         * generic/tclCmdIL.c (Tcl_LindexObjCmd, Tcl_LindexList):
789         (Tcl_LindexFlat, Tcl_LsetObjCmd):
790         * generic/tclCompCmds.c (Tcl_CompileLindexCmd, Tcl_CompileLsetCmd):
791         * generic/tclCompile.c:
792         * generic/tclCompile.h:
793         * generic/tclExecute.c (TclExecuteByteCode):
794         * generic/tclInt.decls:
795         * generic/tclInt.h:
796         * generic/tclIntDecls.h:
797         * generic/tclListObj.c (TclLsetList, TclLsetFlat, TclSetListElement):
798         * generic/tclObj.c (TclInitObjSubsystem):
799         * generic/tclStubInit.c:
800         * generic/tclTestObj.c (TestobjCmd):
801         * generic/tclUtil.c (TclGetIntForIndex, SetEndOffsetFromAny):
802         * generic/tclVar.c (Tcl_LappendObjCmd):
803         * tests/lindex.test:
804         * tests/lset.test (new-file):
805         * tests/lsetComp.test (new-file):
806         * tests/obj.test:
807         * tests/string.test:
808         * tests/stringComp.test:
809         Reference implementation of TIP's #22, #33 and #45.  Adds the
810         ability of the [lindex] command to have multiple index arguments,
811         and adds the [lset] command.  Both commands are byte-code compiled.
812         [Patch #471874] (work by Kenny, commited by Hobbs)
813
814 2001-11-12  David Gravereaux <davygrvy@pobox.com>
815
816         * win/buildall.vc.bat(new):
817         * win/makefile.vc:  Small fix with deriving the "OriginalFilename"
818         string in the .rc scripts.  Added a quick batchfile for building
819         the entire thing.
820
821 2001-11-12  Jeff Hobbs  <jeffh@ActiveState.com>
822
823         * doc/FileSystem.3:
824         * doc/file.n:
825         * doc/tcltest.n: converted use of \' to more reasonable format.
826
827 2001-11-10  Mo DeJong  <mdejong@users.sourceforge.net>
828
829         * unix/Makefile.in:
830         * win/Makefile.in: Add "make gdb" target. This target
831         can run tclsh inside either gdb or insight.
832
833 2001-11-10  David Gravereaux <davygrvy@pobox.com>
834
835         * win/makefile.vc:  Added a check to make sure one runs the makefile
836         from the /win directory only.
837
838         * win/mkd.bat:
839         * win/rmd.bat:  Changes from Llyod Lim for better stability.
840         [Patch #456759]
841
842 2001-11-09  David Gravereaux <davygrvy@pobox.com>
843
844         * win/makefile.vc:
845         * win/tcl.dsp:  winhelp target fixes for non-NT systems.  It
846         seems NMAKE under these remembers changed directories during
847         commands.   A new tcltest feature from Peter Spjuth 
848         <peter.spjuth@space.se> to specify a pattern file from the
849         commandline and redirecting output to a file when not under
850         NT with it's scrollback console.  Then it replays it, piped
851         through more.  Added 2 new static "configurations" to tcl.dsp.
852         I could keep adding more, but I think we should leave it up to
853         the user for customizing it.
854
855         Sticky-points left:  'profile' option.
856
857 2001-11-09  Jeff Hobbs  <jeffh@ActiveState.com>
858
859         * doc/FileSystem.3:
860         * doc/StdChannels.3:
861         * doc/file.n:
862         * doc/tcltest.n:
863         * tools/man2help.tcl: 
864         * tools/man2help2.tcl: fixed winhelp generation problems
865         [Patch #480268]
866
867         * unix/configure:
868         * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix
869
870 2001-11-09  Don Porter  <dgp@users.sourceforge.net>
871
872         * tests/var.test:
873         * generic/tclVar.c: Corrected bug in [global] when dealing
874         with variable names matching :*.  [Bug 480176]
875
876 2001-11-08  Mo DeJong  <mdejong@users.sourceforge.net>
877
878         Fixup stack size under OSF1. [Tcl patch 474790]
879
880         * unix/configure: Regen.
881         * unix/tcl.m4: Add HAVE_PTHREAD_ATTR_SETSTACKSIZE define
882         to EXTRA_CFLAGS to adjust initial stack size.
883
884 2001-11-08  Mo DeJong  <mdejong@users.sourceforge.net>
885
886         Enable thread support under FreeBSD. [Tcl bug 473708]
887
888         * unix/configure: Regen.
889         * unix/tcl.m4 (SC_ENABLE_THREADS): Check for pthread functions
890         in libc_r and enable thread support if found.
891         * unix/dltest/Makefile.in: Set SHLIB_LD_LIBS and use it in
892         the Makefile to properly link a shared library.
893
894 2001-11-08  Mo DeJong  <mdejong@users.sourceforge.net>
895
896         * unix/Makefile.in:
897         * unix/dltest/Makefile.in:
898         Avoid adding libc to the LIBS variable since it
899         is not needed when linking with CC. If required
900         when linking with LD it should be done on a case
901         by case basis in tcl.m4.
902
903 2001-11-08  David Gravereaux <davygrvy@pobox.com>
904
905         * win/rules.vc:
906         * win/makefile.vc:  Fixed install target to adjust for the
907         different build types.  Added a 'linkexten' option to link the
908         win extensions inside the shell when built static.  Placed
909         win/tclAppInit.c patch in SF patch DB for approval. 'profile'
910         option not hooked in yet.  Everything else know is done.
911
912         * win/tcl.dsp(new):
913         * win/tcl.dsw(new):  Simple MsDev stub project files that calls
914         makefile.vc.  Will help run Tcl in the debugger easier without
915         confusing MsDev for where the .pdb files are.
916
917 2001-11-07  Mo DeJong  <mdejong@users.sourceforge.net>
918
919         * unix/Makefile.in:
920         * win/Makefile.in:
921         Print a message indicating that the user should
922         run "make genstubs" when the generated tclStubInit.c
923         file is out of date. We can't regenerate automatically
924         since there may be no tclsh on the system and that
925         would cause bootstrap problems. [Tcl bug 465874]
926
927 2001-11-07  Mo DeJong  <mdejong@users.sourceforge.net>
928
929         Define TCL_INCLUDE_SPEC in tclConfig.sh. It should be
930         included by extensions that need to find Tcl include
931         headers in the install location. The user can override
932         the include install dir with --includedir so we need
933         to record this information for extensions. [Tcl bug 421835]
934         
935         * unix/configure: Regen.
936         * unix/configure.in: Define TCL_INCLUDE_SPEC.
937         * unix/tclConfig.sh.in: Define TCL_INCLUDE_SPEC.
938         * win/configure: Regen.
939         * win/configure.in: Define TCL_INCLUDE_SPEC.
940         * win/tclConfig.sh.in: Define TCL_INCLUDE_SPEC.
941
942 2001-11-07  David Gravereaux <davygrvy@pobox.com>
943
944         * win/rules.vc:
945         * win/makefile.vc: Dropped the NOMSVCRT macro and put it on the
946         option list instead.  It makes more sense to me this way as
947         NOMSVCRT=0 would only be the valid setting.  Fixed the dde and reg
948         extension for building static.  Improved, but not perfected, the
949         winhelp target.
950
951 2001-11-07  Mo DeJong  <mdejong@users.sourceforge.net>
952
953         * win/README: Change minimum VC++ version to 5.X since
954         4.X is known not to work.
955         Indicate that Mingw is required and building with Cygwin
956         gcc is not supported. Include instructions that indicate
957         how to install Mingw and what URLs folks should use to
958         download the supported version of Mingw.
959         * win/configure: Regen.
960         * win/configure.in: Error out if user tries to compile the
961         Windows version of Tcl with Cygwin gcc. Users should compile
962         with Mingw gcc instead.
963
964 2001-11-06  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
965
966         * generic/tclIO.c (ReadChars): Fixed bug #478856 reported by
967           Stuart Cassoff <stwo@users.sourceforge.net>. The bug caused loss
968           of fileevents when [read]ing less data from the channel than
969           buffered. Due to an empty input buffer the flag
970           CHANNEL_NEED_MORE_DATA was set but never reset, causing the I/O
971           system to wait for more data instead of using a timer to
972           synthesize fileevents and to flush the pending data out of the
973           buffers.
974
975 2001-11-06  David Gravereaux <davygrvy@pobox.com>
976
977         * win/rules.vc (new):
978         * win/makefile.vc:  Complete over/under rewrite to support numerous
979         build options all from the commandline itself without needing to
980         edit the makefile.  Now requires vcvars32.bat to be run prior to
981         running nmake for bootstraping the environment.  Fully doc'd usage
982         for it is in makefile.vc.  Commentary welcome.  Sticky points left
983         are:
984
985         1) winhelp target shows errors in the converting script.
986         2) .rc scripts aren't getting the right #defines to build the correct
987            "OriginalFilename" strings. (have patch, won't commit yet)
988         3) Naming convention with suffixes describing the buildtype are 'tsdx'
989            which will need public acceptance. ie. tclsh84tsx.exe is a (t)
990            threaded shell (s) statically linked to the core and (x) uses
991            msvcrt instead of libcmt.
992
993 2001-11-04  Vince Darley  <vincentdarley@users.sourceforge.net>
994
995         * library/init.tcl: made filesystem fallback proc
996         ::tcl::CopyDirectory more robust to vagaries of non-native
997         filesystems.
998         
999 2001-11-02  Vince Darley  <vincentdarley@users.sourceforge.net>
1000
1001         * doc/file.n:
1002         * generic/tclIOUtil.c: updated documentation and comments
1003         to clarify behaviour of 'file copy' wrt soft links.
1004         
1005 2001-10-29  Vince Darley  <vincentdarley@users.sourceforge.net>
1006
1007         * win/tclWinFile.c: fix to '-types {f r}' bug in
1008         TclpMatchInDirectory (which could cause a UMR, as well as
1009         returning wrong results).  Also improved API for 'stat'
1010         to resolve [Bug#219258].
1011         * win/tclWin32Dll.c
1012         * win/tclWinInt.h: addition of improved stat API to internal 
1013         lookup table.
1014         * tests/fileName.test: two new tests for the above bug.
1015         * generic/tclIOUtil.c: some cleanup of comments and #ifdefs
1016         
1017 2001-10-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1018
1019         * unix/tclUnixFile.c (TclpMatchInDirectory): Argument to access()
1020         was entryPtr->d_name instead of nativeEntry which failed when
1021         trying to check access for files in other than the current
1022         directory. [Bug 475941, reported by Georgios Petasis]
1023
1024 2001-10-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1025
1026         * unix/tclUnixChan.c: Added stateUpdated member to struct TtyState.
1027         (TtyCloseProc,TtySetOptionProc,TtyInit): Use stateUpdated member
1028         of TtyState to decide whether it is necessary to reset a serial
1029         port when Tcl closes it.  Blindly resetting can cause Tcl to be
1030         sent an unexpected SIGTSTP when it is executing in the background
1031         [Bug 471374, reported by Chris Nelson]
1032
1033 2001-10-22  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
1034
1035         * doc/ObjectType.3: Minor documentation fix, reported by David
1036           N. Welton <davidw@users.sourceforge.net> directly to me.
1037
1038 2001-10-22  Vince Darley  <vincentdarley@users.sourceforge.net>
1039
1040         * win/tclWinFCmd.c: fix to stop test suite from hanging process
1041         under some versions of WinNT. [Bug #466102] (Kevin Kenny)
1042         
1043 2001-10-18  Jeff Hobbs  <jeffh@ActiveState.com>
1044
1045         * tests/clock.test (clock-8.1): 
1046         * generic/tclDate.c (RelativeMonth): 
1047         * generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day
1048         error in clock scan with relative months and years during swing
1049         hours. [Bug #413397, Patch #414024] (lavana)
1050
1051 2001-10-18  Vince Darley  <vincentdarley@users.sourceforge.net>
1052
1053         * generic/tclIOUtil.c: fix to bug in Tcl_FSChdir shown up
1054         by recent tclkit builds.
1055
1056 2001-10-17  Jeff Hobbs  <jeffh@ActiveState.com>
1057
1058         * unix/tclUnixPipe.c (PipeInputProc, PipeOutputProc): do immediate
1059         retry when error is returned with errno == EINTR.
1060         [Bug #415131] (leger)
1061
1062 2001-10-16  Jeff Hobbs  <jeffh@ActiveState.com>
1063
1064         * unix/tclLoadAout.c (TclGuessPackageName): removed unused vars
1065         and fixed warnings. [Bug #446622] (lim)
1066
1067 2001-10-15  Miguel Sofer  <msofer@users.sourceforge.net>
1068
1069         * generic/tclProc.c: changing a memcmp to strncmp to avoid a memory
1070         error detected by purify (thanks Jeff); modify style to agrre with
1071         the style guide. 
1072         
1073 2001-10-15  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
1074
1075         * generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable):
1076           Added to internal stubs table. Tclcompiler (Tclpro project)
1077           needs them if used as loadable package under Windows. Changed
1078           signatures. We don't want to describe compiler internal
1079           structures in "tclInt.h".
1080
1081         * generic/tclCompile.h: S.a. Removed function declarations.
1082         * generic/tclCompile.c: S.a. Adapted to changed signatures.
1083
1084 2001-10-15  Jeff Hobbs  <jeffh@ActiveState.com>
1085
1086         * unix/configure: 
1087         * unix/configure.in: 
1088         * win/configure: 
1089         * win/configure.in: 
1090         * win/tcl.m4: reworked to be a little cleaner in comparison to
1091         each other, and to AC_SUBST even empty vars for win/tclConfig.sh
1092
1093         * generic/tclFileName.c: minor code cleanup
1094
1095         * generic/tcl.h: moved #define of WIN32 to tcl.h where __WIN32__
1096         is defined and added #ifndef check.
1097
1098         * doc/open.n: moved all fconfigure option docs to fconfigure.n
1099         * doc/fconfigure.n: added serial config options
1100
1101         * win/tclWinChan.c:
1102         * win/tclWinPort.h:
1103         * win/tclWinSerial.c: added TIP #35 Windows enhancements for
1104         serial configuration. [Patch #438509] (schroedter)
1105
1106 2001-10-15  Vince Darley  <vincentdarley@users.sourceforge.net>
1107
1108         * generic/tclFCmd.c: fix to memory leak in TclFileDeleteCmd on
1109         certain error conditions.
1110         * doc/FileSystem.3: fix to typo.
1111         
1112 2001-10-12  Jeff Hobbs  <jeffh@ActiveState.com>
1113
1114         * library/encoding/ebcdic.enc:
1115         * tools/encoding/ebcdic.txt: EBCDIC charset mapping.
1116         [Patch #219323] (nijtmans)
1117
1118         * library/encoding/tis-620.enc:
1119         * tools/encoding/tis-620.txt: TIS-620 charset mapping.
1120         [Patch #467423] (poonlap)
1121
1122         * tests/http.test: added removeFile for outdata
1123
1124         * tests/ioCmd.test: added catch around file removal, as Windows
1125         file locking throws errors.
1126
1127         * tests/socket.test (socket-7.2): corrected to work on Win2K.
1128
1129 2001-10-12  Miguel Sofer  <msofer@users.sourceforge.net>
1130         
1131         * tests/compile.test: new tests for [Bug 467523]; they are only
1132         effective if TCL_MEM_DEBUG was set during compilation.
1133
1134 2001-10-11  Miguel Sofer  <msofer@users.sourceforge.net>
1135         
1136         * generic/tclLiteral.c (TclReleaseLiteral): insured that
1137         self-referential bytecodes are properly cleaned up on interpreter
1138         deletion [Bug 467523] (Ronnie Brunner)
1139
1140 2001-10-10  David Gravereaux  <davygrvy@pobox.com>
1141
1142         * win/tclWinPort.h:  #include <winsock2.h> needed to get moved
1143         to after #include <windows.h> or wierd misunderstandings took
1144         place when -D_WIN32_WINNT=0x0400 is set for outside code that
1145         requires knowledge of Tcl innards.  General header macro magic
1146         applied liberally...
1147
1148 2001-10-10  Don Porter  <dgp@users.sourceforge.net>
1149
1150         * tests/unixInit.test:  Corrected restore of ::env(LANG).
1151
1152 2001-10-09  Jeff Hobbs  <jeffh@ActiveState.com>
1153
1154         * generic/tclFileName.c (Tcl_SplitPath): corrected mem leak
1155         intro'd with VFS code where the result obj from Tcl_FSSplitPath
1156         was not getting freed.
1157
1158 2001-10-09  Miguel Sofer  <msofer@users.sourceforge.net>
1159         
1160         * generic/tclLiteral.c: (TclReleaseLiteral) reverted previous
1161         patch for [Bug 467523] - cure is worse than the illness.
1162
1163 2001-10-05  Miguel Sofer  <msofer@users.sourceforge.net>
1164         
1165         * generic/tclLiteral.c: (TclReleaseLiteral) insured that
1166         self-referential bytecodes are properly cleaned up on interpreter
1167         deletion [Bug 467523] (Ronnie Brunner)
1168
1169 2001-10-04  Jeff Hobbs  <jeffh@ActiveState.com>
1170
1171         * tools/configure:
1172         * tools/configure.in: noted 8.4 as default Tcl version
1173
1174         * library/encoding/cp936.enc:
1175         * library/encoding/cp949.enc:
1176         * library/encoding/cp950.enc:
1177         * library/encoding/iso8859-16.enc:
1178         * library/encoding/macCroatian.enc:
1179         * library/encoding/macCyrillic.enc:
1180         * library/encoding/macGreek.enc:
1181         * library/encoding/macIceland.enc:
1182         * library/encoding/macRoman.enc:
1183         * library/encoding/macTurkish.enc:
1184         * tools/encoding/cp1250.txt:
1185         * tools/encoding/cp1251.txt:
1186         * tools/encoding/cp1252.txt:
1187         * tools/encoding/cp1253.txt:
1188         * tools/encoding/cp1254.txt:
1189         * tools/encoding/cp1255.txt:
1190         * tools/encoding/cp1256.txt:
1191         * tools/encoding/cp1257.txt:
1192         * tools/encoding/cp1258.txt:
1193         * tools/encoding/cp874.txt:
1194         * tools/encoding/cp932.txt:
1195         * tools/encoding/cp936.txt:
1196         * tools/encoding/cp949.txt:
1197         * tools/encoding/cp950.txt:
1198         * tools/encoding/iso8859-1.txt:
1199         * tools/encoding/iso8859-10.txt:
1200         * tools/encoding/iso8859-13.txt:
1201         * tools/encoding/iso8859-14.txt:
1202         * tools/encoding/iso8859-15.txt:
1203         * tools/encoding/iso8859-16.txt:
1204         * tools/encoding/iso8859-2.txt:
1205         * tools/encoding/iso8859-3.txt:
1206         * tools/encoding/iso8859-4.txt:
1207         * tools/encoding/iso8859-5.txt:
1208         * tools/encoding/iso8859-6.txt:
1209         * tools/encoding/iso8859-7.txt:
1210         * tools/encoding/iso8859-8.txt:
1211         * tools/encoding/iso8859-9.txt:
1212         * tools/encoding/koi8-r.txt:
1213         * tools/encoding/macCentEuro.txt:
1214         * tools/encoding/macCroatian.txt:
1215         * tools/encoding/macCyrillic.txt:
1216         * tools/encoding/macGreek.txt:
1217         * tools/encoding/macIceland.txt:
1218         * tools/encoding/macRoman.txt:
1219         * tools/encoding/macTurkish.txt:
1220         Updated encodings with latest mappings from www.unicode.org.  This
1221         did not include some Mac encodings that have special multi-unichar
1222         translations now (like symbols, dingbats and japanese).  Also does
1223         not include big5, gb or euc* as those have different formats in
1224         the latest Unicode version that need new conversion tools.  Not
1225         all related .enc files changed as some had been updates separately.
1226
1227 2001-10-03  Jeff Hobbs  <jeffh@ActiveState.com>
1228
1229         * generic/tclEvent.c (Tcl_FinalizeThread): moved freeing of
1230         tclLibraryPath to before the thread exit handlers are called.
1231         Slight modification to change on 2001-09-24.
1232
1233 2001-10-01  Jeff Hobbs  <jeffh@ActiveState.com>
1234
1235         * win/configure: regen'ed
1236         * win/tcl.m4:
1237         * win/makefile.vc: added Win64 SDK RC1 compilation support
1238         * win/Makefile.in: added $(LDFLAGS_CONSOLE) to TCLSH, TCLTEST and
1239         PIPE_DLL_FILE targets to get the link flags
1240
1241         * win/tclWinInit.c: minor 64bit casts
1242
1243 2001-10-01  Miguel Sofer  <msofer@users.sourceforge.net>
1244
1245         * generic/tclCmdIL.c:
1246         * generic/tclCmdMZ.c:
1247         * generic/tclParseExpr.c: removed unnecessary inclusion of
1248         tclCompile.h and made a small modification in (InfoBodyCmd) to
1249         improve the isolation of the compiler/engine subsystem.
1250
1251 2001-09-29  Vince Darley  <vincentdarley@users.sourceforge.net>
1252
1253         * generic/tclIOUtil.c:
1254         * doc/FileSystem.3: corrected and clarified documentation
1255         for 'Tcl_FSListVolumes(Proc)'.  No code changes.
1256         
1257 2001-09-28  Miguel Sofer  <msofer@users.sourceforge.net>
1258
1259         * doc/FindExec.3: added a comment not to change the working
1260         directory before calling Tcl_GetNameOfExecutable [Bug 219215] 
1261
1262 2001-09-28  Kevin Kenny   <kennykb@users.sourceforge.net>
1263
1264         * generic/tclIO.c: added two more '(ClientData)' casts
1265         on calls to Tcl_Preserve and Tcl_Release -- ones that
1266         Vince apparently missed.
1267         
1268 2001-09-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1269
1270         * doc/lsort.n: Improved doc...
1271         * generic/tclCmdIL.c (Tcl_LsortObjCmd, SortCompare): Made
1272         offset-from-end indexing work, and factored out some "magic
1273         numbers" for easier understanding.  [Bug #465674]
1274         * tests/cmdIL.test (cmdIL-1.26): Added test for offset-from-end
1275         indexing for lsort.
1276
1277 2001-09-28  Vince Darley  <vincentdarley@users.sourceforge.net>
1278
1279         * win/tclWinFCmd.c:
1280         * unix/tclUnixFCmd.c: fix to performance issue reported
1281         by jcw in which 'access("")' is called unnecessarily when
1282         normalizing any absolute path.
1283         * generic/tclIO.c: added '(ClientData)' cast to calls to
1284         Tcl_(Preserve|Release) newly introduced, fixing compile
1285         error on Windows.
1286         
1287 2001-09-27  Don Porter  <dgp@users.sourceforge.net>
1288
1289         * doc/FileSystem.3 (Tcl_FSLoadFile):
1290         * generic/tcl.decls (Tcl_FSLoadFile):
1291         * generic/tcl.h (Tcl_FSLoadFileProc):
1292         * generic/tclInt.h (TclpLoadFile):
1293         * generic/tclIOUtil.c (Tcl_FSLoadFile):
1294         * generic/tclLoadNone.c (TclpLoadFile):
1295         * generic/tclTest.c (TestReportLoadFile):
1296         * library/ldAout.tcl:
1297         * mac/tclMacLoad.c (TclpLoadFile):
1298         * unix/tclLoadAix.c (TclpLoadFile):
1299         * unix/tclLoadAout.c (TclpLoadFile):
1300         * unix/tclLoadDl.c (TclpLoadFile):
1301         * unix/tclLoadDld.c (TclpLoadFile):
1302         * unix/tclLoadDyld.c (TclpLoadFile):
1303         * unix/tclLoadNext.c (TclpLoadFile):
1304         * unix/tclLoadOSF.c (TclpLoadFile):
1305         * unix/tclLoadShl.c (TclpLoadFile):
1306         * win/tclWinLoad.c (TclpLoadFile):
1307         * win/tclWinFCmd.c (DoRemoveJustDirectory):  More CONST poisoning
1308         fixes from the 2001-09-24 TIP 27 changes.  CONST-ified
1309         Tcl_FSLoadFile and TclpLoadFile.  Report and patch from Kevin
1310         Kenny. [Bug 465833]
1311
1312         * generic/tclIO.c (ChannelTimerProc):  Added Tcl_Preserve()
1313         and Tcl_Release() to fix segfault introduced by the 2001-09-26
1314         changes.  [Bug 465494]
1315
1316         * doc/TCL_MEM_DEBUG.3:  Updated out-of-date reference to
1317         #define GUARD_SIZE.
1318
1319         * doc/UpVar.3 (Tcl_UpVar,Tcl_UpVar2):
1320         * generic/tcl.decls (Tcl_UpVar,Tcl_UpVar2):
1321         * generic/tclInt.decls (TclFindProc,TclGetFrame):
1322         * generic/tclInt.h (TclFindProc,TclGetFrame,TclLookupVar,
1323           TclPrecTraceProc,TclProcInterpProc}):
1324         * generic/tclProc.c (TclGetFrame,TclFindProc):
1325         * generic/tclVar.c (Tcl_UpVar,Tcl_UpVar2,MakeUpvar):  Updated APIs in
1326         generic/tclProc.c and generic/tclVar.c according to the guidelines
1327         of TIP 27.  [Patch 465442]
1328
1329         * generic/tclDecls.h:
1330         * generic/tclIntDecls.h: make genstubs
1331
1332 2001-09-26  Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
1333
1334         * doc/fileevent.n: Accepted [Patch #465279] adding an example to
1335           the fileevent manpage. Minor modifications to get a better
1336           formatting. Report and patch by David N. Welton
1337           <davidw@users.sourceforge.net>.
1338
1339         * The changes below fix [Bug #462317] where Expect tried to read
1340           more than was in the buffers and then blocked in the OS call as
1341           its pty channel driver provides no blockmodeproc through which
1342           the OS could be notified of blocking-behaviour. Because of this
1343           the general I/O core has to take more care than usual to
1344           preserve the semantics of non-blocking channels.
1345
1346           The problem was reported by "Kevin O'Gorman"
1347           <kevin@kosmanor.com>.
1348
1349         * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if
1350           the channel is non-blocking and the fileevent causing the read
1351           was generated by a timer. We do not know if there is data
1352           available from the OS. Instead of going to the OS for more and
1353           potentially blocking we simply signal EWOULDBLOCK to the higher
1354           levels to cause the system to wait for true fileevents.
1355           (GetInput): Same as before.
1356           (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV.
1357
1358         * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is
1359           set if a fileevent was generated by a timer, the channel is not
1360           blocking and the driver did not provide a blockmodeproc. In that
1361           case the I/O core has to be especially careful about going to
1362           the driver for more data.
1363
1364 2001-09-26  Don Porter  <dgp@users.sourceforge.net>
1365
1366         * doc/SplitPath.3 (Tcl_GetPathType):
1367         * generic/tcl.decls (Tcl_GetPathType):
1368         * generic/tclFileName.c (Tcl_GetPathType):
1369         * win/tclWinFile.c (TclpMatchInDirectory, NativeStat):  Vince
1370         Darley reports the 2001-09-24 TIP 27 changes left the win
1371         directory CONST poisoned.  These changes should fix that.
1372
1373         * generic/tclDecls.h: make genstubs
1374
1375 2001-09-25  Don Porter  <dgp@users.sourceforge.net>
1376
1377         * doc/GetInt.3:
1378         * generic/tclInt.h (TclGetLong deleted):
1379         * generic/tcl.decls:
1380         * generic/tclInt.decls:
1381         * generic/tclGet.c:  Updated APIs in generic/tclGet.c
1382         according to the guidelines of TIP 27.  [Patch 464674]
1383
1384         * generic/tclDecls.h: 
1385         * generic/tclIntDecls.h: make genstubs
1386
1387 2001-09-25  Miguel Sofer  <msofer@users.sourceforge.net>
1388
1389         * generic/tclVar.c: removed comments referring to unused flag
1390         TCL_PARSE_PART1. 
1391         
1392 2001-09-24  Don Porter  <dgp@users.sourceforge.net>
1393
1394         * doc/Concat.3:
1395         * doc/DString.3:
1396         * doc/SplitList.3:
1397         * generic/tclInt.h (TclCheckBadOctal):
1398         * generic/tcl.decls:
1399         * generic/tclInt.decls:
1400         * generic/tclEncoding.c (OpenEncodingFile):
1401         * generic/tclMain.c (Tcl_Main):
1402         * generic/tclUtil.c:
1403         * unix/tclLoadDl.c (TclpLoadFile):  Updated APIs in 
1404         generic/tclUtil.c according to the guidelines of TIP 27.
1405         [Patch 464553]
1406
1407         * generic/tclDecls.h: 
1408         * generic/tclIntDecls.h: make genstubs
1409
1410 2001-09-24  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1411
1412         * The change below fixes [Bug #464380]. The bug was reported by
1413           Ronnie Brunner <rbrunner@users.sourceforge.net>. He also
1414           provided the patch.
1415         
1416         * generic/tclEvent.c (Tcl_Finalize): Moved release of
1417           'tclLibraryPath' to Tcl_FinalizeThread.
1418           (Tcl_FinalizeThread): See above, new place for release of
1419           'tclLibraryPath'.
1420
1421 2001-09-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1422
1423         * tools/encoding/cp1252.txt: File was missing part of the encoding
1424           [euro, ZCaron and zcaron].
1425
1426         * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some
1427           old changebars.
1428
1429 2001-09-21  Jeff Hobbs  <jeffh@ActiveState.com>
1430
1431         * generic/tclExecute.c (TclExecuteByteCode): corrected
1432           INST_STR_CMP else case for strings to pass true utf char length
1433           to Tcl_UtfNCmp.
1434
1435 2001-09-20  Jeff Hobbs  <jeffh@ActiveState.com>
1436
1437         * win/tclWinInit.c: added extra processor definitions. (mstacy)
1438
1439         * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64.
1440
1441         * win/tclWinNotify.c: removed unnecessary winsock include (it is
1442           already in from tclWinPort.h).
1443
1444         * win/tclWinPort.h: changed winsock.h include to winsock2.h.
1445           Reverses change from 2000-11-16, but is necessary for WIN64.
1446           Extensions should comply with defined OS words, or use #ifndef.
1447
1448 2001-09-20  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1449
1450         * tests/socket.test: removed dependence on being run from same dir
1451           as remote.tcl, which only now needs to be in the same dir as
1452           this file.  [Bug #219326]
1453
1454 2001-09-19  Jeff Hobbs  <jeffh@ActiveState.com>
1455
1456         * generic/tclTest.c (TestcmdtokenCmd): corrected pointer
1457           storage/retrieval for 64bit machines.
1458
1459         * generic/tclCmdAH.c (Tcl_FormatObjCmd):
1460         * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format
1461         and scan on 64-bit machines. [Bug #412696] (rmax)
1462
1463         * unix/configure: regen'ed
1464         * unix/tcl.m4: added --enable-64bit support for HP-11 with the
1465         64-bit kernel.
1466
1467         * tests/basic.test:
1468         * tests/cmdInfo.test: improved skip reporting of missing commands
1469
1470         * tests/winFCmd.test: simplified error check for winFCmd-7.9
1471
1472         * tests/winPipe.test: removed obsolete cat16 tests
1473
1474         * generic/tclExecute.c (TclExecuteByteCode): fixed invalid usage
1475         of valuePtr in TRACE_WITH_OBJ in INST_EVAL_STK case. [Bug #462594]
1476         Changed INST_STR_CMP instruction to promote to Unicode strings
1477         only when one of the strings is already of Unicode type.
1478
1479         * generic/tclExecute.c (TclExecuteByteCode):
1480         * generic/tclCompile.c (instructionTable):
1481         * generic/tclCompCmds.c (TclCompileStringCmd): INST_STR_MATCH -
1482         Updated to Int1 instruction type and added special case to use
1483         INST_STR_EQ instead when no glob chars are specified in a static
1484         string.
1485
1486         * tests/{for.test,foreach.test,if.test,while.test}:
1487         * generic/tclCompCmds.c (TclCompileForCmd, TclCompileForeachCmd,
1488         TclCompileIfCmd, TclCompileWhileCmd): Corrected the overaggressive
1489         compiling of loop bodies enclosed in ""s.  [Bug #219166] (msofer)
1490
1491 2001-09-19  Miguel Sofer  <msofer@users.sourceforge.net>
1492         
1493         * generic/tclExecute.c: insured that execution stack errors are
1494         also detected at abnormal returns.
1495
1496 2001-09-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1497
1498         * doc/socket.n: Added documentation to mention what happens when a
1499         server socket is created with port=0.  Removed an old change bar,
1500         and no new change bar because Tcl has always behaved this way as
1501         it is really a poorly-documented standards-defined OS feature.
1502
1503         * tests/util.test (util-8.1): Test derived from code to detect the
1504         problem, but the test always works in the C locale, so beware if
1505         you are maintaining the code.
1506         * generic/tclUtil.c (TclNeedSpace): Rewrote to be UTF-8 aware.
1507         [Bug 411825, but not that patch which would have added extra
1508         spaces if there was a real non-ASCII space involved. ]
1509
1510 2001-09-18 Andreas Kupries  <andreas_kupries@users.sourceforge.net> 
1511
1512         * generic/tclIOCmd.c (Tcl_PutsObjCmd): Rewritten to have saner and
1513           faster argument handling.  Fixes bug #123552. Patch provided by
1514           Donal K. Fellows <fellowsd@cs.man.ac.uk>: #402564.
1515
1516 2001-09-18  Don Porter  <dgp@users.sourceforge.net>
1517
1518         * unix/configure: Regen.
1519         * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when
1520         one of the compat/*.c routines is to be linked in. [Patch 440891]
1521
1522 2001-09-17  Jeff Hobbs  <jeffh@ActiveState.com>
1523
1524         * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for
1525         Windows.  This means the native system allocator will be used by
1526         default.  This should be binary and source compatible with
1527         extensions, as Tcl_Alloc is a properly stubbed function.
1528
1529 2001-09-17  Miguel Sofer  <msofer@users.sourceforge.net>
1530         
1531         * generic/tclExecute.c: corrected small bug in [Patch 456668] -
1532         the varFramePtr was not restored in one possible exit.
1533
1534 2001-09-17  Miguel Sofer  <msofer@users.sourceforge.net>
1535         
1536         * doc/tclvars.n:
1537         * generic/tclCompile.c:
1538         * generic/tclCompile.h:
1539         * generic/tclExecute.c:
1540         * generic/tclProc.c: disabled all compile and execution tracing
1541         functionality in standard builds; TCL_COMPILE_DEBUG is now
1542         necessary to enable it. [Bug 451858]
1543
1544 2001-09-14  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1545
1546         * doc/gets.n: 
1547         * doc/read.n: 
1548         * doc/puts.n: 
1549         * doc/flush.n: 
1550         * doc/fconfigure.n: 
1551         * doc/flush.n: 
1552         * doc/eof.n: 
1553         * doc/seek.n: 
1554         * doc/tell.n: 
1555         * doc/close.n: 
1556         * doc/fileevent.n: Added references to the Tcl standard
1557           channels. Item [219250], reported by David LeBlanc
1558           <whisper@oz.net>. Thanks to Christopher Nelson
1559           <chris@pinebush.com> for doing editorial work.
1560
1561 2001-09-13  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1562
1563         * win/Makefile.in:
1564         * win/configure.in:
1565         * win/makefile.bc:
1566         * win/makefile.vc:
1567         * library/dde/pkgIndex.tcl: Fixed version numbers from bogus tcl
1568           versions to independent versions for dde and registry packages.
1569
1570 2001-09-13  Jeff Hobbs  <jeffh@ActiveState.com>
1571
1572         * tests/regexp.test (regexp-20.1):
1573         * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): had to adjust fix from
1574         2001-08-06 to actually duplicate the objects in certain cases.
1575         This is really a place where feather would have been essential.
1576         [Bug #461322]
1577
1578         * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper
1579         location when the middle of a UTF-8 byte was passed in.
1580         [Tk Bug #450504]
1581
1582         * ChangeLog.1999:
1583         * ChangeLog: broke changes from 199x into ChangeLog.1999 to reduce
1584           size of the main ChangeLog.
1585
1586 2001-09-13  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1587
1588         * tests/ioCmd.test: Changed the computation of the result for
1589           iocmd-8.1[123] so that the tests work for single- and
1590           multi-process execution of the testsuite. Depending on the
1591           choice of the user stdout is a tty or not and thus reports
1592           different channel options. Fixes [460993] reported by Don
1593           Porter.
1594
1595 2001-09-13  Miguel Sofer  <msofer@users.sourceforge.net>
1596
1597         * doc/ParseCmd.3:  
1598         * generic/tcl.decls:
1599         * generic/tclCmdMZ.c (Tcl_SubstObjCmd):
1600         * generic/tclDecls.h:
1601         * generic/tclParse.c:
1602         * generic/tclStubInit.c:
1603         * tests/parse.test: Deprecate the use of Tcl_EvalTokens, replaced
1604         by the new Tcl_EvalTokensStandard. The new function performs the
1605         same duties but adheres to the standard return convention for Tcl
1606         evaluations; the deprecated function could only return TCL_OK or
1607         TCL_ERROR, which caused [Bug 219384] and [Bug 455151].
1608         This patch implements [TIP 56].
1609         
1610 2001-09-12  Mo DeJong  <mdejong@users.sourceforge.net>
1611
1612         * unix/configure: Regen.
1613         * unix/tcl.m4: Invert the logic that checks for $GCC.
1614         Instead of checking for "$GCC" = "no" we check for
1615         "$GCC" != "yes" or simply swap the true and false
1616         blocks of code in an if statement. That way if
1617         GCC is set to "" everything will still work. [Bug 460991]
1618
1619 2001-09-12  Don Porter <msofer@users.sourceforge.net>
1620
1621         * tests/appendComp.test:
1622         * tests/lsearch.test:
1623         * tests/namespace.test:
1624         * tests/rename.test:
1625         * tests/split.test:  Corrected tests to better isolate tests in
1626         one file from influencing tests in other files.  [Bug 460591]
1627
1628 2001-09-12  Miguel Sofer  <msofer@users.sourceforge.net>
1629
1630         * generic/tcl.decls: reserved stub #481 for the implementation of
1631         [TIP 56]
1632
1633 2001-09-11  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1634
1635         * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and
1636           Tcl_ReadRaw [#414929].
1637         
1638         * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered
1639           and Tcl_GetTopChannel [#414929].
1640
1641         * The changes below are a fix for [219253].
1642
1643         * tests/socket.test: Removed _most_ instances of hardwired port
1644           numbers for listening sockets. Remaining are the ports in all
1645           tests with constraint 'doTestsWithRemoteServer'. These seem to
1646           be designed for a more controlled environment and are usually
1647           skipped when running the testsuite.
1648
1649         * tests/io.test: Removed all instances of hardwired port numbers
1650           for listening sockets.
1651
1652 2001-09-10  Jeff Hobbs  <jeffh@ActiveState.com>
1653
1654         * generic/tclEvent.c (TclInExit): Corrected handling of tsd in
1655         late stages of finalization.  [Bug #419449] (darley)
1656
1657         * tests/stack.test:
1658         * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure
1659         that we aren't hitting some alias loop condition.  [Bug #443184]
1660
1661 2001-09-10  Mo DeJong  <mdejong@users.sourceforge.net>
1662
1663         * unix/configure: Regen.
1664         * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't include . characters
1665         in the Tcl library name when building on FreeBSD 3.X and later
1666         systems. [Patch 450725]
1667
1668 2001-09-10  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1669
1670         * doc/tclsh.1:
1671         * doc/Tcl_Main.3: 
1672         * doc/CrtChannel.3: 
1673         * doc/OpenFileChnl.3: 
1674         * doc/GetStdChan.3: Enhanced the manpages with cross-references to
1675           the new manpage and more explanations how these functions deal
1676           with the standard channels in various situations.
1677
1678         * doc/StdChannels.3: New manpage describing handling of the
1679           standard channels by the Tcl library [402725].
1680
1681 2001-09-10  Don Porter <dgp@users.sourceforge.net>
1682
1683         * unix/mkLinks (Tcl_FSLink): Updated to reflect 2001-08-23
1684         file system changes.
1685
1686         * unix/tclLoadShl.c:  Added #include of tclInt.h; access to Tcl
1687         internals, notably TclpUnloadFile(), is required.  Thanks to
1688         Bob Techentin for report and patch.  [Bug 459305]
1689
1690         * generic/tclInitScript.h (initScript):
1691         * win/tclWinInit.c (TCL_REGISTRY_KEY, TclpSetVariables):  Removed
1692         vestiges of Tcl's old initialization from registry variables.
1693         [Bug 455645]
1694
1695 2001-09-10  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1696
1697         * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' to
1698           the internal platform specific stub table.
1699
1700         * win/tclWinFile.c (TclpObjStat): Now added the call to
1701           'TclWinFlushDirtyChannels' to this function. I don't know where
1702           my head was last thursday (2001-09-06), but the call was
1703           actually added to 'TclpObjChdir', i.e. the implementation of
1704           [cd]. Corrected this now. Thanks to Vince Darley for spotting
1705           this.
1706
1707 2001-09-10  Miguel Sofer  <msofer@users.sourceforge.net>
1708
1709         * generic/tclProc.c:
1710         * tests/proc.test: made [proc] bytecompile a no-op for procs
1711         defined with _args_ as single argument and an empty body.
1712         [FQ 451441] 
1713         
1714 2001-09-09  Mo DeJong  <mdejong@users.sourceforge.net>
1715
1716         * unix/Makefile.in:
1717         * win/Makefile.in: Use () around variable name
1718         instead of {}. Use TCLTEST variable directly
1719         instead of depending on the tcltest alias.
1720
1721 2001-09-09  David Gravereaux <davygrvy@pobox.com>
1722
1723         * generic/tcl.h:
1724         * generic/tclPlatDecls.h:  Reminder from David Cuthbert <dacut@kanga.org>
1725         that I hadn't finished the Borland compatibility stuff.
1726         [Patch: 436116]
1727
1728 2001-09-09  Mo DeJong  <mdejong@users.sourceforge.net>
1729
1730         * tests/cmdAH.test: Modify cmdAH-20.5 and cmdAH-24.8
1731         to display the file atime or mtime results if
1732         the test fails.
1733
1734 2001-09-08  David Gravereaux <davygrvy@pobox.com>
1735
1736         * win/mkd.bat:
1737         * win/rmd.bat: made these text files, text files again.
1738         [Patch: 451333]
1739
1740 2001-09-08  Mo DeJong  <mdejong@users.sourceforge.net>
1741
1742         * win/mkd.bat:
1743         * win/rmd.bat:
1744         Apply binary property (cvs admin -kb) to files and convert
1745         to CRLF linefeed format to fix the VC++ build. [Bug #219409]
1746
1747 2001-09-08 Vince Darley <vincentdarley@users.sourceforge.net>
1748
1749         * generic/tclInt.h: 
1750         * generic/tclFCmd.c:
1751         * doc/FileSystem.3:
1752         * generic/tclIOUtil.c: removed Tcl_FSCopyFile fallback
1753         to channel copying, since the channels will not have
1754         access to interpreters and the channel copying currently
1755         requires an interp.  Code which required cross-platform
1756         copies always has interpreters, so that solves the problem.
1757         Fixes bug in TclKit.
1758         
1759 2001-09-07  David Gravereaux <davygrvy@pobox.com>
1760
1761         * win/tcl.m4: Added -link50compat option so a VC6 linker makes
1762         a VC5 (pre sp3) compatible import library.
1763         [Bug: 219257]
1764
1765 2001-09-07  Mo DeJong  <mdejong@users.sourceforge.net>
1766
1767         * win/tclWinThrd.c (TclpThreadExit): Cast status argument to
1768         _endthreadex to unsigned instead of DWORD to match the Win32
1769         function prototype.
1770
1771 2001-09-06  Andreas Kupries <andreas_kupries@users.sourceforge.net>
1772
1773         * All the changes below serve to fix bug [219148] which reports a
1774           80x performance hit for file I/O on Win* systems. On my system
1775           it was closer to a 120x hit. Problem report by Uwe Traum <no
1776           email address available>.
1777
1778           The fix goes like this: The obstacle is 'FlushFileBuffers',
1779           executed whenever Tcl writes data to the OS, as Tcl has to wait
1780           for the disk to complete I/O, and disks are slow. We remove that
1781           obstacle. This opens another problem, [file size] reports back
1782           wrong numbers. So for [file size] we add the call back in. As
1783           optimization we keep track of the channels which were written to
1784           and flush only these.
1785
1786         * win/tclWinFile.c (TclpObjStat): Added a call to
1787           'TclWinFlushDirtyChannels'. This ensures that [file size] and
1788           related commands report the correct size of a file even if Tcl
1789           has recently written to it. Unixoid OS's always report the
1790           correct size even for files with pending data, but Win*
1791           syssystem don't. They only report what is actually on disk.
1792
1793         * win/tclWinInt.h: Added declaration of
1794           'TclWinFlushDirtyChannels', making it available to other parts
1795           of the tcl core.
1796
1797         * win/tclWinChan.c (TclWinFlushDirtyChannels): New, internal,
1798           procedure. Goes through the list of open file channels and
1799           forces the OS to flush its file buffers for all which were
1800           written to since the last call of this function. This is an
1801           expensive operation as Tcl has to wait for the OS to complete
1802           actual writes to the disk.
1803
1804           (FileInfo): Added dirty flag required by the procedure above.
1805
1806           (FileOutputProc): Removed flushing of file buffers, setting the
1807           dirty flag instead. This means that the previously incurred
1808           delays do not happen anymore.
1809
1810           (TclWinOpenFileChannel): Added initialization of 'dirty' flag.
1811
1812 2001-09-06  Jeff Hobbs  <jeffh@ActiveState.com>
1813
1814         * doc/http.n: noted -binary, charset and coding state keys.
1815         * tests/http.test:
1816         * library/http/pkgIndex.tcl:
1817         * library/http/http.tcl (geturl): correctly get charset parameter
1818         and convert text according to specified encoding (if known).  RFC
1819         iso8859-1 is used by default.  Also recognize Content-encoding to
1820         see if we should do binary translation.  Added a CYA -binary
1821         switch for the cases that were missed. [Bug #219211 #219399]
1822
1823         * tests/ioUtil.test: changed to make better use of constraints and
1824         remove knownBug constraints that weren't valid.
1825
1826 2001-09-06  Don Porter  <dgp@users.sourceforge.net>
1827
1828         * tests/unixInit.test (unixInit-3.2): Updated test to support
1829           newer HP-UX releases that properly report euc-jp as the system
1830           encoding for Japanese.  Bug report and patch verification by Bob
1831           Techentin.  [Bug 453883]
1832
1833         * doc/http.n:
1834         * library/http/*.tcl:
1835         * tools/tcl.wse.in:
1836         * tools/tclmin.wse:
1837         * unix/Makefile.in:
1838         * win/{Mm}akefile.*:  Updated http package to version 2.4,
1839         reflecting the new features just added.
1840
1841 2001-09-06 Vince Darley <vincentdarley@users.sourceforge.net>
1842
1843         * generic/tclTest.c: tests of old-fs hooks no longer cause problems
1844         in threaded builds.  Also removed unused unload proc.
1845         * generic/tcl.decls:
1846         * generic/tclIOUtilc: added Tcl_FSMountsChanged so that a vfs
1847         can inform the filesystem that the filesystem epoch must be
1848         changed (since cached filesystems may now be incorrect).  Fixes
1849         problem running tclvfs extension.
1850         * library/tcltest/tcltest.tcl: if tests aren't in a native
1851         filesystem, then don't use pipes to run them. [Bug 458741]
1852         
1853 2001-09-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1854
1855         * generic/tcl.decls (479 generic): 
1856         * generic/tclIO.c (Tcl_Seek,Tcl_Tell,Tcl_OutputBuffered): Added
1857         public function to return the size of the output buffer and
1858         reworked other channel functions to use this shared functionality
1859         and that of Tcl_InputBuffered() too. [TIP#49, Rolf Schroedter]
1860
1861 2001-09-05  David Gravereaux <davygrvy@pobox.com>
1862
1863         * generic/tclPlatDecls.h:  Another small trim finalizing Borland
1864         support.
1865
1866         * win/tclWinPipe.c:
1867         * win/tclWinPort.h:  More Borland compatibility fixes.  Changed
1868         EDQUOT #define from 49 to 69.  Borland had a clash as it was already
1869         using this number.  Upon advice from Helmut Giese, EDQUOT has been
1870         found in other header files #defined as 69.
1871         [Patch: 436116]
1872
1873         * win/.cvsignore:  A few more glob patterns added.
1874
1875         * win/makefile.bc (new):  Borland lives once more! rejoice..
1876         * generic/tclAlloc.c: Small Borland compatibility fix.
1877         * win/tclWinTime.c:  More Borland compatibility fixes.
1878         [Patch: 436116]
1879
1880 2001-09-05 Vince Darley <vincentdarley@users.sourceforge.net>
1881
1882         * tests/winFCmd.test: made notWin2000 constraint false if not
1883         running on Windows at all.
1884         
1885 2001-09-04  David Gravereaux <davygrvy@pobox.com>
1886
1887         * win/tclWinThrd.c:  Revisited _beginthreadex() stuff.  Instead
1888         of assuming a c-runtime implimentation of _beginthreadex normal,
1889         I reversed the logic to not assume, and use when is by explicitly
1890         needing to add runtimes that support it such as Borland.
1891
1892         * generic/tcl.h:
1893         * generic/tclPlatDecls.h:  Borland compatibility change so
1894         ClientData was properly typed as a void* and TCHAR would not be
1895         defined twice.
1896
1897         * generic/tcl.h:  Removed a small mistake from before.  Changes to
1898         the EXTERN macro for proper Borland compatibility will have to see
1899         a TIP.  What's this with the MS compiler:
1900
1901                 __declspec(dllexport) int func (int a, int b);
1902
1903         will have to be this with Borland:
1904
1905                 int __cdecl __export func (int a, int b);
1906
1907         The order of the attribute needs to be after the return type.
1908
1909 2001-09-04  Don Porter  <dgp@users.sourceforge.net>
1910
1911         * compat/strtod.c (strtod):  Fixed failure to handle expressions
1912         like 3eq2 and failure to set errno on overflow.  [Bug 440894]
1913
1914 2001-09-04  Miguel Sofer  <msofer@users.sourceforge.net>
1915
1916         * generic/tclProc.c:
1917         * tests/proc.test: made [proc] check that formal args have
1918         simple names [Bug 458548] 
1919
1920 2001-09-04 Vince Darley <vincentdarley@users.sourceforge.net>
1921
1922         Minor bug fixes in filesystem, plus small vfs changes as a 
1923         result of enabling the test filesystem to work properly.
1924         * tests/fileName.test: ensure new test cleans up after itself
1925         * doc/filename.n: 
1926         * generic/tclFileName.c: improved Mac path handling and document
1927         why [Bug: 421842] on Windows handling of UNC paths is not valid.
1928         Documentation and code now much clearer on what is and is not a 
1929         UNC path.
1930         * doc/FileSystem.3:
1931         * unix/tclUnixPipe.c:
1932         * generic/tclFCmd.c:
1933         * generic/tclIOUtil.c: fixed error message, fixed [Bug: 453512]
1934         about dangerous use of tmpnam, replaced with mkstemp.  
1935         Documented all the changes.
1936         * generic/tclTest.c: made test vfs fully functional as a 
1937         'reporting filesystem'.
1938         * generic/tcl.stubs:
1939         * generic/tcl.h:
1940         * generic/tclInt.h: 
1941         * generic/tclIOUtil.c:
1942         * doc/file.n:
1943         * various platform-specific 'TclpLoadFile': fixed comments about 
1944         unload behaviour, and completed objectification of loading.
1945         Required change to Tcl_Filesystem lookup table, so incompatible
1946         with 8.4a3, but not older versions of Tcl.  The change also
1947         allows 'link' and 'reporting' filesystems to function correctly
1948         when loading files.  Implementation of 'file delete -force'
1949         copes with case where cwd is inside the directory.  Moved
1950         overlooked Tcl_FSGetPathType from internal to external API.
1951         Made sure filesystems which are registered and then unregistered
1952         are only freed when all references to them are gone.
1953         Documented changes.
1954         * unix/tclUnixFCmd.c: when deleting directories recursively,
1955         make sure permissions are ok.  Together with the above, this
1956         fixes [Bug: 219139]
1957         * tests/winFCmd.test: differentiated test results for win2k 
1958         versus not.  This fixes [Bug: 219239]
1959         * tests/fCmd.test: added tests for 'file delete -force' where
1960         the cwd is inside, and when permissions are inadequate.
1961         
1962 2001-09-04  Miguel Sofer  <msofer@users.sourceforge.net>
1963
1964         * generic/tclCompile.c: fixed incorrect operands for INST_LIST
1965         [Bug: 458241] (David Cuthbert, dacut@users.sourceforge.net)
1966
1967 2001-09-03  Jeff Hobbs  <jeffh@ActiveState.com>
1968
1969         * generic/tclExecute.c (TclExecuteByteCode): fixed missing comma
1970         in debug macro.
1971
1972 2001-09-03  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1973
1974         * doc/ExprLongObj.3: Fixed error in documentation of argument type
1975         to Tcl_ExprObj [Bug: 457435]
1976
1977 2001-09-02  David Gravereaux <davygrvy@pobox.com>
1978
1979         * win/tclWinThrd.c:  Portability fix for Cygwin who's c-runtime,
1980         not surprisingly, doesn't have the MSVCRT specific _beginthreadex /
1981         _endthreadex pair.  This might have to be revisited for proper
1982         Borland, lcc32, Watcom and other support as well.
1983         [Patch: 444255]
1984
1985         * win/tclWinThrd.c:  Moved FinalizeConditionEvent() proto to within
1986         the main #ifdef TCL_THREADS block to avoid mingw warning about it
1987         being there but unused.
1988
1989         * win/makefile.vc:  Added -Zl (zee el) to tclStubLib.c compile line
1990         to make sure the tclstub84.lib static library is built without
1991         requiring a specific C-runtime library at link-time for the end-use
1992         developer.  It has been noted on c.l.t that this trips many first
1993         time users trying to make extensions.
1994         [Patch: 403533]
1995
1996 2001-08-31  Jeff Hobbs  <jeffh@ActiveState.com>
1997
1998         * generic/tclInt.h: added TclCompileListCmd header
1999         * generic/tclBasic.c: added TclCompileListCmd compile proc
2000         * generic/tclCompCmds.c (TclCompileListCmd): function to compile
2001         the 'list' command at parse time.
2002         * generic/tclExecute.c (TclExecuteByteCode): definition of
2003         INST_LIST bytecode.
2004
2005         * doc/StringObj.3: added words of warning to use Tcl_ResetResult
2006         with the Tcl_Append* functions.
2007
2008         * tests/compile.test: added compile-11.* interp result checks
2009         * generic/tclUtil.c (TclGetIntForIndex): added Tcl_ResetResult
2010         before Tcl_AppendStringsToObj to prevent shared object crash when
2011         called from bcc instruction.  The Tcl_Append* calls that append to
2012         the result object that are invoked by bcc insts must remember to
2013         call Tcl_ResetResult because the bcc doesn't do this for us.
2014         [Bug #456892]
2015
2016 2001-08-30  Jeff Hobbs  <jeffh@ActiveState.com>
2017
2018         * generic/tclIndexObj.c: fixed some casting problems that upset
2019         Crays. [Bug #419528] (andreasen)
2020
2021 2001-08-30  Don Porter  <dgp@users.sourceforge.net>
2022
2023         * generic/tcl.h: Silence warning from Sun compiler. [Bug 454374]
2024
2025 2001-08-30  Miguel Sofer  <msofer@users.sourceforge.net>
2026
2027         * generic/tclExecute.c: allow cached fully-qualified command names
2028         to be usable from different namespaces within the same interpreter
2029         without forcing a new lookup. This speeds up scripts that pass
2030         command names in variables ("this" in some OO packages).
2031         [Patch 456668]. 
2032
2033 2001-08-30 Vince Darley <vincentdarley@users.sourceforge.net>
2034
2035         Further fs updates.  After examining the most common Tcl
2036         extensions (TclX, BLT, Tk, TclPro, Mktclapp), it has been
2037         determined that only TclpGetCwd and the Access/Stat/Open
2038         insert/delete hooks of the internal fs functions are ever used.
2039         The remaining functions from Tcl's internal interfaces have
2040         therefore been removed, since Tcl now exports a more suitable
2041         public API (Tcl_FS...)
2042         
2043         * generic/tclInt.stubs:
2044         * generic/tclInt.h: updated for removed internal functions.
2045         Some new internal functions have been put in tclInt.h (and
2046         not exported in the stub table because good public equivalents
2047         exist).
2048         * generic/tclTest.c: some test functions used the internal private 
2049         APIs.  These tests have been retained, but modified to use 
2050         public APIs.  Also objectified the internal filesystem tests.
2051         * win/tclWinFile.c: removed TclpStat, TclpAccess and refactored
2052         code to use NativeAccess, NativeStat.  This should speed up
2053         stat, access and glob commands.
2054         * win/tclWinFCmd.c: removed all TclpCopy/Rename/Delete 
2055         File/Directory string-based procedures which aren't used any more.
2056         Improved efficiency of some other procedures. Ensure that filename
2057         conversions with a NULL interp do not crash Tcl.
2058         * mac/tclMacFCmd.c: wrapped long lines and cleaned up
2059         TclpObjNormalizePath, removed all TclpCopy/Rename/Delete 
2060         File/Directory string-based procedures which aren't used any more.
2061         * mac/tclMacFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir,
2062         etc.
2063         * unix/tclUnixFCmd.c: removed use of TclpAccess, removed all
2064         TclpCopy/Rename/Delete File/Directory string-based procedures which
2065         aren't used any more.
2066         * unix/tclUnixFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir,
2067         etc.
2068         * tcl(Unix|Mac|Win)Chan.c: objectified TclpOpenFileChannel.
2069         * various 'load' implementations all objectified.
2070         * generic/tclFileName.c: removed redundant code.
2071         * generic/tclIOUtil.c: removed TclStat, TclAccess, TclpListVolumes.
2072         Fix to MatchInDirectory at the root of a volume.  Also improved
2073         some documentation, and improved default path joining behaviour
2074         for virtual filesystems, especially regarding '~'.
2075         * tests/fileName.test: added tests to check for bugs fixed above.
2076         * doc/FileName.3: improved documentation
2077         
2078 2001-08-30  David Gravereaux <davygrvy@pobox.com>
2079
2080         * generic/tclAsync.c:
2081         * generic/tclEvent.c:
2082         * generic/tclInt.h: Improper cleanup of asyncMutex in tclAsync.c
2083         repaired.  TclFinalizeSynchronization() was trying to remove a
2084         registered mutex that was dumped earlier when the TSD it was stored
2085         in was cleared. This was only surfacing on *nix.  Windows was being
2086         masked by mutexes not actually being returned to the system!  That
2087         was repaired in a previous patch.  Needed to add a private
2088         TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread().
2089         Pheww..  Is this done yet?
2090         [Bug: 414419] requested by Rob Ratcliff <rrr6399@futuretek.com>
2091
2092 2001-08-28  Jeff Hobbs  <jeffh@ActiveState.com>
2093
2094         * generic/tclCompCmds.c (TclPushVarName): noted 'static' defn.
2095         [Bug #453872]
2096
2097 2001-08-26  Don Porter <dgp@users.sourceforge.net>
2098
2099         * library/auto.tcl (tcl_findLibrary):
2100         * tests/unixInit.test (unixInit-2.{1,9}):
2101         * unix/tclUnixInit.c (TclpInitLibraryPath):
2102         * win/tclWinInit.c (TclpInitLibraryPath):  Corrected 
2103         inconsistency between  the search path for script libraries and
2104         the directory name $DISTNAME into which distributions built
2105         by 'make test' unpack.  [Bug 455642]
2106
2107 2001-08-24  Jeff Hobbs  <jeffh@ActiveState.com>
2108
2109         * tests/stringComp.test: added string-1.3
2110         * generic/tclCompCmds.c (TclCompileStringCmd): changed to return
2111         TCL_OUT_LINE_COMPILE instead of TCL_ERROR when compiling and an
2112         unknown string method is called.  This is necessary as the string
2113         command may be never called, or not until 'string' is redefined.
2114
2115 2001-08-24 Vince Darley <vincentdarley@users.sourceforge.net>
2116
2117         * doc/glob.n: documented windows-style path issue with glob.
2118         [Bug: 219392]
2119         * doc/filename.n: documented windows path/file length limitation.
2120         [Bug: 454597]
2121
2122 2001-08-24  Don Porter <dgp@users.sourceforge.net>
2123
2124         * tests/unixInit.test (unixInit-2.9): Corrected expected result
2125         to match Tcl's quirky construction of its init library path.
2126
2127 2001-08-23  Andreas Kupries <andreas_kupries@users.sourceforge.net>
2128
2129         * win/tclWinPipe.c (BuildCommandLine): Fixed tcl Bug
2130           [432499]. Part of the code used the non-absolute path to the
2131           executable to determine quoting. This failed if the absolute
2132           path contained spaces, but the application name itself not. This
2133           bug caused no trouble on Win NT 5, but does for other variants
2134           in the Win* family. Report and fix due to Ken Poole
2135           <kenpoole@users.sourceforge.net>.
2136
2137 2001-08-23  Jeff Hobbs  <jeffh@ActiveState.com>
2138
2139         * unix/configure:
2140         * unix/tcl.m4: added QNX-6 build support. [Bug #219410] (loverso)
2141
2142         * unix/tclUnixFCmd.c:
2143         * generic/tclIOUtil.c:
2144         * generic/tclFileName.c: corrected minor compiler warnings.
2145
2146 2001-08-23 Vince Darley <vincentdarley@users.sourceforge.net>
2147
2148         Variety of small filesystem and vfs issues fixed or improved.
2149         The new fs code allows many new opportunities for efficiency
2150         improvements through the objectified API. The main changes
2151         integrated here are such efficiency improvements.  Some
2152         limitations of the original implementation have also now been
2153         lifted.  Meanwhile a variety of fs bugs (some old, some new)
2154         have also been fixed.
2155         
2156         * generic/tclFileName.c: Made Tcl_FSSplitPath more efficient, 
2157         and removed some static string-based procedures which are no 
2158         longer used.  Much more objectification.  Tcl_FSJoinPath
2159         is now very efficient and more aware of virtual filesystems.
2160         Clarified where the Mac-specific code attempts to interpret
2161         Unix-style paths.  Modified TclDoGlob to use lstat not
2162         access to fix [Bug: 434876, L. Virden]
2163         * tcl(Win|Unix|Mac)FCmd.c:
2164         * tcl(Win|Unix|Mac)File.c: replaced TclpListVolumes with
2165         TclpObjListVolumes with different signature, updated code due
2166         to more efficient signature of Tcl_FSGetTranslatedPath.  Used
2167         cached native paths where possible to improve efficiency --
2168         this was completed on MacOS, but on Unix and Win the traversal
2169         functions make the task much more complex, so there are still
2170         some improvements possible there.  Removed unused 
2171         TclpNormalizePath which had been left in tclWinFCmd.c.
2172         Objectified all 'file attributes' functions.  Fixed the new
2173         [Bug:451571, Bruce Stephens] which is most obvious on Unix, 
2174         but could occur on MacOS or Windows.  This bug actually existed
2175         in Tcl 8.3.x but was only made obvious by the recent filesystem
2176         overhaul when the code was exercised more heavily.  
2177         * tests/fileName.test: Three new tests to exercise the above bug,
2178         and make sure it is fixed correctly.
2179         * unix/tclUnixFile.c: avoid panic in glob when a link
2180         doesn't point anywhere.  It would probably be good to define
2181         exactly what Tcl should do in circumstances like these, and
2182         make sure mac/win/unix all behave accordingly. [Bug: 417111, 
2183         Hemang Lavana]. Also fixed misleading/obsolete comment in the code.
2184         * generic/tcl.stubs: changed signature of Tcl_FSGetTranslatedPath
2185         and added Tcl_FSGetTranslatedStringPath.
2186         These changes allow further optimisations in the FS code.
2187         * generic/tcl.h: changed signature of Tcl_FSListVolumes so that 
2188         it doesn't require a Tcl interpreter plus result.  Renamed 
2189         Tcl_FSReadLink to Tcl_FSLink with additional argument so
2190         we can support making links in the future. [Patch: 450340]
2191         * generic/tclInt.h:
2192         added declaration for TclpObjListVolumes.  Objectified 
2193         internal call signatures for 'file attributes' functions, and
2194         added an internal objectified get path type function.
2195         * generic/tclIOUtil.c: added the moved function TclpListVolumes 
2196         which calls platform specific code (needed for backwards 
2197         compatibility), and improved efficiency of parts of the FS
2198         (particularly file normalization).  Much less copying and
2199         memory allocation is required now.  added new GetPathType 
2200         so that changes in 'file volumes' can actually affect files'
2201         types, and objectified more code.  Made current code work
2202         with test suite artificially changing current platform.
2203         Added 'static' keywords where required.
2204         * generic/tclIO.c:
2205         * generic/tclTest.c: Added 'static' keywords, fixing 
2206         [Bug: 453872, Bob Techentin]
2207         * generic/tclCmdAH.c: file command implementation updated for 
2208         API changes, removed unnecessary special-case SplitPath static
2209         function, since it no longer helps prevent code duplication.
2210         Moved setting of interpreter result to each individual location
2211         that actually required it, to avoid very large code separation
2212         between reading and setting the result.
2213         * doc/FileSystem.3: updated documentation for the new or 
2214         changed APIs, and clarified some issues.
2215         * doc/SplitPath.3: added pointer to newer APIs in FileSystem.3
2216         * doc/filename.n: clarified current implementation of tilde
2217         support on Mac/Win.  [Bug:453514, Sergey Kuzmin]
2218         * doc/glob.n: improved documentation for '-directory' and '-path' 
2219         options.
2220         
2221         There are now many private, obsolete, platform-specific 'Tclp' 
2222         string-based filesystem APIs which could be removed.  We should
2223         check whether any of these are used by extensions and, at least
2224         in Tcl 9, remove them.
2225         
2226         The above changes signify a ***POTENTIAL INCOMPATIBILITY*** 
2227         with 8.4a3, since signatures of two functions in the new API 
2228         have changed, but not with older versions of Tcl.
2229
2230 2001-08-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2231
2232         * generic/tclBinary.c (FormatNumber): Extract a long from the
2233         object and not an int, to stop [binary format] from being unable
2234         to format some input numbers on architectures where sizeof(int) is
2235         less than sizeof(long) (particularly Alpha.)  [tiprender Bug #441861]
2236
2237         * tests/format.test: Converted conditional execution of tests into
2238         a test constraint.
2239
2240 2001-08-22  Jeff Hobbs  <jeffh@ActiveState.com>
2241
2242         * win/Makefile.in:
2243         * win/makefile.vc: updated install target for dde1.2
2244         * doc/dde.n: fixed dde man page (which was totally incorrect).
2245         * tests/winDde.test:
2246         * win/tclWinDde.c (Tcl_DdeObjCmd): added -binary option to dde
2247         request command to allow for returning binary data. [Bug #227482]
2248         Updated dde to 1.2
2249
2250         * tests/tcltest.test: added unixExecs constraint to files that
2251         used 'grep' in the test. [Bug #453143]
2252
2253         * library/tcltest/tcltest.tcl: fixed stdio constraint test.
2254         [Patch #454050] (stanton)
2255         Simplified unixExecs constraint test. 
2256         
2257 2001-08-22  Don Porter <dgp@users.sourceforge.net>
2258
2259         * tests/ioUtil.test (ioUtil-3.*): Corrected errors in tests
2260         revealed by fix of overagressive compiler.  [Bug 451200]
2261
2262 2001-08-21  Miguel Sofer  <msofer@users.sourceforge.net>
2263
2264         * generic/tclCompCmds.c:
2265         * tests/compile.test: Fixed overagressive compilation of [catch]:
2266         it was catching errors at substitution time. [Bug #219184]
2267         
2268 2001-08-21  Jeff Hobbs  <jeffh@ActiveState.com>
2269
2270         * tests/tcltest.test (tcltest-12.2): fixed test that would break
2271         when env vars weren't Tcl list friendly [Patch #454046] (stanton)
2272
2273 2001-08-20  Jeff Hobbs  <jeffh@ActiveState.com>
2274
2275         * library/http/http.tcl (geturl): added port number to Host:
2276         header to comply with HTTP/1.1 spec (RFC 2068).  [Bug #452217]
2277
2278 2001-08-16  David Gravereaux <davygrvy@pobox.com>
2279
2280         * tools/tcl.wse.in:
2281         * tools/tcl.hpj.in:
2282         * win/tcl.hpj.in:  Removed -kb storage in CVS to ensure these text
2283         files are checked-out in the translation mode CVS is in.  Setting
2284         these as binary as part of an effort to make sure they are always
2285         in CRLF, no matter what the CVS translation, is bypassing how CVS
2286         works and is confusing.
2287
2288         * tools/genStubs.tcl:  Removed LF-only output.  Having to reconvert
2289         back to CRLF before committing to CVS was giving me a headache.
2290         [Bug: 451333]
2291
2292         * win/makefile.vc: replaced $(WINDIR) with $(include32) for the
2293         .rc.res inference rule.  winver.h wasn't getting included.
2294         [Bug: 445630]
2295
2296 2001-08-14  Miguel Sofer  <msofer@users.sourceforge.net>
2297
2298         * generic/tclBasic.c: make the intial maxNestingDepth of an
2299         interpreter be MAX_NESTING_DEPTH instead of a hardwired value
2300         [Bug: 232564]
2301
2302 2001-08-13  Miguel Sofer  <msofer@users.sourceforge.net>
2303
2304         * tests/trace.test: Corrected test numbers [Bug: 449794] 
2305
2306 2001-08-12  Mo DeJong  <mdejong@redhat.com>
2307
2308         * unix/configure: Regen.
2309         * unix/configure.in:
2310         * unix/tcl.m4: Use GCC variable set by AC_PROG_CC instead
2311         of defining our own using_gcc variable.
2312
2313 2001-08-11  Vince Darley <vincentdarley@users.sourceforge.net>
2314
2315         Variety of small issues introduced by the vfs code fixed:
2316         * generic/tclIOUtil.c: uninitialised read.
2317         * generic/tclFCmd.c: possible memory leak in file delete 
2318         with error condition.
2319
2320 2001-08-10  Miguel Sofer  <msofer@users.sourceforge.net>
2321
2322         * generic/tclVar.c: 
2323         * tests/trace.test: Insure that [array] traces work correctly for
2324         undefined variables [Bug: 449094] 
2325
2326 2001-08-09  Mo DeJong  <mdejong@redhat.com>
2327
2328         * unix/Makefile.in: Delete the unused getcwd.o
2329         target. This fixes bug #440942.
2330
2331 2001-08-08  Don Porter <dgp@users.sourceforge.net>
2332
2333         * library/dde/pkgIndex.tcl:
2334         * library/http/http.tcl:
2335         * library/http/pkgIndex.tcl:
2336         * library/msgcat/msgcat.tcl:
2337         * library/msgcat/pkgIndex.tcl:
2338         * library/opt/optparse.tcl:
2339         * library/opt/pkgIndex.tcl:
2340         * library/reg/pkgIndex.tcl:
2341         * library/tcltest/tcltest.tcl:
2342         * library/tcltest/pkgIndex.tcl: Added checks for package dependencies.
2343         Bumped patchlevels of changed packages:  http 2.3.2, msgcat 1.2.2,
2344         opt 0.4.3, tcltest 2.0.1.  [Patch 448931]
2345
2346         * README:
2347         * generic/tcl.h:
2348         * tools/tcl.wse.in:
2349         * unix/configure:
2350         * unix/configure.in:
2351         * unix/tcl.spec:
2352         * win/README.binary:
2353         * win/configure:
2354         * win/configure.in: Bumped up patchlevel to 8.4a4 to distinguish
2355         CVS snapshots from the 8.4a3 release.  This does not necessarily
2356         mean there will be an 8.4a4 release.  [Bug 448938].
2357
2358 2001-08-06  Jeff Hobbs  <jeffh@ActiveState.com>
2359
2360         8.4a3 RELEASE
2361
2362         * changes:
2363         * README:
2364         * mac/README: 
2365         * unix/README:
2366         * win/README.binary: updated for 8.4a3 release
2367
2368         * generic/tclFileName.c (Tcl_FSSplitPath): update to Tcl style
2369         guide.
2370
2371         * generic/tclFCmd.c (FileCopyRename): fixed mem leak in
2372         introduction of vfs code where a new Tcl_Obj wasn't freed.
2373
2374         * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd):
2375         reordered the retrieval of arguments to avoid shimmering bug when
2376         the pattern and string referenced the same object.
2377
2378         * unix/configure: regenerated
2379         * unix/tcl.m4: added GNU (HURD) configuration target. (brinkmann)
2380         [Patch: #442974]
2381
2382         * win/README: made note of URL for Windows compilation notes
2383
2384         * win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition):
2385         added DeleteCriticalSection calls for cleanup [Patch: #419683]
2386
2387         * unix/tclUnixPipe.c (TclpCreateTempFile): fixed use of tmpnam,
2388         which is dangerous. [Patch: #442636] (lim)
2389         The use of tmpnam in TclpTempFileName must still be changed.
2390
2391         * tests/http.test (http-4.14): fixed variable error return.
2392         [Bug: 424252]
2393
2394 2001-08-03  Jeff Hobbs  <jeffh@ActiveState.com>
2395
2396         * win/configure: regenerated
2397         * win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll.
2398         This is necessary for TEA compliant builds that build shared
2399         against a static-built Tcl.
2400         * win/Makefile.in ($(TCLSH)): added $(TCL_STUB_LIB_FILE) to build
2401         target, otherwise it wouldn't get generated in a static build.
2402
2403 2001-08-06  Andreas Kupries <andreas_kupries@users.sourceforge.net>
2404
2405         * generic/tclIOCmd.c (Tcl_GetsObjCmd): Applied patch from SF item
2406           [442665] to fix the bug reported by it. The function can corrupt
2407           a freed object if it is called with objc == 3. This is because
2408           it retrieves resultPtr and does not increment its reference
2409           count, but then calls Tcl_ObjSetVar2, which causes the retrieved
2410           resultPtr object to be released.
2411         
2412 2001-08-06  Don Porter <dgp@users.sourceforge.net>
2413
2414         * doc/tclsh.1:  Added note that the tclsh program is frequently
2415         installed with the Tcl version numer as part of the name.
2416         [Patch 402725]
2417
2418         * generic/tclPkg.c:
2419         * tests/pkg.test:  [package forget] now forgets all of the
2420         package arguments it receives, not stopping when a package is
2421         not found.  [Bug 415273]
2422
2423 2001-08-02  Jeff Hobbs  <jeffh@ActiveState.com>
2424
2425         * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): corrected
2426         uninitialized value.
2427
2428 2001-08-02  Mo DeJong  <mdejong@redhat.com>
2429
2430         * generic/tclPlatDecls.h:
2431         * win/tclWinPort.h:
2432         Revert <tchar.h> related changes made to improve
2433         Cygwin support on 2001-07-18. This change ended
2434         up breaking the VC++ build because of conflicts
2435         between Windows APIs and internal Tk APIs.
2436
2437 2001-08-01  Jeff Hobbs  <jeffh@ActiveState.com>
2438
2439         * unix/tclUnixFCmd.c: minor casts to eliminate warnings. (lim)
2440         [Patch: #440218]
2441
2442         * tests/parseOld.test: changed some tests that required
2443         testwordend to exist to skip in a proper tcltest manner.
2444         [Bug: #442663]
2445
2446         * library/http/http.tcl (http::mapReply): the regsub'ing of \n and
2447         \t to escape them was unnecessary.
2448
2449 2001-07-31  Vince Darley <vincentdarley@users.sourceforge.net>
2450
2451         Changes from TIP#17 "Redo Tcl's filesystem"
2452         The following files were impacted:
2453         * doc/Access.3: 
2454         * doc/FileSystem.3: 
2455         * doc/OpenFileChnl.3: 
2456         * doc/file.n: 
2457         * doc/glob.n: 
2458         * generic/tcl.decls: 
2459         * generic/tcl.h: 
2460         * generic/tclCmdAH.c: 
2461         * generic/tclCmdIL.c: 
2462         * generic/tclCmdMZ.c: 
2463         * generic/tclDate.c: 
2464         * generic/tclDecls.h: 
2465         * generic/tclEncoding.c: 
2466         * generic/tclFCmd.c: 
2467         * generic/tclFileName.c: 
2468         * generic/tclGetDate.y: 
2469         * generic/tclIO.c: 
2470         * generic/tclIOCmd.c: 
2471         * generic/tclIOUtil.c: 
2472         * generic/tclInt.decls: 
2473         * generic/tclInt.h: 
2474         * generic/tclIntDecls.h: 
2475         * generic/tclLoad.c: 
2476         * generic/tclStubInit.c: 
2477         * generic/tclTest.c: 
2478         * generic/tclUtil.c: 
2479         * library/init.tcl: 
2480         * mac/tclMacFCmd.c: 
2481         * mac/tclMacFile.c: 
2482         * mac/tclMacInit.c: 
2483         * mac/tclMacPort.h: 
2484         * mac/tclMacResource.c: 
2485         * mac/tclMacTime.c: 
2486         * tests/cmdAH.test: 
2487         * tests/event.test: 
2488         * tests/fCmd.test: 
2489         * tests/fileName.test: 
2490         * tests/io.test: 
2491         * tests/ioCmd.test: 
2492         * tests/proc-old.test: 
2493         * tests/registry.test: 
2494         * tests/unixFCmd.test: 
2495         * tests/winDde.test: 
2496         * tests/winFCmd.test: 
2497         * unix/mkLinks: 
2498         * unix/tclUnixFCmd.c: 
2499         * unix/tclUnixFile.c: 
2500         * unix/tclUnixInit.c: 
2501         * unix/tclUnixPipe.c: 
2502         * win/tclWinFCmd.c: 
2503         * win/tclWinFile.c: 
2504         * win/tclWinInit.c: 
2505         * win/tclWinPipe.c
2506
2507 2001-07-24  Mo DeJong  <mdejong@redhat.com>
2508
2509         * win/tclWinThrd.c (Tcl_CreateThread): Close Windows
2510         HANDLE returned by _beginthreadex. The MS documentation
2511         states that this handle is not closed by a later call to
2512         _endthreadex.
2513
2514 2001-07-21  Don Porter  <dgp@users.sourceforge.net>
2515
2516         * doc/pkgMkindex.n:
2517         * library/package.tcl:  Corrected documentation and usage
2518         message of [pkg_mkIndex].
2519
2520 2001-07-18  Mo DeJong  <mdejong@redhat.com>
2521
2522         * generic/tclPlatDecls.h: Define TCHAR by including
2523         windows.h instead of tchar.h since Cygwin does not
2524         support the tchar.h header. Include CHECK_UNICODE_CALLS
2525         logic from tclWinPort.h.
2526         * win/tclWinPort.h: Remove CHECK_UNICODE_CALLS logic.
2527         Remove include of windows.h since this now done it
2528         tclPlatDecls.h.
2529         * win/tclWinReg.c: Remove duplicate include of windows.h.
2530
2531 2001-07-18  Andreas Kupries <andreas_kupries@users.sourceforge.net>
2532
2533         * generic/tclIO.c: Aftermath to [SF #427196]. Squash empty buffers
2534           if they are smaller than the requested buffersize, to prevent
2535           reusage of old buffers and to honor changes in the requested
2536           buffersize made by the user.
2537
2538 2001-07-17  Mo DeJong  <mdejong@redhat.com>
2539
2540         * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definition
2541         for the TclpReadlink function. This method implements reading of
2542         symbolic links when build with Cygwin.
2543
2544 2001-07-17  Mo DeJong  <mdejong@redhat.com>
2545
2546         * win/tclWinPort.h: Add Cygwin specific defines for environ
2547         and timezone variables.
2548
2549 2001-07-17  Andreas Kupries <andreas_kupries@users.sourceforge.net>
2550
2551         * generic/tclIO.c (GetInput): Fixed [SF #427196]. Memory was
2552           overwritten because a buffer was used after a change of the
2553           requested buffersize together with that requested buffersize and
2554           not its actual size, which was smaller. Note that the continous
2555           reuse of the smaller buffer negatively impacts performance. The
2556           system never allocates a buffer with the newly requested bigger
2557           buffersize.
2558
2559 2001-07-16  Mo DeJong  <mdejong@redhat.com>
2560
2561         * generic/tcl.h: Define __WIN32__ when
2562         __CYGWIN__ or __MINGW32__ is defined.
2563         * generic/tclAlloc.c: Define caddr_t when
2564         compiling with VC++ or mingw. This type is
2565         already defined when compiling with Cygwin.
2566
2567 2001-07-16  Mo DeJong  <mdejong@redhat.com>
2568
2569         * win/tclWinConsole.c:
2570         * win/tclWinPipe.c:
2571         * win/tclWinPort.h:
2572         * win/tclWinSerial.c:
2573         * win/tclWinThrd.c:
2574         Remove unnecessary #includes of dos.h, direct.h,
2575         and tchar.h. This will help the Cygwin porting
2576         effort since these headers do not exist under Cygwin.
2577
2578 2001-07-16  Jeff Hobbs  <jeffh@ActiveState.com>
2579
2580         * win/tclWinPipe.c (PipeClose2Proc): constrained the mutex lock to
2581         just the TerminateThread call and waiting for termination. (jsmith)
2582
2583         * generic/tclCmdMZ.c: Removed extra copy of the SCAN_* macros
2584         #defined in generic/tclScan.c. (porter) [Bug 441230]
2585
2586 2001-07-12  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2587
2588         * tests/unixInit.test (unixInit-2.8): Added extra constraint,
2589         notInstalledInTmp, to stop this test from damaging installations
2590         in /tmp; not much fun to have to reinstall the Tcl library every
2591         time you run the test suite!
2592
2593         * tests/subst.test (subst-10.*): Updated tests to check new
2594         behaviour for 'break' in command substitutions.
2595         (subst-1.2,subst-7.1): Error messages changed.
2596         * doc/SubstObj.3: New file, to document Tcl_SubstObj.
2597         * doc/subst.n: Improved and updated documentation for 'subst' to
2598         help support the changed behaviour.
2599         * generic/tcl.decls (generic-437): Declaration for Tcl_SubstObj
2600         * generic/tcl.h (TCL_SUBST_*): Added flags for Tcl_SubstObj.
2601         * generic/tclCmdMZ.c (Tcl_SubstObj,Tcl_SubstObjCmd): Divided into
2602         two parts to allow people to access the innards of 'subst' and
2603         changed the behaviour when command substitutions do a 'break' to
2604         be different from 'continue'.  Also now works with objects, which
2605         allows for some nifty optimisations with variable substitutions
2606         and a slight improvement with command substitutions.  [TIP#36]
2607
2608 2001-07-10  Mo DeJong  <mdejong@redhat.com>
2609
2610         * unix/Makefile.in: Add AR variable for use in STLIB_LD.
2611         * unix/configure: Regen.
2612         * unix/configure.in: Use STLIB_LD when defining MAKE_LIB
2613         and MAKE_STUB_LIB. Subst RANLIB and AR.
2614         * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add doc comment about
2615         STLIB_LD command. Check ${AR} env var when setting
2616         STLIB_LD and delay evaluation until make time.
2617         * win/configure: Regen.
2618         * win/tcl.m4 (SC_CONFIG_CFLAGS): Delay evaluation of
2619         ${AR} in STLIB_LD and add flags to better match the
2620         Unix implementation. Don't bother defining AR when
2621         using VC++ since it is not used.
2622
2623 2001-07-06  Mo DeJong  <mdejong@redhat.com>
2624
2625         * win/configure: Regen.
2626         * win/tcl.m4 (SC_CONFIG_CFLAGS): Pass -e _WinMain@16 in
2627         addition to the -mwindows flag to work around a problem
2628         with ld when it incorrectly use main() as the executable
2629         entry point when both WinMain() and main() are available.
2630
2631 2001-07-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2632
2633         * tests/cmdAH.test: Added leading zero to file modes to work
2634         around fault in HPUX strtol() which ignores the base parameter
2635         [Bug #438808]
2636
2637 2001-07-05  Mo DeJong  <mdejong@redhat.com>
2638
2639         * win/Makefile.in: Subst DEPARG directly instead
2640         of relying on a variable. This will make Cygwin
2641         builds faster since an extra exec will be avoided.
2642         * win/configure: Regen.
2643         * win/configure.in: Subst DEPARG.
2644         * win/tcl.m4 (SC_CONFIG_CFLAGS): Move AC_MSG_CHECKING
2645         after the AC_CHECK_PROG so that status messages do
2646         not get mixed together. Set DEPARG based on the
2647         results of the cygpath check so that we avoid using
2648         an extra exec when it is not needed. Use ac_cv_cygwin
2649         status flag instead of looking at the output of
2650         gcc -v, which works in the case where -mno-cygwin is
2651         set in the CFLAGS.
2652
2653 2001-07-04  Jeff Hobbs  <jeffh@ActiveState.com>
2654
2655         * README:
2656         * mac/README:
2657         * unix/README:
2658         * win/README:
2659         * win/README.binary: updated READMEs with purls
2660
2661 2001-07-03  Mo DeJong  <mdejong@redhat.com>
2662
2663         * win/Makefile.in: Remove PATHTYPE variable.
2664         * win/configure: Regen.
2665         * win/configure.in: Don't subst PATHTYPE.
2666         * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove PATHTYPE
2667         variable. Set CYGPATH to "cygpath -w" if the
2668         cygpath executable is found on the path. This
2669         approach works for native Cygwin builds and
2670         cross compiles.
2671
2672 2001-07-03  Jeff Hobbs  <jeffh@ActiveState.com>
2673
2674         * tests/var.test:
2675         * generic/tclVar.c (Tcl_VariableObjCmd): added patch to check for
2676         number of args. [Patch #426038]
2677
2678         * generic/tclVar.c (Tcl_GetVar2Ex): added ability to recognize
2679         TCL_TRACE_READS flags to cause creation of part1 in TclLookupVar
2680         to make sure newly created array will get read traces triggered
2681         appropriately.  This is called by Tcl_ObjGetVar2, Tcl_GetVar, and
2682         Tcl_GetVar2.
2683         (TclSetIndexedScalar, TclSetElementOfIndexedArray): added read
2684         trace triggering for lappend case.
2685         (Tcl_LappendObjCmd): pass TCL_TRACE_READS to Tcl_ObjGetVar2 to
2686         trigger possible read traces for new arrays.
2687
2688         * generic/tclExecute.c (TclExecuteByteCode): added TCL_TRACE_READS
2689         flag to INST_LAPPEND(_ARRAY)_STK case to trigger read traces for
2690         newly created arrays.  Removed unnecessary #ifdef for
2691         TCL_COMPILE_DEBUG in INST_LOAD_SCALAR1 case.
2692
2693         * tests/append.test:
2694         * tests/appendComp.test: added tests for read trace triggering for
2695         append and lappend.
2696
2697 2001-07-03  Mo DeJong  <mdejong@redhat.com>
2698
2699         * tests/clock.test (clock-2.5): Adjust test so that it passes
2700         when the time slice is 60 msecs, now passes under Windows 98.
2701
2702 2001-07-03  Mo DeJong  <mdejong@redhat.com>
2703
2704         * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't pass the v flag
2705         to ${AR} when using gcc, verbose output is not needed.
2706
2707 2001-07-03  Don Porter  <dgp@users.sourceforge.net>
2708
2709         * tests/unixInit.test (unixInit-2.8):  Changed test back to using
2710         installation layout, adding comments explaining why the test writes
2711         to the directories it does, and checks to avoid destroying other
2712         files in /tmp.
2713
2714 2001-07-03  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2715
2716         * tests/unixInit.test (unixInit-1.2): Fixed faults reported in
2717         Bug#438070 - well, at least enough to work on Solaris - and added
2718         comments that should make what is going on in the test clearer.
2719
2720 2001-07-02  Jeff Hobbs  <jeffh@ActiveState.com>
2721
2722         * tests/util.test: added util-4.6
2723         * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards
2724         over utf-8 chars. [Bug #227512]
2725
2726 2001-07-02  Don Porter  <dgp@users.sourceforge.net>
2727
2728         * tests/unixInit.test (unixInit-2.8):  Corrected test for all
2729         absolute pathnames in library path when executable is installed
2730         near root directory to use correct development directory layout.
2731         [Bug 438014]
2732
2733         * tests/unixInit.test (unixInit-2.9):  
2734         * unix/tclUnixInit.c (TclpInitLibraryPath):
2735         * win/tclWinInit.c (TclpInitLibraryPath):  Corrected buggy
2736         construction of search path entries relative to executable.
2737         Added test for bad construction.  [Bug 438014]
2738
2739 2001-06-28  Miguel Sofer  <msofer@users.sourceforge.net>
2740
2741         * generic/tclNamesp.c: Correction to faulty patch from [Bug: 231259] 
2742
2743 2001-06-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2744
2745         * tests/unixInit.test (unixInit-1.2): Modified so as not to
2746         require a local echo service, which fails on many systems which
2747         have that turned off for security reasons...
2748
2749 2001-06-27  Jeff Hobbs  <jeffh@ActiveState.com>
2750
2751         * generic/tclInt.h:
2752         * generic/tclObj.c:
2753         * unix/Makefile.in: added a -DPURIFY mode that makes Tcl_Obj's
2754         allocated and free singularly (instead of in alloc in blocks and
2755         never free) to allow checkers like Purify to operate better.
2756
2757         * library/encoding/koi8-u.enc: added koi8-u (Ukranian variant)
2758         encoding.
2759
2760         * tests/subst.test:
2761         * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash
2762         handling of multibyte utf-8 chars. [Bug #217987]
2763
2764         * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in
2765         info procs that created objects without using them.
2766
2767         * generic/tclCompCmds.c (TclCompileStringCmd): fixed mem leak when
2768         string command failed to parse the subcommand.
2769
2770         * doc/interp.n:
2771         * doc/unknown.n: updated notes about what is in a safe interp.
2772         [Bug #218605]
2773
2774 2001-06-27  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2775
2776         * tests/event.test (event-11.5): Removed hard-coded port number
2777         which could fail on some systems.  [Bug #436727]
2778
2779 2001-06-26  Mo DeJong  <mdejong@redhat.com>
2780
2781         * unix/Makefile.in:
2782         * win/Makefile.in: Add `make shell` target. This target
2783         will set the proper env vars before invoking tclsh
2784         from the build directory.
2785
2786 2001-06-26  Mo DeJong  <mdejong@redhat.com>
2787
2788         * win/Makefile.in: Use : to separate VPATH entries. This
2789         works for both Cygwin builds and cross builds, the VPSEP
2790         variable is simply unneeded complexity.
2791         * win/configure: Regen.
2792         * win/configure.in: Don't subst VPSEP.
2793         * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove VPSEP variable.
2794
2795 2001-06-26  Mo DeJong  <mdejong@redhat.com>
2796
2797         * unix/configure: Regen.
2798         * unix/configure.in: Fix last checkin by removing
2799         export since that only works in bash.
2800         * win/configure: Regen.
2801         * win/configure.in: Ditto.
2802
2803 2001-06-26  Mo DeJong  <mdejong@redhat.com>
2804
2805         * unix/configure: Regen.
2806         * unix/configure.in: Set CFLAGS to "" if the user
2807         did not set CFLAGS in the env. This keeps AC_PROG_CC
2808         from adding "-g -O2" to the CFLAGS by default.
2809         * win/configure: Regen.
2810         * win/configure.in: Ditto.
2811
2812 2001-06-25  Mo DeJong  <mdejong@redhat.com>
2813
2814         * win/configure: Regen.
2815         * win/configure.in: Use RC_DEFINE flag from tcl.m4.
2816         * win/tcl.m4 (SC_CONFIG_CFLAGS): Set RC_DEFINE
2817         flag based on the compiler in use.
2818         
2819 2001-06-25  Mo DeJong  <mdejong@redhat.com>
2820
2821         * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the
2822         imm32 library when building with mingw gcc.
2823
2824 2001-06-25  Mo DeJong  <mdejong@redhat.com>
2825
2826         * win/configure: Regen.
2827         * win/tcl.m4 (SC_CONFIG_CFLAGS): When building with
2828         gcc, don't attempt to link with LD or support dllwrap.
2829         Simply require a recent version of Cygwin gcc or Mingw
2830         gcc that supports -shared. When linking, use gcc instead
2831         of ld since gcc automatically includes libs like -lmsvcrt.
2832
2833 2001-06-22  Mo DeJong  <mdejong@redhat.com>
2834
2835         * win/configure: Regen.
2836         * win/configure.in: Add resource compiler fix from
2837         8.3.3 to fix compiling with mingw.
2838
2839 2001-06-22  Mo DeJong  <mdejong@redhat.com>
2840
2841         * win/configure: Regen.
2842         * win/tcl.m4: Fix silly typo in last checkin.
2843
2844 2001-06-22  Mo DeJong  <mdejong@redhat.com>
2845
2846         * unix/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@.
2847         Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG
2848         and LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works.
2849         This will support user set CFLAGS or LDFLAGS at configure time.
2850         * unix/configure: Regen.
2851         * unix/configure.in: Don't set CFLAGS to CFLAGS_DEFAULT, instead
2852         subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for CFLAGS_DEFAULT,
2853         LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE.
2854         * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that
2855         it uses a Makefile variable just like CFLAGS_DEFAULT.
2856         * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@.
2857         Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@.
2858         This will support user set CFLAGS or LDFLAGS at configure time.
2859         * win/configure: Regen.
2860         * win/configure.in: Don't set CFLAGS or LDFLAGS, instead subst
2861         CFLAGS_DEFAULT and LDFLAGS_DEFAULT into the Makefile.
2862         * win/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that
2863         it uses a Makefile variable just like CFLAGS_DEFAULT.
2864
2865 2001-06-22  Mo DeJong  <mdejong@redhat.com>
2866
2867         * win/configure:
2868         * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't set LDFLAGS_DEBUG
2869         to -g or LDFLAGS_OPTIMIZE to -O when compiling with gcc.
2870         These flags are not needed and can cause problems with
2871         the Cygwin version of ld.
2872
2873 2001-06-18  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2874
2875         * tests/unixInit.test (unixInit-1.2,unixInit-2.8): Added test for
2876         code described below, and fixed a couple of errors that caused
2877         problems during testing; the code to determine the installedTcl
2878         constraint was wrong, and test unixInit-2.8 assumed that /tmp/lib
2879         was free for use and could be deleted, which clashed nastily with
2880         my installation and made other tests fail unnecessarily!
2881
2882         * unix/tclUnixChan.c (TtyInit,TclpOpenFileChannel,
2883         Tcl_MakeFileChannel,TclpGetDefaultStdChannel): Alterations so that
2884         the standard channels - stdin, stdout and stderr - have the
2885         correct type and fconfigure options.  This required making the
2886         initialisation of serial lines a little more sophisticated to
2887         make the console behave correctly in interactive mode... [Bug
2888         #219137 and duplicates]
2889
2890 2001-06-16  Don Porter  <dgp@users.sourceforge.net>
2891
2892         * generic/tclInt.decls:
2893         * generic/tclInt.h: 
2894         * generic/tclPanic.c (Tcl_PanicVA):
2895         * mac/tclMacAppInit.c (main):
2896         * mac/tclMacPanic.c (TclpPanic):
2897         * unix/tclUnixPort.h:
2898         * win/tclWinPort.h: Replaced TclMacSetPanic with TclpPanic
2899         for setting a platform-specific panic handler.  TclpPanic
2900         is NULL on Unix and Windows.  Fixes broken wish on Mac due
2901         to earlier patches.  [Patch 415648]
2902         
2903         * generic/tclIntPlatDecls.h:
2904         * generic/tclStubInit.c: `make gentubs` after above changes.
2905
2906 2001-06-13  Don Porter  <dgp@users.sourceforge.net>
2907
2908         * mac/tclMacAppInit.c (main, Macintosh_Init):
2909         * mac/tclMacBOAAppInit.c (main):
2910         * mac/tclMacPanic.c: Applied patches from Dan Steffen correcting
2911         problems on the Macintosh in the 2001-06-08 changes.
2912
2913 2001-06-12  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2914
2915         * tests/regexp.test (regexp-18.12): 
2916         * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): Fixed so that submatches
2917         that do not match always have index pair {-1 -1} [Bug #219232]
2918
2919 2001-06-08  Don Porter  <dgp@users.sourceforge.net>
2920
2921         * generic/tcl.h:
2922         * generic/tcl.decls:
2923         * generic/tclPanic.c: Added CONST to Tcl_*Panic* public interfaces.
2924         [Patch 415648, TIP 27]
2925
2926         * generic/tclInt.decls:
2927         * mac/tclMacAppInit.c (main):
2928         * mac/tclMacBOAAppInit.c (main):
2929         * mac/tclMacPanic.c: Modified special Mac implementations of
2930         Tcl_*Panic* to be exact copies of the generic implementations.
2931         Added TclMacSetPanic.  The generic implementations should be
2932         used directly, rather than copies, but that requires further
2933         changes by someone familiar with the Mac build systems.
2934         [Patch 415648]
2935
2936         * generic/tclDecls.h:
2937         * generic/tclIntPlatDecls.h:
2938         * generic/tclStubInit.c: `make gentubs` after above changes.
2939
2940         * doc/Panic.3:
2941         * unix/mkLinks:  New file documenting Tcl_*Panic* public interfaces,
2942         followed by `make mklinks`.  [Patch 415648, Bug 219170, Bug 414936]
2943
2944 2001-06-03  Jeff Hobbs  <jeffh@ActiveState.com>
2945
2946         * generic/tclUtil.c (Tcl_DStringAppendElement): patch to save an
2947         extra strlen call.  [Bug #428572]
2948
2949 2001-05-30  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2950
2951         * generic/tclExecute.c (TclExecuteByteCode): Added two casts to
2952         INST_STR_CMP implementation to get rid of a couple warnings from
2953         the SUNWspro C compiler.
2954
2955         * generic/tclBasic.c (Tcl_GetMathFuncInfo,Tcl_ListMathFuncs): 
2956         * generic/tclCmdIL.c (Tcl_InfoObjCmd,InfoFunctionsCmd): 
2957         * generic/tcl.decls (generic table, positions 435+436): 
2958         * tests/info.test: 
2959         * doc/CrtMathFnc.3: 
2960         * doc/info.n: Changes due to TIP #15 "Functions to List and Detail
2961         Math Functions"
2962
2963 2001-05-28  Jeff Hobbs  <jeffh@ActiveState.com>
2964
2965         * library/init.tcl (unknown): removed errant " in error message
2966
2967 2001-05-27  Jeff Hobbs  <jeffh@ActiveState.com>
2968
2969         * generic/regc_locale.c: updated character class range data for
2970         Unicode v3.1.0 compliance.
2971         * generic/tclUniData.c: regenerated from Unicode v3.1.0 data file
2972         (new as of 2001-05-16).  This brings Tcl to current unicode
2973         compliance.
2974
2975         * tests/utf.test: added tests to check unicode 3 compliance
2976
2977         * unix/Makefile.in (tclUtf.o): added tclUniData.c dependency.
2978
2979         * tools/uniClass.tcl: added comments to output format and the
2980         script for clarification.
2981
2982         * tools/uniParse.tcl: corrected filename output and GetDelta macro
2983         to use 'info' as param (was 'infO')
2984
2985 2001-05-26  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2986
2987         * generic/tclVar.c (tclArraySearchType,SetArraySearchObj,
2988         ParseSearchId): Added code to speed up array searching by reducing
2989         the amount of parsing needed for searchIds.
2990
2991         * generic/tclObj.c (TclInitObjSubsystem): 
2992         * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): 
2993         * generic/tclNamesp.c (TclInitNamespaceSubsystem): 
2994         * generic/tclInt.h: Moved some Tcl_ObjType initialisation to
2995         TclInitObjSubsystem to be with the bulk of the rest.
2996         [Patch 424851] Committed by Miguel Sofer <mig@utdt.edu>
2997
2998 2001-05-23  Jeff Hobbs  <jeffh@ActiveState.com>
2999
3000         * tests/io.test: changed io-52.[9-11] to not be platform sensitive
3001         with EOL translation.
3002
3003         * library/encoding/cp1250.enc:
3004         * library/encoding/cp1251.enc:
3005         * library/encoding/cp1252.enc:
3006         * library/encoding/cp1253.enc:
3007         * library/encoding/cp1254.enc:
3008         * library/encoding/cp1255.enc:
3009         * library/encoding/cp1256.enc:
3010         * library/encoding/cp1257.enc:
3011         * library/encoding/cp1258.enc:
3012         * library/encoding/cp874.enc:
3013         * library/encoding/iso8859-6.enc:
3014         * library/encoding/iso8859-7.enc:
3015         * library/encoding/iso8859-8.enc:
3016         * library/encoding/iso8859-10.enc (new):
3017         * library/encoding/iso8859-13.enc (new):
3018         * library/encoding/iso8859-14.enc (new): updated encoding tables
3019         based on http://www.unicode.org/Public/MAPPINGS/. (kuhn)
3020
3021 2001-05-23  Mo DeJong  <mdejong@redhat.com>
3022
3023         * unix/tcl.m4 (SC_PATH_TCLCONFIG): Fix comments,
3024         and typo in cached variable name.
3025
3026 2001-05-23  Mo DeJong  <mdejong@redhat.com>
3027
3028         * unix/tcl.m4 (SC_LOAD_TKCONFIG):
3029         Remove use of undefined TCLCONFIG variable and
3030         call AC_MSG_RESULT to print the checking result.
3031         * win/tcl.m4: Ditto.
3032
3033 2001-05-22  Jeff Hobbs  <jeffh@ActiveState.com>
3034
3035         * generic/tclObj.c (TclAllocateFreeObjects): simplified
3036         objSizePlusPadding to use sizeof(Tcl_Obj) (max)
3037         Corrected use of tclObjsAlloced/Freed/Shared in TCL_MEM_DEBUG
3038         compile.
3039
3040 2001-05-22  Miguel Sofer  <msofer@users.sourceforge.net>
3041
3042         * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP 
3043
3044 2001-05-21  Jeff Hobbs  <jeffh@ActiveState.com>
3045
3046         * tests/tcltest.test (tcltest-19.1): fixed failing test that was
3047         getting affected by Windows env handling of empty valued elements.
3048
3049         * unix/tcl.m4: added more common install directories in which to
3050         search for *Config.sh [Bug #419812]
3051
3052         * tests/cmdMZ.test (cmdMZ-1.4): added notLinux constraint to test
3053         to prevent failure message on Linux due to OS caching bug.
3054
3055         * tests/httpd (httpdRespond): added response to timeout value in
3056         query string.
3057
3058         * tests/http.test: removed unused notLinux constraint setting
3059
3060         * generic/tclRegexp.c (Tcl_RegExpExecObj): added use of
3061         Tcl_GetUnicodeFromObj.
3062
3063 2001-05-19  Andreas Kupries <andreas_kupries@users.sourceforge.net>
3064
3065         * Note that "tclbench" (see project "tcllib") was extended with
3066           performance benchmarks for [fcopy] too.
3067
3068         * doc/fcopy.n: Updated to reflect the extended behaviour of 'fcopy'.
3069
3070         * tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11'
3071           to test the handling of encodings by 'fcopy' / 'TclCopychannel'
3072           [Bug #209210].
3073
3074         * generic/tclIO.c: Split of both 'Tcl_ReadChars' and
3075           'Tcl_WriteChars' into a public error checking and an internal
3076           working part. The public functions now use the new internal
3077           ones. The new functions are 'DoReadChars' and 'DoWriteChars'.
3078           Extended 'CopyData' to use the new functions 'DoXChars' when
3079           required by the encodings on the input and output channels
3080           [Bug #209210].
3081
3082 2001-05-16  Jeff Hobbs  <jeffh@ActiveState.com>
3083
3084         * library/history.tcl (tcl::HistAdd): prevent empty calls from
3085         being added to the history (arndt)
3086
3087         * tests/error.test: updated error-1.3 message to account for
3088         string index being compiled at toplevel.
3089         * tests/appendComp.test:
3090         * tests/stringComp.test: new files for extended bytecode testing
3091
3092         * generic/tclBasic.c: added new CompileProc invocations to basic
3093         command initialization.
3094         * generic/tclCompCmds.c: added new compile commands for append,
3095         lappend, lindex and llength.  Refactored set and incr compile
3096         commands to use new TclPushVarName function for handling the
3097         varname component during compilation (also used by append and
3098         lappend).  Changed string compile command to compile toplevel code
3099         as well (when possible).
3100         * generic/tclCompile.c: added new instruction enums
3101         * generic/tclCompile.h: added debug info for new instructions
3102         * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to
3103         toplevel var (oft-used).  Added definitions for new bytecode
3104         instructions INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1,
3105         INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4,
3106         INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1,
3107         INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4,
3108         INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK.
3109         Refactored repititious code for reuse with INST_LOAD_STK (same as
3110         INST_LOAD_SCALAR_STK), INST_STORE_STK (same as
3111         INST_STORE_SCALAR_STK).
3112         Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows
3113         [Bug #219201] as that fix only affected the runtime eval'ed
3114         "string" (string compare is normally byte-compiled now).  We
3115         may want to back these out for speed in the future, noting the
3116         problems with \x00 comparisons in the docs.
3117         * generic/tclInt.h: declarations for new compile commands.
3118         * generic/tclVar.c: change TclGetIndexedScalar,
3119         TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and
3120         TclSetIndexedScalar to use flags.  The Set functions now support
3121         TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well.
3122         * generic/tclInt.decls:
3123         * generic/tclIntDecls.h: minor signature changes for above.
3124
3125         * generic/tclCmdMZ.c: made use of new Tcl_GetUnicodeFromObj.
3126
3127 2001-05-16  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3128
3129         * doc/console.n: Deleted.  Put it in the wrong source tree!  D'oh!
3130
3131 2001-05-15  Jeff Hobbs  <jeffh@ActiveState.com>
3132
3133         * generic/tcl.decls:
3134         * generic/tclDecls.h:
3135         * generic/tclStubInit.c:
3136         * generic/tclStringObj.c (Tcl_GetUnicodeFromObj): new function to
3137         parallel Tcl_GetStringFromObj (fix of an API oversight).
3138
3139         * unix/tclUnixPipe.c: updated pipeChannelType to
3140         TCL_CHANNEL_VERSION_2 type specification.
3141
3142         * tests/fileName.test: corrected tests not to fail on win when a
3143         C:/test dir exists.
3144
3145         * generic/tclFileName.c (ExtractWinRoot): corrected ABR error
3146
3147 2001-05-15  Miguel Sofer  <msofer@users.sourceforge.net>
3148
3149         * tests/lindex.test: added test for nested braces [Patch: 423617]
3150
3151 2001-05-15  Miguel Sofer  <msofer@users.sourceforge.net>
3152
3153         * generic/tclInt.h
3154         * generic/tclNamesp.c: invalidate all bytecodes in a namespace if
3155         a new command shadows a bytecoded command.
3156         * tests/namespace.test
3157         Patched from [Bug: 231259] 
3158
3159 2001-05-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3160
3161         * doc/console.n: Created.  It seems very odd to me that the
3162         console implementation is part of the Tcl distribution and not
3163         part of Tk, but given the location of the source, the
3164         documentation must obviously match up...
3165
3166 2001-05-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3167
3168         * generic/tclCmdMZ.c (Tcl_StringObjCmd): 
3169         * tests/string.test (string-4.14): Negative string indices should
3170         not be added as offsets to the result of [string first] but
3171         instead be treated as referring to the start of the string.
3172         [Bug: 423581]
3173
3174 2001-05-11  Mo DeJong  <mdejong@redhat.com>
3175
3176         * unix/Makefile.in: Add a LDFLAGS variable to the
3177         Makefile instead of directly substing @LDFLAGS@.
3178         * unix/configure: Regen.
3179         * unix/tcl.m4: Fix CFLAGS_DEFAULT so that the name
3180         of a Makefile variable is passed as @CFLAGS@.
3181         * win/Makefile.in: Move the setting of CFLAGS
3182         higher up in the Makefile.
3183         * win/configure: Regen.
3184         * win/configure.in: Use dnl to comment out macros
3185         so that they are not accidently expanded.
3186         * win/tcl.m4: Fix CFLAGS_DEFAULT so that the name
3187         of a Makefile variable is passed as @CFLAGS@.
3188
3189 2001-05-07  Miguel Sofer  <msofer@users.sourceforge.net>
3190
3191         * generic/tclExecute.c: insure different rand() seeds in different
3192         threads [Bug 416643]
3193
3194 2001-05-03  Jeff Hobbs  <jeffh@ActiveState.com>
3195
3196         * tests/tcltest.test: removed extraneous 'c' (doh!) [Bug: 414031]
3197
3198         * tools/tcltk-man2html.tcl: removed use of 'exec' for portability
3199         and fixed up code.
3200
3201 2001-05-03  Don Porter  <dgp@users.sourceforge.net>
3202
3203         * doc/library.n:
3204         * library/init.tcl:
3205         * tests/autoMkindex.t*: Modified [auto_import] to apply
3206         pattern matching in the [namespace import] style.  [Bug 420186]
3207         ***POTENTIAL INCOMPATIBILITY*** for any callers of [auto_import]
3208         from outside Tcl that expect the pattern matching to be like that
3209         of [string match].
3210
3211 2001-05-03  Miguel Sofer  <msofer@users.sourceforge.net>
3212
3213         * generic/tclParse.c: 
3214         * tests/namespace.test: Insure consistent behaviour of the
3215         [unknown] command: when a command is unknown, it is always
3216         processed by [::unknown], ignoring any namespace proc which
3217         happens to be called "unknown" [Patch #421166, Bug #420507]
3218
3219 2001-05-02  Don Porter  <dgp@users.sourceforge.net>
3220
3221         * tools/genStubs.tcl: Add a package require of Tcl 8
3222         at the beginning of the script so that the script
3223         will print a descriptive error message when run
3224         in an old Tcl 7 shell.
3225
3226 2001-04-27  Kevin Kenny <kennykb@crd.ge.com>
3227
3228         * generic/tclInt.decls:
3229         * generic/tclInt.h:
3230         * generic/tclCmdIL.c:
3231         * generic/tclProc.c:
3232         * generic/tclVar.c: Added another collection of missing CONSTs
3233         related to TclGetNamespaceForQualName.
3234         * generic/tclIntDecls.h: Regenerated.
3235         
3236 2001-04-25  Mo DeJong  <mdejong@redhat.com>
3237
3238         * unix/configure: Regen.
3239         * unix/tcl.m4: Subst TCL_THREADS into tclConfig.sh.
3240         * unix/tclConfig.sh.in: Add TCL_THREADS variable.
3241         * win/configure: Regen.
3242         * win/tcl.m4: Subst TCL_THREADS into tclConfig.sh.
3243         * win/tclConfig.sh.in: Add TCL_THREADS variable.
3244
3245 2001-04-25  Mo DeJong  <mdejong@redhat.com>
3246
3247         * unix/configure: Regen.
3248         * unix/configure.in: Use $@ in MAKE_LIB and MAKE_STUB_LIB
3249         commands instead of using a delayed subst variable. Replace
3250         instances of STUB_LIB_FILE with TCL_STUB_LIB_FILE.
3251
3252 2001-04-25  Mo DeJong  <mdejong@redhat.com>
3253
3254         * unix/Makefile.in: Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE.
3255         * unix/configure: Regen.
3256         * unix/configure.in: Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE
3257         instead.
3258
3259 2001-04-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3260
3261         * tools/encoding/iso8859-15.txt:
3262         * library/encoding/iso8859-15.enc: Oops! Got the full encoding
3263         wrong.  Should be fixed now...
3264
3265         * tools/encoding/iso8859-15.txt:
3266         * library/encoding/iso8859-15.enc:
3267         * tools/tcl.wse.in: Added ISO 8859-15 (a.k.a. Latin-1 + Euro
3268         currency symbol) support.
3269
3270         * generic/tclNamesp.c:
3271         * generic/tclBasic.c (TclRenameCommand): Missing CONST from
3272         several declarations relating to use of TclGetNamespaceForQualName
3273
3274 2001-04-24  Kevin B. Kenny    <kennykb@acm.org>
3275         * doc/AssocData.3:
3276         * doc/CrtCommand.3:
3277         * doc/CrtMathFnc.3:
3278         * doc/CrtObjCmd.3:
3279         * doc/ExprLong.3:
3280         * generic/tclBasic.c:
3281         * generic/tclCmdMZ.c:
3282         * doc/CrtSlave.3:
3283         * generic/tclNamesp.c:
3284         * generic/tcl.decls:
3285         * generic/tcl.h:
3286         * generic/tclInt.decls:
3287         * generic/tclInt.h: (TIP #27) Another round of CONST changes, this
3288         time adding CONST to the API's exported from tclBasic.c.
3289         [Patch #415179]
3290         ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince
3291         Darley's changes to command tracing were added.  A const has been
3292         added to the type signature of one of the parameters to
3293         Tcl_CommandTraceProc.
3294
3295 2001-04-10  Kevin B. Kenny    <kennykb@acm.org>
3296         * unix/tclUnixTime.c: Altered code to use memcpy instead of
3297         structure assigments in an effort to achieve better K&R
3298         compatibility.
3299         
3300 2001-04-10  Kevin B. Kenny    <kennykb@acm.org>
3301
3302         * unix/tclUnixTime.c: Fixed silly typo in calls to 'gmtime' and
3303         'localtime' that broke the Linux build.
3304
3305 2001-04-09  Kevin B. Kenny    <kennykb@acm.org>
3306
3307         * unix/tclLoadShl.c: Added DYNAMIC_PATH to the load flags so that
3308         the SHLIB_PATH will be searched for other libraries.  [Bug #219140]
3309         
3310 2001-04-09  Kevin B. Kenny    <kennykb@acm.org>
3311
3312         * unix/tcl.m4: Added _REENTRANT to Solaris build so that thread
3313         safe library routines are included.
3314         * unix/configure: Re-ran 'autoconf' with changed tcl.m4
3315         * tclUnixTime.c: Modified for thread safety of 'gmtime' and
3316         'localtime' system calls [Bugs #219136 and #232558]
3317         
3318 2001-04-09  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3319
3320         * tests/expr.test (expr-21.*): Tests to check below fix.
3321         * generic/tclParseExpr.c (GetLexeme): Now recognises the
3322         non-numeric boolean literals for what they are. It no longer makes
3323         sense for anyone to create functions with the same name as one of
3324         them, but this was true in 7.* as well [Bug #217777; finally!]
3325
3326 2001-04-07  Miguel Sofer <msofer@users.sourceforge.net>
3327
3328         * generic/tclExecute.c: Avoid panic when there are extra items in
3329           the tcl stack [Bug #406709, Patch #414470]
3330         * tests/foreach.test: test to exercise the patch
3331
3332 2001-04-07  Miguel Sofer <msofer@users.sourceforge.net>
3333
3334         * doc/namespace.n: document correct functionality
3335         * generic/tclNamesp.c: corrected behaviour of [namespace code]
3336         (Bug #219385, Patch #403530)
3337         * library/init.tcl:
3338         * tests/namespace-old.test: test correct functionality
3339         * tests/namespace.test: test correct functionality
3340
3341 2001-04-07  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3342
3343         * unix/Makefile.in (checkdoc): New target, checking the
3344           definitions as found in the compiled library against the
3345           manpages to find undocumented public functionality.
3346
3347         * unix/mkLinks: Updated to include the new manpage.
3348
3349         * doc/UniCharIsAlpha.3: New manpage documenting the Unicode
3350           character classification APIs [Bug #218720].
3351
3352 2001-04-07  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3353
3354         * unix/mkLinks: Updated to incorporate the changes below.
3355
3356         * doc/StringObj.3: Added 'Tcl_AttemptSetObjLength' to the NAME
3357           section. [Bug #414435].
3358
3359         * doc/Alloc.3: Added both 'Tcl_AttemptAlloc' and
3360           'Tcl_AttemptRealloc' to the NAME section. [Bug #414435].
3361
3362         * doc/Utf.3: Added both 'Tcl_UniCharCaseMatch' and
3363           'Tcl_UniCharNcasecmp' to the NAME section. [Bug #414435].
3364
3365 2001-04-06  Don Porter  <dgp@users.sourceforge.net>
3366
3367         * library/init.tcl:
3368         * tests/init.test:  Modified processing of $::errorInfo by
3369         [unknown] when the auto-loaded command throws an error to better
3370         cover the tracks of auto-loading.  [Bug 219280, Patch 403551]
3371
3372 2001-04-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3373
3374         * doc/read.n: Added section on "USE WITH SERIAL PORTS" to resolve
3375         [Bug #219402]
3376
3377         * tests/string.test (string-2.30): Test for this case
3378         * generic/tclCmdMZ.c (Tcl_StringObjCmd, STR_COMPARE branch): Fixed
3379         problem caused by Utf-rep of \x00 being more than Utf-rep of \x01
3380         fooling memcmp by forcing everything through Utf-based
3381         comparisons.  Added optimizations for case where objects have a
3382         string/unicode-rep or a bytearray-rep (i.e. where we can perform
3383         comparisons on fixed-size units.) [Bug #219201]
3384         * generic/tclUtf.c (Tcl_UtfNcmp): Corrected seriously erroneous
3385         comment.
3386
3387 2001-04-05  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3388
3389         * doc/Macintosh.3: Removed duplicates from .SH line
3390           [Bug #413983]. 
3391
3392 2001-04-05  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3393
3394         * generic/tclCmdMZ.c (Tcl_StringObjCmd): Fixed so will compile
3395         with K&R compilers [Patch #413844, Bug #413847]
3396
3397 2001-04-04  Don Porter  <dgp@users.sourceforge.net>
3398
3399         * generic/tclMain.c:  Patch from Kevin Kenny to restore support of
3400           pre-ANSI compilers.  [Bug 413846, Patch 413842]
3401
3402 2001-04-04  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3403
3404         * unix/mkLinks: Updated to contain the new manpage.
3405
3406         * doc/Environment.3: New manpage, describes Tcl_PutEnv
3407           [Bug #219171]. 
3408
3409         * doc/Macintosh.3: New manpage describing the macintosh specific
3410           parts of the public API [Bug #219169].
3411
3412 2001-04-04  Jeff Hobbs  <jeffh@ActiveState.com>
3413
3414         * unix/configure:
3415         * unix/tcl.m4: extended test of termios vs. termio vs. sgtty to
3416         better detect result on Linux and when certain configure
3417         redirections are being used. (max) [Patch #402923; Bug #227412,
3418         #219194]
3419
3420 2001-04-04  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3421
3422         * generic/tclTest.c:
3423         * tests/io.tests: TIP #10 followup correcting a problem with the
3424           original patch because of the lack of 'testthread id' for a
3425           non-threaded compilation.
3426
3427 2001-04-04  Kevin Kenny <kennykb@acm.org>
3428
3429         * doc/ByteArrObj.3:
3430         * doc/DumpActiveMemory.3:
3431         * doc/InitStubs.3:
3432         * doc/PkgRequire.3:
3433         * doc/StringObj.3:
3434         * generic/tcl.decls:
3435         * generic/tcl.h:
3436         * generic/tclBinary.c:
3437         * generic/tclCkalloc.c:
3438         * generic/tclDecls.h:
3439         * generic/tclListObj.c:
3440         * generic/tclObj.c:
3441         * generic/tclPkg.c:
3442         * generic/tclStringObj.c:
3443         * generic/tclStubLib.c:
3444           (TIP#27) Changed a number of Tcl API's to accept "CONST char*"
3445           in place of simple "char*". (kennykb) [Patch #404026]
3446
3447 2001-04-04  Jeff Hobbs  <jeffh@ActiveState.com>
3448
3449         * generic/tclListObj.c (Tcl_SetListObj): set objPtr->length = 0 in
3450         empty object case to maintain sanctity of Tcl_Obj bytes/length
3451         pairing. (porter) [Patch #405998]
3452
3453 2001-04-03  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3454
3455         * unix/mkLinks: Added 'Signal.3', 'Tcl_WaitPid'.
3456
3457         * doc/DetachPids.3: Added description of 'Tcl_WaitPid' [Bug #219173].
3458
3459         * doc/Signal.3: New man page describing the public API procedures
3460           'Tcl_SignalId' and 'Tcl_SignalMsg' [Bug #219172].
3461
3462 2001-04-02  Jeff Hobbs  <jeffh@ActiveState.com>
3463
3464         * README:
3465         * win/README:
3466         * win/README.binary: further notes corrections.
3467
3468         * win/configure:
3469         * win/tcl.m4 (SHLIB_LD):  added -incremental:no. [Bug #219381]
3470
3471 2001-04-01  Jeff Hobbs  <jeffh@ActiveState.com>
3472
3473         * README:
3474         * mac/README:
3475         * win/README:
3476         * win/README.binary:
3477         * unix/README: updated patchlevel information to 8.4a3 and
3478         updated links and notes.
3479
3480         * generic/tcl.h:
3481         * tools/tcl.wse.in:
3482         * win/configure.in (VER):
3483         * win/configure:
3484         * unix/configure:
3485         * unix/configure.in (VER):
3486         * unix/tcl.spec: updated patchlevel information to 8.4a3
3487
3488 2001-03-30  Jeff Hobbs  <jeffh@ActiveState.com>
3489
3490         * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): set curTagPtr
3491         to NULL to allow for reuse.
3492         * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr
3493         initialization inside the subsystemsInitialized check to prevent
3494         it potentially getting called twice during finalization.  (wu)
3495         [Patch #403532, Bug #219391]
3496
3497         * generic/tclThreadTest.c (Tcl_ThreadObjCmd): cast fixes
3498         * generic/tclTest.c (TestChannelCmd): added cast to mollify
3499         Windows debug build.
3500
3501         * win/tclWinSock.c (SocketEventProc): Fixed race condition in
3502         readability of socket on Windows.
3503         [Patch #410674, Bug #219205 #219333]
3504
3505         * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support.
3506
3507         * win/Makefile.in (install-libraries): removed extra \s that broke
3508         the target.
3509         (install-doc): improved install-* targets to use their base build
3510         dependency.
3511
3512 2001-03-30  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3513
3514         * All of the changes below belong to TIP #10 [Tcl I/O Enhancement:
3515           Thread-Aware Channels]. See also [Patch #403358] at SF.
3516
3517         * generic/tclIO.h (struct ChannelState, line 236f): Extended the
3518           structure with a new field of type 'Tcl_ThreadId' to hold the id
3519           of the thread currently managing all channels with this state.
3520
3521           Note: This structure is shared by all channels in a stack of
3522           transformations.
3523
3524         * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified
3525           to store the Id of the current thread in the 'ChannelState' of
3526           the new channel.
3527
3528         * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified
3529           in the same manner as 'Tcl_CreateChannel' as the channel will be
3530           managed by the current thread afterward.
3531
3532         * generic/tclIO.c   (Tcl_GetChannelThread, lines 1478-1503):
3533         * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New
3534           API function to retrieve the Id of the managing thread from a
3535           channel. Implementation and declaration.
3536
3537         * generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added
3538           subcommand 'mthread' to query a channel about its managing
3539           thread.
3540
3541 2001-03-29  Mo DeJong  <mdejong@redhat.com>
3542
3543         * tests/interp.test: Print out warning when
3544         testinterpdelete command is not defined.
3545         Add tests that checks to make sure a
3546         child interp inherits the parent's cwd.
3547
3548 2001-03-29  Jeff Hobbs  <jeffh@gimlet.activestate.com>
3549
3550         * doc/tcltest.n: corrected incorrect macro usage.
3551
3552         * doc/lsort.n: corrected unbalanced nroff macros.
3553
3554         * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential race
3555         condition and security leak in tmp filename creation.
3556         (max) [Patch #402924]
3557
3558         * unix/configure:
3559         * unix/tcl.m4: corrected IRIX-5.x config to not use -n32.
3560         (english) [Patch #403626]
3561
3562         * unix/tclUnixThrd.c (Tcl_ConditionWait): fixed handling of
3563         timeout for threads (corrects excessive CPU usage issue for Tk on
3564         Unix in threaded Tcl environment). (ruppert) [Bug #411603]
3565
3566 2001-03-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3567
3568         * doc/lsort.n: Added some notes that clarify the behaviour of
3569         [lsort] as well as a whole bunch of examples.  [Bug #219202]
3570
3571 2001-03-27  Jeff Hobbs  <jeffh@gimlet.activestate.com>
3572
3573         * doc/Alloc.3: corrected docs to note that Tcl_Attempt* return
3574         char *'s, not ints. [Bug #411388]
3575
3576         * tests/regexp.test (regexp-19.1):
3577         * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): fixed handling of nulls
3578         in subspec value.
3579
3580 2001-03-26  Don Porter  <dgp@users.sourceforge.net>
3581
3582         * generic/tclDecls.h (Tcl_InitCustomHashTable):  Correction to
3583         patch from 2001-01-18;  tclDecls.h was not generated using
3584         'make genstubs'.
3585
3586 2001-03-26  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3587
3588         * win/tclWinInt.h (tclWinTCharEncoding): Removed as now a static
3589         variable in win/tclWin32Dll.c instead.
3590
3591 2001-03-23  Jeff Hobbs  <jeffh@activestate.com>
3592
3593         * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected retrieval of
3594         resultPtr to prevent possible corruption.
3595
3596         * generic/tclNamesp.c (Tcl_Import): Correctly freed a DString.
3597         (lavana) [Patch #403755]
3598
3599 2001-03-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3600
3601         * tests/set-old.test (set-old-7.2): Changed error behaviour of
3602         [unset] to agree with documentation, so must change test as well.
3603
3604 2001-03-14  Don Porter  <dgp@users.sourceforge.net>
3605
3606         * library/package.tcl (pkg_mkIndex):  Added patch from Vince
3607         Darley to make [pkg_mkIndex -verbose] even more verbose.
3608         [Bug 219349, Patch 403529]
3609
3610 2001-03-13  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3611
3612         * doc/info.n: Improved documentation for [info hostname].
3613         [Bug #403840]
3614
3615         * generic/tclVar.c (Tcl_UnsetObjCmd): Made command behave as
3616         documented [issue remaining from bug #405769]
3617
3618         * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing
3619         {return TCL_OK;} was causing memory corruption.  [Bug #408002]
3620
3621         * generic/tclExecute.c (TclDeleteExecEnv, GrowEvaluationStack,
3622         TclExecuteByteCode): Added some casts to ClientData that are
3623         apparently needed on some architectures.
3624
3625 2001-03-12  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3626
3627         * tests/string.test: Fixed some test numberings and added a test.
3628         [Patch #403229]
3629
3630 2001-03-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3631
3632         * generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to
3633         avoid a read off the end of the argument array that could occur
3634         when executing something like [unset -nocomplain] was executed.
3635         Improved the error message given when too few arguments are given
3636         (-nocomplain should obviously be *before* --, not after it) and
3637         also modified the test suite to take account of that and the
3638         documentation to use the same improvement. [Bug 405769]
3639
3640 2001-03-02  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3641
3642         * generic/tclExecute.c (TclExecuteByteCode): Fixed bug that could
3643         pass pointers to freed memory to command implementations, which
3644         most obviously caused some weird behaviour with [info level], but
3645         could have caused problems with user code and command traces too.
3646         [Bug 404865, Patch 405436]
3647
3648 2001-02-23  msofer  <msofer@users.sourceforge.net>
3649         * no changes; fixing up the missing comment in the previous one.
3650         Sorry.
3651
3652 2001-02-23  msofer  <msofer@ant.utdt>
3653
3654         * /cvsroot/tcl/tcl/tests/execute.test:
3655         added test for evaluation of an expression in a variable; evals once
3656         by compiling, second time using the previous compilation
3657
3658 2001-02-18  Kevin B. Kenny  <kennykb@acm.org>
3659
3660         * doc/clock.n: Updated documentation to reflect the addition of
3661         compat/strftime.c, including the correct formatting of
3662         ISO-8601:1988 fiscal week number (%V).
3663         
3664 2001-02-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3665
3666         * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Improved efficiency of
3667         splitting strings into individual characters by adding hash so
3668         that only one Tcl_Obj per character is created.  Improves
3669         performance of splitting of short strings and makes a huge
3670         difference to splitting of long strings, such as is done in the
3671         mime package in tcllib.  [Bug #131523]
3672
3673 2001-01-31  Don Porter  <dgp@users.sourceforge.net>
3674
3675         * win/makefile.vc (install-libraries):  Corrected misdirected
3676         install directory for the msgcat 1.2 package.
3677
3678 2001-01-30  Don Porter  <dgp@users.sourceforge.net>
3679
3680         * generic/tclIO.c (CopyData): Moved code that updates the count
3681         of how many bytes are left to copy.  Corrects bug that when
3682         writing occurs in the background, the copy loop could be
3683         escaped without updating the count, causing CopyData() to try
3684         to copy more bytes than the toRead value originally passed to
3685         TclCopyChannel(), leading to hangs and misreporting of number
3686         of bytes copied. [Bug 118203, Patch 103432]
3687
3688 2001-01-18  Andreas Kupries  <a.kupries@westend.com>
3689
3690         * Everything below belongs together, it fixes bug #123153.
3691
3692         * generic/tcl.h (line 342): A bit more explanation about the
3693           default value for TCL_PRESERVE_BINARY_COMPATABILITY.
3694
3695         * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable'
3696           only when TCL_PRESERVE_BINARY_COMPATIBILITY is not set
3697           as it kills binary compatibility to 8.3 and earlier
3698           versions. This is the main part of the patch/change.
3699
3700         * generic/tcl.decls (line 1469):
3701         * generic/tclHash.c (Tcl_InitHashTable):
3702         * generic/tclHash.c (Tcl_InitHashTableEx):
3703         * generic/tclObj.c (Tcl_InitObjHashTable): Changed
3704           'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change
3705           is more of an estethical nature, replacing the ubiquitous 'Ex'
3706           suffix with a more meaningful name. The introduced binary
3707           incompatibility is deemed acceptable as it is between alpha
3708           versions.  Updated callers.
3709
3710         * doc/Hash.3:
3711         * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to
3712           'Tcl_InitCustomHashTable'.
3713
3714 2001-01-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3715
3716         * tests/winPipe.test (winpipe-1.20): 
3717         * tests/winDde.test (createChildProcess): 
3718         * tests/pkgMkIndex.test (pkgtest::createIndex):  Removed
3719         assumption that paths contain no spaces which causes problems with
3720         both [eval] and [open |...] due to the well-known differences
3721         between lists and strings.  Fixes bug #119406
3722
3723 2001-01-04  Don Porter  <dgp@users.sourceforge.net>
3724
3725         * tests/unixInit.test:
3726         * unix/tclUnixInit.c (TclpInitLibraryPath):
3727         * win/tclWinInit.c (TclpInitLibraryPath):  Several entries in
3728         the library path ($tcl_libPath) are determined relative to the
3729         absolute path of the executable.  When the executable is
3730         installed in or near the root directory of the file system,
3731         relative pathnames were being incorrectly generated, and in
3732         the worst case, memory access violations were crashing the program.
3733         [Bug 119416, Patch 102972]
3734
3735         ******************************************************************
3736         *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"             ***
3737         *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
3738         ******************************************************************