Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/ChangeLog.2000 @ 43

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

added tcl to libs

File size: 91.7 KB
Line 
12000-12-14  Don Porter  <dgp@users.sourceforge.net>
2
3        * generic/tclExecute.c:
4        * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and [expr
5        srand($seed)] implementations, fixing a range error on some 64-bit
6        platforms. Added tests that detect the bug. The rewrite changes the
7        seed -> sequence map on 64-bit platforms, only for seed >= 2^31, a
8        slight incompatibility. [Bug 121072, Patch 102781]
9
102000-12-10  Don Porter  <dgp@users.sourceforge.net>
11
12        * library/init.tcl:
13        * library/msgcat/msgcat.tcl:
14        * library/msgcat/pkgIndex.tcl:
15        * library/opt/optparse.tcl:
16        * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc to
17        evaluate a Tcl built-in command in the caller's context, the built-in
18        commands are now fully namespace-qualified. This prevents problems
19        when the caller context is in a namespace where the built-in command
20        name has been used by a command in the namespace. (For example,
21        [::ns::set] might be called instead of the intended [::set]). [Bug
22        119422, Patch 102545]
23
242000-12-09  Jeff Hobbs  <jhobbs@interwoven.com>
25
26        * win/tclWinTime.c (CalibrationThread): added lint return value to
27        prevent compiler warning. [Bug 125005]
28
29        * docs/scan.n:
30        * tests/scan.test:
31        * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use strtoul
32        instead of strtol to correctly preserve scan<>format conversion of
33        large integers. [Patch 102663, Bug 124600]
34
35        * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing
36        handling of {!<boolean>} in expressions. [Patch 102702]
37
382000-12-08  Jeff Hobbs  <jhobbs@interwoven.com>
39
40        * library/init.tcl: Added support for PATHEXT variable in auto_execok,
41        recognizing the proper set of executable extensions on Windows. [Patch
42        102719]
43
442000-12-08  Andreas Kupries  <a.kupries@westend.com>
45
46        * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous code to
47        something less critical. This fixes [Bug 119417], part A without
48        affecting the speed when loading encodings.
49
502000-12-08  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
51
52        * doc/open.n: Added xref to fconfigure and advice on the opening of
53        binary files. Should help prevent a recurrence of bugs like [Bug
54        124558]
55
562000-12-07  Jeff Hobbs  <jhobbs@interwoven.com>
57
58        * generic/tcl.h: added note about need to updated
59        library/dde/pkgIndex.tcl with minor version increment.
60
61        * library/dde/pkgIndex.tcl: updated to use 84 version to reflect the
62        makefile. Should probably be updated to use its real version at some
63        point. [Patch 102560, Bug 119421]
64
652000-12-06  Eric Melski  <ericm@ajubasolutions.com>
66
67        * generic/tcl.h (attemptckalloc): Fixed typo for #define of
68        attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have been
69        Tcl_AttemptDbCkalloc). [Bug 124384]
70
71        * generic/tclCkalloc.c: Added TCL_MEM_DEBUG versions of
72        Tcl_AttemptDbCkrealloc and Tcl_AttemptDbCkalloc. [Bug 124384].
73
742000-11-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
75
76        * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!"  can
77        now handle string booleans, provided those values are placed in
78        variables.
79
80        * tests/expr.test (expr-13.17): Check that [expr {!$var}] can negate
81        the string-versions of booleans "yes", "false", etc.
82
83        * library/tcltest/tcltest.tcl (getMatchingFiles,
84        (getMatchingDirectories):
85        * tools/man2html.tcl (doDir):
86        * tools/man2help.tcl (doDir):
87        * library/package.tcl (tclPkgUnknown,tclMacPkgSearch):
88        * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of
89        unsafe [file join]. [Bug 123313]
90
91        * generic/tclIndexObj.c:
92        * generic/tclTestObj.c (TestindexobjCmd): Changed internal
93        representation of index objects to fix [Bug 119082]; fix shouldn't be
94        visible to outside world...
95
96        * generic/tclTest.c (TestGetIndexFromObjStructObjCmd):
97        * tests/indexObj.test: (indexObj-6.*) Added to test for presence of
98        [Bug 119082].
99
1002000-11-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
101
102        * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from [Bug
103        119398]
104
105        * library/init.tcl (unknown): Added specific level parameters to
106        all uplevel invokations to boost performance; didn't dare touch
107        the "namespace inscope" stuff though, since it looks sensitive
108        to me!  Should fix [Bug 123217], though testing is tricky...
109
1102000-11-21  Andreas Kupries  <a.kupries@westend.com>
111
112        All of the changes below are described in TIP #7 ~ Specification and
113        result from the application of the patch contained therein. Creator of
114        the patch is Kevin Kenny <kennykb@crd.ge.com>. The patch used here is
115        actually a bit different. Two MS specific constant values (format
116        FOOui64) were replaced with a more portable formatting of the values
117        and an additional cast to LONGLONG. My cross-compiling gcc was unable
118        to process the original form. [Patch 102459]
119
120        * tclWinTime.c: Add to the static data a set of variables that manage
121        the phase-locked techniques, including a ''CRITICAL_SECTION'' to guard
122        them so that multi-threaded code is stable.
123
124        * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' and
125        return the 'seconds' portion of the result. This change is necessary
126        to make sure that the two times are consistent near the rollover from
127        one second to another.
128
129        * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to
130        determine the click count as a number of microseconds.
131
132        * tclWinTime.c: Modify ''TclpGetTime'' to return the time as M*Q+B,
133        where Q is the result of ''QueryPerformanceCounter'', and M and B are
134        variables maintained by the phase-locked loop to keep the result as
135        close as possible to the system clock. The ''TclpGetTime'' call will
136        also launch the phase-lock management in a separate thread the first
137        time that it is invoked. If the performance counter is unavailable, or
138        if its frequency is not one of the two common 8254-compatible rates,
139        then ''TclpGetTime'' will return the result of ''ftime'' as it does in
140        Tcl 8.3.2.
141
142        * tclWinTime.c: Add the clock calibration procedure. The calibration
143        is somewhat complex; to save space, the reader is referred to the
144        reference implementation for the details of how the time base and
145        frequency are maintained.
146
147        * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process has,
148        in fact, slept for the requisite time by calling ''TclpGetTime'' and
149        comparing with the desired time. Otherwise, roundoff errors may cause
150        the process to awaken early.
151
152        * tclWinTest.c: Add a ''testwinclock'' command. This command returns a
153        four element list comprising the seconds and microseconds portions of
154        the system clock and the seconds and microseconds portions of the Tcl
155        clock.
156
157        * winTime.test: Add to the test suite a test that makes sure that the
158        Tcl clock stays within 1.1 ms of the system clock over the duration of
159        the test.
160
1612000-11-21  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
162
163        * doc/global.n:
164        * doc/upvar.n:
165        * doc/variable.n: Improved documentation to mention that variables so
166        created are listed in [info locals] and added a few more cross-links
167        between these commands. [Bug 119387]
168
1692000-11-17  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
170
171        * tests/safe.test: (safe-4.3):
172        * generic/tclVar.c (TclLookupVar): Changed again. Now passes all the
173        tests, though one needed modifying since it required the wrong answer.
174        (Why on earth do we have inline modification of argument strings? This
175        sort of thing is horrendous to debug and doesn't work well in a
176        multithreaded environment!) [Bug 119192]
177
178        * tests/var.test: (var-1.19) If my attempts to fix the problem aren't
179        right yet, my attempts to describe it look pretty good to me...
180
1812000-11-16  Andreas Kupries  <a.kupries@westend.com>
182
183        * win/tclWinPort.h (line 69): Changed reference to winsock2.h into
184        winsock.h. This was a leftover from a foray into using winsock version
185        2 (History lesson from Scott Redman and Jeff Hobbs). This code was no
186        problem when compiling Tcl itself, but could trip extensions. [Bug
187        122568]
188
1892000-11-15  Jeff Hobbs  <jeff.hobbs@acm.org>
190
191        * unix/Makefile.in: removed bp.c references (hasn't existed in a long
192        time). Corrected 'make dist' to make dist with unversioned library
193        directories (same as out of cvs), so make install works correctly with
194        either source tree.
195
1962000-11-15  Jeff Hobbs  <jeff.hobbs@acm.org>
197
198        * generic/tclVar.c (TclLookupVar): reverted fix below as it broke all
199        other array unset error reporting.  Bug 119192 is still open.
200
2012000-11-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
202
203        * generic/tclVar.c (TclLookupVar): Changed references to part2 to use
204        elName instead in various error message generating spots. [Bug 119192]
205
2062000-11-03  David Gravereaux  <davygrvy@ajubasolutions.com>
207
208        * win/.cvsignore: Removed 'configure' from the glob list now that it's
209        included.
210
2112000-11-03  Jeff Hobbs  <hobbs@ajubasolutions.com>
212
213        8.4a2 RELEASE
214
215        * unix/Makefile.in (install-libraries, dist):
216        * win/makefile.vc (install-libraries):
217        * win/Makefile.in (install-libraries): updated to install unversioned
218        library directories into versioned directories.
219
220        * tools/tcl.wse.in: updated for unversioning of library dirs
221
222        * unix/mkLinks: updated mkLinks with latest doc updates
223
224        * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop
225
226        * generic/tclStubInit.c:
227        * generic/tclDecls.h:
228        * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people to
229        set a main loop that will run for tclsh.
230        * generic/tcl.h: added Tcl_MainLoopProc typedef
231        * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new
232        StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. The
233        first two handle a fileevent based prompt (taken from tkMain.c).
234        Tcl_SetMainLoop enables the interactive setting of a main loop
235        procedure. This enables Tk to be a loadable package.
236
2372000-11-02  David Gravereaux  <davygrvy@ajubasolutions.com>
238
239        * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way to
240        share its data among threads. This caused Tcl_Init() to always fail in
241        threads. Added a way to pass the data around with a global char*.
242        [BUG: 5301]
243
2442000-11-02  Jeff Hobbs  <hobbs@ajubasolutions.com>
245
246        * unix/configure:
247        * unix/dltest/configure:
248        * win/configure:
249        * tools/configure: checked in configure scripts so people doing CVS
250        checkouts aren't required to have autoconf. Changes to configure.in in
251        the future will require the corresponding configure script to also be
252        re-autoconf'ed and checked in.
253
254        * win/makefile.vc:
255        * win/tcl.m4: makefile fixes for Win64 support
256
257        * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast
258        changes.
259
2602000-11-01  Jeff Hobbs  <hobbs@ajubasolutions.com>
261
262        * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5.
263
264        * tests/subst.test: added tests for non-zero return code handling by
265        subst.
266        * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero,
267        non-error return code cases for subst. [Bug 119829]
268
269        * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem use
270        when info exists was called on a non-existent array element. [Bug
271        119213, 119336]
272
2732000-10-30  David Gravereaux  <davygrvy@ajubasolutions.com>
274
275        * win/configure.in:
276        * win/Makefile.in:
277        * win/makefile.vc:
278        * win/tcl.rc:
279        * win/tclsh.rc: Added logic to derive filenames better in the resource
280        scripts based on compile options.
281
2822000-10-30  Jeff Hobbs  <hobbs@ajubasolutions.com>
283
284        * unix/tclUnixInit.c: added default encoding map from "ja_JP.eucJP" to
285        "euc-jp". (takahashi)
286
287        * tests/clock.test: corrected clock-2.* test numbering
288
289        * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was
290        commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS
291        already).
292
293        * unix/tcl.m4: consolidated gettimeofday check for AIX.
294
2952000-10-27  Jeff Hobbs  <hobbs@ajubasolutions.com>
296
297        * unix/configure.in:
298        * unix/tcl.m4: added support for AIX-5.
299
300        * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code for
301        old channel structures, placed preserve/release around statePtr
302        * generic/tclIO.c (CloseChannel): the statePtr for a channel was not
303        being freed when the last channel in a stack was freed, causing a mem
304        leak.
305
306        * unix/tclUnixChan.c: updated channel types to strict
307        TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work
308        either way, but this avoids compiler warnings (that worries people).
309
3102000-10-27  Jennifer Hom  <jenn@ajubasolutions.com>
311
312        * library/tcltest1.0/tcltest.tcl: Removed a cd into the test directory
313        in runAllTests that screwed up the temporary directory setting,
314        effectively preventing users from running tests on multiple platforms
315        at the same time.
316
3172000-10-26  David Gravereaux <davygrvy@ajubasolutions.com>
318
319        * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to "attr"
320        which was a DWORD. Changed NULL to zero because a 'void *' can't be
321        set to a DWORD to avoid the compiler warning.
322
3232000-10-24  Jennifer Hom  <jenn@ajubasolutions.com>
324
325        * tests/all.tcl: Removed support for tcltest 1.0.
326
327        * tests/tcltest.test:
328        * library/tcltest1.0/tcltest.tcl:
329        * library/tcltest1.0/pkgIndex.tcl:
330        * docs/tcltest.n: Moved tcltest2 code so that it's the standard
331        version of tcltest. Removed all tcltest2 files (tests/tcltest2.test,
332        library/tcltest1.0/tcltest2.tcl, docs/tcltest2.n).
333
3342000-10-20  Jeff Hobbs  <hobbs@ajubasolutions.com>
335
336        * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only
337        occur when necessary (for 'glob' command). Significantly speeds up
338        glob command from 8.3. [BUG: 6216]
339
3402000-10-19  Jennifer Hom  <jenn@ajubasolutions.com>
341
342        * library/tcltest1.0/tcltest2.tcl:
343        * tests/tcltest2
344        * doc/tcltest2.n: Code and documentation cleanup. Modified -verbose to
345        take list of keywords as well as string of letters. Removed Tcl
346        version information from tcltest. Removed tcltest::grep from tcltest
347        package. Added optional 3rd directory argument to
348        makeFile/makeDirectory and removeFile/removeDirectory.
349
350        * tests/basic.test: Changed references to tcltest::tclVersion to
351        hardcoded numbers.
352        * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl in
353        comments to tests/basic.test.
354
3552000-10-06  David Gravereaux  <davygrvy@ajubasolutions.com>
356
357        * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() from
358        TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable a more
359        general method in detecting invalid OS handles rather than just a
360        specific known case. [BUG: 5971]
361
3622000-10-06  Jeff Hobbs  <hobbs@ajubasolutions.com>
363
364        * tests/cmdAH.test: extra tests for 'file channels' that include
365        multiple interpreter tests and channel sharing
366        * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and
367        consequently 'file channels') to return channels that are actually
368        registered for this specific interp, rather than this thread.
369
370        * doc/CrtChannel.3: fixed spelling mistakes
371
3722000-09-29  Jennifer Hom  <jenn@ajubasolutions.com>
373
374        * library/tcltest1.0/tcltest2.tcl:
375        * tests/tcltest2.test:
376        * doc/tcltest2.n: Modified the new form of the test command to accept
377        both attribute-value pairs and command line options. Updated the tests
378        and the documentation for this new format. Also changed the option
379        names for the test command.
380
3812000-09-29  Jeff Hobbs  <hobbs@scriptics.com>
382
383        * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of
384        space parity on Windows (Eason) [Bug 6057].
385
386        * win/Makefile.in: commented use of TESTFLAGS
387        * unix/Makefile.in: added TESTFLAGS to test target to conform with
388        Windows makefile and TEA style.
389
390        * tests/stack.test: prevented possible crash on systems with low
391        default stacksize (Tru64, AIX) in infinite recursion test. A solution
392        to check remaining stack space in the core is best, but hard to do in
393        a cross-platform manner.
394
395        * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to FLUSH_DELAY
396        to avoid defn conflict using Tru64's cc.
397
3982000-09-28  Jeff Hobbs  <hobbs@ajubasolutions.com>
399
400        * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the
401        Windows .exe install.
402
403        * tests/fCmd.test (fCmd-6.20): corrected test to remove c:/tcl8975@
404        after creating it.
405
406        * tests/fileName.test: cleaned up the testing of glob patterns for
407        c:/globTest (Windows) to directly create/remove directory.
408
4092000-09-27  Jeff Hobbs  <hobbs@ajubasolutions.com>
410
411        * generic/tcl.decls:
412        * generic/tclIO.c: updated Tcl_IsChannelShared,
413        Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel,
414        Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to the
415        new stacked channel implementation. Their stub slots were also moved
416        to give preference to the new 8.3.2 stub functions. This will cause an
417        incompatability with 8.4a1 only.
418        (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
419        didn't set nonBlocking correctly when resetting the flags for the
420        write side. [Bug: 6261]
421
422        * doc/ChnlStack.3:
423        * doc/CrtChannel.3:
424        * generic/tcl.decls:
425        * generic/tcl.h:
426        * generic/tclDecls.h:
427        * generic/tclIO.c:
428        * generic/tclIO.h:
429        * generic/tclIOGT.c:
430        * generic/tclInt.decls:
431        * generic/tclIntDecls.h:
432        * generic/tclStubInit.c:
433        * generic/tclTest.c:
434        * tests/iogt.test:
435        * unix/Makefile.in:
436        * win/Makefile.in:
437        * win/makefile.vc:
438        * win/tclConfig.sh.in:
439        * win/tclWinChan.c:
440        * win/tclWinConsole.c:
441        * win/tclWinPipe.c:
442        * win/tclWinSerial.c:
443        * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code
444        base. Most of these changes relate to the rewrite of the stacked
445        channel implementation, with a few config related fixes.
446
447        Following is an asynchronous include of the applicable ChangeLog
448        entries from 8.3.2.
449
450        ********************************************************
451        ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
452        ********************************************************
453
4542000-08-07  Jeff Hobbs  <hobbs@scriptics.com>
455
456        * doc/ChnlStack.3:
457        * doc/CrtChannel.3: updated the docs to be aware of the
458        TCL_CHANNEL_VERSION_2 style of Tcl channels.
459
460        * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify that
461        the new channel versioning will be binary compatible with older
462        channel drivers.
463
4642000-08-05  Jeff Hobbs  <hobbs@scriptics.com>
465
466        * generic/tclIOGT.c (TclChannelTransform): fixed segfault that would
467        occur when transforming a channel with a proc that did not yet exist.
468        (Kupries)
469
470        * generic/tclTest.c (TestChannelCmd): added some lint init'ing of
471        statePtr and chan vars.
472
4732000-07-26  Jeff Hobbs  <hobbs@scriptics.com>
474
475        Merged core-8-3-1-io-rewrite back into core-8-3-1-branch. The
476        core-8-3-1-io-rewrite branch should now be considered defunct.
477
478        * generic/tclStubInit.c:
479        * generic/tclDecls.h:
480        * generic/tcl.decls:
481        * generic/tcl.h:
482        * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to tclIO.c
483        and made them proper stubbed functions. These are: Tcl_ChannelName,
484        Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc,
485        Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc,
486        Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc,
487        Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc,
488        Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, and
489        Tcl_ChannelHandlerProc. These should be used to access the
490        Tcl_ChannelType structure instead of direct pointer dereferencing.
491
492        * tests/iogt.test: added RCS string, marked tests 2.* to be unixOnly
493        due to underlying system differences.
494
4952000-07-25 Andreas Kupries <a.kupries@westend.com>
496
497        * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting
498        buffering trouble when stacking and unstacking transformations.
499        iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now,
500        due to the perceived complexity of solutions.
501
502        * generic/tclIO.h: (line 139f) struct Channel, added a buffer queue,
503        to hold data pushed back when stacking a transformation.
504
505        * generic/tclIO.c:
506        (line 91f, line 7434f) New internal function 'CopyBuffer'.  Derived
507        from 'CopyAndTranslateBuffer', with translation removed.
508        (line 1025f, line 1212f): Initialization of new queue.
509        (line 1164f, Tcl_StackChannel): Pushback of input queue.
510        (line 1293f, Tcl_UnstackChannel): Discard input and pushback.
511        (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area
512        before going to the driver. Uses 'CopyBuffer', s.a.
513        (line 4702f, GetInput): Modified to use data in the push back area
514        before going to the driver.
515        (line 4867f, Tcl_Seek): Modified to take pushback of the topmost
516        channel in a stack into account.
517        (line 5620f, Tcl_InputBuffered): See above. Added
518        'Tcl_ChannelBuffered'. Analog to 'Tcl_InputBuffered' but for the
519        buffer area in the channel.
520
521        * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
522
5232000-07-17  Jeff Hobbs  <hobbs@scriptics.com>
524
525        * unix/Makefile.in:
526        * win/Makefile.in:
527        * win/makefile.vc: added tclIOGT.c to objects list to compile.
528
529        * generic/tclStubInit.c:
530        * generic/tclIntDecls.h:
531        * generic/tclInt.decls: commented out internal decls for
532        TclTestChannelCmd and TclTestChannelEventCmd as they were moved to
533        tclTest.c. Added new decls for TclChannelEventScriptInvoker and
534        TclChannelTransform.
535
536        * generic/tclIO.c (CloseChannel): stopped masking out of the
537        TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel,
538        instead adding extra intelligence to CheckChannelErrors with a new
539        CHANNEL_RAW_MODE bit for special behavior when called from Raw channel
540        APIs.
541
5422000-07-13  Jeff Hobbs  <hobbs@scriptics.com>
543
544        * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr outside of
545        blockModeProc check to avoid infinite loop when blockModeProc was
546        NULL. Updated TransformSeekProc to not call Tcl_Seek directly
547        (Kupries).
548
549        * win/tclWinChan.c: updated fileChannelType to v2 channel struct
550        * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct
551        * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct
552        * win/tclWinSerial.c: updated serialChannelType to v2 channel struct
553        * win/tclWinSock.c: updated tcpChannelType to v2 channel struct
554
5552000-07-11  Brent Welch <welch@ajubasolutions.com>
556
557        * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific autoconf
558        variables.
559
5602000-07-11  Jeff Hobbs  <hobbs@scriptics.com>
561
562        * tests/iogt.test: made tests [345].0 not run by default as they were
563        failing in the new design, but I'm not convinced that the returned
564        result isn't correct.
565
566        * generic/tclDecls.h:
567        * generic/tclStubInit.c:
568        * generic/tcl.decls: added Tcl_GetTopChannel C API that returns the
569        current top channel of a channel stack. Tcl_GetChannel was changed
570        earlier to return the bottommost channel of a stack because that is
571        the one that is guaranteed to stay around the longest, and this was
572        needed to compensate for certain operations that want to look at the
573        state of the main channel. Most channel APIs already compensate for
574        grabbing the top, so it shouldn't be needed often.
575
576        * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added
577        flushing of buffers (Kupries), removed use of DownChannel macro, added
578        Tcl_GetTopChannel public API to get to the top channel of the channel
579        stack (necessary for TLS). Rewrote Tcl_NotifyChannel for new channel
580        design (Kupries). Did some code cleanup in the transform code.
581        tclIO.c must still be broken into bits (separate out test code and
582        giot code, create tclIO.h).
583
5842000-07-10  Andreas Kupries <a.kupries@westend.com>
585
586        * tests/iogt.test: Reverted some earlier changes as a fix by Jeff
587        revived the original and correct behaviour. IOW, the tests showed a
588        genuine error and I didn't see it :(.
589
590        * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use the
591        drivers and not DoRead|DoWrite. The latter use the buffering system,
592        encoding and eol-translation and this wreaks havoc with the data going
593        through the transformations. Both procedures use CheckForchannelErrors
594        and let it believe that there is no background copy in progress or
595        else stacked channels could not be used for that.
596
597        * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the
598        topmost channel from the first to the second procedure to make the
599        decision about that at the last possible time (Callbacks can change
600        the stacking).
601
602        test suite: failures of iogt-[345].0
603
6042000-07-06  Jeff Hobbs  <hobbs@scriptics.com>
605
606        * tests/iogt.test: new tests for stacked channel stuff based off new
607        'testchannel transform|unstack' code (Kupries IOGT extension).
608        * generic/tcl.decls:
609        * generic/tcl.h:
610        * generic/tclDecls.h:
611        * generic/tclStubsInit.c:
612        * generic/tclIO.c: complete rewrite of Tcl Channel code for stacked
613        channels. Channels are now designed to work in a more stacked fashion
614        with a shared ChannelState data structure.
615
6162000-06-02  Jeff Hobbs  <hobbs@scriptics.com>
617
618        * generic/tclIO.c (CloseChannel): removed the &ing out of
619        (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does this
620        on the next pass through for the top channel, and it appeared to be
621        causing hangs by not allowing the final flush.
622
6232000-06-01  Jeff Hobbs  <hobbs@scriptics.com>
624
625        * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to unstack
626        a channel during the close process. Fixed a refcount bug in
627        Tcl_UnstackChannel. [Bug: 5623]
628        (CloseChannel): further extended CloseChannel in the stacked case to
629        effect certain operations on the next channel that would have been
630        done in Tcl_Close.  Also added CHANNEL_CLOSED and removed
631        (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed final
632        reset of the WatchProc to check the chanDownPtr's (next) interestMask.
633
634        ******************************************************
635        ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
636        ******************************************************
637
6382000-09-20  Jeff Hobbs  <hobbs@scriptics.com>
639
640        * tests/socket.test: removed doTestsWithRemoteServer constraint from
641        socket-12.*. It requires 'exec', not a remote server. Cleaned up some
642        coding errors.
643
6442000-09-20  Jennifer Hom  <jenn@ajubasolutions.com>
645
646        * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.
647        * library/tcltest1.0/tcltest2.tcl: New version of tcltest.
648        Cleanup of command line parsing: allows users to specify command line
649        arguments through an environment variable named TCLTEST_OPTIONS [RFE:
650        3748], does not respond to incorrect arguments, and forces usage of
651        entire flag name when using command line arguments. Defines accessor
652        procs for all tcltest variables. Allows users to use 'return' in test
653        scripts. Allow users to specify whether test files should be sourced
654        or run in a separate process. 'all.tcl' code moved to tcltest package.
655        'test' proc modified to use attribute-value pairs. Allow users to
656        specify what return codes, output, and errors can be compared and
657        whether these values should be compared using regexp, glob, or exact
658        matching. makeDirectory & removeDirectory now operate with respect to
659        temporaryDirectory [Bug: 6001]. Test results from tests run in slave
660        interpreters are now included in test totals [Bug: 1493]. Test files
661        that return error values are now reported.
662        * tests/all.tcl: Added code to check for the tcltest version loaded;
663        modified to figure out which tests to run based on the tcltest version
664        loaded.
665        * tests/tcltest.test: Modified to explicitly load version 1.0 of
666        tcltest.
667        * tests/tcltest2.test: New test suite for tcltest; includes all of the
668        old tests plus new ones reflecting changes made for version 2.0.
669        * tests/cmdAH.test: Added singleTestInterp constraint to cmdAH-31.2;
670        this test does not run if tests aren't sourced into a single
671        interpreter.
672        * tests/socket.test: Fixed two tests that were referencing variables
673        outside of scope.
674
675        * tools/tcl.wse.in: Added code to install tcltest2.tcl.
676
677        * doc/tcltest2.n: New documentation for tcltest version 2.0. Removes
678        documentation for tcltest namespace variables. Adds documentation for
679        new tcltest procs.
680
681        * unix/mkLinks: Added code to link to tcltest2.n.
682
683        * generic/tcl.h: Added comment to modify tcltest2.tcl as well as
684        tcltest.tcl for version changes.
685
6862000-09-19  Eric Melski  <ericm@ajubasolutions.com>
687
688        * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all attempts
689        after the first to match the regexp against the string should include
690        the TCL_REG_NOTBOL flag, to avoid erroneously matching ^ in the middle
691        of the string. Added code to set this flag after the first pass
692        through the matching loop. [Bug: 6284].
693
6942000-09-19  David Gravereaux  <davygrvy@ajubasolutions.com>
695
696        * doc/Eval.3: Added a note about the script argument to Tcl_Eval()
697        should be in UTF-8 or risk implied conversion errors when possible
698        combinations of upper ascii can be valid UTF-8 special codes.
699
7002000-09-17  Eric Melski  <ericm@ajubasolutions.com>
701
702        * tests/cmdIL.test: Added a test for fix for [Bug: 6212].
703
704        * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug:
705        6212], which corrected an error in the handling of the -index option.
706
7072000-09-14  Eric Melski  <ericm@ajubasolutions.com>
708
709        * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.
710
711        * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.
712
713        * generic/tclDecls.h:
714        * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.
715
716        * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory
717        allocators and for Tcl_AttemptSetObjLength.
718
719        * generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc,
720        which map to the Tcl_Attempt* memory allocators.
721
722        * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc,
723        Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc,
724        Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and
725        the string obj append functions.
726
727        * generic/tclStringObj.c: Modified string growth algorithm to use
728        doubling algorithm as long as possible, and only fall back when that
729        fails. Added Tcl_AttemptSetObjLength, and modified
730        AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and
731        Tcl_AppendStringsToObjVA to support this.
732
7332000-09-07  David Gravereaux <davygrvy@ajubasolutions.com>
734
735        * win/.cvsignore: changed the glob patterns a bit to exclude VC++
736        project conversion backups.
737
738        * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory".
739        Added more logic around the close-down of the pipe reader thread so as
740        to avoid, at all cost, a TerminateThread. Most cases with exec are
741        fixed, but I don't consider 2460 done yet. Closing down the read side
742        of a pipe before the child process, doesn't really fit the windows
743        model. [BUG: 2460]
744
7452000-09-07  Jeff Hobbs  <hobbs@scriptics.com>
746
747        * doc/trace.n: minor doc cleanup
748
7492000-09-06  André Pönitz <poenitz@htwm.de>
750
751        * doc/*.n: added or changed "SEE ALSO:" section
752
7532000-09-06  Jeff Hobbs  <hobbs@scriptics.com>
754
755        * win/tclWinLoad.c (TclpLoadFile): added special message for
756        ERROR_PROC_NOT_FOUND exception in loading a dll.
757        * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from ESRCH
758        (POSIX: no such process) to EINVAL because there is no good mapping
759        for "procedure not found".
760
761        * README:
762        * generic/tcl.h:
763        * library/tcltest1.0/tcltest.tcl:
764        * tools/tcl.wse.in:
765        * tools/tcltk-man2html.tcl:
766        * unix/configure.in:
767        * unix/tcl.spec:
768        * win/README.binary:
769        * win/configure.in: updated patchlevel to 8.4a2
770
771        * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from
772        Tcl_WaitPid call in error case of process creation on Unix, as it
773        would lead to defunct processes. [Bug: 6148]
774
775        * tests/string.test: extended string repeat tests
776        * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to
777        preallocate the full space of the final string, avoided repeated
778        appends.
779
780        * doc/source.n:
781        * doc/Eval.3: added extra note about how to safe use ^Z in code, as it
782        is now a cross-platform (was just Windows) EOF char.
783
7842000-09-05  Jeff Hobbs  <hobbs@scriptics.com>
785
786        * generic/tclHash.c: fixed pedantic warning of incorrectly placed
787        #endif
788
789        * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed
790        pedantic cast warning.
791        Corrected support for building with -DTCL_COMPILE_STATS.
792        Added efficiency check of object equality.
793
7942000-08-29  Eric Melski  <ericm@ajubasolutions.com>
795
796        * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer to
797        provide a more conservative string growth algorithm for strings larger
798        than one megabyte; this allows more efficient use of memory for very
799        large strings.
800
8012000-08-25  Eric Melski  <ericm@ajubasolutions.com>
802
803        * tests/trace.test: Extended array tracing tests.
804
805        * doc/trace.n: Clarified information about when array traces will be
806        fired.
807
808        * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces
809        (for TCL_TRACE_ARRAY) to only be called when the variable is either an
810        array or is undefined, to ensure that array traces do not fire for
811        scalar variables.
812
8132000-08-24  Eric Melski  <ericm@ajubasolutions.com>
814
815        * doc/man.macros: Tweaked tab settings for .SO (Standard Options)
816        sections, based on suggestion from Peter Spjuth.
817
8182000-08-24  Mo DeJong  <mdejong@redhat.com>
819
820        * unix/README: Update to account for removal of --enable-gcc.
821        * unix/configure.in:
822        * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
823        * win/README: Add note about building with Cygwin.
824        * win/configure.in:
825        * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. Remove quick
826        hack that provided cross compile support for windows builds.
827
8282000-08-24  Eric Melski  <ericm@ajubasolutions.com>
829
830        Overall change: Added support for command rename/delete traces and new
831        trace syntax, from patch from Vince Darley. Added support for array
832        traces for variables. [RFE: 5048, 5967].
833
834        * doc/trace.n: Updated documentation for new syntax; flagged old
835        syntax as deprecated; added documentation for command rename/delete
836        traces and variable array traces.
837
838        * tests/trace.test: Updated tests for new trace syntax; new tests for
839        command rename/delete traces; new tests for array traces.
840
841        * generic/tclVar.c: Support for new trace syntax; support for
842        TCL_TRACE_ARRAY.
843
844        * generic/tclStubInit.c:
845        * generic/tclDecls.h:
846        * generic/tcl.decls: Stub functions for command rename/delete traces.
847
848        * generic/tcl.h:
849        * generic/tclInt.h:
850        * generic/tclBasic.c: Support for command traces.
851
852        * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support new
853        [trace] syntax:
854        trace {add|remove|list} {variable|command} name ops command
855        Added support for command traces (rename, delete operations).
856        Added support for TCL_TRACE_ARRAY at Tcl level (array operation for
857        variable traces).
858
8592000-08-20  Eric Melski  <ericm@ajubasolutions.com>
860
861        * generic/tclVar.c: Added check for non-arrays for [array statistics]
862        command (patch from Mark Patton).
863
8642000-08-19  David Gravereaux <davygrvy@ajubasolutions.com>
865
866        * generic/tclPlatDecls.h: without a previous '#include <windows.h>',
867        tclPlatDecls.h can't be parsed due to a missing definition of TCHAR.
868        Added a check to include it when not defined.
869
870        ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags for
871        the core happen to be different than a project who uses these publics
872        regarding -D_MBCS and -D_UNICODE. This added check might have to be
873        revisited later with a better understanding of the reprocusions. I
874        think TCHAR should be replaced with it's expansion.
875
8762000-08-18  David Gravereaux <davygrvy@ajubasolutions.com>
877
878        * win/.cvsignore (added): provides a cleaner build environment with
879        graphical CVS clients.
880
8812000-08-15  Eric Melski  <ericm@ajubasolutions.com>
882
883        * library/tcltest1.0/tcltest.tcl: Set debug level in
884        tcltest::restoreState to 2, for consistancy with the debug level in
885        tcltest::saveState [Bug: 4505].
886
8872000-08-14  Eric Melski  <ericm@ajubasolutions.com>
888
889        * win/makefile.vc:
890        * win/Makefile.in:
891        * unix/Makefile.in: Added tclPlatDecls.h to the list of installed
892        headers, for more complete stubs support. [Bug: 5241].
893
894        * generic/tcl.h: Added #include "tclPlatDecls.h" to get
895        platform-specific stubs declarations (Tcl_WinTCharToUtf, etc)
896        [Bug: 5241].
897
898        * README: Updated link for instructions on compiling Tcl from sources
899        to point to correct location (http://dev.scriptics.com/doc/... instead
900        of http://dev.scriptics.com/support/...).
901
9022000-08-11  Eric Melski  <ericm@ajubasolutions.com>
903
904        * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length
905        variable from "unsigned int" to "int", to match usage when passed to
906        TclpFindVariable [Bug: 6126].
907
9082000-08-10  Eric Melski  <ericm@ajubasolutions.com>
909
910        * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 [Bug:
911        6100].
912
913        * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] in
914        msgcat namespace initializer. Bumped version number to 1.2 [Bug: 6100]
915
9162000-08-10  David Gravereaux <davygrvy@ajubasolutions.com>
917
918        * generic/tclObj.c: r1.15 accidentally changed a global mutex name
919        tclObjMutex to ObjMutex.  Put the correct name back.
920
9212000-08-07  Eric Melski  <ericm@ajubasolutions.com>
922
923        * tests/indexObj.test: Added tests using the [testwrongnumargs]
924        command to test Tcl_WrongNumArgs.
925
926        * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function for
927        the Tcl_WrongNumArgs function.
928
929        * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to not
930        insert a space before the message component when objc == 0 [Bug: 6078]
931
9322000-07-27  Mo DeJong  <mdejong@redhat.com>
933
934        * win/configure.in: TCL_STUB_LIB_FLAG should not include ${TCL_DBGX}
935        in win/tclConfig.sh, fix that.
936
9372000-07-25  David Gravereaux  <davygrvy@ajubasolutions.com>
938
939        * doc/Async.3:
940        * generic/tclAsync.c:
941        * generic/tclInt.decls:
942        * generic/tclIntPlatDecls.h:
943        * generic/tclStubInit.c:
944        * generic/tclTest.c:
945        * mac/tclMacPort.h:
946        * unix/tclUnixPort.h:
947        * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added notifier
948        alerting on all platforms as it was only working on Win before.
949        Removed older Win hacks that would end-up waking the wrong notifier in
950        the presence of a threaded build. All tests pass as before. New test
951        cases will be added soon for the new behavior. [BUG: 5791]
952
9532000-07-25  Eric Melski  <ericm@ajubasolutions.com>
954
955        * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE on
956        the array containing the variable before executing traces on that
957        array, to conform with normal variable traces and the documentation,
958        which states that while executing a trace, other traces on that
959        variable are disabled. [Bug: 6049].
960
961        * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call to
962        prevent potential memory leaks [Bug: 6041].
963
9642000-07-24  Eric Melski  <ericm@ajubasolutions.com>
965
966        * doc/msgcat.n: Added documentation about the selection of the default
967        locale on Windows.
968
9692000-07-23  Joe English  <jenglish@flightlab.com>
970
971        * doc/AddErrInfo.3:
972        * doc/ChnlStack.3:
973        * doc/Exit.3:
974        * doc/GetIndex.3:
975        * doc/Notifier.3:
976        * doc/Object.3:
977        * doc/RegExp.3:
978        * doc/SetResult.3:
979        * doc/SplitList.3:
980        * doc/Thread.3:  Added missing entries to NAME section.
981
982        * doc/AddErrInfo.3:
983        * doc/CrtObjCmd.3:
984        * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx
985
9862000-07-21  Eric Melski  <ericm@ajubasolutions.com>
987
988        * generic/tclStubInit.c:
989        * generic/tclObj.c:
990        * generic/tclInt.h:
991        * generic/tclHash.c:
992        * generic/tclDecls.h:
993        * generic/tcl.h:
994        * generic/tcl.decls:
995        * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables
996        to allow custom key types, such as Tcl_Obj *'s, and others.
997
998        * doc/binary.n: Noted that the example in the introduction assumes a
999        32-bit system [Bug: 6035].
1000
10012000-07-21  Mo DeJong  <mdejong@redhat.com>
1002
1003        * win/configure.in: Define ${prefix} and ${exec_prefix} like
1004        unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE,
1005        TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC,
1006        TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH.
1007
10082000-07-20  Eric Melski  <ericm@ajubasolutions.com>
1009
1010        * generic/tclStubInit.c:
1011        * generic/tclObj.c:
1012        * generic/tclInt.h:
1013        * generic/tclHash.c:
1014        * generic/tclDecls.h:
1015        * generic/tcl.h:
1016        * generic/tcl.decls:
1017        * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables to
1018        allow custom key types, such as Tcl_Obj *'s, and others; it seems to
1019        break Tk.
1020
10212000-07-19  Eric Melski  <ericm@ajubasolutions.com>
1022
1023        * generic/tclStubInit.c:
1024        * generic/tclObj.c:
1025        * generic/tclInt.h:
1026        * generic/tclHash.c:
1027        * generic/tclDecls.h:
1028        * generic/tcl.h:
1029        * generic/tcl.decls:
1030        * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables to
1031        allow custom key types, such as Tcl_Obj *'s, and others.
1032
1033        * tests/pkgMkIndex.test: Added tests for pkg_compareExtension.
1034
1035        * library/package.tcl: Enhanced pkg_compareExtension to handle Unixes
1036        which tack the version number on to the end of library names (eg,
1037        foo.so.1.2); such filenames will be correctly matched. (Patch from
1038        Vince Darley).
1039
1040        * win/makefile.vc: Applied patch from Don Porter to provide better
1041        nmake support for NT/Alpha [RFE: 5938].
1042
10432000-07-18  Mo DeJong  <mdejong@redhat.com>
1044
1045        * unix/configure.in:
1046        * unix/tcl.m4:
1047        * win/tcl.m4: Properly quote arguments to m4 macros. This allows Tcl
1048        to work with the new version of autoconf.
1049
10502000-07-18  Eric Melski  <ericm@ajubasolutions.com>
1051
1052        * tests/opt.test: Removed references to Lfirst, Lrest functions.
1053
1054        * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, which
1055        replaces the [Lfirst] function with an inline [lindex ... 0] and
1056        [Lrest] with [lrange ... 1 end], for better performance. [RFE: 6019]
1057
10582000-07-18  Eric Melski  <ericm@scriptics.com>
1059
1060        * compat/string.h: Fixed function prototypes for strpbrk and strtok
1061        [Bug: 6020].
1062
10632000-07-17  David Gravereaux  <davygrvy@ajubasolutions.com>
1064
1065        * win/tclWinChan.c: Win2K OS bug with GetStdHandle(STD_OUTPUT_HANDLE)
1066        giving the wrong answer. This made TclpGetDefaultStdChannel grab what
1067        it thought was a valid native stdout handle. Added a new WriteFile()
1068        test to make sure it's really valid. This OS bug doesn't affect the
1069        shells. Only -subsystem:windows (aka WinMain) application that
1070        dynamically load tclXX.dll [BUG: 5971]
1071
10722000-07-17  Eric Melski  <ericm@scriptics.com>
1073
1074        * library/msgcat1.0/msgcat.tcl:
1075        * doc/msgcat.n:
1076        * tests/msgcat.test: Applied patches from Chris Nelson, to provide the
1077        mcmset function, which allows the translator to set multiple string
1078        translations in a single function call, rather than requiring many
1079        calls to mcset. [RFE: 6000, 5993]. In addition, these patches correct
1080        mcload to use utf-8 encoding on when reading message catalog files,
1081        and provides for better default behavior for determining the locale on
1082        a Windows system.
1083
10842000-07-17  Mo DeJong  <mdejong@redhat.com>
1085
1086        * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc before running
1087        AC_PROG_CC if CC is already set.
1088
10892000-07-13  André Pönitz <poenitz@mathematik.tu-chemnitz.de>
1090
1091        * doc/lappend.n:
1092        * doc/lindex.n:
1093        * doc/linsert.n:
1094        * doc/list.n:
1095        * doc/llength.n:
1096        * doc/lrange.n:
1097        * doc/lreplace.n:
1098        * doc/lsearch.n:
1099        * doc/lsort.n: Added SEE ALSO sections.
1100
11012000-07-07  Mo DeJong  <mdejong@redhat.com>
1102
1103        * win/configure.in: Fix definition of TCL_SRC_DIR so that it matches
1104        the Unix version.
1105        * win/tclConfig.sh.in: Removed duplicate variables.
1106
11072000-07-06  Eric Melski  <ericm@scriptics.com>
1108
1109        * tests/msgcat.test:
1110        * library/msgcat1.0/msgcat.tcl: Applied patch from Christian Krone, to
1111        provide extended args support for msgcat::unknown, which is used for
1112        strings without a known translation in the current locale [Bug: 5984].
1113
11142000-06-29  Eric Melski  <ericm@scriptics.com>
1115
1116        * doc/msgcat.n: Doc's for mcmax function.
1117
1118        * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent Duperval,
1119        to add mcmax function, which computes the length of the longest of
1120        several translated strings. Bumped version number to 1.1.
1121
11222000-06-27  Eric Melski  <ericm@scriptics.com>
1123
1124        * tests/stringObj.test: Tweaked tests to avoid hardcoded high-ASCII
1125        characters (which will fail in multibyte locales); instead used \uXXXX
1126        syntax. [Bug: 3842].
1127
11282000-06-26  Eric Melski  <ericm@scriptics.com>
1129
1130        * doc/package.n: Corrected information about [package forget]
1131        arguments [Bug: 5418].
1132
11332000-06-23  Eric Melski  <ericm@scriptics.com>
1134
1135        * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in Tcl
1136        hash tables [RFE: 5934].
1137
1138        * generic/tcl.h:
1139        * generic/tclHash.c: Applied patch from [RFE: 5934], which extends Tcl
1140        hash tables to allow Tcl_Obj *'s as the key.
1141
11422000-06-20  Eric Melski  <ericm@ajubasolutions.com>
1143
1144        * tests/opt.test:
1145        * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which
1146        corrected an incorrect use of [string match].
1147
1148        * unix/tclConfig.sh.in:
1149        * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a
1150        typo in the comments in these files.
1151
11522000-06-19  Eric Melski  <ericm@scriptics.com>
1153
1154        * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with
1155        "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901].
1156
11572000-06-13  Eric Melski  <ericm@scriptics.com>
1158
1159        * win/tcl.m4:
1160        * win/configure.in:
1161        * win/Makefile.in: Applied patch from [RFE: 5844], to extend support
1162        for mingw compile environment on Windows.
1163
1164        * win/tclWinDde.c:
1165        * win/tclWinInit.c:
1166        * win/tclWinNotify.c:
1167        * win/tclWinPipe.c:
1168        * win/tclWinReg.c:
1169        * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix compiler
1170        warnings when using mingw on Windows.
1171
11722000-05-31  Jeff Hobbs  <hobbs@scriptics.com>
1173
1174        * tests/set-old.test:
1175        * doc/unset.n:
1176        * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- options
1177        to unset, to allow for a silent unset operation.
1178
11792000-05-31  Eric Melski  <ericm@scriptics.com>
1180
1181        * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and
1182        exact matching for [array names] command. [RFE: 3684].
1183
1184        * doc/array.n: Added documentation for [array names
1185        -exact/-regexp/-glob] [RFE: 3684].
1186
1187        * tests/set-old.test: Added tests for [array names
1188        -exact/-regexp/-glob] [RFE: 3684].
1189
11902000-06-06  Jeff Hobbs  <hobbs@scriptics.com>
1191
1192        8.4a1 RELEASE
1193
1194        * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added test
1195        of iResult return from memcmp, as memcmp isn't required to return only
1196        -1,0,1.
1197
11982000-06-03  Jeff Hobbs  <hobbs@scriptics.com>
1199
1200        * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected caching
1201        of the index ptr to account for offsets != sizeof(char *). [Bug: 5153]
1202
12032000-05-29  Sandeep Tamhankar <sandeep@scriptics.com>
1204
1205        * tests/http.test
1206        * doc/http.n
1207        * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful geturl
1208        calls sometimes leaked memory and resources (sockets). Also, switched
1209        around some of the logic so that http::wait never throws an exception.
1210        This is because in an asynchronous geturl, the command callback will
1211        probably end up doing all the error handling anyway, and in an
1212        asynchronous situation, the user expects to check the state when the
1213        transaction completes, as opposed to being thrown an exception. For
1214        the http package, this menas the user can check http::status for
1215        "error" and http::error for the error message after doing the
1216        http::wait.
1217
12182000-05-27  Jeff Hobbs  <hobbs@scriptics.com>
1219
1220        * tests/info.test:
1221        * doc/info.n:
1222        * generic/tclIOUtil.c (Tcl_EvalFile):
1223        * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the info
1224        script return value [info script ?newFileName?]. This will be
1225        beneficial for virtual file system programs. [Bug: 4225]
1226
12272000-05-26  Jeff Hobbs  <hobbs@scriptics.com>
1228
1229        * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in
1230        Unicode, tweaked for performance.
1231        (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to
1232        something more understandable, reworked STR_FIRST, STR_LAST, STR_MAP,
1233        STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. Removed
1234        inneffectual STR_RANGE "special" ByteArray support. Optimized STR_MAP
1235        algorithm, especially optimized for one-pair case. Fixed possible mem
1236        overrun in STR_INDEX bytearray case.
1237
1238        * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ,
1239        INST_STRNEQ -> INST_STR_NEQ
1240        * generic/tclCompile.c: added streq, strneq, strcmp, strlen &
1241        strmatch to the compiled stats instructionTable
1242        * generic/tclCompile.h: added instructions INST_STR_CMP,
1243        INST_STR_INDEX, INST_STR_MATCH
1244        * generic/tclCompCmds.c: added byte compiler support for [string
1245        compare|match|index].
1246        * generic/tclExecute.c: Changed INST_STR_(N)EQ to return an Int object
1247        and not bother trying to reuse the top stack object. Added
1248        INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. Extended
1249        evalstats output info with Tcl_IsShared stat info.
1250
1251        * generic/tclInt.h:
1252        * generic/tclObj.c (Tcl_DbIsShared): added support for checking result
1253        of Tcl_IsShared in evalstats (TCL_COMPILE_STATS).
1254
1255        * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code.
1256        (AppendUnicodeToUnicodeRep) removed overallocation by extra
1257        sizeof(Tcl_UniChar) multiplier.
1258
1259        * tests/string.test: added string map tests for the one-pair case,
1260        corrected tests to reflect improved error messages in first/last.
1261        Added tests against mem overrun in string index bytearray case.
1262
12632000-05-23  Eric Melski  <ericm@scriptics.com>
1264
1265        * generic/tclInt.h: Added function prototypes for TclCompileStringCmd
1266        and TclCompileReturnCmd.
1267
1268        * generic/tclCompile.h: Added definition of INST_STRLEN opcode and
1269        updated LAST_INST_OPCODE value.
1270
1271        * generic/tclBasic.c: Added information about TclCompileStringCmd and
1272        TclCompileReturnCmd to BuiltInCmds table.
1273
1274        * generic/tclExecute.c (TclExecuteByteCode): Added support for the
1275        INST_STRLEN opcode.
1276
1277        * generic/tclCompCmds.c (TclCompileStringCmd): Basic implementation of
1278        byte-compiled [string] command. Not all subcommands are implemented;
1279        those that are not an out-line compiled.
1280
1281        (TclCompileReturnCmd): Byte-compiled implementation of [return]
1282        command. Only "simple" returns are byte-compiled; in particular, if
1283        the -code, -errorinfo or -errorcode flags are used, the command is not
1284        byte-compiled.
1285
12862000-05-22  Jeff Hobbs  <hobbs@scriptics.com>
1287
1288        * doc/scan.n:
1289        * doc/array.n: minor doc fixes [Bug: 5396]
1290
1291        * generic/tclEnv.c: cast cleanup [Bug: 5624]
1292        * win/tclWinConsole.c: cast and header cleanup [Bug: 5625]
1293        * win/tclWinSerial.c: cast cleanup [Bug: 5626]
1294        * win/tclWinFCmd.c: cast cleanup [Bug: 5627]
1295
12962000-05-19  Jeff Hobbs  <hobbs@scriptics.com>
1297
1298        * generic/tclTest.c:
1299        * generic/tclIO.c: moved channel test commands from tclIO.c to
1300        tclTest.c.
1301        * generic/tclIO.h: new file, split out from tclIO.c to allow test
1302        commands to be moved to tclTest.c.
1303
1304        * generic/tclStubInit.c:
1305        * generic/tclIntDecls.h:
1306        * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs
1307        table and added TclChannelEventScriptInvoker to the internal stubs
1308        table so it can be used from the test code.
1309
13102000-05-18  Eric Melski  <ericm@scriptics.com>
1311
1312        * tests/clock.test: Added test for "2 days 2 hours ago" style
1313        specifications.
1314
1315        * generic/tclDate.c: Regenerated from tclGetDate.y.
1316
1317        * generic/tclGetDate.y: Tweaked grammar to properly handle the "ago"
1318        keyword when it follows multiple relative unit specifiers, as in "2
1319        days 2 hours ago". [Bug: 5497]
1320
13212000-05-18  Jeff Hobbs  <hobbs@scriptics.com>
1322
1323        * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw
1324        compile env and cross-compiling. [Bug: 5499]
1325
1326        * generic/tclClock.c (FormatClock): correct code to handle locale
1327        specific return values from strftime, if any. [Bug: 3345]
1328
1329        * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to correct
1330        setlocale calls for XIM support and locale issues. [BUG: 5422 3345
1331        4236 2522 2521]
1332
13332000-05-17  Jeff Hobbs  <hobbs@scriptics.com>
1334
1335        * library/init.tcl (auto_import): added check to see if a valid
1336        pattern was coming in, to avoid simple error cases [Bug: 3326]
1337
1338        * doc/regsub.n: correct regsub docs [Bug: 5346]
1339
13402000-05-15  Eric Melski  <ericm@scriptics.com>
1341
1342        * library/history.tcl: Corrected an off-by-one error in HistIndex,
1343        which was causing [history redo] to start its search at the wrong
1344        event index. [Bug: 1269].
1345
13462000-05-10  Jeff Hobbs  <hobbs@scriptics.com>
1347
1348        * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for Linux
1349        on Sparc to compile correctly. [Bug: 5364]
1350
1351        * doc/namespace.n:
1352        * tests/namespace.test:
1353        * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace exists'
1354        command. [Bug: 4665]
1355
1356        * doc/source.n:
1357        * doc/Eval.3:
1358        * tests/source.test:
1359        * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) eofchar
1360        (affects Tcl_EvalFile in C, "source" in Tcl). This was implicit on
1361        Windows already, and is now cross-platform to allow for scripted
1362        documents.
1363
13642000-05-09  Andreas Kupries  <a.kupries@westend.com>
1365        operating as proxy for David Gravereaux <davygrvy@pobox.com>
1366
1367        * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing
1368        initialization of joinLock.
1369
13702000-05-09  Eric Melski  <ericm@scriptics.com>
1371
1372        * tests/lsearch.test:
1373        * doc/lsearch.n:
1374        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to
1375        support sorted list searching and typed list searching. [RFE: 4098].
1376
13772000-05-08  Jeff Hobbs  <hobbs@scriptics.com>
1378
1379        * doc/expr.n:
1380        * tests/expr.test:
1381        * tests/expr-old.test: added tests for 'eq' and 'ne'
1382        * generic/tclExecute.c:
1383        * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes that
1384        do strict string comparisons.
1385        * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison
1386        operators.
1387        * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr parse
1388        terms (string (in)equality check).
1389
1390        * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of
1391        Tcl_DuplicateObj where code was otherwise duplicated. Made special
1392        case of inserting one element at the end work again (where index ==
1393        len).
1394        (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and cleaned
1395        up use of other arguments.
1396
1397        * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call
1398        TclInitStringRep, which the code was just duplicating in part.
1399
1400        * doc/Utf.3:
1401        * generic/tclStubInit.c:
1402        * generic/tcl.decls:
1403        * generic/tclDecls.h:
1404        * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and
1405        Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch)
1406        * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for
1407        optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch
1408        * tests/string.test: extended string match tests
1409
14102000-05-08  Eric Melski  <ericm@scriptics.com>
1411
1412        * tests/set-old.test:
1413        * doc/array.n:
1414        * generic/tclVar.c: Added [array statistics] command [RFE: 4557]
1415
14162000-05-06  Andreas Kupries <a.kupries@westend.com>
1417        operating as proxy for David Gravereaux <davygrvy@pobox.com>
1418
1419        * tclThreadJoin.c: Fixed several places with missing a & in arguments
1420        to calls of Tcl_Mutex(Un)lock and Tcl_ConditionNotify functions.
1421
14222000-05-02  Jeff Hobbs  <hobbs@scriptics.com>
1423
1424        * README:
1425        * generic/tcl.h:
1426        * library/init.tcl:
1427        * library/reg1.0/pkgIndex.tcl:
1428        * library/tcltest1.0/tcltest.tcl:
1429        * mac/README:
1430        * tools/tcl.hpj.in:
1431        * tools/tcl.wse.in:
1432        * unix/README:
1433        * unix/configure.in:
1434        * unix/tcl.spec:
1435        * win/README:
1436        * win/README.binary:
1437        * win/configure.in:
1438        * win/makefile.vc:
1439        * win/tcl.m4: updated patchlevel to 8.4a1
1440
1441        * tests/compile.test:
1442        * tests/init.test:
1443        * tests/proc.test:
1444        * tests/proc-old.test:
1445        * tests/rename.test:
1446        * generic/tclProc.c: reworked error return for procedures with
1447        incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong #
1448        args: ..." message is printed out with the args list.
1449
1450        * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target
1451
14522000-05-02  Andreas Kupries <a.kupries@westend.com>
1453
1454        Overall changes:
1455          (1) Implementation of joinable threads for all platforms.
1456          (2) Additional API's for channels. Required to allow the thread
1457              extension to move channels between threads.
1458
1459        * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread,
1460        Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel,
1461        Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers
1462        (slots 394 to 400).
1463
1464        * generic/tclIO.c: Implemented Tcl_IsChannelRegistered,
1465        Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
1466        Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.  Tcl_CutChannel
1467        uses code from CloseChannel. Replaced this code by a call to
1468        Tcl_CutChannel. Replaced several code fragments adding channels to
1469        the channel list with calls to Tcl_SpliceChannel. Removed now unused
1470        variables from CloseChannel and Tcl_UnstackChannel.
1471        Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code
1472        by a call to Tcl_ClearChannelHandlers. Removed now unused variables
1473        from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and
1474        'isshared' to the test code (TclTestChannelCmd).
1475
1476        * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the
1477        pthread-functionality.
1478
1479        * win/tclWinThrd.c: Fixed several small typos in comments.
1480        Implemented Tcl_JoinThread using a platform independent emulation
1481        layer (see generic/tclThreadJoin.c below). Added 'joinLock' to
1482        serialize Tcl_CreateThread and TclpExitThread to prevent a race for
1483        joinable threads.
1484
1485        * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform
1486        independent emulation layer (see generic/tclThreadJoin.c below). Due
1487        to the cooperative nature of threading on this platform the race
1488        mentioned above is not present.
1489
1490        * generic/tclThreadJoin.c: New file. Contains a platform independent
1491        emulation layer helping in the implementation of joinable threads for
1492        the win and mac platforms.
1493
1494        * generic/tclInt.h: Added declarations for TclJoinThread,
1495        TclRememberJoinableThread and TclSignalExitThread. These procedures
1496        define the API of the emulation layer for joinable threads (see
1497        generic/tclThreadJoin.c above).
1498
1499        * win/Makefile.in:
1500        * win/makefile.vc: Added generic/tclTheadJoin.o to the rules.
1501
1502        * mac/: I don't know to which file generic/tclTheadJoin.o has to be
1503        added to so that it compiles. Sorry.
1504
1505        * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels
1506        as it prevents us from transfering channels. To restore this we may
1507        need an extended interface to drivers in the future. Target:
1508        9.0. Found while testing the new transfer of channels. The information
1509        in this list for a channel was left behind and then crashed the system
1510        during finalization.
1511
1512        * generic/tclThreadTest.c: Added -joinable flag to 'testthread
1513        create'. Added subcommand 'testthread join'.
1514
1515        * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered,
1516        Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
1517        Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
1518
1519        * doc/Thread.3: Added documentation for Tcl_JoinThread.
1520
1521        * tests/thread.test: Added tests for joining of threads.
1522
15232000-04-27  Eric Melski  <ericm@scriptics.com>
1524
1525        * doc/library.n: Added entries for auto_qualify and auto_import
1526        [Bug: 1271].
1527
1528        * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820].
1529
1530        * doc/expr.n: Added documentation for each of the math library
1531        functions that expr supports [Bug: 1054].
1532
15332000-04-26  Eric Melski  <ericm@scriptics.com>
1534
1535        * doc/memory.n: Man page for Tcl "memory" command, which is created
1536        when TCL_MEM_DEBUG is defined at compile time.
1537
1538        * doc/TCL_MEM_DEBUG.3: Man page with overall information about
1539        TCL_MEM_DEBUG usage.
1540
1541        * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory,
1542        Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835].
1543
1544        * generic/tclCkalloc.c: Fixed some function headers.
1545
1546        * unix/mkLinks: Regen'd with new mkLinks.tcl.
1547
1548        * unix/mkLinks.tcl: Fixed indentation, made link setup more
1549        intelligent (only do one existance test per man page, instead of one
1550        per function).
1551
1552        * doc/library.n: Fixed .SH NAME macro to include each function
1553        documented on the page, so that mkLinks will know about the functions
1554        listed there, and so that the Windows help file index will get set up
1555        correctly [Bug: 1898, 5273].
1556
15572000-04-26  Jeff Hobbs  <hobbs@scriptics.com>
1558
1559        8.3.1 RELEASE
1560
1561        * README:
1562        * mac/README:
1563        * tools/tcl.wse.in:
1564        * unix/README:
1565        * unix/tcl.spec:
1566        * win/README:
1567        * win/README.binary: Updating URLs to reference dev.scriptics.com
1568
15692000-04-25  Jeff Hobbs  <hobbs@scriptics.com>
1570
1571        * unix/Makefile.in:
1572        * win/Makefile.in:
1573        * win/makefile.vc: updated for http change and some cleanup
1574        * library/http2.[13]: moved dir http2.1 to http2.3 to match version
1575
1576        * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex
1577
1578        * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER
1579        [Bug: 5254]
1580
1581        * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result
1582
15832000-04-25  Eric Melski  <ericm@scriptics.com>
1584
1585        * unix/mkLinks:
1586        * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo
1587        [Bug: 1818].
1588
15892000-04-24  Eric Melski  <ericm@scriptics.com>
1590
1591        * unix/mkLinks:
1592        * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834].
1593
1594        * unix/mkLinks:
1595        * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833].
1596
1597        * unix/mkLinks:
1598        * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828].
1599
16002000-04-24  Jeff Hobbs  <hobbs@scriptics.com>
1601
1602        * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc):
1603        added write of 'q' into triggerPipe for notifier in threaded case, so
1604        that Tcl doesn't hang when children are still running [Bug: 4139]
1605
1606        * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes.
1607
16082000-04-23  Jim Ingham  <jingham@cygnus.com>
1609
1610        These changes make some error handling marginally better for Mac
1611        sockets. It is still somewhat flakey, however.
1612
1613        * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these don't
1614        seem to be honored, however. Use a separate PB for the release, since
1615        an async connect socket will still be using the original buffer. Make
1616        sure TCPRelease returns noErr before freeing the recvBuff. If the call
1617        returns an error, then the buffer is not right.
1618        * mac/tclMacSock.c (CreateSocket): Add timeouts to the async create.
1619        These don't seem to trigger, however. Sigh...
1620        * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT
1621        socket errors out, then return EWOULDBLOCK & error out.
1622        * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for
1623        experimenting with MacTCP.
1624
16252000-04-22  Jim Ingham <jingham@cygnus.com>
1626
1627        * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package
1628        search part of tclPkgUnknown.
1629
16302000-04-21  Sandeep Tamhankar <sandeep@scriptics.com>
1631
1632        * library/http2.1/http.tcl: Fixed a newly introduced bug where if
1633        there's a -command callback and something goes wrong, geturl threw an
1634        exception, called the callback, and unset the token. I changed it so
1635        that it will not call the callback when throwing an exception (so the
1636        caller only finds out about a given error from one place).  Also,
1637        fixed http::ncode so that it actually gives you back the http return
1638        code (i.e. 200, 404, etc.) instead of the first digit of the version
1639        of HTTP being used (i.e. 1).
1640
16412000-04-21  Brent Welch <welch@scriptics.com>
1642
1643        * library/http2.1/http.tcl: More thrashing with the "server closes
1644        without reading post data" scenario. Reverted to the previous filevent
1645        configuratiuon, which seems to work better with small amounts of post
1646        data.
1647
16482000-04-20  Jeff Hobbs  <hobbs@scriptics.com>
1649
1650        * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix
1651        * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of
1652        USE_TCLALLOC on Unix. [Bug: 4731]
1653
16542000-04-19  Jeff Hobbs  <hobbs@scriptics.com>
1655
1656        * library/dde1.1/pkgIndex.tcl:
1657        * library/reg1.0/pkgIndex.tcl:
1658        * win/tclWinChan.c:
1659        * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were
1660        not converted, as it confuses hcw locally. [Bug: 5096]
1661
1662        * win/Makefile.in: expanded cleanup target for help files
1663
1664        * doc/Thread.3: minor macro cleanup
1665
1666        * generic/tclFileName.c (SplitUnixPath): added support for QNX node
1667        ids.
1668
16692000-04-18  Jeff Hobbs  <hobbs@scriptics.com>
1670
1671        * README:
1672        * generic/tcl.h:
1673        * tools/tcl.wse.in:
1674        * unix/configure.in:
1675        * unix/tcl.spec:
1676        * win/configure.in:
1677        * win/README.binary: bumped version to 8.3.1
1678
1679        * win/tcl.hpj.in: updated copyright date
1680
1681        * generic/tclEnv.c: environment support for Mac OS/X
1682        * unix/tclUnixPort.h: environment support for Mac OS/X
1683        * unix/tclLoadDyld.c: new file for Mac OS/X dl functions
1684        * unix/Makefile.in: added install-strip target; bindir, libdir,
1685        mandir, includedir vars; tclLoadDyld.c target [Bug: 2527]
1686
1687        * unix/tclUnixChan.c (CreateSocket): force a socket back into blocking
1688        mode (default state) after a -async connect succeeds. [Bug: 4388]
1689
1690        * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to
1691        thread-local storage to prevent thread-related race condition.
1692        [Bug: 5033]
1693        * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the
1694        library path as it was unnecessary and conflicts with move of
1695        tclLibraryPath to thread-local storage.
1696
16972000-04-18  Scott Redman  <redman@scriptics.com>
1698
1699        * win/Makefile.in:
1700        * win/tcl.rc:
1701        * win/tclsh.rc:
1702        * win/tclsh.ico:  Modified copyright dates in Windows resource files.
1703        Added an icon for tclsh.exe.
1704
17052000-04-17  Brent Welch <welch@scriptics.com>
1706
1707        * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c,
1708        * win/tclWinThread.c, mac/tclMacThread.c: Added Tcl_CreateThreadType
1709        and TCL_RETURN_THREAD_TYPE macros for declaring the NewThread callback
1710        proc.
1711
17122000-04-14  Jeff Hobbs  <hobbs@scriptics.com>
1713
1714        * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space
1715        parity on platforms that support it [Bug: 5089]
1716
1717        * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor to
1718        not conflict with global decl on some systems [Bug: 2882]
1719
1720        * doc/AppInit.3:
1721        * doc/Async.3:
1722        * doc/BackgdErr.3:
1723        * doc/CrtChannel.3:
1724        * doc/CrtInterp.3:
1725        * doc/CrtMathFnc.3:
1726        * doc/DString.3:
1727        * doc/Eval.3:
1728        * doc/ExprLong.3:
1729        * doc/GetInt.3:
1730        * doc/GetOpnFl.3:
1731        * doc/Interp.3:
1732        * doc/LinkVar.3:
1733        * doc/OpenFileChnl.3:
1734        * doc/OpenTcp.3:
1735        * doc/PkgRequire.3:
1736        * doc/RecordEval.3:
1737        * doc/SetResult.3:
1738        * doc/SplitList.3:
1739        * doc/StaticPkg.3:
1740        * doc/TraceVar.3:
1741        * doc/Translate.3:
1742        * doc/UpVar.3:
1743        * doc/load.n: removed or updated references to interp->result use.
1744
17452000-04-13  Jeff Hobbs  <hobbs@scriptics.com>
1746
1747        * doc/regexp.n: doc clarification [Bug: 5037]
1748        * doc/update.n: typo fix [Bug: 4996]
1749
1750        * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of
1751        pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added
1752        --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995]
1753
17542000-04-12  Jeff Hobbs  <hobbs@scriptics.com>
1755
1756        * doc/dde.n: corrected dde poke docs. [Bug: 4991]
1757
17582000-04-11  Eric Melski  <ericm@scriptics.com>
1759
1760        * win/tclWinPipe.c: Added "CONST" keyword to declaration of char
1761        *native in TclpCreateTempFile, to supress compiler warnings.
1762
17632000-04-10  Brent Welch <welch@scriptics.com>
1764
1765        * generic/tcl.h: Fixed Tcl_CreateThread declaration.
1766        * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread"
1767        initialization to work with either testthread or the thread extension
1768        * unix/tclUnixThrd.c: Fixed compiler warning when compiling with
1769        -DTCL_THREADS
1770
17712000-04-10  Eric Melski  <ericm@scriptics.com>
1772
1773        * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of contents
1774        string from UTF to native encoding [Bug: 4030].
1775
1776        * tests/regexp.test: Added tests for infinite looping in [regexp
1777        -all].
1778
1779        * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all]
1780        [Bug: 4981].
1781
1782        * tests/*.test: Changed all occurances of "namespace import
1783        ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
1784
17852000-04-09  Brent Welch <welch@scriptics.com>
1786
1787        * lib/httpd2.1/http.tcl: Worked on the "server closes before reading
1788        post data" case, which unfortunately causes different error cases on
1789        Solaris, which can read the reply, and Linux and Windows, which cannot
1790        read anything. This is all in the loop-back case - client and server
1791        on the same host. Also unified the error handling so the "ioerror"
1792        status goes away and errors are reflected in a more uniform way.
1793        Updated the man page to document the behavior.
1794
17952000-04-09  Jeff Hobbs  <hobbs@scriptics.com>
1796
1797        * tests/reg.test (matchexpected): corrected tests to use tcltest
1798        constraint types to skip certain tests.
1799
1800        * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix
1801
1802        * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef
1803        inside of func as it is declared for non-threads builds as well. In
1804        the non-threads case, it always returns TCL_ERROR (couldn't create
1805        thread).
1806
18072000-04-08  Andreas Kupries <a.kupries@westend.com>
1808
1809        * Overall change: Definition of a public API for the creation of
1810        new threads.
1811
1812        * generic/tclInt.h (line 1802f): Removed the definition of
1813        'TclpThreadCreate'. (line 793f) Removed the definition of
1814        'Tcl_ThreadCreateProc'.
1815
1816        * generic/tcl.h (line 388f): Readded the definition of
1817        'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux
1818        <davygrvy@bigfoot.com> to that too (__stdcall, ...). Added macros for
1819        the default stacksize and allowed flags.
1820
1821        * generic/tcl.decls (line 1356f): Added definition of
1822        'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in
1823        the public API, for stacksize and flags.
1824
1825        * win/tclWinThrd.c:
1826        * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread,
1827        added handling of the stacksize. Flags are currently ignored.
1828
1829        * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores
1830        the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is
1831        not defined.
1832
1833        * generic/tclThreadTest.c (line 363): See below.
1834
1835        * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses
1836        default stacksize and no flags now.
1837
1838        * unic/tcl.m4 (line 382f): Added a check for
1839        'pthread_attr_setstacksize' to detect platforms not implementing this
1840        feature of pthreads. If it is implemented, configure will define the
1841        macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too).
1842
1843        * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list
1844        of described functions. Removed stuff about not providing a public
1845        C-API for thread-creation.
1846
18472000-04-07  Jeff Hobbs  <hobbs@scriptics.com>
1848
1849        * doc/binary.n: clarified docs on sign extension in binary scan [Bug:
1850        3466]
1851
1852        * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s
1853        references (no longer supported)
1854
1855        * tests/fCmd.test: marked test 8.1 knownBug because it is dangerous on
1856        poorly configured systems [Bug: 3881] and added 8.2 to keep essence of
1857        8.1 tested.
1858
18592000-04-05  Andreas Kupries <a.kupries@westend.com>
1860
1861        * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest
1862        mask to the correct value after an unstack and re-initialization of
1863        the notifier via the watchProc. Without this the first fileevent after
1864        an unstack will come through and be processed, but no more. [Bug: ??].
1865
18662000-03-04  Brent Welch  <welch@scriptics.com>
1867
1868        * {win,unix}/Makefile.in: added dependency of tclStubInit.c on
1869        tcl.decls and tclInt.decls
1870        * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS
1871        * generic/{tcl.decls,tclStubInit.c}:  Just touched the tcl.decls and
1872        regenerated the tclStubInit.c file
1873
18742000-03-29  Sandeep Tamhankar <sandeep@scriptics.com>
1875
1876        * library/http2.1/http.tcl: For the -querychannel option, fconfigure
1877        the socket to be binary so that we don't translate anything while
1878        reading the data. This is because we determine the content length of
1879        the data on the channel by using seek (to the end of the file) and
1880        tell on the file handle, and we need the content-length to match the
1881        amount of data actually sent, and translation can affect the number of
1882        bytes posted.
1883
18842000-04-03  Andreas Kupries <a.kupries@westend.com>
1885
1886        * Overall change: Definition of public API's for the finalization of
1887        conditions and mutexes. [Bug: 4199].
1888
1889        * generic/tclInt.h: Removed definitions of TclFinalizeMutex and
1890        TclFinalizeCondition.
1891
1892        * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and
1893        Tcl_ConditionFinalize.
1894
1895        * generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize.
1896        Renamed TclFinalizeCondition to Tcl_ConditionFinalize.
1897
1898        * generic/tclNotify.c: Changed usage of TclFinalizeMutex to
1899        Tcl_MutexFinalize.
1900
1901        * unix/tclUnixNotfy.c:
1902        * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to
1903        Tcl_ConditionFinalize.
1904
1905        * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and
1906        Tcl_ConditionFinalize, to be used when the core is compiled without
1907        threads.
1908
1909        * doc/Thread.3: Added description the new API's.
1910
19112000-04-03  Jeff Hobbs  <hobbs@scriptics.com>
1912
1913        * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr to
1914        prevent itcl info override crash [Bug: 4064]
1915
1916        * tests/foreach.test:
1917        * tests/namespace.test:
1918        * tests/var.test: Added lsorts to avoid random sorted return
1919        problems. [Bug: 2682]
1920
1921        * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482]
1922
1923        * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156]
1924        improved translation to winhelp [Bug: 3679]
1925
1926        * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir
1927        correctly [Bug: 4085]
1928
1929        * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293]
1930
19312000-04-03  Eric Melski  <ericm@scriptics.com>
1932
1933        * unix/tclUnixFCmd.c (SetGroupAttribute):
1934        * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t)
1935        casts to avoid compiler warnings.
1936
19372000-03-31  Eric Melski  <ericm@scriptics.com>
1938
1939        * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to
1940        error test (previously only errno was checked, but the return value of
1941        strtod() should be checked as well). [Bug: 4118]
1942
1943        * tests/exec.test: Added test for proper conversion of UTF data when
1944        used with "<< $dataWithUTF" on exec's.
1945
1946        * unix/tclUnixPipe.c (TclpCreateTempFile): Added
1947        Tcl_UtfToExternalDString call, so that if there is UTF content in the
1948        string it will be properly converted to the system encoding before
1949        being written [Bug: 4030].
1950        (TclpCreateTempFile): Added a check on the return value of tmpnam;
1951        some systems (Linux, for example) will start to return NULL after
1952        tmpnam has been called TMP_MAX times; not checking for this can have
1953        bad results (overwriting temp files, core dumps, etc.)
1954
19552000-03-30  Jeff Hobbs  <hobbs@scriptics.com>
1956
1957        * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments
1958        noting the need to pair ckalloc with ckfree. [Bug: 4262]
1959
1960        * generic/tclInt.decls:
1961        * generic/tclIntPlatDecls.h:
1962        * generic/tclStubInit.c:
1963        * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s
1964        support).
1965
1966        * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting
1967        info again
1968
1969        * win/tclWinPort.h:
1970        * win/Makefile.in:
1971        * win/configure.in:
1972        * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
1973
19742000-03-29  Jeff Hobbs  <hobbs@scriptics.com>
1975
1976        * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup
1977        more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by
1978        tbcload), to correctly clean them up.
1979
1980        * generic/tclClock.c (FormatClock): moved check for empty format
1981        earlier, commented 0 result return value
1982
19832000-03-29  Sandeep Tamhankar <sandeep@scriptics.com>
1984
1985        * library/http2.1/http.tcl: Removed an unnecessary fileevent statement
1986        from the error processing part of the Write method. Also, fixed two
1987        potential memory leaks in wait and reset, in which the state array
1988        wasn't being unset before throwing an exception. Prior to this
1989        version, Brent checked in a fix to catch a fileevent statement that
1990        was sometimes causing a stack trace when geturl was called with
1991        -timeout. I believe Brent's fix is necessary because TLS closes bad
1992        sockets for secure connections, and the fileevent was trying to act on
1993        a socket that no longer existed.
1994
19952000-03-27  Jeff Hobbs  <hobbs@scriptics.com>
1996
1997        * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"'
1998
1999        * tests/namespace.test:
2000        * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the
2001        export list so only one instance of each export pattern would exist in
2002        the list.
2003
2004        * generic/tclExecute.c (TclExecuteByteCode): optimized case for the
2005        empty string in ==/!= comparisons
2006
20072000-03-27  Eric Melski  <ericm@scriptics.com>
2008
2009        * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call [Bug:
2010        4409].
2011
2012        * unix/tclLoadAout.c:
2013        * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug:
2014        4410].
2015
20162000-03-22  Sandeep Tamhankar <sandeep@scriptics.com>
2017
2018        * library/http2.1/http.tcl: Fixed a bug where string query data that
2019        was bigger than queryblocksize would get duplicate characters at block
2020        boundaries.
2021
20222000-03-22  Sandeep Tamhankar <sandeep@scriptics.com>
2023
2024        * library/http2.1/http.tcl: Fixed bug 4463, where we were getting a
2025        stack trace if we tried to publish a project to a good host but a port
2026        where there was no server listening.  It turned out the problem was a
2027        stray fileevent that needed to be cleared.  Also, fixed a bug where
2028        http::code could stack trace if called on a bad token (one which
2029        didn't represent a successful geturl) by adding an http element to the
2030        state array in geturl.
2031
20322000-03-21  Eric Melski  <ericm@scriptics.com>
2033
2034        * tests/clock.test: Modified some tests that were not robust with
2035        respect to the time zone in which they were run and were thus failing.
2036
2037        * doc/clock.n: Clarified meaning of -gmt with respect to -base when
2038        used with [clock scan] (-gmt does not affect the interpretation of
2039        -base).
2040
20412000-03-19  Sandeep Tamhankar <sandeep@scriptics.com>
2042
2043        * library/http2.1/http.tcl: geturl used to throw an exception when the
2044        connection failed; I accidentally returned a token with the error
2045        info, breaking backwards compatibility. I changed it back to throwing
2046        an exception, but unsetting the state array first (thus still
2047        eliminating the original memory leak problem).
2048
20492000-03-19  Sandeep Tamhankar <sandeep@scriptics.com>
2050
2051        * library/http2.1/http.tcl: Added -querychannel option and altered
2052        some of Brent's modifications to allow asynchronous posts (via
2053        -command). Also modified -queryprogress so that it calls the query
2054        callback as <callback> <token> <total size> <current size> to be
2055        consistent with -progress. Added -queryblocksize option with default
2056        8192 bytes for post blocksize. Fixed a bunch of potential memory leaks
2057        for the case when geturl receives bad args or can't open a socket,
2058        etc. Overall, the package really rocks now.
2059
2060        * doc/http.n: Added -queryblocksize, -querychannel, and
2061        -queryprogress. Also, changed the description of -blocksize, which
2062        states that the -progress callback will be called for each block, to
2063        now qualify that with an "if -progress is specified".
2064
2065        * tests/http.test: Added a querychannel test for synchronous and
2066        asynchronous posts, altered the queryprogress test such that the
2067        callback conforms to the -progress format. Also, had to use the
2068        -queryblocksize option to do the post 16K at a time to match Brent's
2069        expected results (and to test that -queryblocksize works).
2070
20712000-03-15  Brent Welch <welch@scriptics.com>
2072
2073        * library/http2.1/http.tcl: Added -queryprogress callback to
2074        http::geturl and also changed it so that writing the post data is
2075        event driven if the queryprogress callback or a timeout is given.
2076        This allows a timeout to occur when writing lots of post data. The
2077        queryprogress callback is called after each block of query data is
2078        posted. It has the same signature as the -progress callback.
2079
20802000-03-06  Eric Melski  <ericm@scriptics.com>
2081
2082        * library/package.tcl: Applied patch from Bug: 2570; rather than
2083        setting geometry of slave interp to 0x0 when Tk was loaded, it now
2084        does "wm withdraw .". Both remove the main window from the display,
2085        but the former caused some internal structures to get initialized to
2086        zero, which caused crashes with some extensions.
2087
20882000-03-02  Jeff Hobbs  <hobbs@scriptics.com>
2089
2090        * library/package.tcl (tclPkgUnknown): extended to allow recognizes
2091        changes in the auto_path while sourcing in other pkgIndex.tcl files
2092
2093        * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable
2094        [Bug: 4275]
2095
2096        * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch from
2097        Newman to significantly speedup file split/join on Windows (replaces
2098        regexp with custom parser). [Bug: 2867]
2099
2100        * win/README.binary: change mailing lists from @consortium.org to
2101        @scriptics.com [Bug: 4173]
2102
21032000-02-28  Eric Melski  <ericm@scriptics.com>
2104
2105        * tests/clock.test: Added test for ISO bases < 100000
2106
2107        * generic/tclDate.c: (generated on Solaris)
2108        * generic/tclGetDate.y: Changed condition for deciding if a number is
2109        an ISO 8601 base from number >= 100000 to numberOfDigits >= 6.
2110        Previously it would fail to recognize 000000 as an ISO base.
2111
21122000-02-14  Eric Melski  <ericm@scriptics.com>
2113
2114        * unix/Makefile.in: Added rpm target to generate Tcl binary RPM.
2115
2116        * unix/tcl.spec: RPM specification file for a Tcl binary RPM for
2117        Linux.
2118
21192000-02-10  Jeff Hobbs  <hobbs@scriptics.com>
2120
2121        8.3.0 RELEASE
2122
2123        * changes: updated for 8.3.0 release
2124
2125        * doc/load.n: added notes about dll load errors on Windows
2126
2127        * unix/README:
2128        * unix/Makefile.in (dist): removed porting.notes and porting.old from
2129        distribution and CVS.  The information was very outdated. Now refer to
2130        http://dev.scriptics.com/services/support/platforms.html
2131
2132        * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549]
2133
2134        * unix/configure.in:
2135        * unix/tcl.m4: correct CFLAG_WARNING setting, fixed gcc config for
2136        AIX, added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998]
2137
2138        * win/tclWinLoad.c (TclpLoadFile): improved error message for load
2139        failures, could perhaps be even more intelligent.
2140
21412000-02-09  Jim Ingham   <jingham@cygnus.com>
2142
2143        * mac/tclMacSock.c: Don't panic when you get an error closing an async
2144        socket. This doesn't seem to hurt anything, and we return the error so
2145        the caller can do the right thing.
2146
2147        New Files:
2148        * mac/MW_TclHeader.h:
2149        * mac/MW_TclTestHeader.h:
2150        * mac/MW_TclTestHeader.pch:
2151        * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix
2152        files in the preference panels...
2153
2154        The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au)
2155
21562000-02-08  Eric Melski  <ericm@scriptics.com>
2157
2158        * tests/clock.test: Added tests for "next monthname" constructs.
2159        * generic/tclDate.c:
2160        * generic/tclGetDate.y (Message): Added a grammar rule for "next
2161        monthname" so that we can handle "next january" and similar constructs
2162        (bug #4146).
2163
21642000-02-08  Jeff Hobbs  <hobbs@scriptics.com>
2165
2166        * README:
2167        * tools/tcl.wse.in:
2168        * unix/configure.in:
2169        * win/configure.in:
2170        * win/README:
2171        * win/README.binary:
2172        * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel
2173
2174        * doc/library.n:
2175        * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122]
2176
2177        * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory
2178        list to allow dirnames with spaces
2179
2180        * unix/tcl.m4: changed all -fpic to -fPIC
2181
2182        * generic/tclDecls.h:
2183        * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int
2184        forWriting' instead of 'int write' to avoid shadowing [Bug: 4121]
2185
2186        * tests/httpold.test: changed test script to source in the httpd
2187        server procs from httpd instead of having its own set.
2188
2189        * tests/httpd: improved query support in test httpd to handle fix in
2190        http.tcl. [Bug: 4089 change 2000-02-01]
2191
2192        * unix/README: fixed notes about --enable-shared and add note about
2193        --disable-shared.
2194
21952000-02-07  Eric Melski  <ericm@scriptics.com>
2196
2197        * tests/package.test:
2198        * library/tclIndex:
2199        * library/package.tcl: Renamed ::package namespace to ::pkg.
2200
22012000-02-03  Eric Melski <ericm@scriptics.com>
2202
2203        * doc/Package.n:
2204        * doc/packagens.n: Renamed Package.n -> packagens.n because Windows
2205        can't deal with case-sensitive names.
2206
22072000-02-02  Jeff Hobbs  <hobbs@scriptics.com>
2208
2209        * tests/regexp.test: added tests for -all and -inline switches
2210        * doc/regexp.n: added docs for -all and -inline switches
2211        * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for new
2212        -all and -inline switches to regexp command
2213
22142000-02-01  Eric Melski  <ericm@scriptics.com>
2215
2216        * library/init.tcl: Applied patch from rfe 1734 regarding auto_load
2217        errors not setting error message and errorInfo properly.
2218
22192000-02-01  Jeff Hobbs  <hobbs@scriptics.com>
2220
2221        * win/Makefile.in (install-*): reduced verbosity of install
2222
2223        * generic/tclFileName.c (Tcl_JoinPath): improved support for special
2224        QNX node id prefixes in pathnames [Bug: 4053]
2225
2226        * library/http1.0/http.tcl:
2227        * library/http2.1/http.tcl: The query data POSTed was newline
2228        terminated when it shouldn't be altered [Bug: 4089]
2229
22302000-01-31  Eric Melski  <ericm@scriptics.com>
2231
2232        * tests/package.test:
2233        * library/tclIndex:
2234        * library/package.tcl: Added ::package namespace and ::package::create
2235        function.
2236
2237        * library/init.tcl: Fixed problem with auto_load and determining if
2238        commands were loaded.
2239
2240        * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed.
2241
2242        * doc/Package.n: New man page for package::create function.
2243
2244        * doc/pkgMkIndex.n: Added additional information.
2245
2246        * doc/library.n: Added additional qualification regarding auto_mkindex.
2247
22482000-01-28  Eric Melski  <ericm@scriptics.com>
2249
2250        * tests/pkg/magicchar2.tcl:
2251        * tests/autoMkindex.test: Test for auto loader fix (bug #2480).
2252
2253        * library/init.tcl: auto_load was using [info commands $name] to
2254        determine if a given command was available; if the command name had *
2255        or [] it, this would fail because info commands uses glob-style
2256        matching. This is fixed. (Bug #2480).
2257
2258        * tests/pkg/spacename.tcl:
2259        * tests/pkgMkIndex.test: Tests for fix for bug #2360.
2260
2261        * library/package.tcl: Fixed to extract only the first element of the
2262        list returned by auto_qualify (bug #2360).
2263
2264        * tests/pkg/magicchar.tcl:
2265        * tests/autoMkindex.test: Test for fix for bug #2611.
2266
2267        * library/auto.tcl: Fixed the regular expression that performs $
2268        escaping before sourcing a file to index. It was erroneously adding \
2269        escapes even to $'s that were already escaped, effectively
2270        "un-escaping" those $'s. (bug #2611).
2271
22722000-01-27  Eric Melski  <ericm@scriptics.com>
2273
2274        * tests/autoMkindex.test:
2275        * library/auto.tcl: Applied patch (with slight modification) from bug
2276        #2701: auto_mkIndex uses platform dependent file paths. Added test for
2277        fix.
2278
22792000-01-27  Jennifer Hom  <jenn@scriptics.com>
2280
2281        * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to
2282        normalizePath and exported it as a public proc. This proc creates an
2283        absolute path given the name of the variable containing the path to
2284        modify. The path is modified in place.
2285        * library/tcltest1.0/pkgIndex.tcl: Added normalizePath.
2286        * tests/all.tcl: Changed code to use normalizePath.
2287
22882000-01-27  Eric Melski  <ericm@scriptics.com>
2289
2290        * tests/pkg/samename.tcl: test file for bug #1983
2291
2292        * tests/pkgMkIndex.test:
2293        * doc/pkgMkIndex.n:
2294        * library/package.tcl: Per rfe #4097, optimized creation of direct
2295        load packages to bypass computing the list of commands added by the
2296        new package. Also made direct loading the default, and added a -lazy
2297        option.
2298        Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling
2299        situations with two procs by the same name but in different namespaces
2300        (ie, foo::baz and bar::baz).
2301
23022000-01-26  Eric Melski  <ericm@scriptics.com>
2303
2304        * generic/tclNamesp.c: Undid fix for #956, which broke backwards
2305        compatibility.
2306
2307        * doc/variable.n:
2308        * doc/trace.n:
2309        * doc/namespace.n:
2310        * doc/info.n: Added further information about differences between
2311        "namespace which" and "info exists".
2312
2313        * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg()
2314        functions.
2315
23162000-01-25  Jeff Hobbs  <hobbs@scriptics.com>
2317
2318        * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for OSF1-V*
2319        and ULTRIX-4.* when not using gcc. Also added higher min stack size
2320        for OSF1-V* when building with threads. [Bug: 4063]
2321
2322        * generic/tclClock.c (FormatClock): inlined resultPtr, as it
2323        conflicted with var creation for HAVE_TZSET #def [Bug: 4063]
2324
2325        * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak when
2326        calling lsort -command with bad command [Bug: 4067]
2327
2328        * generic/tclFileName.c (Tcl_JoinPath): added support for special QNX
2329        node id prefixes in pathnames [Bug: 4053]
2330
2331        * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080]
2332
2333        * doc/glob.n: clarified Mac path separator determination docs.
2334
2335        * win/makefile.vc: added some support for building helpfile on Windows
2336
23372000-01-23  Jeff Hobbs  <hobbs@scriptics.com>
2338
2339        * library/init.tcl (auto_execok): added 'start' to list of recognized
2340        built-in commands for COMSPEC on NT. [Bug: 2858]
2341
2342        * unix/tclUnixPort.h: moved include of <utime.h> lower since some
2343        systems (UTS) require sys/types.h to be included first [Bug: 4031]
2344
2345        * unix/tclUnixChan.c (CreateSocketAddress): changed comparison with -1
2346        to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit systems.
2347        [Bug: 3878]
2348
2349        * generic/tclFileName.c: improved guessing of path separator for the
2350        Mac. (Darley)
2351
2352        * generic/tclInt.h:
2353        * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827]
2354        and removed 'register' from stub definition of
2355        Tcl_AppendUnicodeToObj [Bug: 4038]
2356
23572000-01-21  Eric Melski  <ericm@scriptics.com>
2358
2359        * unix/mkLinks:
2360        * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817).
2361
2362        * doc/lreplace.n: Corrected man page with respect to treatment of
2363        empty lists, and "prettied up" the page. (bug #1705).
2364
23652000-01-20  Eric Melski  <ericm@scriptics.com>
2366
2367        * tests/namespace.test: Added test for undefined variables with
2368        namespace which (bug #956).
2369
2370        * generic/tclNamesp.c: Added check for undefined variables in
2371        NamespaceWhichCmd (bug #956).
2372
2373        * tests/var.test: Added tests for corrected variable behavior (bug
2374        #981).
2375
2376        * doc/upvar.n: Expanded explanation of upvar behavior with respect to
2377        variable traces. (bugs 3917 1433 2110).
2378
2379        * generic/tclVar.c: Changed behavior of variable command when name
2380        refers to an element in an array (ie, "variable foo(x)") to always
2381        return an error, regardless of existance of that element in the array
2382        (now behavior is consistant with docs too) (bug #981).
2383
23842000-01-20  Jeff Hobbs  <hobbs@scriptics.com>
2385
2386        * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a string
2387        if the body has been bytecompiled.
2388        * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for
2389        originating proc body of bytecompiled code, #def'd out as the change
2390        for [info body] should make it unnecessary
2391
2392        * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr
2393
2394        * tests/set.test: added test for complex array elem name compiling
2395        * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array
2396        elements during compiling, and slightly optimised same [Bug: 3889]
2397
2398        * doc/tclvars.n: added definitions for tcl_(non)wordchars
2399
2400        * doc/vwait.n: added notes about requirement for vwait var being
2401        globally scoped [Bug: 3329]
2402
2403        * library/word.tcl: changed tcl_(non)wordchars settings to use new
2404        unicode regexp char class escapes instead of char sequences
2405
24062000-01-14  Eric Melski  <ericm@scriptics.com>
2407
2408        * tests/var.test: Added a test for the array multiple delete
2409        protection in Tcl_UnsetVar2.
2410
2411        * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against attempts
2412        to multiply delete arrays when unsetting them (bug #3453). This could
2413        happen if there was an unset trace on an array element and the trace
2414        proc made a global or upvar link to the array, and then the array was
2415        unset at the global level. See the bug reference for more information.
2416
2417        * unix/tclUnixTime.c: New clock format format.
2418
2419        * compat/strftime.c: New clock format format.
2420
2421        * generic/tclGetDate.y: New clock scan format.
2422
24232000-01-13  Jeff Hobbs  <hobbs@scriptics.com>
2424
2425        * changes: updated changes file to reflect 8.3b2 mods
2426
2427        * README:
2428        * generic/tcl.h:
2429        * tools/tcl.wse.in:
2430        * unix/configure.in:
2431        * unix/tcl.m4:
2432        * win/README.binary:
2433        * win/configure.in: updated to patchlevel 8.3b2
2434
2435        * generic/regexec.c: added var initialization to prevent compiler
2436        warning
2437
24382000-01-13  Eric Melski  <ericm@scriptics.com>
2439
2440        * tests/cmdIL.test: Added tests for lsort -dictionary with characters
2441        that occur between Z and a in ASCII.
2442
2443        * generic/tclCmdIL.c: Modified DictionaryCompare function (used by
2444        lsort -dictionary) to do upper/lower case equivalency before doing
2445        character comparisons, instead of after. This fixes bug #1357, in
2446        which lsort -dictionary [list ` AA c CC] and lsort -dictionary [list
2447        AA c ` CC] gave different (and both wrong) results.
2448
24492000-01-12  Eric Melski  <ericm@scriptics.com>
2450
2451        * tests/clock.test: Added tests for "next <day-of-week>" and
2452        "<day-of-week>"
2453        Added tests for "monday 1 week ago", etc, from RFE #3671.
2454
2455        * doc/tests/clock.test: Added numerous tests for clock scan.
2456
2457        * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in clock
2458        grammar.
2459
2460        * doc/doc/clock.n: Added documentation for new supported clock scan
2461        formats and additional explanation of daylight savings time correction
2462        algorithm.
2463
24642000-01-12  Jeff Hobbs  <hobbs@scriptics.com>
2465
2466        * doc/file.n:
2467        * tests/unixFCmd.test:
2468        * unix/tclUnixFCmd.c: added support for symbolic permissions setting
2469        in SetPermissionsAttribute (file attr $file -perm ...) [Bug: 3970]
2470
2471        * generic/tclClock.c: fixed support for 64bit handling of clock values
2472        [Bug: 1806]
2473
2474        * generic/tclThreadTest.c: upped a buffer size to hold double
2475
2476        * tests/info.test:
2477        * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong)
2478
2479        * generic/tclNamesp.c: made imported commands also import their
2480        compile proc [Bug: 2100]
2481
2482        * tests/expr.test:
2483        * unix/Makefile.in:
2484        * unix/configure.in:
2485        * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] and
2486        added tests to prevent unnecessary chmod +x in sources while
2487        installing, as well as more intelligent setsockopt/gethostbyname
2488        checks [Bug: 3366, 3389]
2489
2490        * unix/tclUnixThrd.c: added compile time support (through use of the
2491        TCL_THREAD_STACK_MIN define) for increasing the default stack size for
2492        a thread. [Bug: 3797, 1966]
2493
24942000-01-11  Eric Melski  <ericm@scriptics.com>
2495
2496        * generic/tclGetDate.y: Added comments for the Convert function. Added
2497        a fix for daylight savings time handling for relative time spans of
2498        days, weeks or fortnights. (bug 3441, 3868).
2499
2500        * generic/tclDate.c: Fixed compiler warning issues.
2501
25022000-01-10  Jeff Hobbs  <hobbs@scriptics.com>
2503
2504        * compat/waitpid.c: use pid_t type instead of int [Bug: 3999]
2505
2506        * tests/utf.test: fixed test that allowed \8 as octal value
2507        * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow non-octal
2508        digits (8,9) in \ooo substs. [Bug: 3975]
2509
2510        * generic/tcl.h: noted need to change win/tcl.m4 and
2511        tools/tclSplash.bmp for minor version changes
2512
2513        * library/http2.1/http.tcl: trim value for $state(meta) key
2514
2515        * unix/tclUnixFile.c: fixed signature style on functions
2516
2517        * unix/Makefile.in: made sure tcl.m4 would be installed with dist
2518
2519        * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959]
2520
25212000-01-10  Eric Melski  <ericm@scriptics.com>
2522
2523        * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847):
2524        CCYY-MM-DD
2525        CCYYMMDD
2526        YY-MM-DD
2527        YYMMDD
2528        CCYYMMDDTHHMMSS
2529        CCYYMMDD HHMMSS
2530        CCYYMMDDTHH:MM:SS
2531        Fixed "clock scan <number>" to scan the number as an hour for the
2532        current day, rather than a minute after 00:00 for the current day
2533        (bug #2732).
2534
25352000-01-07  Eric Melski  <ericm@scriptics.com>
2536
2537        * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use
2538        enumerated values instead of constants. (ie, COMMAND_SCAN instead of
2539        3).
Note: See TracBrowser for help on using the repository browser.