OSDN Git Service

gdb/
[pf3gnuchains/pf3gnuchains3x.git] / tcl / ChangeLog.1999
1 1999-12-22  Jeff Hobbs  <hobbs@scriptics.com>
2
3         * changes: updated changes file
4         * tools/tclSplash.bmp: updated to show 8.3
5
6 1999-12-21  Jeff Hobbs  <hobbs@scriptics.com>
7
8         * README:
9         * generic/tcl.h:
10         * mac/README:
11         * unix/configure.in:
12         * tools/tcl.wse.in:
13         * win/README.binary:
14         * win/configure.in: updated to patch level 8.3b1
15
16         * unix/Makefile.in: added -srcdir=... for 'make html'
17
18         * doc/Hash.3: fixed reference to ckfree [Bug: 3912]
19         * doc/RegExp.3: fixed calling params for Tcl_RegExecFromObj
20         * doc/open.n: fixed minor formatting errors
21         * doc/string.n: fixed minor formatting errors
22
23         * doc/lsort.n: added -unique docs
24         * tests/cmdIL.test:
25         * generic/tclCmdIL.c: added -unique option to lsort
26
27         * generic/tclThreadTest.c: changed thread ids to longs [Bug: 3902]
28
29         * mac/tclMacOSA.c: fixed applescript for I18N [Bug: 3644]
30
31         * win/mkd.bat:
32         * win/rmd.bat: removed necessity of tag.txt [Bug: 3874]
33
34         * win/tclWinThrd.c: changed CreateThread to _beginthreadex and
35         ExitThread to _endthreadex
36
37 1999-12-12  Jeff Hobbs  <hobbs@scriptics.com>
38
39         * doc/glob.n:
40         * tests/fileName.test:
41         * generic/tclInt.decls:
42         * generic/tclInt.h:
43         * generic/tclIntDecls.h:
44         * generic/tclStubInit.c:
45         * generic/tclEncoding.c:
46         * generic/tclFileName.c:
47         * mac/tclMacFile.c:
48         * unix/tclUnixFile.c:
49         * win/tclWinFile.c: enhanced the glob command with the new options
50         -types -path -directory and -join.  Deprecated TclpMatchFiles with
51         TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added
52         GlobTypeData structure. [Bug: 2363]
53
54 1999-12-10  Jeff Hobbs  <hobbs@scriptics.com>
55
56         * tests/var.test:
57         * generic/tclCompile.c: fixed problem where setting to {} array
58         would intermittently not work. (Fontaine) [Bug: 3339]
59
60         * generic/tclCmdMZ.c:
61         * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to
62         recognize boolean objects. (Spjuth) [Bug: 2815]
63
64         * tests/info.test:
65         * tests/parseOld.test:
66         * generic/tclCmdAH.c:
67         * generic/tclProc.c: changed Tcl_UplevelObjCmd (uplevel) and
68         Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg
69         case as well, to take advantage of potential pure list input
70         optimization.  This means that it won't get byte compiled though,
71         which should be acceptable.
72         * generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in
73         the TCL_EVAL_DIRECT case for efficiency.
74         * generic/tclUtil.c: made Tcl_ConcatObj pure list object aware,
75         and return a list object in that case [Bug: 2098 2257]
76
77         * generic/tclMain.c: changed Tcl_Main to not constantly reuse the
78         commandPtr object (interactive case) as it could be shared. (Fellows)
79
80         * unix/configure.in:
81         * unix/tcl.m4:
82         * unix/tclUnixPipe.c: removed checking for compatible vfork
83         function and use of the vfork function.  Modern VM systems rarely
84         suffer any performance degradation when fork is used, and it
85         solves multiple problems with vfork.  Users that still want vfork
86         can add -Dfork=vfork to the compile flags. [Bug: 942 2228 1312]
87
88 1999-12-09  Jeff Hobbs  <hobbs@scriptics.com>
89
90         * win/aclocal.m4: made it just include tcl.m4
91
92         * doc/exec.n:
93         * doc/open.n:
94         * win/tclWin32Dll.c:
95         * win/tclWinChan.c:
96         * win/tclWinFCmd.c:
97         * win/tclWinInit.c:
98         * win/tclWinPipe.c:
99         * win/tclWinSock.c: removed all code that supported Win32s.  It
100         was no longer officially supported, and likely didn't work anyway.
101         * win/makefile.vc: removed 16 bit stuff, cleaned up.
102
103         * win/tcl16.rc:
104         * win/tclWin16.c:
105         * win/winDumpExts.c: these files have been removed from the
106         source tree (no longer necessary to build)
107
108 1999-12-07  Jeff Hobbs  <hobbs@scriptics.com>
109
110         * tests/io.test: removed 'knownBug' tests that were for
111         unsupported0, which is now fcopy (that already has tests)
112
113         * mac/tclMacPort.h: added utime.h include
114
115         * generic/tclDate.c:
116         * unix/Makefile.in: fixed make gendate to swap const with CONST
117         so it uses the Tcl defined CONST type [Bug: 3521]
118
119         * generic/tclIO.c: removed panic that could occur in FlushChannel
120         when a "blocking" channel would receive EAGAIN, instead treating
121         it the same as non-blocking. [Bug: 3773]
122
123         * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step
124         beyond the end of the counted string [Bug: 3336]
125
126 1999-12-03  Jeff Hobbs  <hobbs@scriptics.com>
127
128         * doc/load.n: added note about NT's buggy handling of './' with
129         LoadLibrary
130
131         * library/http2.1/http.tcl: fixed error handling in http::Event
132         [Bug: 3752]
133
134         * tests/env.test: removed knownBug limitation from working test
135         * tests/all.tcl: ensured that ::tcltest::testsDirectory would be
136         set to an absolute path
137
138         * tests/expr-old.test:
139         * tests/parseExpr.test:
140         * tests/string.test:
141         * generic/tclGet.c:
142         * generic/tclInt.h:
143         * generic/tclObj.c:
144         * generic/tclParseExpr.c:
145         * generic/tclUtil.c:
146         * generic/tclExecute.c: added TclCheckBadOctal routine to enhance
147         error message checking for when users use invalid octal numbers
148         (like 08), as well as replumbed the Expr*Funcs with a new
149         VerifyExprObjType to simplify type handling. [Bug: 2467]
150
151         * tests/expr.test:
152         * generic/tclCompile.c: fixed 'bad code length' error for
153         'expr + {[incr]}' case, with new test case [Bug: 3736]
154         and seg fault on 'expr + {[error]}' (different cause) that
155         was caused by a correct optimization that didn't correctly
156         track how it was modifying the source string in the opt.
157         The optimization was removed, which means that:
158                 expr 1 + {[string length abc]}
159         will be not be compiled inline as before, but this should be
160         written:
161                 expr {1 + [string length abc]}
162         which will be compiled inline for speed.  This prevents
163                 expr 1 + {[mindless error]}
164         from seg faulting, and only affects optimizations for
165         degenerate cases [Bug: 3737]
166
167 1999-12-01  Scott Redman <redman@scriptics.com>
168
169         * generic/tcl.decls :
170         * generic/tclMain.c :
171         * unix/tclAppInit.c: 
172         * win/tclAppInit.c: Added two new internal functions,
173         TclSetStartupScriptFileName() and TclGetStartupScriptFileName()
174         and added hooks into the main() code for supporting TclPro and
175         other "big" shells more easily without requiring a copy of the
176         main() code.
177         
178         * generic/tclEncoding.c:
179         * generic/tclEvent.c:  Moved encoding-related startup code from
180         tclEvent.c into the more appropriate tclEncoding.c.
181         
182 1999-11-30  Jeff Hobbs  <hobbs@scriptics.com>
183
184         * generic/tclIO.c: fix from Kupries for Tcl_UnstackChannel that
185         correctly handles resetting translation and encoding.
186
187         * generic/tclLoad.c: #def'd out the unloading of DLLs at finalize
188         time for Unix in TclFinalizeLoad. [Bug: 2560 3373]  Should be
189         parametrized to allow for user to specify unload or not.
190
191         * win/tclWinTime.c: fixed handling of %Z on NT for time zones
192         that don't have DST.
193
194 1999-11-29  Jeff Hobbs  <hobbs@scriptics.com>
195
196         * library/dde1.1/pkgIndex.tcl:
197         * library/reg1.0/pkgIndex.tcl: added supported for debugged
198         versions of the libraries
199
200         * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly set
201         isNonBlocking flag on pipe. [Bug: 1356 710]
202         removed spurious fcntl call from PipeBlockModeProc
203
204         * tests/scan.test:
205         * generic/tclScan.c: fixed scan where %[..] didn't match anything
206         and added test case [Bug: 3700]
207
208 1999-11-24  Jeff Hobbs  <hobbs@scriptics.com>
209
210         * doc/open.n:
211         * win/tclWinSerial.c: adopted patch from Schroedter to handle
212         fconfigure $sock -lasterror on Windows. [RFE: 3368]
213
214         * generic/tclCmdIL.c: made SORTMODE_INTEGER work with Longs
215         [Bug: 3652]
216
217 1999-11-23  Scott Stanton  <stanton@scriptics.com>
218
219         * library/tcltest1.0/tcltest.tcl: Fixed bug where tcltest output
220         went to stdout instead of the specified output file in some
221         cases.
222
223 1999-11-19  Jeff Hobbs  <hobbs@scriptics.com>
224
225         * generic/tclProc.c: backed out change from 1999-11-18 as it
226         could affect return string from upvar as well.
227
228         * tools/tcl.wse.in: added tcltest1.0 library to distribution list
229
230         * doc/http.n:
231         * library/http2.1/http.tcl:
232         * library/http2.1/pkgIndex.tcl: updated http package to 2.2
233
234 1999-11-18  Jeff Hobbs  <hobbs@scriptics.com>
235
236         * unix/tcl.m4: added defined for _THREAD_SAFE in --enable-threads
237         case; added check for pthread_mutex_init in libc; in AIX case,
238         with --enable-threads ${CC}_r is used; fixed flags when using gcc
239         on SCO
240
241         * generic/tclProc.c: corrected error reporting for default case
242         at the global level for uplevel command.
243
244         * generic/tclIOSock.c: changed int to size_t type for len
245         in TclSockMinimumBuffers.
246
247         * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value
248         on NULL input. [Bug: 3400]
249
250         * generic/tclStringObj.c: fixed support for passing in negative
251         length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380]
252
253         * doc/scan.n:
254         * tests/scan.test:
255         * generic/tclScan.c: finished support for inline scan by
256         supporting XPG identifiers.
257
258         * doc/http.n:
259         * library/http2.1/http.tcl: added register and unregister
260         commands to http:: package (better support for tls/SSL),
261         as well as -type argument to http::geturl. [RFE: 2617]
262
263         * generic/tclBasic.c: removed extra decr of numLevels in
264         Tcl_EvalObjEx that could cause seg fault. (mjansen@wendt.de)
265
266         * generic/tclEvent.c: fixed possible lack of MutexUnlock in
267         Tcl_DeleteExitHandler [Bug: 3545]
268
269         * unix/tcl.m4: Added better pthreads library check and inclusion
270         of _THREAD_SAFE in --enable-threads case
271         Added support for gcc config on SCO
272
273         * doc/glob.n: added note about ..../ glob behavior on Win9*
274         * doc/tcltest.n: fixed minor example errors [Bug: 3551]
275
276 1999-11-17 Brent Welch <welch@scriptics.com>
277         * library/http2.1/http.tcl: Correctly fixed the -timeout
278         problem mentioned in the 10-29 change.  Also added error
279         handling for failed writes on the socket during the protocol.
280
281 1999-11-09  Jeff Hobbs  <hobbs@scriptics.com>
282
283         * doc/open.n: corrected docs for 'a' open mode.
284
285         * generic/tclIOUtil.c: changed Tcl_Alloc to ckalloc
286
287         * generic/tclInt.h:
288         * generic/tclObj.c: rolled back changes from 1999-10-29
289         Purify noted new leaks with that code
290
291         * generic/tclParse.c: added code in Tcl_ParseBraces to test for
292         possible unbalanced open brace in a comment
293
294         * library/init.tcl: removed the installed binary directory from
295         the auto_path variable
296
297         * tools/tcl.wse.in: updated to 8.3a1, fixed install of twind.tcl
298         and koi8-r.enc files
299
300         * unix/tcl.m4: added recognition of pthreads library for AIX
301
302 1999-10-29  Brent Welch <welch@scriptics.com>
303         * generic/tclInt.h: Modified the TclNewObj and TclDecrRefCount
304         in two ways.  First, in the case of TCL_THREADS, we do not use
305         the special Tcl_Obj allocator because that is a source of 
306         lock contention.  Second, general code cleanup to eliminate
307         duplicated code. In particular, TclDecrRefCount now uses
308         TclFreeObj instead of duplicating that code, so it is now
309         identical to Tcl_DecrRefCount.
310
311         * generic/tclObj.c: Changed Tcl_NewObj so it uses the
312         TclNewObj macro instead of duplicating the code.  Adjusted
313         TclFreeObj so it understands the TCL_THREADS case described
314         above.
315
316         * library/http2.1/http.tcl: Fixed a bug in the handling of
317         the state(status) variable when the -timeout flag is specified.
318         Previously it was possible to leave the status undefined
319         instead of empty, which caused errors in http::status
320
321 1999-10-28  Jeff Hobbs  <hobbs@scriptics.com>
322
323         * unix/aclocal.m4: made it just include tcl.m4
324
325         * library/tcltest1.0/tcltest.tcl: updated makeFile to return
326         full pathname of file created
327
328         * generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA so it only
329         iterates once over the va_list (avoiding a memcpy of it,
330         which is not portable).
331
332         * generic/tclEnv.c: fixed possible ABR error in environ array
333
334         * tests/scan.test:
335         * generic/tclScan.c: added support for use of inline scan,
336         XPG3 currently not included
337
338         * tests/incr.test:
339         * tests/set.test:
340         * generic/tclCompCmds.c: fixed improper bytecode handling of
341         'eval {set array($unknownvar) 5}' (also for incr) [Bug: 3184]
342
343         * win/tclWinTest.c: added testvolumetype command, as atime is
344         completely ignored for Windows FAT file systems
345         * win/tclWinPort.h: added sys/utime.h to includes
346         * unix/tclUnixPort.h: added utime.h to includes
347         * doc/file.n:
348         * tests/cmdAH.test:
349         * generic/tclCmdAH.c: added time arguments to atime and mtime
350         file command methods (support 'touch' functionality)
351
352 1999-10-20  Jeff Hobbs  <hobbs@scriptics.com>
353
354         * unix/tclUnixNotfy.c: fixed event/io threading problems by
355         making triggerPipe non-blocking [Bug: 2792]
356
357         * library/tcltest1.0/tcltest.tcl:
358         * generic/tclThreadTest.c: fixed mem leaks in threads
359
360         * generic/tclResult.c: fixed Tcl_AppendResultVA so it only
361         iterates once over the va_list (avoiding a memcpy of it,
362         which is not portable).
363
364         * generic/regc_color.c: fixed mem leak and assertion, from HS
365
366         * generic/tclCompile.c: removed savedChar trick that appeared to
367         be causing a segv when the literal table was released
368
369         * tests/string.test:
370         * generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj
371         when indexing into one (test case string-5.16) [Bug: 2871]
372
373         * library/http2.1/http.tcl: protected gets with catch [Bug: 2665]
374
375 1999-10-19  Jennifer Hom  <jenn@scriptics.com>
376
377         * tests/tcltest.test:
378         * doc/tcltest.n:
379         * library/tcltest1.0/tcltest.tcl: Removed the extra return at the
380         end of the tcltest.tcl file, added version information about tcl.
381
382         Applied patches sent in by Andreas Kupries to add helper procs for
383         debug output, add 3 new flags (-testsdir, -load, -loadfile), and
384         internally refactors common code for dealing with paths into
385         separate procedures. [Bug: 2838, 2842]
386
387         Merged code from core-8-2-1 branch that changes the checks for the
388         value of tcl_interactive to also incorporate a check for the
389         existence of the variable.
390
391         * tests/autoMkindex.test:
392         * tests/pkgMkIndex.test: Explicitly cd to
393         ::tcltest::testsDirectory at the beginning of the test run
394
395         * tests/basic.test: Use version information defined in tcltest
396         instead of hardcoded version number
397
398         * tests/socket.test: package require tcltest before attempting to
399         use variable defined in tcltest namespace
400
401         * tests/unixInit.test: 
402         * tests/unixNotfy.test: Added explicit exits needed to avoid
403         problems when the tests area run in wish.
404         
405 1999-10-12  Jim Ingham  <jingham@scriptics.com>
406
407         * mac/tclMacLoad.c: Stupid bug - we converted the filename to
408         external, but used the unconverted version.
409         * mac/tclMacFCmd.c: Fix a merge error in the bug fix for [Bug: 2869]
410
411 1999-10-12  Jeff Hobbs  <hobbs@scriptics.com>
412
413         * generic/regc_color.c:
414         * generic/regc_cvec.c:
415         * generic/regc_lex.c:
416         * generic/regc_locale.c:
417         * generic/regcomp.c:
418         * generic/regcustom.h:
419         * generic/regerrs.h:
420         * generic/regex.h:
421         * generic/regexec.c:
422         * generic/regguts.h:
423         * generic/tclRegexp.c:
424         * generic/tclTest.c:
425         * tests/reg.test: updated to Henry Spencer's new regexp engine
426         (mid-Sept 99).  Should greatly reduce stack space reqs.
427
428         * library/tcltest1.0/pkgIndex.tcl: fixed procs in pkgIndex.tcl file
429
430         * generic/tclEnv.c: fixed mem leak with putenv and DStrings
431         * doc/Encoding.3: corrected docs
432         * tests/basic.test: updated test cases for 8.3
433         * tests/encoding.test: fixed test case that change system
434         encoding to a double-byte one (this causes a bogus mem read
435         error for purify)
436         * unix/Makefile.in: purify has to use -best-effort to instrument
437         * unix/tclAppInit.c: identified potential mem leak when compiling
438         tcltest (not critical)
439         * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when
440         doing alloc between vfork and execvp.
441         * unix/tclUnixTest.c: fixed mem leak in findexecutable test command
442
443 1999-10-05  Jeff Hobbs  <hobbs@scriptics.com>
444
445         * {win,mac,unix,tools,}/README:
446         * win/README.binary:
447         * win/makefile.vc:
448         * {win,unix}/configure.in:
449         * generic/tcl.h:
450         * library/init.tcl: updated to 8.3a1 from 8.2.0.
451
452         * library/http2.1/http.tcl: fixed possible use of global c var.
453
454         * win/tclWinReg.c: fixed registry command to properly 'get'
455         HKEY_PERFORMANCE_DATA root key data.  Needs more work.
456         
457         * generic/tclNamesp.c:
458         * generic/tclVar.c:
459         * generic/tclCmdIL.c: fixed comment typos
460
461         * mac/tclMacFCmd.c: fixed filename stuff to support UTF-8 [Bug: 2869]
462
463         * win/tclWinSerial.c: changed SerialSetOptionProc to return
464         TCL_OK by default. (patch from Rolf Schroedter)
465
466 1999-09-21  Jennifer Hom  <jenn@scriptics.com>
467
468         * library/tcltest1.0/tcltest.tcl: Applied patches sent in by
469         Andreas Kupries to fix typos in comments and ::tcltest::grep,
470         fix hook redefinition problems, and change "string compare" to
471         "string equal." [Bug: 2836, 2837, 2839, 2840]
472
473 1999-09-20  Jeff Hobbs  <hobbs@scriptics.com>
474
475         * tests/env.test:
476         * unix/Makefile.in: added support for AIX LIBPATH env var [Bug: 2793]
477         removed second definition of INCLUDE_INSTALL_DIR (the one that
478         referenced @includedir@) [Bug: 2805]
479         * unix/dltest/Makefile.in: added -lc to LIBS [Bug: 2794]
480
481 1999-09-16  Jeff Hobbs  <hobbs@scriptics.com>
482
483         * tests/timer.test: changed after delay in timer test 6.29 from
484         1 to 10. [Bug: 2796]
485
486         * tests/pkg.test:
487         * generic/tclPkg.c: fixed package version check to disallow 1.2..3
488         [Bug: 2539]
489
490         * unix/Makefile.in: fixed gendate target - this never worked
491         since RCS was intro'd.
492         * generic/tclGetDate.y: updated to reflect previous changes
493         to tclDate.c (leap year calc) and added CEST and UCT time zone
494         recognition.  Fixed 4 missing UCHAR() casts. [Bug: 2717, 954,
495         1245, 1249]
496
497         * generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really
498         dump to stderr and close it [Bug: 725] and changed Tcl_Ckrealloc
499         and Tcl_Ckfree to not bomb when NULL was passed in [Bug: 1719]
500         and changed Tcl_Alloc, et al to not panic when a alloc request
501         for zero came through and NULL was returned (valid on AIX, Tru64)
502         [Bug: 2795, etc]
503
504         * tests/clock.test:
505         * doc/clock.n:
506         * generic/tclClock.c: added -milliseconds switch to clock clicks
507         to guarantee that the return value of clicks is in the millisecs
508         granularity [Bug: 2682, 1332]
509
510 1999-09-15  Jeff Hobbs  <hobbs@scriptics.com>
511
512         * generic/tclIOCmd.c: fixed potential core dump in conjunction
513         with stacked channels with result obj manipulation in
514         Tcl_ReadChars [Bug: 2623]
515
516         * tests/format.test:
517         * generic/tclCmdAH.c: fixed translation of %0#s in format [Bug: 2605]
518
519         * doc/msgcat.n: fixed \\ bug in example [Bug: 2548]
520
521         * unix/tcl.m4:
522         * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition
523         [Bug: 2070] and fix for IRIX SHLIB_LB_LIBS. [Bug: 2610]
524
525         * doc/array.n:
526         * tests/var.test:
527         * tests/set.test:
528         * generic/tclVar.c: added an array unset operation, with docs
529         and tests.  Variation of [Bug: 1775].  Added fix in TclArraySet
530         to check when trying to set in a non-existent namespace. [Bug: 2613]
531
532 1999-09-14  Jeff Hobbs  <hobbs@scriptics.com>
533
534         * tests/linsert.test:
535         * doc/linsert.n:
536         * generic/tclCmdIL.c: fixed end-int interpretation of linsert
537         to correctly calculate value for end, added test and docs [Bug: 2693]
538
539         * doc/regexp.n:
540         * doc/regsub.n:
541         * tests/regexp.test:
542         * generic/tclCmdMZ.c: add -start switch to regexp and regsub
543         with docs and tests
544
545         * doc/switch.n: added proper use of comments to example.
546         * generic/tclCmdMZ.c: changed switch to complain when an error
547         occurs that seems to be due to a misplaced comment.
548
549         * generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions
550         in regsub [Bug: 2723]
551
552         * generic/tclCmdMZ.c: changed [string equal] to return an Int
553         type object (was a Boolean)
554
555 1999-09-01  Jennifer Hom  <jenn@scriptics.com>
556
557         * library/tcltest1.0/tcltest.tcl: Process command-line arguments
558         only ::tcltest doesn't have a child namespace (requires that
559         command-line args are processed in that namespace)
560
561 1999-09-01  Jeff Hobbs  <hobbs@scriptics.com>
562
563         * generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD
564         happy [Bug: 2625]
565         * generic/tclProc.c: moved static buf to better location and
566         changed static msg that would overflow in ProcessProcResultCode
567         [Bug: 2483] and added Tcl_DStringFree to Tcl_ProcObjCmd.
568         Also reworked size of static buffers.
569         * tests/stringObj.test: added test 9.11
570         * generic/tclStringObj.c: changed Tcl_AppendObjToObj to
571         properly handle the 1-byte dest and mixed src case where
572         both had had Unicode string len checks made on them.  [Bug: 2678]
573         * unix/aclocal.m4:
574         * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the
575         AIX-* case and readjusted the range
576
577 1999-08-31  Jennifer Hom  <jenn@scriptics.com>
578
579         * library/tcltest1.0/tcltest.tcl:
580         * doc/tcltest.n:
581         * tests/README: Modified testConstraints variable so that it isn't
582         unset every time ::tcltest::initConstraints is called and cleaned up
583         documentation in the README file and the man page.
584
585 1999-08-27  Jennifer Hom  <jenn@scriptics.com>
586
587         * tests/env.test:
588         * tests/exec.test:
589         * tests/io.test:
590         * tests/event.test:
591         * tests/tcltest.test: Added 'exit' calls to scripts that the tests 
592         themselves write, and removed accidental checkin of knownBugThreaded
593         constraints for Solaris and Linux.
594         
595         * library/tcltest1.0/tcltest.tcl:  Modified tcltest so that
596         variables are only initialized to their default values if they did
597         not previously exist. 
598
599 1999-08-26  Jennifer Hom  <jenn@scriptics.com>
600
601         * tests/tcltest.test:
602         * library/tcltest1.0/tcltest.tcl:  Added a -args flag that sets a
603         variable named ::tcltest::parameters based on whatever's being
604         sent in as the argument to the -args flag. 
605
606 1999-08-23  Jennifer Hom  <jenn@scriptics.com>
607
608         * tests/tcltest.test: Added additional tests for -tmpdir, marked
609         all tests that use exec as unixOrPc.
610
611         * tests/encoding.test:
612         * tests/interp.test: 
613         * tests/macFCmd.test:
614         * tests/parseOld.test:
615         * tests/regexp.test: Applied patches from Jim Ingham to add
616         encoding to a Mac only interp test, change an error message in
617         macFCmd.tet, put a comment in parseOld.test, fix tests using the
618         testencoding path command, and put unixOrPc constraints on tests
619         that use exec. 
620
621 1999-08-21  Jeff Hobbs  <hobbs@scriptics.com>
622
623         * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9]
624         [Bug: 1909]
625
626 1999-08-20  Jeff Hobbs  <hobbs@scriptics.com>
627
628         * generic/tclPosixStr.c: fixed typo [Bug: 2592]
629
630         * doc/*: fixed various nroff bugs in man pages [Bug: 2503 2588]
631
632 1999-08-19  Jeff Hobbs  <hobbs@scriptics.com>
633
634         * win/README.binary: fixed version info and some typos [Bug: 2561]
635         
636         * doc/interp.n: updated list of commands available in a safe
637         interpreter [Bug: 2526]
638
639         * generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide
640         headers (pleases HP cc)
641
642 1999-08-18  Jeff Hobbs  <hobbs@scriptics.com>
643
644         * doc/Eval.3: fixed doc on input args [Bug: 2114]
645
646         * doc/OpenFileChnl.3:
647         * doc/file.n:
648         * tests/cmdAH.test:
649         * tclIO.c:
650         * tclCmdAH.c: added "file channels ?pattern?" tcl command, with
651         associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public
652         C APIs (added to tcl.decls as well), with docs and tests.
653
654         * tests/expr.test:
655         * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types
656         that cause differed compilation for exprs, to correct the expr
657         double-evaluation problem for vars.  Added test cases.
658         Related to [Bug: 732]
659
660         * unix/Makefile.in: changed the dependency structure so that
661         install-* is dependent on * (ie - install-binaries is dependent
662         on binaries).
663         
664         * library/auto.tcl:
665         * library/init.tcl:
666         * library/ldAout.tcl:
667         * library/package.tcl:
668         * library/safe.tcl:
669         * library/word.tcl:
670         * library/http2.1/http.tcl:
671         * library/msgcat1.0/msgcat.tcl: updated libraries to better
672         Tcl style guide (no more string comparisons with == or !=, spacing
673         changes).
674
675 1999-08-05  Jim Ingham  <jingham@cygnus.com>
676
677         * mac/tclMacProjects.sea.hqx: Rearrange the projects so that the build
678         directory is separate from the sources.  Much more convenient!
679
680 1999-08-13  Scott Redman <redman@scriptics.com>
681
682         * /: 8.2.0 tagged for final release
683
684 1999-08-12  Scott Stanton  <stanton@scriptics.com>
685
686         * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make it
687         easier to turn on compiler tracing.
688
689         * tests/parse.test: 
690         * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset
691         was not being updated in cases where the evaluation returned a non
692         TCL_OK error code. [Bug: 2535]
693
694 1999-08-12  Scott Redman  <redman@scriptics.com>
695
696         * win/tclWinSerial.c: Applied patch from Petteri Kettunen to
697         remove compiler warning.
698
699 1999-08-10  Scott Redman  <redman@scriptics.com>
700
701         * generic/tclAlloc.c:
702         * generic/tclCmdIL.c:
703         * generic/tclIO.c:
704         * generic/tclThread.c:
705         * win/tclWinThrd.c:
706         * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on
707         Windows (and he fixed the bug in the Unix thread implementation).
708
709 1999-08-09  Brent Welch  <welch@scriptics.com>
710         
711         * generic/tcl.decls:
712         * generic/tclAlloc.c:
713         * generic/tclCkalloc.c:
714         * generic/tclCmdIL.c:
715         * generic/tclDecls.h: 
716         * generic/tclIO.c:
717         * generic/tclInt.decls:
718         * generic/tclIntDecls.h:
719         * generic/tclStubInit.c:
720         * generic/tclVar.c:
721         * mac/tclMacThrd.c:
722         * unix/tclUnixThrd.c:
723         * win/tclWinThrd.c: Added use of Tcl_GetAllocMutex to tclAlloc.c
724         and tclCkalloc.c so they can be linked against alternate thread
725         packages. Added Tcl_GetChannelNames to tclIO.c. Added
726         TclVarTraceExists hook so "info exists" triggers read traces
727         exactly like it did in Tcl 7.6. Stubs table changes to reflect new
728         internal and external APIs.
729
730 1999-08-09  Jeff Hobbs  <hobbs@scriptics.com>
731
732         * tests/string.test: added largest_int proc to adapt for >32 bit
733         machines and int overflow testing.
734         * tests/tcltest.test: fixed minor error in 8.2 result (from dgp)
735
736         * doc/Object.3: clarified Tcl_DecrRefCount docs [Bug: 1952]
737         * doc/array.n: clarified array pattern docs [Bug: 1330]
738         * doc/clock.n: fixed clock docs [Bug: 693]
739         * doc/lindex.n: clarified to account for new end-int behavior.
740         * doc/string.n: fixed formatting errors [Bug: 2188 2189]
741         * doc/tclvars.n: fixed doc error [Bug: 2042]
742         * library/init.tcl: fixed path handling in auto_execok (it could
743         miss including the normal path on some Windows machines) [Bug: 1276]
744
745 1999-08-05  Jeff Hobbs  <hobbs@scriptics.com>
746
747         * doc/tclvars.n: Made it clear that tcl_pkgPath was not set
748         for Windows (already mentioned in init.tcl) [Bug: 2455]
749         * generic/tclLiteral.c: fixed reference to bytes that might
750         not be null terminated (using objPtr->bytes, which is) [Bug: 2496]
751         * library/http2.1/http.tcl: Made use of "i" in init section use
752         local var and start at 0 (was 1). [Bug: 2502]
753
754 1999-08-04  Scott Stanton  <stanton@scriptics.com>
755
756         * tests/reg.test: Added test for REG_EXPECT bug fixed by Henry's
757         patch.
758
759         * generic/regc_nfa.c: 
760         * generic/regcomp.c: 
761         * generic/rege_dfa.c:
762         * generic/regexec.c: 
763         * generic/regguts.h: Applied patches supplied by Henry Spencer to
764         greatly enhance the performance of certain classes of regular
765         expressions. [Bug: 2440, 2447]
766
767 1999-08-03  Scott Redman  <redman@scriptics.com>
768
769         * win/tclWinInt.h: Remove function declarations in header that was
770         moved to tclInt.decls file in previous changes.
771
772 1999-08-02  Scott Redman  <redman@scriptics.com>
773
774         * unix/configure.in:
775         * win/configure.in: Change beta level to b2.
776         
777         * generic/tcl.h:
778         * generic/tcl.decls:
779         * generic/tclDecls.h:
780         * generic/tclInt.h:
781         * generic/tclInt.decls:
782         * generic/tclIntDecls.h:
783         * generic/tclRegexp.h:
784         * generic/tclStubInit.c: Move some exported public and internal
785         functions to the stub tables.  Removed functions that are in the
786         stub tables (from this and previous changes) from the original
787         header files.
788
789 1999-08-01  Scott Redman  <redman@scriptics.com>
790
791         * win/tclWinSock.c: Added comment block to SocketThread()
792         function.  Added code to avoid calling TerminateThread(), but
793         instead to send a message to the socket event window to tell it to
794         terminate its thread.
795
796 1999-07-30  Jennifer Hom  <jenn@scriptics.com>
797
798         * tests/tcltest.test:
799         * library/tcltest1.0/tcltest.tcl: Exit with non-zero status if
800         there were problems with the way the test suite was started
801         (e.g. wrong # arguments).  
802
803 1999-07-30  Jeff Hobbs  <hobbs@scriptics.com>
804
805         * generic/tclInt.decls: added declaractions necessary for the
806         Tcl test code to work wth stubs [Bug: 2445]
807
808 1999-07-30    <redman@scriptics.com>
809
810         * win/tclWinPipe.c:
811         * win/Makefile.in: Fixing launching of 16-bit apps on Win9x from
812         wish.  The command line was primed with tclpip82.dll, but it was
813         ignored.  Fixed that, then fixed the gmake makefile to build
814         tclpip82.dll as an executable.
815
816         * win/tclWinSock.c: Applied small patch to get thread-specific
817         data after initializing the socket driver.
818
819         * unix/tclUnixThrd.c: Applied patch to fix threads on Irix 6.5.
820         Patch from James Dennett.  [Bug: 2450]
821
822         * tests/info.test: Enable test for tclParse.c change (info
823         complete).
824         
825 1999-07-30    <hobbs@scriptics.com>
826
827         * tclIO.c: added fix for Kupries' trf patch [Bug: 2386]
828
829         * tclParse.c: fixed bug in info complete regarding nested square
830         brackets [Bug: 2382, 2466]
831         
832 1999-07-29    <redman@scriptics.com>
833
834         * win/tclWinChan.c: Allow tcl to open CON and NUL, even for std
835         channels.  Checking for bad/unusable std channels was moved to Tk
836         since its only purpose was to check whether to use the Tk Console
837         Window for the std channels.  [Bug: 2393 2392 2209 2458]
838
839         * unix/mkLinks.tcl: Applied patch to avoid linking pack.n to
840         pack-old.n.  Patch from Don Porter. [Bug: 2469]
841
842         * doc/Encoding.n: Applied patch to fix typo in .SH NAME line.
843         Patch from Don Porter.  [Bug: 2451]
844         
845         * win/tclWinSock.c:  Free Win32 Event handles when destroying
846         the socket helper thread.
847
848 1999-07-28    <jenn@scriptics.com>
849
850         * tests/tcltest.test:
851         * library/tcltest1.0/tcltest.tcl: Fixed the condition under which
852         ::tcltest::PrintError had an infinite loop problem and added a
853         test case for it.  Added an optional argument to
854         ::tcltest::getMatchingFiles telling it where to search for test
855         files. 
856
857 1999-07-27    <redman@scriptics.com>
858
859         * tools/tclSplash.bmp:  Updated Windows installer bitmap
860         to ready Tcl/Tk Version 8.2.
861
862 1999-07-26    <redman@scriptics.com>
863
864         * tests/tcltest.test:  Need to close the new core file, there
865         seems to be a hang in threaded WinNT if the file isn't closed.
866         Open issue, need to fix that hang.
867
868         * tests/httpold.test:  Add time delay in response from Http server
869         so that test cases can properly detect timeout conditions with
870         threads enabled on multi-CPU WinNT.
871
872         * tests/winFCmd.test:  Test case winFcmd-1.33 was looking for
873         c:\windows, which may not exist.  Instead, create a new directory
874         on c:\ and use it for the test.
875
876         * win/tclWinConsole.c:
877         * win/tclWinPipe.c:
878         * win/tclWinSock.c:  Fix terminating helper threads by holding any
879         mutexes from the primary thread while waiting for the helper
880         thread to terminate.  Without these changes, the test suite hangs
881         on WinNT with 2 CPUs and threads enabled.  Open issue, seems to be
882         a sporadic hang on dual CPU systems still (very rare).
883
884 1999-07-26  Jennifer Hom  <jenn@scriptics.com>
885
886         * tests/tcltest.test:
887         * library/tcltest1.0/tcltest.tcl:
888         * doc/tcltest.n: Cleaned up code in ::tcltest::PrintError, revised
889         documentation, and added tests for the tcltest package.
890
891 1999-07-23    <redman@scriptics.com>
892
893         * tests/info.test:
894         * generic/tclParse.c:  Removed patch for info command, breaks test
895         cases on Unix.  Patch was bad and needs to be redone
896         properly. [Bug: 2382]
897
898 1999-07-22    <redman@scriptics.com>
899
900         * Changed version to 8.2b2.
901
902         * win/tclWinSock.c: Fixed hang with threads enabled, fixed
903         semaphores with threads disabled.
904
905         * win/safe.test: Fixed safe-6.3 with threads enabled.
906         
907         * win/Makefile.in:  Fixed calling of tcltest to fix safe.test
908         failures due to path TCL_LIBRARY path.
909
910         * win/tclWinPort.h: Block out include of sys/*.h in order to
911         build extensions with MetroWerks compiler for Win32. [Bug: 2385]
912         
913         * generic/tclCmdMZ.c:
914         * generic/tclIO.c: Fix ANSI-style prototypes based on patch from
915         Ulrich Ring.  [Bug: 2391]
916         
917         * unix/Makefile.in: Need to make install-sh executable before
918         calling (with chmod +x).  [Bug: 2413]
919         
920         * tests/var.test:
921         * generic/tclVar.c:  Fixed bug that caused a seg. fault when using
922         "array set a(b) {}", which is a bad array name anyway.  Now the
923         "array set" command will return an error in this case.  Added test
924         case and fixed existing test. [Bug: 2427]
925
926 1999-07-21    <redman@scriptics.com>
927
928         * tests/info.test:
929         * generic/tclParse.c:  Applied patch to fix "info complete"
930         for the string {[a [b]}.  Patch from Peter Spjuth. [Bug: 2382]
931
932         * doc/Utf.3:
933         * generic/tcl.decls:
934         * generic/tclDecls.h:
935         * generic/tclUtf.c: Changed function declarations in
936         non-platform-specific public APIs to use "unsigned long" instead of
937         "size_t", which may not be defined on certain compilers (rather
938         than include sys/types.h, which may not exist).
939         
940         * unix/Makefile.in: Added the Windows configure script to the
941         distribution file list, already shipping configure.in and the .m4
942         files, but needed the configure script itself.
943         
944         * win/makefile.vc: Changed version number of DDE package in VC++
945         makefile to use 1.1 instead of 1.0.
946
947         * doc/open.n: Added documentation of \\.\comX notation for opening
948         serial ports on Windows (alternative to comX:).
949         
950         * tests/ioCmd.test:
951         * doc/open.n:
952         * win/tclWinSerial.c: Applied patch from Rolf Schroedter to add
953         -pollinterval option to fconfigure to modify the maxblocktime used
954         in the fileevent polling. Added documentation and fixed the test
955         case as well.
956         
957         * win/tclWinSock.c: Modified 8.1.0 version of the Win32 socket
958         driver to move the handling of the socket event window in a
959         separate thread.  It also turned out that Win95 & Win98 were, in
960         some cases, getting multiple FD_ACCEPTs but only handling one.
961         Added a count for the FD_ACCEPT to take care of this.  Tested on
962         NT4 SP3, NT4 SP4, Win95, and Win98.
963         [Bug: 2178 2256 2259 2329 2323 2355]
964
965 1999-07-21    <jpeek@scriptics.com>
966
967         * README: Small tweaks to clean up typos and wording.
968
969 1999-07-20  Melissa Hirschl  <hershey@matisse.scriptics.com>
970
971         * generic/tclInitScript.h: 
972         * unix/tclUnixInit.c: merged code with 8.0.5.  We now use an
973         intermediate global tcl var "tclDefaultLibrary" to keep the
974         "tcl_library" var from being set by the default value in the
975         Makefile.  Also fixed a bug in which caused the value of
976         TCL_LIBRARY env var to be ignored.
977         * unix/tclWinInit.c: just updated some comments.
978
979 1999-07-19  Melissa Hirschl  <hershey@matisse.scriptics.com>
980
981         * library/http2.1/http.tcl: updated -useragent text to say version
982         2.1.
983
984 1999-07-16    <redman@scriptics.com>
985
986         * generic/tcl.decls:
987         * generic/tclDecls.h:
988         * generic/tclStubInit.c:  Add Tcl_SetNotifier to stub table.
989         [Bug: 2364]
990         
991         * unix/aclocal.m4:
992         * unix/tcl.m4:  Add check for Alpha/Linux to correct the IEEE
993         floating flag to the compiler, should be -mieee.  Patch from Don
994         Porter.
995         
996         * tools/tcl.hpj.in: Change version number of .cnt file referenced
997         in .HPJ file.
998
999 1999-07-15    <redman@scriptics.com>
1000         
1001         * tools/tcl.wse.in: Fixed naming of target files for Windows.
1002
1003 1999-07-14    <jpeek@scriptics.com>
1004
1005         * doc/re_syntax.n: Deleted sentence as suggested by Scott S.
1006
1007 1999-07-12    <jpeek@scriptics.com>
1008
1009         * doc/re_syntax.n: Removed two notes to myself (oops), cleaned
1010         up wording, fixed changebars, made two examples easier to read.
1011
1012 1999-07-11    <redman@scriptics.com>
1013
1014         * win/makefile.vc: Since the makefile.vc should continue to work
1015         while we're working out bugs/issues in the new TEA-style
1016         autoconf/configure/gmake build mechanism for Windows, the version
1017         numbers of the Tcl libraries need to remain in sync.  Modified the
1018         version numbers in the makefile to reflect the change to 8.2b1.
1019
1020 1999-07-09    <redman@scriptics.com>
1021
1022         * win/configure.in: Eval DLLSUFFIX, LIBSUFFIX, and EXESUFFIX in
1023         the configure script so that substitutions get expanded before
1024         being placed in the Makefile.  The "d" portion for debug libraries
1025         and DLLs was not being set properly.
1026         
1027 1999-07-08    <stanton@scriptics.com>
1028
1029         * tests/string.test: 
1030         * generic/tclCmdMZ.c: Fixed bug in string range bounds checking
1031         code.
1032
1033 1999-07-08  Jennifer Hom  <jenn@scriptics.com>
1034
1035         * doc/tcltest.n:
1036         * library/tcltest1.0/tcltest.tcl: Removed -asidefromdir and
1037         -relateddir flags, removed unused ::tcltest::dotests proc, cleaned
1038         up implementation of core file checking, and fixed the code that
1039         checks for 1-letter flag abbreviations.
1040
1041 1999-07-08    <stanton@scriptics.com>
1042
1043         * win/Makefile.in: Added tcltest target so runtest works
1044         properly.  Added missing names to the clean/distclean targets.
1045
1046         * tests/reg.test: 
1047         * generic/rege_dfa.c: Applied fix supplied by Henry Spencer for
1048         bug in DFA state caching under lookahead conditions.  [Bug: 2318]
1049
1050 1999-07-07    <stanton@scriptics.com>
1051
1052         * doc/fconfigure.n: Clarified default buffering behavior for the
1053         standard channels. [Bug: 2335]
1054
1055 1999-07-06    <redman@scriptics.com>
1056
1057         * win/tclWinSerial.c:  New implementation of serial port driver
1058         from Rolf Shroedter (Rolf.Schroedter@dlr.de) that allows more than
1059         one byte to be read from the port.  Implemented using polling
1060         instead of threads, there is a max. 10ms latency between checking the
1061         port for file events.  [Bug: 1980 2217]
1062
1063 1999-07-06    <welch@scriptics.com>
1064
1065         * library/http2.0/http.tcl: Fixed the -timeout option so it
1066         handles timeouts that occur during connection attempts to
1067         hosts that are down (the only case that really matters!)
1068
1069 1999-07-03    <welch@scriptics.com>
1070
1071         * doc/ChnlStack.3:
1072         * generic/tcl.decls:
1073         * generic/tclIO.c: Added a new variant of the "Trf patch"
1074         from Andreas Kupres that adds new C APIs Tcl_StackChannel,
1075         Tcl_UnstackChannel, and Tcl_GetStackedChannel.
1076
1077 1999-07-03    <welch@scriptics.com>
1078
1079         * generic/tclNotify.c:
1080         * unix/tclUnixNotfy.c:
1081         * unix/tclXtTest.c:
1082         * unix/tclXtNotify.c:
1083         * win/tclWinNotify.c:
1084         * mac/tclMacNotify.c: Added Tcl_SetNotifier and the associated
1085         hook points in the notifiers to be able to replace the notifier
1086         calls at runtime  The Xt notifier and test program use this hook.
1087
1088 1999-07-03    <welch@scriptics.com>
1089
1090         * generic/tclParse.c: Changed parsing of variable names to
1091         allow empty array names.  Now "$(foo)" is a variable reference!
1092         Previous you had to use something like $::(foo), which is slower.
1093         This change is requested by Jean-Luc Fontaine for his STOOOP
1094         package.
1095
1096 1999-07-01    <redman@scriptics.com>
1097
1098         * generic/tclCmdAH.c:
1099         * generic/tclFCmd.c: Call TclStat instead of TclpStat in order to
1100         allow Tcl_Stat hooks to work properly.
1101
1102 1999-06-29  Jennifer Hom  <jenn@scriptics.com>
1103
1104         * library/tcltest1.0/pkgIndex.tcl:
1105         * library/tcltest1.0/tcltest.tcl:
1106         * doc/tcltest.n:
1107         * tests/all.tcl: Added -preservecore, -limitconstraints, -help,
1108         -file, -notfile, -relateddir and -asidefromdir flags to the
1109         tcltest package along with exported proc
1110         ::tcltest::getMatchingFiles.  The documentation was modified to
1111         match and all.tcl was modified to use the new functionality
1112         instead of implementing -file itself. 
1113
1114 1999-06-28    <redman@scriptics.com>
1115
1116         * generic/tclIndexObj.c:
1117         * doc/GetIndex.3:
1118         * tests/binary.test:
1119         * tests/winDde.test: Applied patch from Peter Hardie (with
1120         changes) to fix problem with Tcl_GetIndexFromObj() when the key
1121         being passed is the empty string.  It used to match "" and return
1122         TCL_OK, but it should have returned TCL_ERROR instead.  Added test
1123         case to "binary" and "dde" commands to check the behavior.  Added
1124         documentation note as well.
1125
1126 1999-06-26    <redman@scriptics.com>
1127
1128         * win/tclWinDde.c: Applied patch from Peter Hardie to add poke
1129         command to dde.  Also rev'd version of dde package to 1.1.
1130         [Bug: 1738]
1131
1132 1999-06-25  Jennifer Hom  <jenn@scriptics.com>
1133
1134         * unix/Makefile.in:
1135         * win/Makefile.in:
1136         * library/tcltest1.0/pkgIndex.tcl:
1137         * library/tcltest1.0/tcltest.tcl:
1138         * library/tcltest1.0: Added initial implementation of the Tcl test
1139         harness package.  This package was based on the defs.tcl file that
1140         was part of the tests directory. Reversed the way that tests were
1141         evaluated to fix a problem with false passes.
1142
1143         * doc/tcltest.n: Added documentation for the tcltest package.
1144
1145         * tests/README:
1146         * tests/defs.tcl:
1147         * tests/all.tcl: Modified all test files (tests/*.test) and
1148         all.tcl to use the new tcltest package and removed references to
1149         the defs.tcl file. Modified the README file to point to the man
1150         page for tcltest. 
1151         
1152 1999-06-25    <stanton@scriptics.com>
1153
1154         * tests/reg.test: 
1155         * generic/regexec.c: Fixed bugs in non-greedy quantifiers.
1156
1157 1999-06-23    <jpeek@scriptics.com>
1158
1159         * doc/re_syntax.n:
1160         * doc/switch.n:
1161         * doc/lsearch.n:
1162         * doc/RegExp.3:
1163         * doc/regexp.n:
1164         * doc/regsub.n: Moved information about syntax of 8.1 regular
1165         expressions from regexp(n) manpage into new re_syntax(n) page.
1166         Added pointers from other manpages to new re_syntax(n) page.
1167
1168 1999-06-23    <stanton@scriptics.com>
1169
1170         * unix/Makefile.in: Changed install-doc to install-man.
1171
1172         * tools/uniParse.tcl: 
1173         * tools/uniClass.tcl: 
1174         * tools/README: 
1175         * tests/string.test: 
1176         * generic/regc_locale.c: 
1177         * generic/tclUniData.c: 
1178         * generic/tclUtf.c: 
1179         * doc/string.n: Updated Unicode character tables to reflect latest
1180         Unicode 2.1 data.  Also rationalized "regexp" and "string is"
1181         definitions of character classes.
1182
1183 1999-06-21    <stanton@scriptics.com>
1184
1185         * unix/tclUnixThrd.c (TclpThreadCreate): Fixed memory leak where
1186         thread attributes were not being released. [Bug: 2254]
1187
1188 1999-06-17    <stanton@scriptics.com>
1189
1190         * tests/regexp.test: 
1191         * generic/tclCmdMZ.c: 
1192         * generic/tclCmdIL.c: Changed to use new regexp interfaces.  Added
1193         -expanded, -line, -linestop, and -lineanchor switches to regsub.
1194
1195         * doc/RegExp.3: Documented the new regexp interfaces and
1196         the compile/execute flags.
1197         
1198         * generic/tclTest.c: 
1199         * generic/tclRegexp.h:
1200         * generic/tclRegexp.c: 
1201         * generic/tcl.h: 
1202         * generic/tcl.decls: Renamed Tcl_RegExpMatchObj to
1203         Tcl_RegExpExecObj and added a new Tcl_RegExpMatchObj that is
1204         equivalent to Tcl_RegExpMatch.  Added public macros for the regexp
1205         compile/execute flags.  Changed to store either an object pointer
1206         or a string pointer in the TclRegexp structure.  Changed to avoid
1207         adding a reference to the object or copying the string.
1208
1209         * generic/regcomp.c: lint
1210
1211         * tests/reg.test: 
1212         * generic/regex.h: 
1213         * generic/regc_lex.c: Added REG_BOSONLY flag to allow Expect to
1214         iterate through a string an only find matches that start at the
1215         current position within the string.
1216
1217 1999-06-16  <wart@scriptics.com>
1218
1219         * unix/configure.in:
1220         * unix/Makefile.in:
1221         * unix/tcl.m4:
1222         * unix/aclocal.m4: Numerous build changes to make Tcl conform to the
1223         proposed TEA spec
1224
1225 1999-06-16  Melissa Hirschl  <hershey@matisse.scriptics.com>
1226
1227         * generic/tclVar.c (Tcl_VariableObjCmd): fixed premature increment
1228         in loop that was causing out-of-bounds reads on array "varName".
1229
1230 1999-06-16    <stanton@scriptics.com>
1231
1232         * tests/execute.test:
1233         * generic/tclExecute.c (TclExecuteByteCode): Fixed crash caused by
1234         a bug in INST_LOAD_SCALAR1 where the scalar index was read as
1235         a signed 1 byte value instead of unsigned.  [Bug: 2243]
1236
1237 1999-06-14  Melissa Hirschl  <hershey@matisse.scriptics.com>
1238
1239         * doc/StringObj.3
1240         * test/stringObj.test
1241         * unix/Makefile.in
1242         * win/Makefile.in
1243         * win/makefile.vc
1244         * generic/tclStringObj.c:
1245         Merged String and Unicode object types.  Added new functions to
1246         the puplic API:  Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
1247         Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
1248         Tcl_AppendUnicodeToObj.
1249
1250 1999-06-09    <stanton@scriptics.com>
1251
1252         * generic/tclUnicodeObj.c: Lots of cleanup and simplification.
1253         Fixed several memory bugs.  Added TclAppendUnicodeToObj.  
1254
1255         * generic/tclInt.h: Added declarations for various Unicode string
1256         functions.  
1257
1258         * generic/tclRegexp.c: 
1259         * generic/tclCmdMZ.c: Changed to use new Unicode string interfaces
1260         for better performance. 
1261         
1262         * generic/tclRegexp.h: 
1263         * generic/tclRegexp.c: 
1264         * generic/tcl.h: 
1265         * generic/tcl.decls: Added Tcl_RegExpMatchObj and
1266         Tcl_RegExpGetInfo calls to access lower level regexp API.  These
1267         features are needed by Expect.  This is a preliminary
1268         implementation pending final review and cleanup.
1269
1270         * generic/tclCmdMZ.c:
1271         * tests/string.test: Fixed bug where string map failed on null
1272         strings.
1273
1274         * generic/regexec.c: 
1275         * unix/tclUnixNotfy.c: lint
1276
1277         * tools/genStubs.tcl: Changed to always write output in LF mode.
1278
1279 1999-06-08    <stanton@scriptics.com>
1280
1281         * win/tclWinSock.c: Rolled back to the 8.1.0 implementation
1282         because of serious problems with the new driver.  Basically no
1283         incoming socket connections would be reported to a server port.
1284         The 8.1.1 code needs to be redesigned and fixed correctly.
1285
1286 1999-06-07  Melissa Hirschl  <hershey@matisse.scriptics.com>
1287
1288         * tests/string.test: 
1289         * generic/tclVar.c (Tcl_SetVar2Ex):
1290         * generic/tclStringObj.c (Tcl_AppendObjToObj):
1291         * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string
1292         index, string length, string range, and append command in cases
1293         where the object's internal rep is a bytearray.  Objects with
1294         other internal reps are converted to have the new unicode internal
1295         rep.  
1296
1297         * unix/Makefile.in: 
1298         * win/Makefile.in: 
1299         * win/Makefile.vc: 
1300         * tests/unicode.test: 
1301         * generic/tclInt.h:
1302         * generic/tclObj.c:
1303         * generic/tclUnicodeObj.c: added a new object type to store the
1304         unicode representation of a string.
1305
1306         * generic/tclTestObj.c: added the objtype option to the testobj
1307         command.  This option returns the name of the type of internal rep
1308         an object has.
1309
1310 1999-06-04    <stanton@scriptics.com>
1311
1312         * win/configure.in: 
1313         * win/Makefile.in: Windows build now handles static/dynamic
1314         debug/nodebug builds and supports the standard targets using
1315         Cygwin user tools plus GNU make and autoconf.
1316
1317 1999-06-03    <stanton@scriptics.com>
1318
1319         * generic/tclCmdMZ.c (Tcl_StringObjCmd): 
1320         * tests/string.test: Fixed bug where string equal/compare -nocase
1321         reported wrong result on null strings. [Bug: 2138]
1322
1323 1999-06-02    <stanton@scriptics.com>
1324
1325         * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation
1326         of relative ordering. [Bug: 2135]
1327
1328 1999-06-01    <stanton@scriptics.com>
1329
1330         * unix/configure.in: Fixed various small configure.in patches
1331         submitted by Jan Nijtmans. [Bug: 2121]
1332
1333         * tests/reg.test: 
1334         * generic/regc_color.c: 
1335         * generic/regc_cvec.c: 
1336         * generic/regc_lex.c: 
1337         * generic/regc_locale.c: 
1338         * generic/regc_nfa.c: 
1339         * generic/regcomp.c: 
1340         * generic/regcustom.h: 
1341         * generic/rege_dfa.c: 
1342         * generic/regerror.c: 
1343         * generic/regerrs.h: 
1344         * generic/regex.h: 
1345         * generic/regexec.c: 
1346         * generic/regfree.c: 
1347         * generic/regfronts.c: 
1348         * generic/regguts.h: 
1349         * generic/tclCmdMZ.c: 
1350         * generic/tclRegexp.c: 
1351         * generic/tclRegexp.h: 
1352         * generic/tclTest.c: Applied Henry Spencer's latest regexp patches
1353         that fix an infinite loop bug and add support for testing whether
1354         a string could match with additional input.  [Bug: 2117]
1355
1356 1999-05-28    <stanton@scriptics.com>
1357
1358         * generic/tclObj.c: Changed to eliminate use of isupper/tolower in
1359         favor of the Unicode versions.
1360
1361         * win/Makefile.in:
1362         * win/configure.in: Added preliminary TEA implementation.
1363
1364         * win/tclWinDde.c: Fixed bug where dde calls were being passed an
1365         invalid dde handle because Initialize had not been called.
1366         [Bug: 2124]
1367
1368 1999-05-26    <redman@scriptic.com>
1369
1370         * generic/tclThreadTest.c: Fixed race condition in testthread
1371         code that showed up in the WinNT test suite intermittently.
1372
1373         * win/tclWinSock.c: Fixed a hang in the WinNT socket driver, wake
1374         up the socket thread every 100ms to check for events on the
1375         sockets that did not wake up the thread (race condition).
1376
1377 1999-05-24    <stanton@scriptics.com>
1378
1379         * tools/genStubs.tcl: Changed to allow a list of platforms instead
1380         of just one at a time.
1381
1382         * generic/tcl.decls: 
1383         * generic/tclCmdMZ.c: 
1384         * generic/tclDecls.h: 
1385         * generic/tclInt.decls: 
1386         * generic/tclIntDecls.h: 
1387         * generic/tclPort.h: 
1388         * generic/tclStubInit.c: 
1389         * generic/tclStubLib.c: Various header file related changes and other
1390         lint to try to get the Mac builds working.
1391
1392 1999-05-21    <redman@scriptics.com>
1393
1394         * win/tclWinPipe.c: Fix bug when launching command.com on
1395         Win95/98.  Need to wait for the procInfo.hProcess of the process that
1396         was created, not the hProcess of the current process.  [Bug: 2105]
1397
1398 1999-05-20    <redman@scriptics.com>
1399
1400         * library/init.tcl: Add the directory where the executable is, and
1401         the ../lib directory relative to that, to the auto_path variable.
1402         
1403 1999-05-19    <stanton@scriptics.com>
1404
1405         Merged in various changes submitted by Jeff Hobbs:
1406         
1407         * generic/tcl.decls: 
1408         * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control,
1409         graph, print, and punct classes.
1410
1411         * generic/tclUtil.c:
1412         * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to
1413         support case-insensitive globbing.
1414         
1415         * doc/string.n: 
1416         * unix/mkLinks: 
1417         * tests/string.test: 
1418         * generic/tclCmdMZ.c: Added additional character class tests,
1419         added -nocase switch to "string match", changed string first/last
1420         to use offsets.
1421
1422 1999-05-19    <redman@scriptics.com>
1423
1424         * generic/tcl.h: Add extern "C" block around entire header file for
1425         C++ compilers to fix linkage issues.  Submitted by Don Porter and
1426         Paul Duffin.
1427
1428         * generic/tclRegexp.c: Fix bug when the regexp cache is empty
1429         and an empty pattern is used in regexp ( such as {} or "" ).
1430
1431 1999-05-18    <stanton@scriptics.com>
1432
1433         * win/tclWinChan.c: Modified initialization code to avoid
1434         inherenting closed or invalid channels.  If the standard input is
1435         anything other than a console, file, serial port, or pipe, then we
1436         fall back to the standard Tk window console.
1437
1438 1999-05-14    <stanton@scriptics.com>
1439
1440         * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by
1441         failure to reset the result before evaluating the test
1442         expression. 
1443
1444 1999-05-14    <surles@scriptics.com>
1445
1446         * generic/tclBasic.c (Tcl_CreateInterp): Added introspection
1447         variable for threaded interps.  If the interp was compiled with
1448         threads enabled, the tcl_platform(threaded) variable will exist.
1449
1450 1999-05-14    <redman@scriptics.com>
1451
1452         * generic/tclDate.c: Applied patch to fix 100-year and 400-year
1453         boundaries in leap year code, from Isaac Hollander.  [Bug: 2066]
1454
1455 1999-05-13    <stanton@scriptics.com>
1456
1457         * unix/Makefile.in:
1458         * unix/tclAppInit.c: Minor cleanup related to Xt notifier.
1459         
1460         * unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for
1461         an encoding subfield in the LANG/LC_ALL variables in cases where
1462         the locale is not found in the locale table.  Ensure that
1463         setlocale() is called at least once so X11 will initialize
1464         properly.  Also, forces the LC_NUMERIC locale to be "C" so numeric
1465         processing in scripts is not affected by the current locale
1466         setting. [Bug: 1989]
1467
1468         * generic/tclRegexp.c: Increased per-thread regexp cache to 30
1469         slots.  This seems to be about the right number for larger
1470         applications like exmh.  [Bug: 1063]
1471
1472 1999-05-12    <stanton@scriptics.com>
1473
1474         * doc/tclsh.1: Updated references to rc script names to accurately
1475         reflect the platform differences on Windows.
1476
1477         * tests/regexp.test: 
1478         * generic/tclInt.h: 
1479         * generic/tclBasic.c: 
1480         * generic/tclRegexp.h:
1481         * generic/tclRegexp.c: Replaced the per-interpreter regexp cache
1482         with a per-thread cache.  Changed the Regexp object to take
1483         advantage of this extra cache.  Added a reference count to the
1484         TclRegexp type so regexps can be shared by multiple objects.
1485         Removed the per-interp regexp cache from the interpreter.  Now
1486         regexps can be used with no need for an interpreter. [Bug: 1063]
1487
1488         * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserName
1489         if the value can be determined from the USERNAME environment
1490         variable.  GetUserName is very slow.
1491
1492 1999-05-07    <stanton@scriptics.com>
1493
1494         * win/winDumpExts.c: 
1495         * win/makefile.vc: Removed incorrect patch. [Bug: 1998]
1496         
1497         * generic/tcl.decls: Replaced const with CONST.
1498
1499         * generic/tclResult.c (Tcl_AppendResultVA): 
1500         * generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy
1501         arglist using memcpy instead of assignment so it works properly on
1502         OS/390. [Bug: 1997]
1503
1504         * generic/tclLoadNone.c: Updated to use current interfaces, added
1505         TclpUnloadFile. [Bug: 2003]
1506
1507         * win/winDumpExts.c: 
1508         * win/makefile.vc: Changed to emit library name in defs
1509         file. [Bug: 1998]
1510
1511         * unix/configure.in: Added fix for OS/390. [Bug: 1976]
1512
1513 1999-05-06    <stanton@scriptics.com>
1514
1515         * tests/string.test: 
1516         * generic/tclCmdMZ.c: 
1517         * doc/string.n: Fixed bug in string equal/compare code when using
1518         -length option.  Cleaned up docs a bit more.
1519
1520         * tests/http.test: Unset "data" array before running tests to
1521         avoid failures due to previous tests.
1522
1523         * doc/string.n: 
1524         * tests/cmdIL.test: 
1525         * tests/cmdMZ.test: 
1526         * tests/error.test: 
1527         * tests/ioCmd.test: 
1528         * tests/lindex.test: 
1529         * tests/linsert.test: 
1530         * tests/lrange.test: 
1531         * tests/lreplace.test: 
1532         * tests/string.test: 
1533         * tests/cmdIL.test: 
1534         * generic/tclUtil.c: 
1535         * generic/tclCmdMZ.c: Replaced "string icompare/iequal" with
1536         -nocase and -length switches to "string compare/equal".  Added a
1537         -nocase option to "string map".  Changed index syntax to allow
1538         integer or end?-integer? instead of a full expression.  This is
1539         much simpler with safeTcl scripts since it avoids double
1540         substitution issues.
1541
1542         * doc/Utf.3: 
1543         * generic/tclStubInit.c: 
1544         * generic/tclDecls.h: 
1545         * generic/tclUtf.c:
1546         * generic/tcl.decls: Added Tcl_UtfNcmp and Tcl_UtfNcasecmp.
1547
1548 1999-05-05    <stanton@scriptics.com>
1549
1550         * win/makefile.vc: Added encoding directory to install-libraries
1551         target.
1552
1553 1999-05-03    <stanton@scriptics.com>
1554
1555         * doc/string.n: 
1556         * tests/cmdMZ.test: 
1557         * tests/string.test: 
1558         * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed "string length"
1559         to avoid regenerating the string rep of a ByteArray object.
1560         
1561         * tests/cmdIL.test: 
1562         * tests/cmdMZ.test: 
1563         * tests/error.test: 
1564         * tests/lindex.test:
1565         * tests/linsert.test: 
1566         * tests/lrange.test: 
1567         * tests/lreplace.test: 
1568         * tests/string.test: 
1569         * generic/tclCmdMZ.c (Tcl_StringObjCmd): 
1570         * generic/tclUtil.c (TclGetIntForIndex): Applied Jeff Hobbs's
1571         string patch which includes the following changes [Bug: 1845]:
1572         
1573             - string compare now takes optional length arg (for strncmp
1574                 behavior)
1575                             
1576             - added string equal (just a few lines of code blended
1577                 in with string compare)
1578             
1579             - added string icompare/iequal for case-insensitive comparisons
1580             
1581             - string index's index can now be ?end[+-]?expression
1582                 I made this change in the private TclGetIntForIndex,
1583                 which means that the list commands also benefit, as
1584                 well as string range, et al.
1585             
1586             - added [string repeat string count]
1587                 Repeats given string  number of times
1588             
1589             - added string replace, string equiv to lreplace
1590               (quasi opposite of string range):
1591                         string replace first last ?string?
1592                 Example of use, replacing end of string with ...
1593                 should the string be more than 16 chars long:
1594                         string replace $string 16 end "..."
1595                 This just returns the string len < 16, so it
1596                 will only affect the long strings.
1597             
1598             - added optional first and last args to string to*
1599                 This allows you to just affect certain regions of
1600                 a string with the command (like just capping the
1601                 first letter).  I found the original totitle to
1602                 be too draconian to be useful.
1603             
1604             - added [string map charMap string]
1605                 where charMap is a {from to from to} list that equates to
1606                 what one might get from [array get].  Each  and 
1607                 can be multiple chars (or none at all).  For Tcl/CGI users,
1608                 this is a MAJOR speed booster.
1609         
1610         * generic/tclParse.c (Tcl_ParseCommand): Changed to avoid
1611         modifying eval'ed strings that are already null terminated.
1612         [Bug: 1793] 
1613
1614         * tests/binary.test: 
1615         * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where
1616         type was not being set in duplicated object. [Bug: 1975, 2047]
1617
1618 1999-04-30    <stanton@scriptics.com>
1619         
1620         * Changed version to 8.1.1.
1621         
1622 1999-04-30    <stanton@scriptics.com>
1623
1624         * Merged changes from 8.1.0 branch:
1625
1626         * generic/tclParse.c: Fixed memory leak in CommandComplete.
1627
1628         * generic/tclPlatDecls.h: 
1629         * generic/tclIntPlatDecls.h: 
1630         * generic/tclIntDecls.h: 
1631         * generic/tclDecls.h: 
1632         * tools/genStubs.tcl: Added 'extern "C" {}' block around the stub
1633         table pointer declaration so the stub library can be used from
1634         C++. [Bug: 1934]
1635
1636         * Lots of documentation and other release engineering fixes.
1637
1638 1999-04-28    <stanton@scriptics.com>
1639
1640         * mac/tclMacResource.c: 
1641         * generic/tclListObj.c: 
1642         * generic/tclObj.c: 
1643         * generic/tclStringObj.c: Changed to avoid freeing the string
1644         representation before freeing the internal rep.  This helps with
1645         debugging since the string rep will still be valid when the free
1646         proc is invoked.
1647
1648 1999-04-27    <stanton@scriptics.com>
1649
1650         * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals
1651         get duplicated to avoid accidental sharing in the global object
1652         table. 
1653
1654 1999-04-23    <stanton@scriptics.com>
1655
1656         * generic/tclStubInit.c: 
1657         * tools/genStubs.tcl: Changed to avoid the need for forward
1658         declarations in stub initializers.
1659
1660 1999-04-23    <stanton@scriptics.com>
1661
1662         * library/encoding/koi8-r.enc:
1663         * tools/encoding/koi8-r.txt: Added support for the koi8-r Cyrillic
1664         encoding. [Bug: 1771]
1665
1666 1999-04-22    <stanton@scriptics.com>
1667
1668         * win/tclWinFCmd.c:
1669         * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that
1670         is the actual keyword.  This eliminates the need for some -D flags
1671         from the makefile.
1672
1673         * generic/tclPort.h: Added include of tcl.h since it defines
1674         various Windows macros that are needed before deciding which
1675         platform porting file to use.
1676
1677         * generic/tclEvent.c: lint
1678
1679         * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInit
1680         when building a static library since DllMain will not be invoked.
1681         This could break old code that explicitly called TclWinInit, but
1682         should be simpler in the long run.
1683
1684 1999-04-22  Scott Stanton  <stanton@scriptics.com>
1685
1686         * generic/tclInt.h: 
1687         * generic/tclInt.decls: 
1688         * generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a
1689         hook procedure to invoke after compilation but before the byte
1690         codes are emitted.  This makes it possible to do postprocessing on
1691         the compiled byte codes before the ByteCode is generated.
1692
1693         * generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj
1694         to make it possible to create local unshared literal objects.
1695         
1696         * win/tclWinInit.c:
1697         * unix/tclUnixInit.c: Changed initial search path to match that
1698         found used by tcl_findLibrary.
1699
1700 1999-04-22    <redman@scriptics.com>
1701
1702         * win/tclWinPort.h:
1703         * win/tclWinSock.c: Added code to use WinSock 2.0 API on NT to
1704         avoid creating a window to handle sockets.  API not available on
1705         Win95 and needs to be fixed on Win98, until then continue to use
1706         the older (window-based) scheme on those two OSes.
1707         
1708 1999-04-15    <stanton@scriptics.com>
1709
1710         * Merged 8.1 back into the main trunk
1711
1712 1999-04-13    <stanton@scriptics.com>
1713
1714         * library/encoding/gb2312.enc:
1715         * library/encoding/euc-cn.enc:
1716         * tools/encoding/gb2312.txt:
1717         * tools/encoding/cp950.txt:
1718         * tools/encoding/Makefile: Restored the double byte definition of
1719         GB2312 and added the EUC-CN encoding.  EUC-CN is a variant of
1720         GB2312 that shifts the characters into bytes with the high bit set
1721         and includes ASCII as a subset. [Bug: 632]
1722
1723 1999-04-13    <redman@scriptics.com>
1724
1725         * win/tclWinSock.c: Apply patch to allow write access to a socket
1726         if FD_WRITE is sent but FD_CONNECT is not.  Some strange problem
1727         with either Win32 or a socket driver.  [Bug: 1664 1776]
1728
1729 1999-04-09    <redman@scriptics.com>
1730
1731         * unix/tclUnixNotfy.c: Fixed notifier deadlock situation when the
1732         pipe used to talk back notifier thread is filled with data.  When
1733         calling the write() function to feed data down that pipe, unlock
1734         the notifierMutex to allow the notifier to wake up again.  Found
1735         as a result of the focus.test for Tk hanging. [Bug: 1700]
1736
1737 1999-04-06    <stanton@scriptics.com>
1738
1739         * tests/unixNotfy.test: Fixed hang in tests when built with thread
1740         support. 
1741
1742         * tests/httpold.test: Fixed broken test that didn't wait long
1743         enough for events to arrive.
1744
1745         * tests/unixInit.test: Fixed race condition in test.
1746         
1747         * tests/unixInit.test: 
1748         * tests/fileName.test: Minor test nits.
1749
1750         * unix/tclUnixInit.c (TclpSetInitialEncodings): Fixed bad initial
1751         encoding string.
1752
1753 1999-04-06    <surles@scriptics.com>
1754
1755         * generic/tclVar.c: 
1756         * generic/tclEnv.c: Moved the "array set" C level code into a
1757         common routine (TclArraySet).  The TclSetupEnv routine now uses
1758         this API to create an env array w/ no elements.
1759
1760         * generic/tclEnv.c:
1761         * generic/tclWinInit.h:
1762         * generic/tclUnixInit.h:
1763         * generic/tclInt.h: Made the Env module I18N compliant.  Changed the
1764         FindVariable routine to TclpFindVariable, that now does a case
1765         insensitive string comparison on Windows, and not on UNIX. [Bug:
1766         1299, 1500]
1767
1768 1999-04-05    <stanton@scriptics.com>
1769
1770         * tests/io.test: Minor test cleanup.
1771
1772         * generic/tclEncoding.c (Tcl_CreateEncoding): Minor lint to make
1773         it easier to compile on Digital-unix. [Bug: 1659]
1774
1775         * unix/configure.in: 
1776         * unix/tclUnixPort.h: Applied patch for OS/390 to handle lack of
1777         sys/param.h. [Bug: 1725]
1778
1779         * unix/configure.in: Fixed BSD/OS 4.* configuration to support
1780         shared libraries properly. [Bug: 1730]
1781         
1782 1999-04-05    <redman@scriptics.com>
1783
1784         * win/tclWinDde.c: decrease timeout value for DDE calls to 30k
1785         [Bug: 1639]
1786
1787         * generic/tcl.decls:
1788         * generic/tcl.h:
1789         * generic/tclDecls.h:
1790         * generic/tclInt.decls:
1791         * generic/tclInt.h:
1792         * generic/tclIntDecls.h:
1793         * generic/tclStubInit.c:
1794         * generic/tclUtil.c: Added more functions to the Tcl stubs table,
1795         including all Tcl_ functions not already in it (except Cmd
1796         functions) and Tcl_GetCwd() and Tcl_Chdir() (new functions).
1797         
1798         * tests/safe.test:
1799         * doc/safe.n:
1800         * generic/tclBasic.c:
1801         * library/safe.tcl: The encoding command is not safe as-is, so
1802         create a safe alias to mask out the "encoding system <name>" but
1803         allow all other uses including "encoding system". Added test cases
1804         and updated the man page for Safe Tcl.
1805
1806 1999-04-05    <stanton@scriptics.com>
1807
1808         * tests/winTime.test: 
1809         * win/tclWinTime.c: Fixed crash in clock command that occurred
1810         when manipulating negative time values in timezones east of
1811         GMT. [Bug: 1142, 1458]
1812         
1813         * tests/platform.test: 
1814         * tests/fileName.test: Fixed broken tests.
1815         
1816         * generic/tclFileName.c: Moved global regexps into thread local
1817         storage.
1818
1819         * tests/socket.test: Changed so tests don't reuse sockets,
1820         since Windows is slow to release sockets.
1821
1822         * win/tclWinConsole.c: 
1823         * win/tclWinPipe.c: 
1824         * win/tclWinSerial.c: Fixed race condition where background
1825         threads were terminated while they still held a lock in the
1826         notifier. 
1827
1828 1999-04-02    <stanton@scriptics.com>
1829
1830         * tests/http.test: Fixed bad test initialization code.
1831
1832         * generic/tclThreadTest.c (ThreadExitProc): Fixed bug where static
1833         memory was being returned instead of a dynamically allocated
1834         result in error cases.
1835
1836 1999-04-02    <redman@scriptics.com>
1837
1838         * doc/dde.n:
1839         * tools/tcl.wse.in:
1840         * win/makefile.vc:
1841         * win/pkgIndex.tcl:
1842         * win/tclWinDde.c:  Add new DDE package, code removed from Tk now
1843         separated into its own package.  Changed DDE-based send code into
1844         "dde eval" command.  Can be loaded into tclsh (not just wish).
1845         Windows only.
1846
1847 1999-04-02    <stanton@scriptics.com>
1848
1849         * tests/expr.test: 
1850         * tests/for-old.test: 
1851         * tests/for.test: 
1852         * tests/foreach.test: 
1853         * tests/format.test: 
1854         * tests/httpold.test: 
1855         * tests/if.test: 
1856         * tests/init.test: 
1857         * tests/interp.test: 
1858         * tests/while.test:  Added some tests for known bugs (marked with
1859         knownBug constraint), and cleaned up a few bad tests.
1860
1861         * generic/regc_locale.c: 
1862         * generic/regcustom.h: 
1863         * generic/tcl.decls: 
1864         * generic/tclCmdIL.c: 
1865         * generic/tclCmdMZ.c: 
1866         * generic/tclInt.h: 
1867         * generic/tclRegexp.c: 
1868         * generic/tclScan.c: 
1869         * generic/tclTest.c:
1870         * generic/tclUtf.c: 
1871         * win/tclWinFCmd.c: 
1872         * win/tclWinFile.c: Made various Unicode utility functions
1873         public. The following functions were made public and added to the
1874         stubs table: 
1875                 Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString,
1876                 Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum,
1877                 Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower,
1878                 Tcl_UniCharIsSpace, Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar
1879
1880 1999-04-01    <stanton@scriptics.com>
1881
1882         * tests/registry.test: 
1883         * win/tclWinReg.c: Internationalized the registry code.  It now
1884         uses Unicode interfaces on NT. [Bug: 1197]
1885
1886         * tests/parse.test: 
1887         * generic/tclParse.c: Fixed crash due to multiple frees in parser
1888         during error cleanup when parsing commands with more tokens than
1889         will fit in the static area of the parse structure. [Bug: 1681]
1890
1891         * generic/tclInt.h: Removed duplicate declarations.
1892
1893         * generic/tclInt.decls: 
1894         * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf
1895         to the tclPlat table.
1896
1897 1999-04-01    <redman@scriptics.com>
1898
1899         * generic/tcl.decls:
1900         * generic/tcl.h:
1901         * generic/tclBasic.c:
1902         * generic/tclDecls.h:
1903         * generic/StubInit.c:
1904         * tools/genStubs.tcl:
1905         * unix/Makefile.in:
1906         * win/makefile.vc: Applied patch from Jan Nijtmans to fix Ultrix
1907         multiple symbol definition problem.  Now, even Tcl includes a copy
1908         of the Tcl stub library.  Also fixed TCL_MEM_DEBUG mode (for Tk).
1909
1910 1999-03-31    <redman@scriptics.com>
1911
1912         * win/tclWinConsole.c: WinNT has a bug when reading a single
1913         character from the console.  Rewrote the code for the console to
1914         read an entire line at a time using the reader thread.
1915
1916 1999-03-30    <stanton@scriptics.com>
1917
1918         * unix/Makefile.in: Removed trailing backslash that broke the
1919         "depend" target.
1920
1921         * unix/tclUnixInit.c (TclpSetInitialEncodings): Changed to avoid
1922         calling setlocale().  We now look directly at env(LANG) and
1923         env(LC_CTYPE) instead. [Bug: 1636]
1924
1925         * generic/tclFileName.c: 
1926         * generic/tclDecls.h: 
1927         * generic/tcl.decls: Removed CONST from Tcl_JoinPath and
1928         Tcl_TranslateFileName because it changes the signature of
1929         Tcl_JoinPath in an incompatible manner.
1930
1931         * generic/tclInt.h: 
1932         * generic/tclLoad.c (TclFinalizeLoad): 
1933         * generic/tclEvent.c (Tcl_Finalize): Defer unloading of loadable
1934         modules until all exit handlers have been invoked.
1935         [Bug: 998, 1273, 1573, 1593]
1936
1937 1999-03-29    <stanton@scriptics.com>
1938
1939         * generic/tclFileName.c: 
1940         * generic/tclDecls.h: 
1941         * generic/tcl.decls: Added CONST to Tcl_JoinPath and
1942         Tcl_TranslateFileName.
1943
1944 1999-03-29    <redman@scriptics.com>
1945
1946         * tools/genStubs.tcl:
1947         * unix/configure.in:
1948         * unix/Makefile.in:
1949         * win/makefile.vc:
1950         * generic/tcl.h:
1951         * generic/tclBasic.c:
1952         * generic/tclDecls.h:
1953         * generic/tclIntDecls.h:
1954         * generic/tclPlatDecls.h:
1955         * generic/tclIntPlatDecls.h: Removed the stub functions and
1956         changed the stub macros to just use the name without params. Pass
1957         &tclStubs into the interp (don't use tclStubsPtr because of
1958         collisions with the stubs on Solaris).
1959         
1960 1999-03-27    <redman@scriptics.com>
1961
1962         * win/makefile.bc: Removed makefile for Borland compiler, no
1963         longer supported.
1964
1965 1999-03-26    <redman@scriptics.com>
1966
1967         * win/tclWinSerial.c:
1968         * win/tclWinConsole.c:
1969         * win/tclWinPipe.c: Don't close the Win32 handle for a channel if
1970         it's a stdio handle (GetStdHandle()) during shutdown of a thread
1971         to prevent it from destroying the stdio of other threads.
1972
1973 1999-03-26    <suresh@scriptics.com>
1974
1975         * unix/configure.in
1976         --nameble-shared is now the default and build Tcl as a shared
1977         library; specify --disable-shared to build a static Tcl library
1978         and shell.
1979
1980 1999-03-25    <stanton@scriptics.com>
1981
1982         * tests/interp.test: 
1983         * generic/tclInterp.c (AliasObjCmd): Changed so aliases are
1984         invoked at current scope in the target interpreter instead of at
1985         the global scope.  This was an incompatibility introduced in 8.1
1986         that is being removed. [Bug: 1153, 1556]
1987         
1988         * library/encoding/big5.enc:
1989         * library/encoding/gb2312.enc:
1990         * tools/encoding/big5.enc:
1991         * tools/encoding/gb2312.enc: Added ASCII to big5 and gb2312
1992         encodings. [Bug: 632]
1993         
1994         * generic/tclPkg.c (Tcl_PkgRequireEx): Fixed broken clientData
1995         initialization in package code.
1996
1997         * unix/Makefile.in (dist): Added tcl.decls and tclInt.decls to
1998         source distribution. [Bug: 1571]
1999
2000         * doc/Thread.3: Updated documentation of Tcl_MutexLock to indicate
2001         that the recursive locking behavior is undefined.  On Windows, it
2002         does not block, on Unix it deadlocks. [Bug: 1275]
2003
2004 1999-03-24    <stanton@scriptics.com>
2005
2006         * tests/execute.test: 
2007         * generic/tclExecute.c (TclExecuteByteCode): Fixed expression code
2008         that incorrectly returned floating point values for integers if
2009         the internal rep happened to be a double.  Now we check to see if
2010         the object has a string rep that looks like an integer before
2011         using the double internal rep. [Bug: 1516]
2012
2013 1999-03-24    <redman@scriptics.com>
2014
2015         * generic/tclAlloc.c:
2016         * generic/tclEncoding.c:
2017         * generic/tclProc.c:
2018         * unix/tclUnixTime.c:
2019         * win/tclWinSerial.c: Fixed compilation warnings/errors for VC++
2020         5.0 and 6.0 and HP-UX native compiler without -Aa or -Ae. 
2021         [Bug: 1323 1518 1324 1583 1585 1586]
2022
2023         * win/tclWinSock.c: Make sockets thread-safe on Windows. The
2024         current implementation uses windows to handle events on the
2025         socket, one for each thread (thread local storage). Previously,
2026         there was only one window shared between threads, which didn't
2027         work. [Bug: 1326]
2028
2029 1999-03-23    <stanton@scriptics.com>
2030
2031         * tools/tcl.wse: Fixed file association to look in the right place
2032         for the wish icon. [Bug: 1544]
2033
2034         * tests/winNotify.test: 
2035         * tests/ioCmd.test: 
2036         * tests/event.test: Changed to use new style conditionals.
2037
2038         * tests/encoding.test: Fixed nonportable test.
2039
2040         * unix/dltest/configure.in: 
2041         * unix/dltest/Makefile.in: Added missing DBGX macros. [Bug: 1564]
2042
2043         * tests/winNotify.test: 
2044         * mac/tclMacNotify.c: 
2045         * win/tclWinNotify.c: 
2046         * unix/tclUnixNotfy.c:
2047         * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface
2048         that is invoked whenever the service mode changes.  This is needed
2049         to allow the Windows notifier to create a communication window the
2050         first time Tcl is about to enter an external modal event loop
2051         instead of at startup time.  This will avoid the various problems
2052         that people have been seeing where the system hangs when tclsh
2053         is running outside of the event loop. [Bug: 783]
2054
2055         * generic/tclInt.h: 
2056         * generic/tcl.decls: Renamed TclpAlertNotifier back to
2057         Tcl_AlertNotifier since it is part of the public notifier driver
2058         API.
2059
2060 1999-03-23    <redman@scriptics.com>
2061
2062         * win/tclWinSerial.c: Fixed problem with fileevent on the serial
2063         port and nonblocking mode.  Gets no longer hangs, fileevents fire
2064         whenever there is any character data on the port.
2065         
2066         * tests/winConsole.test:
2067         * win/tclWinConsole.c: Fixed problem with fileevents and gets from
2068         a console stdin.  Previously, fileevents were firing before an
2069         entire line was available for reading, which meant that when you
2070         did a gets or read, it blocked (even in nonblocking mode). Now, it
2071         should work the same as Unix: fileevents fire when an entire line
2072         is ready, and gets and read do not block in non-blocking mode.
2073         Added an interactive test case to check for this.
2074
2075 1999-03-22    <stanton@scriptics.com>
2076
2077         * tests/reg.test: 
2078         * generic/regc_color.c: Applied regexp bug fix from Henry Spencer.
2079
2080 1999-03-19    <redman@scriptics.com>
2081
2082         * generic/tclCmdIL.c: Fixed the initialization of an array so that
2083         the Sun 5.0 C compiler wouldn't complain.
2084
2085         * unix/configure.in: Added support for --enable-64bit.  For now,
2086         this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun 
2087         compiler (not gcc).
2088         
2089 1999-03-18    <stanton@scriptics.com>
2090
2091         * win/tclWinChan.c (TclpOpenFileChannel, Tcl_MakeFileChannel):
2092         Changed to only test for console or comm handles when the type is
2093         FILE_TYPE_CHAR to avoid useless tests on simple files.  Also
2094         reordered tests so consoles are tested first as this is more
2095         common.
2096
2097         * win/makefile.vc: Regularized usage of mkd and rmd and rm.
2098
2099         * library/encoding/shiftjis.enc: 
2100         * tools/encoding/shiftjis.txt: Missing/incorrect characters in
2101         shift-jis table. [Bug: 1008, 1526]
2102
2103         * generic/tclInt.decls:
2104         * generic/tcl.decls: Eliminated use of "string" and "list" from
2105         argument lists to avoid conflicts with C++ STL. [Bug: 1181]
2106
2107         * win/tclWinFile.c (TclpMatchFiles): Changed to ignore the
2108         FS_CASE_IS_PRESERVED bit and always return exactly what we get
2109         from the system.
2110
2111 1999-03-17    <stanton@GASPODE>
2112
2113         * win/README.binary: 
2114         * win/README: 
2115         * unix/configure.in: 
2116         * generic/tcl.h: 
2117         * README: Updated version to 8.1b3.
2118
2119 1999-03-14    <stanton@GASPODE>
2120
2121         * win/tclWinConsole.c: 
2122         * win/tclWinPipe.c: 
2123         * win/tclWinSerial.c: Changed so channel drivers wait for the
2124         reader/writer threads to exit before returning during a close
2125         operation.  This ensures that the main thread is the last thread
2126         to exit, so the process return value is set properly.
2127
2128         * generic/tclIntDecls.h: 
2129         * generic/tclIntPlatDecls.h: 
2130         * generic/tclIntPlatStubs.c: 
2131         * generic/tclIntStubs.c: 
2132         * generic/tclPlatDecls.h: 
2133         * generic/tclPlatStubs.c: 
2134         * generic/tclStubInit.c: 
2135         * generic/tclStubs.c: Fixed bad eol characters.
2136         
2137         * generic/tclInt.decls: Changed "const" to "CONST" in
2138         declarations for better portability.
2139
2140         * generic/tcl.decls: Renamed panic and panicVA to Tcl_Panic and
2141         Tcl_PanicVA in the stub files.
2142
2143         * generic/tclInterp.c (Tcl_MakeSafe): Remove tcl_platform(user)
2144         from safe interps.
2145
2146 1999-03-11    <stanton@GASPODE>
2147
2148         * unix/Makefile.in:
2149         * unix/configure.in: Include compat files in the stub library in
2150         addition to the main library.  Compat files are now built for
2151         dynamic use in all cases.
2152         
2153         * generic/tcl.h: Changed magic number so it doesn't match the plus
2154         patch, at Jan's request.
2155         
2156         * unix/tclConfig.sh.in:
2157         * unix/dltest/Makefile.in:
2158         * unix/dltest/configure.in:
2159         * unix/dltest/pkga.c:
2160         * unix/dltest/pkgb.c:
2161         * unix/dltest/pkgc.c:
2162         * unix/dltest/pkgd.c:
2163         * unix/dltest/pkge.c:
2164         * unix/dltest/pkgf.c: Changed package tests to build against the
2165         stubs library.
2166
2167 1999-03-10    <stanton@GASPODE>
2168
2169         * generic/tcl.h: 
2170         * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to
2171         macros so it can be used in .rc files.
2172         Added Tcl_GetString.
2173
2174         * mac/tclMacNotify.c:
2175         * generic/tclNotify.c:
2176         * generic/tclInt.h: 
2177         * win/tclWinNotify.c: 
2178         * generic/tcl.h: Renamed Tcl_AlertNotifier to TclpAlertNotifier.
2179
2180         * generic/tclInt.decls: Added TclWinAddProcess to make it possible
2181         for expect to use Tcl_WaitForPid().  This patch is from Gordon
2182         Chaffee. 
2183
2184         * mac/tclMacPort.h: 
2185         * win/tclWinInit.c: 
2186         * unix/tclUnixPort.h: 
2187         * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async
2188         handling on Windows where async events don't wake up the event
2189         loop.  This patch comes from Gordon Chaffee.
2190
2191         * generic/tcl.decls: Fixed declarations of reserved slots.
2192         
2193 1999-03-10    <redman@scriptic.com>
2194
2195         * generic/tclCompile.h: Ensure that the ByteCode struct is binary
2196         compatible with the version in 8.0.6.
2197
2198         * generic/tcl.h:
2199         * generic/tclBasic.c: Add Tcl_GetVersion() function to the public
2200         C API to allow programs to check the version number of the Tcl
2201         library at runtime.  Also added an enum to clarify the release
2202         level (alpha, beta, final).
2203
2204 1999-03-09    <stanton@GASPODE>
2205
2206         * Integrated changes from Tcl 8.0 including:
2207                 stubs mechanism
2208                 configure patches from Jan Nijtmans
2209                 rename of panic to Tcl_Panic
2210         
2211 1999-03-08    <lfb@scriptics.com>
2212
2213         * win/tclWin32Dll.c: Removed Dll instance from thread-local
2214         storage.
2215
2216 1999-03-08    <stanton@GASPODE>
2217         
2218         * generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion
2219         of tclDecls.h to avoid macro conflicts.
2220
2221         * generic/tclInt.h:
2222         * generic/regc_color.c: 
2223         * generic/regcomp.c:
2224         * generic/tclCmdIL.c:
2225         * generic/tclCmdAH.c:
2226         * generic/tclIOCmd.c:
2227         * generic/tclParse.c:
2228         * generic/tclStringObj.c:
2229         * unix/tclUnixNotfy.c: Cleaned up various compiler warnings,
2230         eliminated UCHAR bugs.
2231         
2232         * unix/tclUnixNotfy.c:
2233         * unix/tclUnixThrd.c:
2234         * generic/tclThreadTest.c:
2235         * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*().
2236         
2237         * INTEGRATED PATCHES FROM 8.0.6:
2238
2239         * generic/tcl.decls:
2240         * generic/tcl.h:
2241         * generic/tclBasic.c: 
2242         * generic/tclDecls.h:
2243         * generic/tclInt.decls:
2244         * generic/tclInt.h: 
2245         * generic/tclIntDecls.h:
2246         * generic/tclIntPlatDecls.h:
2247         * generic/tclIntPlatStubs.c:
2248         * generic/tclIntStubs.c:
2249         * generic/tclPlatDecls.h:
2250         * generic/tclPlatStubs.c:
2251         * generic/tclStubInit.c:
2252         * generic/tclStubLib.c:
2253         * generic/tclStubs.c:
2254         * tools/genStubs.tcl:
2255         * unix/configure.in:
2256         * unix/Makefile.in:
2257         * unix/tclConfig.sh.in:
2258         * win/makefile.vc:  
2259         * win/tclWinPort.h: Added Tcl stubs implementation.  There are
2260         now two new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that
2261         enable use of stubs and disable stub macros respectively.  All of
2262         the public and private function declarations from tcl.h and
2263         tclInt.h have moved into the *.decls files and the *Stubs.c and
2264         *Decls.h files are generated using the genStubs.tcl script.
2265
2266         * unix/Makefile.in:
2267         * unix/configure.in: 
2268         * unix/ldAix: Enhanced AIX shared library support.
2269
2270         * win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR
2271         attributes from internal functions.
2272
2273         * win/tclWinReg.c: Changed registry package to use stubs mechanism
2274         so it no longer depends on the specific version of Tcl.
2275
2276         * doc/AddErrInfo.3: 
2277         * doc/Eval.3: 
2278         * doc/PkgRequire.3: 
2279         * doc/SetResult.3: 
2280         * doc/StringObj.3: 
2281         * generic/tcl.h:
2282         * generic/tclBasic.c: 
2283         * generic/tclPanic.c:
2284         * generic/tclStringObj.c:
2285         * generic/tclUtil.c:
2286         * unix/mkLinks: Added va_list versions of all VARARGS
2287         functions so they can be invoked from the stub functions.
2288
2289         * doc/package.n: 
2290         * doc/PkgRequire.3: 
2291         * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx,
2292         Tcl_PresentEx, and Tcl_PkgPresent.  Added "package present"
2293         command.
2294
2295         * generic/tclFileName.c: 
2296         * mac/tclMacFile.c: 
2297         * mac/tclMacShLib.exp: 
2298         * unix/tclUnixFile.c: 
2299         * win/tclWinFile.c: Changed so TclGetUserHome is defined on
2300         all platforms, even though it is currently a noop on mac and
2301         windows, and renamed it to TclpGetUserHome.
2302
2303         * generic/tclPanic.c:
2304         * generic/panic.c: Renamed panic to Tcl_Panic.
2305         
2306 1999-02-25    <redman@scriptics.com>
2307
2308         * win/makefile.vc: Added tclWinConsole.c and tclWinSerial.c
2309         
2310         * win/tclWinConsole.c: New code to properly deal with fileevents
2311         and nonblocking mode on consoles.
2312         
2313         * win/tclWinSerial.c: New code to properly deal with fileevents
2314         and nonblocking mode on serial ports.
2315
2316         * win/tclWinPipe.c: 
2317         * win/tclWinPort.h: Exported functions to allow creation of pipe
2318         channels from tclWinChan.c
2319
2320         * win/tclWinChan.c: Check the type of a channel, including for the
2321         standard (stdin/stdout/stderr), and use the correct channel type
2322         to create the channel (file, serial, console, or pipe).
2323
2324 1999-02-11    <stanton@GASPODE>
2325
2326         * README: 
2327         * generic/tcl.h: 
2328         * win/README.binary: 
2329         * win/README: 
2330         * unix/configure.in: 
2331         * mac/README: Updated version numbers to 8.1b2.
2332
2333 1999-02-10    <stanton@GASPODE>
2334
2335         * library/auto.tcl: Fixed auto_mkindex so it handles .tbc files.
2336         Did some general cleanup to handle bad eval statements that didn't
2337         use "list".
2338
2339         * unix/mkLinks:
2340         * doc/SetVar.3:
2341         * generic/tcl.h:
2342         * generic/tclVar.c: Restored Tcl_ObjGetVar2 and Tcl_ObjSetVar2
2343         from 8.0. Renamed Tcl_Get/SetObjVar2 to Tcl_GetVar2Ex and
2344         Tcl_SetVar2Ex.
2345
2346 1999-02-10    <stanton@GASPODE>
2347
2348         INTEGRATED PATCHES FROM 8.0.5b2: 
2349
2350         * test/winPipe.test: Changed to remove echoArgs.tcl temporary file
2351         when done.
2352         
2353         * tests/cmdAH.test:
2354         * generic/tclFileName.c (TclGetExtension): Changed behavior so the
2355         split happens at the last period in the name instead of the first
2356         period of the last run of periods.  So, "foo..o" is split into
2357         "foo." and ".o" now. [Bug: 1126]
2358         
2359         * win/makefile.vc: Added better support for paths with spaces in
2360         the name. Added .lib and support .dlls to the install-binaries
2361         target.  Added generate of a pkgIndex.tcl script to the
2362         install-libraries target.
2363
2364         * win/tclAppInit.c: 
2365         * unix/tclAppInit.c: 
2366         * mac/tclMacAppInit.c: 
2367         * generic/tclTest.c: Changed some EXTERN declarations to extern
2368         since they are not defining exported interfaces.  This avoids
2369         generating useless declspec() attributes and makes the windows
2370         makefile simpler.
2371
2372         * generic/tcl.h: Moved Tcl_AppInit declaration to end and cleared
2373         out TCL_STORAGE_CLASS so it is not declared with a declspec().
2374
2375         * tests/interp.test:
2376         * generic/tclInterp.c (DeleteAlias): Changed to use
2377         Tcl_DeleteCommandFromToken so we handle renames properly. This
2378         avoids senseless panic. [Bug: 736]
2379
2380         * unix/tclUnixChan.c: 
2381         * win/tclWinSock.c: 
2382         * doc/socket.n: Applied Gordon Chaffee's patch to handle failures
2383         during asynchronous socket connection operations.  This adds a new
2384         "-error" fconfgure option to socket channels. [Bug: 893]
2385
2386         * generic/tclProc.c:
2387         * generic/tclNamesp.c:
2388         * generic/tclInt.h: 
2389         * generic/tclCmdIL.c: 
2390         * generic/tclBasic.c: 
2391         * generic/tclVar.c: Applied patch from Viktor Dukhovni to
2392         rationalize TCL_LEAVE_ERR_MSG behavior when creating variables.
2393         
2394         * generic/tclVar.c: Fixed bug in namespace tail computation.
2395         Fixed bug where upvar could resurrect a namespace variable whose
2396         namespace had been deleted.
2397
2398         * generic/tclCompile.c (TclCompileExprCmd): Eliminated yet another
2399         bogus optimization in expression compilation.
2400
2401         * unix/configure.in: Added branch for BSD/OS-4* to shared library
2402         case statement. [Bug: 975]
2403         Fixed to correctly handle IRIX 6.5 n32 library support. [Bug: 1117]
2404         
2405         * win/winDumpExts.c: Patched to be pickier about stripping
2406         @'s. [Bug: 920]
2407
2408         * library/http2.0/http.tcl: Added catch around eof test in
2409         CopyDone since the user may have already called http::reset.
2410         [Bug: 1108] 
2411
2412         * unix/configure.in: Changed Linux and IRIX to set SHLIB_LIBS to
2413         LIBS so shared libraries are linked with the system
2414         libraries. [Bug: 1018]
2415
2416         * generic/tclCompile.c (CompileExprWord): Fixed exception stack
2417         overflow bug caused by missing statement. [Bug: 928]
2418
2419         * generic/tclIOCmd.c: 
2420         * generic/tclBasic.c: Objectified the "open" command. [Bug: 1113] 
2421
2422         * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): When using
2423         egcs, ENOTSUP and EOPNOTSUPP are the same, so now we handle that
2424         case. [Bug: 1137]
2425
2426         * library/init.tcl: Various small changes requested by Jan Nijtmans.
2427         - If the variable $tcl_library contains the empty string, this
2428         empty string will be put in $auto_path. This is not useful at all,
2429         it only slows down later package processing.
2430         - If the variable tcl_pkgPath is not set, the "unset __dir"
2431         fails. Thich makes init.tcl totally unusable. Better put a "catch"
2432         around it. 
2433         - In the function tcl_findLibraries, the "string match" function
2434         only works correctly if $tcl_patchLevel is in one of the forms
2435         "?.?a?", "?.?b?" or "?.?.?". Could a "regexp" be used instead,
2436         then it allows anything to be appended to the patchLevel
2437         string. And it is more efficient.
2438         - The tclPkgSetup function assumes that if $type != "load" then
2439         the type must be "source". This needn't be true. Some users want
2440         to add their own setup types.
2441         [RFE: 1138] [Bug: 978]
2442
2443         * win/tclWinReg.c: 
2444         * doc/registry.n: Added support for HKEY_PERFORMANCE_DATA and
2445         HKEY_DYN_DATA keys. [Bug: 1109]
2446
2447         * win/tclWinInit.c (TclPlatformInit): Added code to ensure
2448         tcl_pkgPath is set to "" when no registry entry is found. [Bug: 978]
2449
2450 1999-02-01    <stanton@GASPODE>
2451
2452         * generic/tclBasic.c:
2453         * generic/tclCmdAH.c:
2454         * generic/tclCmdIL.c:
2455         * generic/tclCmdMZ.c:
2456         * generic/tclExecute.c:
2457         * generic/tclHistory.c:
2458         * generic/tclIO.c:
2459         * generic/tclIOUtil.c:
2460         * generic/tclInterp.c:
2461         * generic/tclMain.c:
2462         * generic/tclNamesp.c:
2463         * generic/tclParse.c:
2464         * generic/tclProc.c:
2465         * generic/tclTest.c:
2466         * generic/tclTimer.c:
2467         * generic/tcl.h: Made eval interfaces compatible with 8.0 by
2468         renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to
2469         Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj
2470         interfaces so they match Tcl 8.0.
2471
2472 1999-01-28    <stanton@GASPODE>
2473
2474         * Merged Tcl 8.0.5b1 changes.
2475         
2476         * generic/tclUtil.c (Tcl_DStringSetLength): Changed so the buffer
2477         overallocates in a manner similar to Tcl_DStringAppend.  This
2478         should improve performance for TclUniCharToUtfDString.
2479
2480 1998-12-11    === Tcl 8.1b1 Release ===
2481         
2482 1998-12-10    <stanton@GASPODE>
2483
2484         * Fixed lots of files that used TCL_THREAD instead of TCL_THREADS.
2485         
2486         * generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code
2487         into a static FreeEncoding routine that does not grab the
2488         encodingMutex to avoid deadlocks/races when called from other
2489         routines that already have the mutex.
2490
2491 1998-12-09    <stanton@GASPODE>
2492
2493         * library/msgcat1.0/msgcat.tcl: Fixed bad export list, fixed so
2494         all locale strings are converted to lower case, including file
2495         names.
2496
2497         * generic/regcomp.c (makescan): Fixed bug in longest match case
2498         that caused anchored patterns to fail. [Bug: 897]
2499
2500 1998-12-08    <stanton@GASPODE>
2501
2502         * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in
2503         the calling context, changed locale lookups to be case insensitive
2504
2505 1998-12-07    <stanton@GASPODE>
2506
2507         * generic/tclAlloc.c (TclpRealloc): Fixed a memory allocation bug
2508         where big blocks that were reallocated into a different heap
2509         location were not being placed into the bigBlocks list. [Bug: 933]
2510
2511         * tests/msgcat.test: Added message catalog test suite.
2512
2513         * library/msgcat1.0/msgcat.tcl: minor bug fixes, integrated latest
2514         changes from Mark Harrison.
2515
2516 1998-12-04    <stanton@GASPODE>
2517
2518         * library/msgcat1.0/msgcat.tcl: Changed code to conform to Tcl
2519         coding standards.  Changed to use file join for portability.
2520
2521         * library/msgcat1.0: Added initial implementaion of Tcl message
2522         catalog package contributed by Mark Harrison.
2523
2524 1998-12-03    <stanton@GASPODE>
2525
2526         * win/tclWinPipe.c (BuildCommandLine): Fixed bug that kept
2527         arguments containing spaces from being properly quoted.
2528
2529         * tests/defs: Changed so auto_path is set to only contain the Tcl
2530         library directory.  This keeps the tests from accidentally picking
2531         up stuff in installed packages. 
2532
2533         * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0
2534         behavior in corner case where there is no closing bracket.
2535
2536 1998-12-02    <stanton@GASPODE>
2537
2538         * win/tclWinPipe.c (TclpCreateCommandChannel): Changed
2539         reader/writer threads to have THREAD_PRIORITY_HIGHEST so they will
2540         have a chance to run whenever there is something to do.
2541
2542         * generic/tclIO.c (WriteBytes, WriteChars): Fixed so extraneous
2543         flushes do not happen in line mode.
2544         (TranslateOutputEOL): Made translation more efficient in line mode
2545         and fixed a buffer overflow bug in CRLF translation. [Bug: 887]
2546
2547 1998-12-02    <welch@SAGE>
2548
2549         * Updated patchlevel to 8.1b1
2550
2551 1998-12-02    <stanton@GASPODE>
2552
2553         * generic/regc_color.c (subcolor): Added check for error case to
2554         avoid an out of bounds array reference.
2555
2556         * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Changed to avoid using
2557         Tcl_DStringResult because it is not binary clean.
2558
2559         * generic/tclParse.c (Tcl_ParseCommand): Fixed bug in comment
2560         parsing where a trailing comment looked like an incomplete
2561         command. 
2562
2563 1998-12-02    <welch@SAGE>
2564
2565         * Merged changes from 8.0.4, especially the new pkg_mkIndex
2566
2567 1998-12-01    <stanton@GASPODE>
2568
2569         * generic/tclIO.c (Tcl_ReadChars): Added a call to UpdateInterest
2570         so we don't block when there is data sitting in the buffers.
2571
2572         * generic/tclTest.c (TestevalobjvObjCmd): Updated for EvalObjv
2573         change.
2574
2575         * tests/parse.test: Updated tests for EvalObjv change.
2576
2577         * generic/tclParse.c (EvalObjv, Tcl_EvalObjv): Changed
2578         Tcl_EvalObjv interface to remove string and length arguments,
2579         preserved original interface as EvalObjv for internal use.
2580
2581         * generic/tcl.h: Changed Tcl_EvalObjv interface to remove string
2582         and length arguments.
2583
2584         * doc/Eval.3: Updated documentation for Tcl_EvalObjv to remove
2585         string and length arguments.
2586
2587         * generic/tclCompCmds.c (TclCompileForeachCmd): Fixed code that
2588         corrupted the exceptDepth value in the compile environment when
2589         foreach failed to compile inline. [Bug: 884]
2590
2591         * library/encoding/euc-kr.enc: 
2592         * library/encoding/ksc5601.enc: 
2593         * tools/encoding/ksc5601.txt: 
2594         * unix/tclUnixInit.c: Added support for Korean EUC. 
2595
2596         * win/tclWinChan.c (TclpGetDefaultStdChannel): added check for a
2597         failure during Tcl_MakeFileChannel.
2598
2599 1998-11-30    <stanton@GASPODE>
2600
2601         * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs
2602         when trying to close a pipe that is currently being waited on by
2603         the notifier thread. [Bug: 607]
2604
2605         * unix/tclUnixFCmd.c (GetPermissionsAttribute): Increase size of
2606         returnString buffer to avoid overflow. [Bug: 584]
2607
2608         * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due
2609         to use of TCL_VOLATILE instead of TCL_DYNAMIC.
2610
2611         * generic/tclThread.c (TclRememberSyncObject): Fixed memory leak
2612         caused by failure to reuse condition variables.
2613
2614         * unix/tclUnixNotfy.c:  (Tcl_AlertNotifier, Tcl_WaitForEvent,
2615         NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused
2616         by incorrect use of condition variables when sending messages
2617         between threads.. [Bug: 607]
2618
2619         * generic/tclTestObj.c (TeststringobjCmd): MAX_STRINGS was off by one
2620         so the strings array was too small.
2621
2622         * generic/tclCkalloc.c (Tcl_DbCkfree): Moved mutex lock so
2623         ValidateMemory is done inside the mutex to avoid a race condition
2624         when validate_memory is enabled. [Bug: 880]
2625
2626 1998-11-23    <stanton@GASPODE>
2627
2628         * regexec.c: more performance tuning from Henry Spencer.
2629
2630 1998-11-17    <stanton@GASPODE>
2631
2632         * tclScan.c: moved "scan" implementation out of tclCmdMZ.c and
2633         added Unicode support.  This required a complete reimplementation
2634         of the command to avoid using scanf(), which isn't Unicode aware.
2635         Two new features were added in the process: %n to return the
2636         current number of characters consumed, and XPG3-style %n$ argument
2637         order specifiers similar to those provided by the "format"
2638         command. [Bug: 833]
2639
2640         * tclAlloc.c: changed so allocated memory is always 8-byte aligned
2641         to improve memory performance and to ensure that it will work on
2642         systems that don't like accessing 4-byte aligned values
2643         (e.g. Solaris and HP-UX). [Bug: 834]
2644
2645 1998-11-06    <stanton@GASPODE>
2646
2647         * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was
2648         getting lost before being passed to CallTraces.
2649
2650 1998-10-21    <stanton@GASPODE>
2651
2652         * added "encoding" command
2653         
2654         * Moved internal regexp declarations from tclInt.h to tclRegexp.h
2655
2656         * integrated regexp updates from Henry Spencer
2657
2658 1998-10-15    <stanton@GASPODE>
2659
2660         * tclUtf.c: added Unicode character table support
2661
2662         * tclInt.h: added TclUniCharIsWordChar
2663
2664         * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand,
2665         changed "wordend" and "wordstart" to properly handle Unicode word
2666         characters and connector punctuation
2667
2668 1998-10-05    <stanton@GASPODE>
2669
2670         * auto.tcl, package.tcl: fixed SCCS strings
2671
2672         * tclIndex: updated index to reflect 8.1 files
2673
2674         * tclCompile.c (TclCompileScript): changed to avoid modifying the
2675         input string in place because name lookup operations could have
2676         arbitrary side effects
2677
2678         * tclInterp.c: added guard against deleting current interpreter
2679
2680         * tclMacFile.c, tclUnixFile.c, tclWinFile.c, tclFileName.c: added
2681         warnings around code that modifies strings in place
2682
2683         * tclExecute.c: fixed off-by-one copying error, fixed merge bugs
2684
2685         * tclEvent.c: changed so USE_TCLALLOC is tested for value instead
2686         of definition
2687
2688         * tclCompCmds.c: replaced SCCS strings, added warnings around code
2689         that modifies strings in place
2690
2691         * interp.test: added test for interp deleting itself
2692
2693 1998-09-30    <stanton@GASPODE>
2694
2695         * makefile.vc: fixed so TCL_LIBRARY is set before running tcltest
2696
2697         * tclWin32Dll.c: removed TclpFinalize, cleanup of merges
2698