os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/ChangeLog.2000
First public contribution.
1 2000-12-14 Don Porter <dgp@users.sourceforge.net>
3 * generic/tclExecute.c:
4 * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and
5 [expr srand($seed)] implementations, fixing a range error
6 on some 64-bit platforms. Added tests that detect the bug.
7 The rewrite changes the seed -> sequence map on 64-bit
8 platforms, only for seed >= 2^31, a slight incompatibility.
9 [Bug 121072, Patch 102781]
11 2000-12-10 Don Porter <dgp@users.sourceforge.net>
14 * library/msgcat/msgcat.tcl:
15 * library/msgcat/pkgIndex.tcl:
16 * library/opt/optparse.tcl:
17 * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc
18 to evaluate a Tcl built-in command in the caller's context,
19 the built-in commands are now fully namespace-qualified. This
20 prevents problems when the caller context is in a namespace where
21 the built-in command name has been used by a command in the
22 namespace. (For example, [::ns::set] might be called instead
23 of the intended [::set]). [Bug #119422, Patch #102545]
25 2000-12-09 jeff hobbs <jhobbs@interwoven.com>
27 * win/tclWinTime.c (CalibrationThread): added lint return value to
28 prevent compiler warning. [Bug #125005]
32 * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use
33 strtoul instead of strtol to correctly preserve scan<>format
34 conversion of large integers. [Patch #102663, Bug #124600]
36 * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing
37 handling of {!<boolean>} in expressions. [Patch #102702]
39 2000-12-08 jeff hobbs <jhobbs@interwoven.com>
41 * library/init.tcl: Added support for PATHEXT variable in
42 auto_execok, recognizing the proper set of executable extensions
43 on Windows. [Patch #102719]
45 2000-12-08 Andreas Kupries <a.kupries@westend.com>
47 * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous
48 code to something less critical. This fixes bug 119417, part A
49 without affecting the speed when loading encodings.
51 2000-12-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
53 * doc/open.n: Added xref to fconfigure and advice on the opening
54 of binary files. Should help prevent a recurrence of bugs like
57 2000-12-07 jeff hobbs <jhobbs@interwoven.com>
59 * generic/tcl.h: added note about need to updated
60 library/dde/pkgIndex.tcl with minor version increment.
62 * library/dde/pkgIndex.tcl: updated to use 84 version to reflect
63 the makefile. Should probably be updated to use its real version
64 at some point. [Patch #102560, Bug #119421]
66 2000-12-06 eric melski <ericm@ajubasolutions.com>
68 * generic/tcl.h (attemptckalloc): Fixed typo for #define of
69 attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have
70 been Tcl_AttemptDbCkalloc). [Bug: 124384]
72 * generic/tclCkalloc.c: Added
73 TCL_MEM_DEBUG versions of Tcl_AttemptDbCkrealloc and
74 Tcl_AttemptDbCkalloc. [Bug: 124384].
76 2000-11-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
78 * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!"
79 can now handle string booleans, provided those values are placed
82 * tests/expr.test (expr-13.17): Check that [expr {!$var}] can
83 negate the string-versions of booleans "yes", "false", etc.
85 * library/tcltest/tcltest.tcl (getMatchingFiles,
86 getMatchingDirectories):
87 * tools/man2html.tcl (doDir):
88 * tools/man2help.tcl (doDir):
89 * library/package.tcl (tclPkgUnknown,tclMacPkgSearch):
90 * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of
91 unsafe [file join] to fix Bug #123313
93 * generic/tclIndexObj.c:
94 * generic/tclTestObj.c (TestindexobjCmd): Changed internal
95 representation of index objects to fix Bug #119082; fix
96 shouldn't be visible to outside world...
98 * generic/tclTest.c (TestGetIndexFromObjStructObjCmd):
99 * tests/indexObj.test: (indexObj-6.*) Added to test for presence
102 2000-11-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
104 * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from Bug
107 * library/init.tcl (unknown): Added specific level parameters to
108 all uplevel invokations to boost performance; didn't dare touch
109 the "namespace inscope" stuff though, since it looks sensitive
110 to me! Should fix Bug #123217, though testing is tricky...
112 2000-11-21 Andreas Kupries <a.kupries@westend.com>
114 * All of the changes below are described in TIP #7 ~ Specification
115 and result from the application of the patch contained
116 therein. Creator of the patch is Kevin Kenny
117 <kennykb@crd.ge.com>. The patch used here is actually a bit
118 different. Two MS specific constant values (format FOOui64) were
119 replaced with a more portable formatting of the values and an
120 additional cast to LONGLONG. My cross-compiling gcc was unable to
121 process the original form. The SF Id of the patch is 102459.
123 * tclWinTime.c: Add to the static data a set of variables that
124 manage the phase-locked techniques, including a
125 ''CRITICAL_SECTION'' to guard them so that multi-threaded code
128 * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime''
129 and return the 'seconds' portion of the result. This change is
130 necessary to make sure that the two times are consistent near
131 the rollover from one second to another.
133 * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to
134 determine the click count as a number of microseconds.
136 * tclWinTime.c: Modify ''TclpGetTime'' to return the time as
137 M*Q+B, where Q is the result of ''QueryPerformanceCounter'', and
138 M and B are variables maintained by the phase-locked loop to
139 keep the result as close as possible to the system clock. The
140 ''TclpGetTime'' call will also launch the phase-lock management
141 in a separate thread the first time that it is invoked. If the
142 performance counter is unavailable, or if its frequency is not
143 one of the two common 8254-compatible rates, then
144 ''TclpGetTime'' will return the result of ''ftime'' as it does
147 * tclWinTime.c: Add the clock calibration procedure. The
148 calibration is somewhat complex; to save space, the reader is
149 referred to the reference implementation for the details of how
150 the time base and frequency are maintained.
152 * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process
153 has, in fact, slept for the requisite time by calling
154 ''TclpGetTime'' and comparing with the desired time. Otherwise,
155 roundoff errors may cause the process to awaken early.
157 * tclWinTest.c: Add a ''testwinclock'' command. This command
158 returns a four element list comprising the seconds and
159 microseconds portions of the system clock and the seconds and
160 microseconds portions of the Tcl clock.
162 * winTime.test: Add to the test suite a test that makes sure that
163 the Tcl clock stays within 1.1 ms of the system clock over the
164 duration of the test.
166 2000-11-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
170 * doc/variable.n: Improved documentation to mention that variables
171 so created are listed in [info locals] and added a few more
172 cross-links between these commands. Fixes bug #119387
174 2000-11-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
176 * tests/safe.test: (safe-4.3):
177 * generic/tclVar.c (TclLookupVar): Changed again. Now passes all
178 the tests, though one needed modifying since it required the
179 wrong answer. (Why on earth do we have inline modification of
180 argument strings? This sort of thing is horrendous to debug and
181 doesn't work well in a multithreaded environment!) Fixes bug
184 * tests/var.test: (var-1.19) If my attempts to fix the problem
185 aren't right yet, my attempts to describe it look pretty good to
188 2000-11-16 Andreas Kupries <a.kupries@westend.com>
190 * win/tclWinPort.h (line 69): Changed reference to winsock2.h into
191 winsock.h. This was a leftover from a foray into using winsock
192 version 2 (History lesson from Scott Redman and Jeff
193 Hobbs). This code was no problem when compiling Tcl itself, but
194 could trip extensions. Fixes bug 122568.
196 2000-11-15 jeff hobbs <jeff.hobbs@acm.org>
198 * unix/Makefile.in: removed bp.c references (hasn't existed in a
199 long time). Corrected 'make dist' to make dist with unversioned
200 library directories (same as out of cvs), so make install works
201 correctly with either source tree.
203 2000-11-15 jeff hobbs <jeff.hobbs@acm.org>
205 * generic/tclVar.c (TclLookupVar): reverted fix below as it broke
206 all other array unset error reporting. Bug-119192 is still
209 2000-11-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
211 * generic/tclVar.c (TclLookupVar): Changed references to part2 to
212 use elName instead in various error message generating spots, so
213 as to fix Bug-119192.
215 2000-11-03 David Gravereaux <davygrvy@ajubasolutions.com>
217 * win/.cvsignore: Removed 'configure' from the glob list now
220 2000-11-03 Jeff Hobbs <hobbs@ajubasolutions.com>
224 * unix/Makefile.in (install-libraries, dist):
225 * win/makefile.vc (install-libraries):
226 * win/Makefile.in (install-libraries): updated to install
227 unversioned library directories into versioned directories.
229 * tools/tcl.wse.in: updated for unversioning of library dirs
231 * unix/mkLinks: updated mkLinks with latest doc updates
233 * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop
235 * generic/tclStubInit.c:
236 * generic/tclDecls.h:
237 * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people
238 to set a main loop that will run for tclsh.
239 * generic/tcl.h: added Tcl_MainLoopProc typedef
240 * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new
241 StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc.
242 The first two handle a fileevent based prompt (taken from
243 tkMain.c). Tcl_SetMainLoop enables the interactive setting of a
244 main loop procedure. This enables Tk to be a loadable package.
246 2000-11-02 David Gravereaux <davygrvy@ajubasolutions.com>
248 * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way
249 to share its data among threads. This caused Tcl_Init() to
250 always fail in threads. Added a way to pass the data around
251 with a global char*. [BUG: 5301]
253 2000-11-02 Jeff Hobbs <hobbs@ajubasolutions.com>
256 * unix/dltest/configure:
258 * tools/configure: checked in configure scripts so people doing
259 CVS checkouts aren't required to have autoconf. Changes to
260 configure.in in the future will require the corresponding
261 configure script to also be re-autoconf'ed and checked in.
264 * win/tcl.m4: makefile fixes for Win64 support
266 * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast
269 2000-11-01 Jeff Hobbs <hobbs@ajubasolutions.com>
271 * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5.
273 * tests/subst.test: added tests for non-zero return code handling
275 * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero,
276 non-error return code cases for subst. [BUG: 119829]
278 * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem
279 use when info exists was called on a non-existent array element.
280 [BUG: 119213, 119336]
282 2000-10-30 David Gravereaux <davygrvy@ajubasolutions.com>
288 * win/tclsh.rc: Added logic to derive filenames better in the resource
289 scripts based on compile options.
291 2000-10-30 Jeff Hobbs <hobbs@ajubasolutions.com>
293 * unix/tclUnixInit.c: added default encoding map from
294 "ja_JP.eucJP" to "euc-jp". (takahashi)
296 * tests/clock.test: corrected clock-2.* test numbering
298 * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was
299 commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS
302 * unix/tcl.m4: consolidated gettimeofday check for AIX.
304 2000-10-27 Jeff Hobbs <hobbs@ajubasolutions.com>
307 * unix/tcl.m4: added support for AIX-5.
309 * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code
310 for old channel structures, placed preserve/release around statePtr
311 * generic/tclIO.c (CloseChannel): the statePtr for a channel was
312 not being freed when the last channel in a stack was freed,
315 * unix/tclUnixChan.c: updated channel types to strict
316 TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work
317 either way, but this avoids compiler warnings (that worries people).
319 2000-10-27 Jennifer Hom <jenn@ajubasolutions.com>
321 * library/tcltest1.0/tcltest.tcl: Removed a cd into the test
322 directory in runAllTests that screwed up the temporary directory
323 setting, effectively preventing users from running tests on
324 multiple platforms at the same time.
326 2000-10-26 David Gravereaux <davygrvy@ajubasolutions.com>
328 * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to
329 "attr" which was a DWORD. Changed NULL to zero because a 'void *'
330 can't be set to a DWORD to avoid the compiler warning.
332 2000-10-24 Jennifer Hom <jenn@ajubasolutions.com>
334 * tests/all.tcl: Removed support for tcltest 1.0.
336 * tests/tcltest.test:
337 * library/tcltest1.0/tcltest.tcl:
338 * library/tcltest1.0/pkgIndex.tcl:
339 * docs/tcltest.n: Moved tcltest2 code so that it's the standard
340 version of tcltest. Removed all tcltest2 files
341 (tests/tcltest2.test, library/tcltest1.0/tcltest2.tcl,
344 2000-10-20 Jeff Hobbs <hobbs@ajubasolutions.com>
346 * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only
347 occur when necessary (for 'glob' command). Significantly speeds
348 up glob command from 8.3. [BUG: 6216]
350 2000-10-19 Jennifer Hom <jenn@ajubasolutions.com>
352 * library/tcltest1.0/tcltest2.tcl:
354 * doc/tcltest2.n: Code and documentation cleanup. Modified
355 -verbose to take list of keywords as well as string of letters.
356 Removed Tcl version information from tcltest. Removed
357 tcltest::grep from tcltest package. Added optional 3rd directory
358 argument to makeFile/makeDirectory and removeFile/removeDirectory.
360 * tests/basic.test: Changed references to tcltest::tclVersion to
362 * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl
363 in comments to tests/basic.test.
365 2000-10-06 David Gravereaux <davygrvy@ajubasolutions.com>
367 * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle()
368 from TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable
369 a more general method in detecting invalid OS handles rather than
370 just a specific known case. [BUG: 5971]
372 2000-10-06 Jeff Hobbs <hobbs@ajubasolutions.com>
374 * tests/cmdAH.test: extra tests for 'file channels' that include
375 multiple interpreter tests and channel sharing
376 * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and
377 consequently 'file channels') to return channels that are actually
378 registered for this specific interp, rather than this thread.
380 * doc/CrtChannel.3: fixed spelling mistakes
382 2000-09-29 Jennifer Hom <jenn@ajubasolutions.com>
384 * library/tcltest1.0/tcltest2.tcl:
385 * tests/tcltest2.test:
386 * doc/tcltest2.n: Modified the new form of the test command to
387 accept both attribute-value pairs and command line options.
388 Updated the tests and the documentation for this new format.
389 Also changed the option names for the test command.
391 2000-09-29 Jeff Hobbs <hobbs@scriptics.com>
393 * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of
394 space parity on Windows (Eason) [Bug 6057].
396 * win/Makefile.in: commented use of TESTFLAGS
397 * unix/Makefile.in: added TESTFLAGS to test target to
398 conform with Windows makefile and TEA style.
400 * tests/stack.test: prevented possible crash on systems with low
401 default stacksize (Tru64, AIX) in infinite recursion test. A
402 solution to check remaining stack space in the core is best, but
403 hard to do in a cross-platform manner.
405 * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to
406 FLUSH_DELAY to avoid defn conflict using Tru64's cc.
408 2000-09-28 Jeff Hobbs <hobbs@ajubasolutions.com>
410 * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the
411 Windows .exe install.
413 * tests/fCmd.test (fCmd-6.20): corrected test to remove
414 c:/tcl8975@ after creating it.
416 * tests/fileName.test: cleaned up the testing of glob patterns for
417 c:/globTest (Windows) to directly create/remove directory.
419 2000-09-27 Jeff Hobbs <hobbs@ajubasolutions.com>
422 * generic/tclIO.c: updated Tcl_IsChannelShared,
423 Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel,
424 Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to
425 the new stacked channel implementation. Their stub slots were
426 also moved to give preference to the new 8.3.2 stub functions.
427 This will cause an incompatability with 8.4a1 only.
428 (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
429 didn't set nonBlocking correctly when resetting the flags for the
430 write side. [Bug: 6261]
436 * generic/tclDecls.h:
440 * generic/tclInt.decls:
441 * generic/tclIntDecls.h:
442 * generic/tclStubInit.c:
448 * win/tclConfig.sh.in:
450 * win/tclWinConsole.c:
452 * win/tclWinSerial.c:
453 * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code
454 base. Most of these changes relate to the rewrite of the stacked
455 channel implementation, with a few config related fixes.
457 Following is an asynchronous include of the applicable ChangeLog
460 ********************************************************
461 ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
462 ********************************************************
464 2000-08-07 Jeff Hobbs <hobbs@scriptics.com>
467 * doc/CrtChannel.3: updated the docs to be aware of the
468 TCL_CHANNEL_VERSION_2 style of Tcl channels.
470 * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify
471 that the new channel versioning will be binary compatible with
472 older channel drivers.
474 2000-08-05 Jeff Hobbs <hobbs@scriptics.com>
476 * generic/tclIOGT.c (TclChannelTransform): fixed segfault that
477 would occur when transforming a channel with a proc that did not
480 * generic/tclTest.c (TestChannelCmd): added some lint init'ing of
481 statePtr and chan vars.
483 2000-07-26 Jeff Hobbs <hobbs@scriptics.com>
485 * merged core-8-3-1-io-rewrite back into core-8-3-1-branch.
486 The core-8-3-1-io-rewrite branch should now be considered defunct.
488 * generic/tclStubInit.c:
489 * generic/tclDecls.h:
492 * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to
493 tclIO.c and made them proper stubbed functions. These are:
494 Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc,
495 Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc,
496 Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc,
497 Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc,
498 Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc,
499 and Tcl_ChannelHandlerProc. These should be used to access the
500 Tcl_ChannelType structure instead of direct pointer dereferencing.
502 * tests/iogt.test: added RCS string, marked tests 2.* to be
503 unixOnly due to underlying system differences.
505 2000-07-25 Andreas Kupries <a.kupries@westend.com>
507 * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting
508 buffering trouble when stacking and unstacking transformations.
509 iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for
510 now, due to the perceived complexity of solutions.
512 * generic/tclIO.h: (line 139f) struct Channel, added a buffer
513 queue, to hold data pushed back when stacking a transformation.
516 (line 91f, line 7434f) New internal function 'CopyBuffer'.
517 Derived from 'CopyAndTranslateBuffer', with translation
519 (line 1025f, line 1212f): Initialization of new queue.
520 (line 1164f, Tcl_StackChannel): Pushback of input queue.
521 (line 1293f, Tcl_UnstackChannel): Discard input and pushback.
522 (line 3748f, Tcl_ReadRaw): Modified to use data in the push back
523 area before going to the driver. Uses 'CopyBuffer', s.a.
524 (line 4702f, GetInput): Modified to use data in the push back
525 area before going to the driver.
526 (line 4867f, Tcl_Seek): Modified to take pushback of the topmost
527 channel in a stack into account.
528 (line 5620f, Tcl_InputBuffered): See above. Added
529 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for
530 the buffer area in the channel.
532 * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
534 2000-07-17 Jeff Hobbs <hobbs@scriptics.com>
538 * win/makefile.vc: added tclIOGT.c to objects list to compile.
540 * generic/tclStubInit.c:
541 * generic/tclIntDecls.h:
542 * generic/tclInt.decls: commented out internal decls for
543 TclTestChannelCmd and TclTestChannelEventCmd as they were moved to
544 tclTest.c. Added new decls for TclChannelEventScriptInvoker and
547 * generic/tclIO.c (CloseChannel): stopped masking out of the
548 TCL_READABLE|TCL_WRITABLE bits from the state flags in
549 CloseChannel, instead adding extra intelligence to
550 CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special
551 behavior when called from Raw channel APIs.
553 2000-07-13 Jeff Hobbs <hobbs@scriptics.com>
555 * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr
556 outside of blockModeProc check to avoid infinite loop when
557 blockModeProc was NULL (Kupries). updated TransformSeekProc to
558 not call Tcl_Seek directly (Kupries).
560 * win/tclWinChan.c: updated fileChannelType to v2 channel struct
561 * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct
562 * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct
563 * win/tclWinSerial.c: updated serialChannelType to v2 channel struct
564 * win/tclWinSock.c: updated tcpChannelType to v2 channel struct
566 2000-07-11 Brent Welch <welch@ajubasolutions.com>
568 * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific
571 2000-07-11 Jeff Hobbs <hobbs@scriptics.com>
573 * tests/iogt.test: made tests [345].0 not run by default as they
574 were failing in the new design, but I'm not convinced that the
575 returned result isn't correct.
577 * generic/tclDecls.h:
578 * generic/tclStubInit.c:
579 * generic/tcl.decls: added Tcl_GetTopChannel C API that returns
580 the current top channel of a channel stack. Tcl_GetChannel was
581 changed earlier to return the bottommost channel of a stack
582 because that is the one that is guaranteed to stay around the
583 longest, and this was needed to compensate for certain
584 operations that want to look at the state of the main channel.
585 Most channel APIs already compensate for grabbing the top, so it
586 shouldn't be needed often.
588 * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added
589 flushing of buffers (Kupries), removed use of DownChannel macro,
590 added Tcl_GetTopChannel public API to get to the top channel of
591 the channel stack (necessary for TLS). Rewrote Tcl_NotifyChannel
592 for new channel design (Kupries). Did some code cleanup in the
593 transform code. tclIO.c must still be broken into bits (separate
594 out test code and giot code, create tclIO.h).
596 2000-07-10 Andreas Kupries <a.kupries@westend.com>
598 * tests/iogt.test: Reverted some earlier changes as a fix by Jeff
599 revived the original and correct behaviour. IOW, the tests showed
600 a genuine error and I didn't see it :(.
602 * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use
603 the drivers and not DoRead|DoWrite. The latter use the buffering
604 system, encoding and eol-translation and this wreaks havoc with
605 the data going through the transformations. Both procedures use
606 CheckForchannelErrors and let it believe that there is no
607 background copy in progress or else stacked channels could not
610 * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the
611 topmost channel from the first to the second procedure to make
612 the decision about that at the last possible time (Callbacks can
613 change the stacking).
615 test suite: failures of iogt-[345].0
617 2000-07-06 Jeff Hobbs <hobbs@scriptics.com>
619 * tests/iogt.test: new tests for stacked channel stuff based off
620 new 'testchannel transform|unstack' code (Kupries IOGT extension).
623 * generic/tclDecls.h:
624 * generic/tclStubsInit.c:
625 * generic/tclIO.c: complete rewrite of Tcl Channel code for
626 stacked channels. Channels are now designed to work in a more
627 stacked fashion with a shared ChannelState data structure.
629 2000-06-02 Jeff Hobbs <hobbs@scriptics.com>
631 * generic/tclIO.c (CloseChannel): removed the &ing out of
632 (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does
633 this on the next pass through for the top channel, and it appeared
634 to be causing hangs by not allowing the final flush.
636 2000-06-01 Jeff Hobbs <hobbs@scriptics.com>
638 * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to
639 unstack a channel during the close process. Fixed a refcount bug
640 in Tcl_UnstackChannel. [Bug: 5623]
641 (CloseChannel): further extended CloseChannel in the stacked case
642 to effect certain operations on the next channel that would have
643 been done in Tcl_Close. Also added CHANNEL_CLOSED and removed
644 (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed
645 final reset of the WatchProc to check the chanDownPtr's (next)
648 ******************************************************
649 ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
650 ******************************************************
652 2000-09-20 Jeff Hobbs <hobbs@scriptics.com>
654 * tests/socket.test: removed doTestsWithRemoteServer constraint
655 from socket-12.*. It requires 'exec', not a remote server.
656 Cleaned up some coding errors.
658 2000-09-20 Jennifer Hom <jenn@ajubasolutions.com>
660 * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.
661 * library/tcltest1.0/tcltest2.tcl: New version of tcltest.
662 Cleanup of command line parsing: allows users to specify command
663 line arguments through an environment variable named
664 TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect
665 arguments, and forces usage of entire flag name when using command
666 line arguments. Defines accessor procs for all tcltest
667 variables. Allows users to use 'return' in test scripts. Allow
668 users to specify whether test files should be sourced or run in a
669 separate process. 'all.tcl' code moved to tcltest package.
670 'test' proc modified to use attribute-value pairs. Allow users to
671 specify what return codes, output, and errors can be compared and
672 whether these values should be compared using regexp, glob, or
673 exact matching. makeDirectory & removeDirectory now operate with
674 respect to temporaryDirectory [Bug: 6001]. Test results from
675 tests run in slave interpreters are now included in test totals
676 [Bug: 1493]. Test files that return error values are now reported.
678 * tests/all.tcl: Added code to check for the tcltest version
679 loaded; modified to figure out which tests to run based on the
680 tcltest version loaded.
681 * tests/tcltest.test: Modified to explicitly load version 1.0 of
683 * tests/tcltest2.test: New test suite for tcltest; includes all of
684 the old tests plus new ones reflecting changes made for version
686 * tests/cmdAH.test: Added singleTestInterp constraint to
687 cmdAH-31.2; this test does not run if tests aren't sourced into a
689 * tests/socket.test: Fixed two tests that were referencing
690 variables outside of scope.
692 * tools/tcl.wse.in: Added code to install tcltest2.tcl.
694 * doc/tcltest2.n: New documentation for tcltest version 2.0.
695 Removes documentation for tcltest namespace variables. Adds
696 documentation for new tcltest procs.
698 * unix/mkLinks: Added code to link to tcltest2.n.
700 * generic/tcl.h: Added comment to modify tcltest2.tcl as well as
701 tcltest.tcl for version changes.
703 2000-09-19 Eric Melski <ericm@ajubasolutions.com>
705 * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all
706 attempts after the first to match the regexp against the string
707 should include the TCL_REG_NOTBOL flag, to avoid erroneously
708 matching ^ in the middle of the string. Added code to set this
709 flag after the first pass through the matching loop. [Bug: 6284].
711 2000-09-19 David Gravereaux <davygrvy@ajubasolutions.com>
713 * doc/Eval.3: Added a note about the script argument to Tcl_Eval()
714 should be in UTF-8 or risk implied conversion errors when possible
715 combinations of upper ascii can be valid UTF-8 special codes.
717 2000-09-17 Eric Melski <ericm@ajubasolutions.com>
719 * tests/cmdIL.test: Added a test for fix for [Bug: 6212].
721 * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug:
722 6212], which corrected an error in the handling of the -index option.
724 2000-09-14 Eric Melski <ericm@ajubasolutions.com>
726 * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.
728 * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.
730 * generic/tclDecls.h:
731 * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.
733 * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory
734 allocators and for Tcl_AttemptSetObjLength.
736 * generic/tcl.h: Added #define's for attemptckalloc,
737 attemptckrealloc, which map to the Tcl_Attempt* memory allocators.
739 * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc,
740 Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc,
741 Tcl_AttemptRealloc, etc. These are used by
742 Tcl_AttemptSetObjLength and the string obj append functions.
744 * generic/tclStringObj.c: Modified string growth algorithm to use
745 doubling algorithm as long as possible, and only fall back when
746 that fails. Added Tcl_AttemptSetObjLength, and modified
747 AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and
748 Tcl_AppendStringsToObjVA to support this.
750 2000-09-07 David Gravereaux <davygrvy@ajubasolutions.com>
752 * win/.cvsignore: changed the glob patterns a bit to exclude VC++
753 project conversion backups.
755 * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory".
756 Added more logic around the close-down of the pipe reader thread so
757 as to avoid, at all cost, a TerminateThread. Most cases with exec
758 are fixed, but I don't consider 2460 done yet. Closing down the
759 read side of a pipe before the child process, doesn't really fit
760 the windows model. [BUG: 2460]
762 2000-09-07 Jeff Hobbs <hobbs@scriptics.com>
764 * doc/trace.n: minor doc cleanup
766 2000-09-06 André Pönitz <poenitz@htwm.de>
768 * doc/*.n: added or changed "SEE ALSO:" section
770 2000-09-06 Jeff Hobbs <hobbs@scriptics.com>
772 * win/tclWinLoad.c (TclpLoadFile): added special message for
773 ERROR_PROC_NOT_FOUND exception in loading a dll.
774 * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from
775 ESRCH (POSIX: no such process) to EINVAL because there is no good
776 mapping for "procedure not found".
780 * library/tcltest1.0/tcltest.tcl:
782 * tools/tcltk-man2html.tcl:
786 * win/configure.in: updated patchlevel to 8.4a2
788 * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from
789 Tcl_WaitPid call in error case of process creation on Unix, as it
790 would lead to defunct processes. [Bug: 6148]
792 * tests/string.test: extended string repeat tests
793 * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to
794 preallocate the full space of the final string, avoided repeated
798 * doc/Eval.3: added extra note about how to safe use ^Z in code,
799 as it is now a cross-platform (was just Windows) EOF char.
801 2000-09-05 Jeff Hobbs <hobbs@scriptics.com>
803 * generic/tclHash.c: fixed pedantic warning of incorrectly placed
806 * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed
807 pedantic cast warning.
808 Corrected support for building with -DTCL_COMPILE_STATS.
809 Added efficiency check of object equality.
811 2000-08-29 Eric Melski <ericm@ajubasolutions.com>
813 * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer
814 to provide a more conservative string growth algorithm for strings
815 larger than one megabyte; this allows more efficient use of memory
816 for very large strings.
818 2000-08-25 Eric Melski <ericm@ajubasolutions.com>
820 * tests/trace.test: Extended array tracing tests.
822 * doc/trace.n: Clarified information about when array traces will
825 * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces
826 (for TCL_TRACE_ARRAY) to only be called when the variable is
827 either an array or is undefined, to ensure that array traces do
828 not fire for scalar variables.
830 2000-08-24 Eric Melski <ericm@ajubasolutions.com>
832 * doc/man.macros: Tweaked tab settings for .SO (Standard Options)
833 sections, based on suggestion from Peter Spjuth.
835 2000-08-24 Mo DeJong <mdejong@redhat.com>
837 * unix/README: Update to account for removal of --enable-gcc.
839 * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
840 * win/README: Add note about building with Cygwin.
842 * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
843 Remove quick hack that provided cross compile support for
846 2000-08-24 Eric Melski <ericm@ajubasolutions.com>
848 Overall change: Added support for command rename/delete traces
849 and new trace syntax, from patch from Vince Darley. Added support
850 for array traces for variables. [RFE: 5048, 5967].
852 * doc/trace.n: Updated documentation for new syntax; flagged old
853 syntax as deprecated; added documentation for command
854 rename/delete traces and variable array traces.
856 * tests/trace.test: Updated tests for new trace syntax; new tests
857 for command rename/delete traces; new tests for array traces.
859 * generic/tclVar.c: Support for new trace syntax; support for
862 * generic/tclStubInit.c:
863 * generic/tclDecls.h:
864 * generic/tcl.decls: Stub functions for command rename/delete traces.
868 * generic/tclBasic.c: Support for command traces.
870 * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support
872 trace {add|remove|list} {variable|command} name ops command
873 Added support for command traces (rename, delete operations).
874 Added support for TCL_TRACE_ARRAY at Tcl level (array operation
875 for variable traces).
877 2000-08-20 Eric Melski <ericm@ajubasolutions.com>
879 * generic/tclVar.c: Added check for non-arrays for [array statistics]
880 command (patch from Mark Patton).
882 2000-08-19 David Gravereaux <davygrvy@ajubasolutions.com>
884 * generic/tclPlatDecls.h: without a previous '#include <windows.h>',
885 tclPlatDecls.h can't be parsed due to a missing definition of TCHAR.
886 Added a check to include it when not defined.
888 ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags
889 for the core happen to be different than a project who uses these
890 publics regarding -D_MBCS and -D_UNICODE. This added check might
891 have to be revisited later with a better understanding of the
892 reprocusions. I think TCHAR should be replaced with it's expansion.
894 2000-08-18 David Gravereaux <davygrvy@ajubasolutions.com>
896 * win/.cvsignore (added): provides a cleaner build environment with
897 graphical CVS clients.
899 2000-08-15 Eric Melski <ericm@ajubasolutions.com>
901 * library/tcltest1.0/tcltest.tcl: Set debug level in
902 tcltest::restoreState to 2, for consistancy with the debug level
903 in tcltest::saveState [Bug: 4505].
905 2000-08-14 Eric Melski <ericm@ajubasolutions.com>
909 * unix/Makefile.in: Added tclPlatDecls.h to the list of installed
910 headers, for more complete stubs support. [Bug: 5241].
912 * generic/tcl.h: Added #include "tclPlatDecls.h" to get
913 platform-specific stubs declarations (Tcl_WinTCharToUtf, etc)
916 * README: Updated link for instructions on compiling Tcl from
917 sources to point to correct location
918 (http://dev.scriptics.com/doc/... instead of
919 http://dev.scriptics.com/support/...).
921 2000-08-11 Eric Melski <ericm@ajubasolutions.com>
923 * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length
924 variable from "unsigned int" to "int", to match usage when passed
925 to TclpFindVariable [Bug: 6126].
927 2000-08-10 Eric Melski <ericm@ajubasolutions.com>
929 * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2
932 * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget]
933 in msgcat namespace initializer. Bumped version number to 1.2
936 2000-08-10 David Gravereaux <davygrvy@ajubasolutions.com>
938 * generic/tclObj.c: r1.15 accidentally changed a global mutex
939 name tclObjMutex to ObjMutex. Put the correct name back.
941 2000-08-07 Eric Melski <ericm@ajubasolutions.com>
943 * tests/indexObj.test: Added tests using the [testwrongnumargs]
944 command to test Tcl_WrongNumArgs.
946 * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function
947 for the Tcl_WrongNumArgs function.
949 * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to
950 not insert a space before the message component when objc == 0
953 2000-07-27 Mo DeJong <mdejong@redhat.com>
955 * win/configure.in: TCL_STUB_LIB_FLAG should not
956 include ${TCL_DBGX} in win/tclConfig.sh, fix that.
958 2000-07-25 David Gravereaux <davygrvy@ajubasolutions.com>
961 * generic/tclAsync.c:
962 * generic/tclInt.decls:
963 * generic/tclIntPlatDecls.h:
964 * generic/tclStubInit.c:
967 * unix/tclUnixPort.h:
968 * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added
969 notifier alerting on all platforms as it was only working on Win
970 before. Removed older Win hacks that would end-up waking the
971 wrong notifier in the presence of a threaded build. All tests
972 pass as before. New test cases will be added soon for the new
973 behavior. [BUG: 5791]
975 2000-07-25 Eric Melski <ericm@ajubasolutions.com>
977 * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE
978 on the array containing the variable before executing traces on
979 that array, to conform with normal variable traces and the
980 documentation, which states that while executing a trace, other
981 traces on that variable are disabled. [Bug: 6049].
983 * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call
984 to prevent potential memory leaks [Bug: 6041].
986 2000-07-24 Eric Melski <ericm@ajubasolutions.com>
988 * doc/msgcat.n: Added documentation about the selection of the
989 default locale on Windows.
991 2000-07-23 Joe English <jenglish@flightlab.com>
1001 * doc/Thread.3: Added missing entries to NAME section.
1005 * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx
1007 2000-07-21 Eric Melski <ericm@ajubasolutions.com>
1009 * generic/tclStubInit.c:
1012 * generic/tclHash.c:
1013 * generic/tclDecls.h:
1015 * generic/tcl.decls:
1016 * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables
1017 to allow custom key types, such as Tcl_Obj *'s, and others.
1019 * doc/binary.n: Noted that the example in the introduction assumes a
1020 32-bit system [Bug: 6035].
1022 2000-07-21 Mo DeJong <mdejong@redhat.com>
1024 * win/configure.in: Define ${prefix} and ${exec_prefix} like
1025 unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE,
1026 TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC,
1027 TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH.
1029 2000-07-20 Eric Melski <ericm@ajubasolutions.com>
1031 * generic/tclStubInit.c:
1034 * generic/tclHash.c:
1035 * generic/tclDecls.h:
1037 * generic/tcl.decls:
1038 * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables
1039 to allow custom key types, such as Tcl_Obj *'s, and others; it
1042 2000-07-19 Eric Melski <ericm@ajubasolutions.com>
1044 * generic/tclStubInit.c:
1047 * generic/tclHash.c:
1048 * generic/tclDecls.h:
1050 * generic/tcl.decls:
1051 * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables
1052 to allow custom key types, such as Tcl_Obj *'s, and others.
1054 * tests/pkgMkIndex.test: Added tests for pkg_compareExtension.
1056 * library/package.tcl: Enhanced pkg_compareExtension to handle
1057 Unixes which tack the version number on to the end of library
1058 names (eg, foo.so.1.2); such filenames will be correctly matched.
1059 (Patch from Vince Darley).
1061 * win/makefile.vc: Applied patch from Don Porter to provide better
1062 nmake support for NT/Alpha [RFE: 5938].
1064 2000-07-18 Mo DeJong <mdejong@redhat.com>
1066 * unix/configure.in:
1068 * win/tcl.m4: Properly quote arguments to m4 macros. This allows
1069 Tcl to work with the new version of autoconf.
1071 2000-07-18 Eric Melski <ericm@ajubasolutions.com>
1073 * tests/opt.test: Removed references to Lfirst, Lrest functions.
1075 * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson,
1076 which replaces the [Lfirst] function with an inline [lindex ... 0]
1077 and [Lrest] with [lrange ... 1 end], for better performance.
1081 2000-07-18 Eric Melski <ericm@scriptics.com>
1083 * compat/string.h: Fixed function prototypes for strpbrk and
1086 2000-07-17 David Gravereaux <davygrvy@ajubasolutions.com>
1088 * win/tclWinChan.c: Win2K OS bug with
1089 GetStdHandle(STD_OUTPUT_HANDLE) giving the wrong answer. This
1090 made TclpGetDefaultStdChannel grab what it thought was a valid
1091 native stdout handle. Added a new WriteFile() test to make sure
1092 it's really valid. This OS bug doesn't affect the shells. Only
1093 -subsystem:windows (aka WinMain) application that dynamically
1094 load tclXX.dll [BUG: 5971]
1096 2000-07-17 Eric Melski <ericm@scriptics.com>
1098 * library/msgcat1.0/msgcat.tcl:
1100 * tests/msgcat.test: Applied patches from Chris Nelson, to provide
1101 the mcmset function, which allows the translator to set multiple
1102 string translations in a single function call, rather than
1103 requiring many calls to mcset. [RFE: 6000, 5993]. In addition,
1104 these patches correct mcload to use utf-8 encoding on when reading
1105 message catalog files, and provides for better default behavior
1106 for determining the locale on a Windows system.
1108 2000-07-17 Mo DeJong <mdejong@redhat.com>
1110 * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc
1111 before running AC_PROG_CC if CC is already set.
1113 2000-07-13 André Pönitz <poenitz@mathematik.tu-chemnitz.de>
1123 * doc/lsort.n: Added SEE ALSO sections.
1125 2000-07-07 Mo DeJong <mdejong@redhat.com>
1127 * win/configure.in: Fix definition of
1128 TCL_SRC_DIR so that it matches the Unix version.
1129 * win/tclConfig.sh.in: Removed duplicate variables.
1131 2000-07-06 Eric Melski <ericm@scriptics.com>
1133 * tests/msgcat.test:
1134 * library/msgcat1.0/msgcat.tcl: Applied patch from Christian
1135 Krone, to provide extended args support for msgcat::unknown, which
1136 is used for strings without a known translation in the current
1139 2000-06-29 Eric Melski <ericm@scriptics.com>
1141 * doc/msgcat.n: Doc's for mcmax function.
1143 * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent
1144 Duperval, to add mcmax function, which computes the length of the
1145 longest of several translated strings. Bumped version number to 1.1.
1147 2000-06-27 Eric Melski <ericm@scriptics.com>
1149 * tests/stringObj.test: Tweaked tests to avoid hardcoded
1150 high-ASCII characters (which will fail in multibyte locales);
1151 instead used \uXXXX syntax. [Bug: 3842].
1153 2000-06-26 Eric Melski <ericm@scriptics.com>
1155 * doc/package.n: Corrected information about [package forget]
1156 arguments [Bug: 5418].
1158 2000-06-23 Eric Melski <ericm@scriptics.com>
1160 * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in
1161 Tcl hash tables [RFE: 5934].
1164 * generic/tclHash.c: Applied patch from [RFE: 5934], which extends
1165 Tcl hash tables to allow Tcl_Obj *'s as the key.
1167 2000-06-20 Eric Melski <ericm@ajubasolutions.com>
1170 * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which
1171 corrected an incorrect use of [string match].
1173 * unix/tclConfig.sh.in:
1174 * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a
1175 typo in the comments in these files.
1177 2000-06-19 Eric Melski <ericm@scriptics.com>
1179 * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with
1180 "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901].
1182 2000-06-13 Eric Melski <ericm@scriptics.com>
1186 * win/Makefile.in: Applied patch from [RFE: 5844], to extend
1187 support for mingw compile environment on Windows.
1191 * win/tclWinNotify.c:
1194 * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix
1195 compiler warnings when using mingw on Windows.
1197 2000-05-31 Jeff Hobbs <hobbs@scriptics.com>
1199 * tests/set-old.test:
1201 * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and --
1202 options to unset, to allow for a silent unset operation.
1204 2000-05-31 Eric Melski <ericm@scriptics.com>
1206 * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and
1207 exact matching for [array names] command. [RFE: 3684].
1209 * doc/array.n: Added documentation for [array names
1210 -exact/-regexp/-glob] [RFE: 3684].
1212 * tests/set-old.test: Added tests for [array names
1213 -exact/-regexp/-glob] [RFE: 3684].
1215 2000-06-06 Jeff Hobbs <hobbs@scriptics.com>
1219 * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added
1220 test of iResult return from memcmp, as memcmp isn't required to
1223 2000-06-03 Jeff Hobbs <hobbs@scriptics.com>
1225 * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected
1226 caching of the index ptr to account for offsets != sizeof(char *).
1229 2000-05-29 Sandeep Tamhankar <sandeep@scriptics.com>
1233 * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful
1234 geturl calls sometimes leaked memory and resources (sockets).
1235 Also, switched around some of the logic so that http::wait never
1236 throws an exception. This is because in an asynchronous geturl,
1237 the command callback will probably end up doing all the error
1238 handling anyway, and in an asynchronous situation, the user
1239 expects to check the state when the transaction completes, as
1240 opposed to being thrown an exception. For the http package, this
1241 menas the user can check http::status for "error" and http::error
1242 for the error message after doing the http::wait.
1244 2000-05-27 Jeff Hobbs <hobbs@scriptics.com>
1248 * generic/tclIOUtil.c (Tcl_EvalFile):
1249 * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the
1250 info script return value [info script ?newFileName?]. This will
1251 be beneficial for virtual file system programs. [Bug: 4225]
1253 2000-05-26 Jeff Hobbs <hobbs@scriptics.com>
1255 * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in
1256 Unicode, tweaked for performance.
1257 (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to
1258 something more understandable, reworked STR_FIRST, STR_LAST,
1259 STR_MAP, STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode.
1260 Removed inneffectual STR_RANGE "special" ByteArray support.
1261 Optimized STR_MAP algorithm, especially optimized for one-pair case.
1262 Fixed possible mem overrun in STR_INDEX bytearray case.
1264 * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ,
1265 INST_STRNEQ -> INST_STR_NEQ
1266 * generic/tclCompile.c: added streq, strneq, strcmp, strlen &
1267 strmatch to the compiled stats instructionTable
1268 * generic/tclCompile.h: added instructions INST_STR_CMP,
1269 INST_STR_INDEX, INST_STR_MATCH
1270 * generic/tclCompCmds.c: added byte compiler support for
1271 [string compare|match|index].
1272 * generic/tclExecute.c:
1273 Changed INST_STR_(N)EQ to return an Int object and not bother
1274 trying to reuse the top stack object.
1275 Added INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops.
1276 Extended evalstats output info with Tcl_IsShared stat info.
1279 * generic/tclObj.c (Tcl_DbIsShared): added support for checking
1280 result of Tcl_IsShared in evalstats (TCL_COMPILE_STATS).
1282 * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code.
1283 (AppendUnicodeToUnicodeRep) removed overallocation by extra
1284 sizeof(Tcl_UniChar) multiplier.
1286 * tests/string.test: added string map tests for the one-pair case,
1287 corrected tests to reflect improved error messages in first/last.
1288 Added tests against mem overrun in string index bytearray case.
1290 2000-05-23 Eric Melski <ericm@scriptics.com>
1292 * generic/tclInt.h: Added function prototypes for
1293 TclCompileStringCmd and TclCompileReturnCmd.
1295 * generic/tclCompile.h: Added definition of INST_STRLEN opcode and
1296 updated LAST_INST_OPCODE value.
1298 * generic/tclBasic.c: Added information about TclCompileStringCmd
1299 and TclCompileReturnCmd to BuiltInCmds table.
1301 * generic/tclExecute.c (TclExecuteByteCode): Added support for the
1304 * generic/tclCompCmds.c
1305 (TclCompileStringCmd): Basic implementation of byte-compiled
1306 [string] command. Not all subcommands are implemented; those
1307 that are not an out-line compiled.
1309 (TclCompileReturnCmd): Byte-compiled implementation of [return]
1310 command. Only "simple" returns are byte-compiled; in particular,
1311 if the -code, -errorinfo or -errorcode flags are used, the command
1312 is not byte-compiled.
1314 2000-05-22 Jeff Hobbs <hobbs@scriptics.com>
1317 * doc/array.n: minor doc fixes [Bug: 5396]
1319 * generic/tclEnv.c: cast cleanup [Bug: 5624]
1320 * win/tclWinConsole.c: cast and header cleanup [Bug: 5625]
1321 * win/tclWinSerial.c: cast cleanup [Bug: 5626]
1322 * win/tclWinFCmd.c: cast cleanup [Bug: 5627]
1324 2000-05-19 Jeff Hobbs <hobbs@scriptics.com>
1326 * generic/tclTest.c:
1327 * generic/tclIO.c: moved channel test commands from tclIO.c to
1329 * generic/tclIO.h: new file, split out from tclIO.c to allow test
1330 commands to be moved to tclTest.c.
1332 * generic/tclStubInit.c:
1333 * generic/tclIntDecls.h:
1334 * generic/tclInt.decls: removed TclTestChannel*Cmd from internal
1335 stubs table and added TclChannelEventScriptInvoker to the internal
1336 stubs table so it can be used from the test code.
1338 2000-05-18 Eric Melski <ericm@scriptics.com>
1340 * tests/clock.test: Added test for "2 days 2 hours ago" style
1343 * generic/tclDate.c: Regenerated from tclGetDate.y.
1345 * generic/tclGetDate.y: Tweaked grammar to properly handle the
1346 "ago" keyword when it follows multiple relative unit specifiers,
1347 as in "2 days 2 hours ago". [Bug: 5497].
1349 2000-05-18 Jeff Hobbs <hobbs@scriptics.com>
1351 * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw
1352 compile env and cross-compiling. [Bug: 5499]
1354 * generic/tclClock.c (FormatClock): correct code to handle locale
1355 specific return values from strftime, if any. [Bug: 3345]
1357 * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to
1358 correct setlocale calls for XIM support and locale issues.
1359 [BUG: 5422 3345 4236 2522 2521]
1361 2000-05-17 Jeff Hobbs <hobbs@scriptics.com>
1363 * library/init.tcl (auto_import): added check to see if a valid
1364 pattern was coming in, to avoid simple error cases [Bug: 3326]
1366 * doc/regsub.n: correct regsub docs [Bug: 5346]
1368 2000-05-15 Eric Melski <ericm@scriptics.com>
1370 * library/history.tcl: Corrected an off-by-one error in HistIndex,
1371 which was causing [history redo] to start its search at the wrong
1372 event index. [Bug: 1269].
1374 2000-05-10 Jeff Hobbs <hobbs@scriptics.com>
1376 * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for
1377 Linux on Sparc to compile correctly. [Bug: 5364]
1380 * tests/namespace.test:
1381 * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace
1382 exists' command. [Bug: 4665]
1386 * tests/source.test:
1387 * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z)
1388 eofchar (affects Tcl_EvalFile in C, "source" in Tcl). This was
1389 implicit on Windows already, and is now cross-platform to allow
1390 for scripted documents.
1392 2000-05-09 Andreas Kupries <a.kupries@westend.com>
1393 operating as proxy for David Gravereaux <davygrvy@pobox.com>
1395 * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing
1396 initialization of joinLock.
1398 2000-05-09 Eric Melski <ericm@scriptics.com>
1400 * tests/lsearch.test:
1402 * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to
1403 support sorted list searching and typed list searching. [RFE: 4098].
1405 2000-05-08 Jeff Hobbs <hobbs@scriptics.com>
1409 * tests/expr-old.test: added tests for 'eq' and 'ne'
1410 * generic/tclExecute.c:
1411 * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes
1412 that do strict string comparisons.
1413 * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison
1415 * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr
1416 parse terms (string (in)equality check).
1418 * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of
1419 Tcl_DuplicateObj where code was otherwise duplicated. Made
1420 special case of inserting one element at the end work again (where
1422 (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and
1423 cleaned up use of other arguments.
1425 * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call
1426 TclInitStringRep, which the code was just duplicating in part.
1429 * generic/tclStubInit.c:
1430 * generic/tcl.decls:
1431 * generic/tclDecls.h:
1432 * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and
1433 Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch)
1434 * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for
1435 optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch
1436 * tests/string.test: extended string match tests
1438 2000-05-08 Eric Melski <ericm@scriptics.com>
1440 * tests/set-old.test:
1442 * generic/tclVar.c: Added [array statistics] command [RFE: 4557]
1444 2000-05-06 Andreas Kupries <a.kupries@westend.com>
1445 operating as proxy for David Gravereaux <davygrvy@pobox.com>
1447 * tclThreadJoin.c: Fixed several places with missing a & in
1448 arguments to calls of Tcl_Mutex(Un)lock and
1449 Tcl_ConditionNotify functions.
1451 2000-05-02 Jeff Hobbs <hobbs@scriptics.com>
1456 * library/reg1.0/pkgIndex.tcl:
1457 * library/tcltest1.0/tcltest.tcl:
1462 * unix/configure.in:
1465 * win/README.binary:
1468 * win/tcl.m4: updated patchlevel to 8.4a1
1470 * tests/compile.test:
1473 * tests/proc-old.test:
1474 * tests/rename.test:
1475 * generic/tclProc.c: reworked error return for procedures with
1476 incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong #
1477 args: ..." message is printed out with the args list.
1479 * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target
1481 2000-05-02 Andreas Kupries <a.kupries@westend.com>
1484 (1) Implementation of joinable threads for all platforms.
1485 (2) Additional API's for channels. Required to allow the
1486 thread extension to move channels between threads.
1488 * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread,
1489 Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel,
1490 Tcl_SpliceChannel, Tcl_IsChannelExisting and
1491 Tcl_ClearChannelHandlers (slots 394 to 400).
1493 * generic/tclIO.c: Implemented Tcl_IsChannelRegistered,
1494 Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
1495 Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
1496 Tcl_CutChannel uses code from CloseChannel. Replaced this code
1497 by a call to Tcl_CutChannel. Replaced several code fragments
1498 adding channels to the channel list with calls to
1499 Tcl_SpliceChannel. Removed now unused variables from
1500 CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers
1501 uses code from Tcl_Close. Replaced this code by a call to
1502 Tcl_ClearChannelHandlers. Removed now unused variables from
1503 Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and
1504 'isshared' to the test code
1505 (TclTestChannelCmd).
1507 * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the
1508 pthread-functionality.
1510 * win/tclWinThrd.c: Fixed several small typos in comments.
1511 Implemented Tcl_JoinThread using a platform independent
1512 emulation layer (see generic/tclThreadJoin.c below). Added
1513 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to
1514 prevent a race for joinable threads.
1516 * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform
1517 independent emulation layer (see generic/tclThreadJoin.c
1518 below). Due to the cooperative nature of threading on this
1519 platform the race mentioned above is not present.
1521 * generic/tclThreadJoin.c: New file. Contains a platform
1522 independent emulation layer helping in the implementation of
1523 joinable threads for the win and mac platforms.
1525 * generic/tclInt.h: Added declarations for TclJoinThread,
1526 TclRememberJoinableThread and TclSignalExitThread. These
1527 procedures define the API of the emulation layer for joinable
1528 threads (see generic/tclThreadJoin.c above).
1531 * win/makefile.vc: Added generic/tclTheadJoin.o to the rules.
1533 * mac/: I don't know to which file generic/tclTheadJoin.o has to
1534 be added to so that it compiles. Sorry.
1536 * unix/tclUnixChan.c: #ifdef'd the thread-local list of file
1537 channels as it prevents us from transfering channels. To restore
1538 this we may need an extended interface to drivers in the
1539 future. Target: 9.0. Found while testing the new transfer of
1540 channels. The information in this list for a channel was left
1541 behind and then crashed the system during finalization.
1543 * generic/tclThreadTest.c: Added -joinable flag to 'testthread
1544 create'. Added subcommand 'testthread join'.
1546 * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered,
1547 Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel,
1548 Tcl_IsChannelExisting and Tcl_ClearChannelHandlers.
1550 * doc/Thread.3: Added documentation for Tcl_JoinThread.
1552 * tests/thread.test: Added tests for joining of threads.
1554 2000-04-27 Eric Melski <ericm@scriptics.com>
1556 * doc/library.n: Added entries for auto_qualify and auto_import
1559 * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820].
1561 * doc/expr.n: Added documentation for each of the math library
1562 functions that expr supports [Bug: 1054].
1564 2000-04-26 Eric Melski <ericm@scriptics.com>
1566 * doc/memory.n: Man page for Tcl "memory" command, which is
1567 created when TCL_MEM_DEBUG is defined at compile time.
1569 * doc/TCL_MEM_DEBUG.3: Man page with overall information about
1570 TCL_MEM_DEBUG usage.
1572 * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory,
1573 Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835].
1575 * generic/tclCkalloc.c: Fixed some function headers.
1577 * unix/mkLinks: Regen'd with new mkLinks.tcl.
1579 * unix/mkLinks.tcl: Fixed indentation, made link setup more
1580 intelligent (only do one existance test per man page, instead of
1583 * doc/library.n: Fixed .SH NAME macro to include each function
1584 documented on the page, so that mkLinks will know about the
1585 functions listed there, and so that the Windows help file index
1586 will get set up correctly [Bug: 1898, 5273].
1588 2000-04-26 Jeff Hobbs <hobbs@scriptics.com>
1598 * win/README.binary: Updating URLs to reference dev.scriptics.com
1600 2000-04-25 Jeff Hobbs <hobbs@scriptics.com>
1604 * win/makefile.vc: updated for http change and some cleanup
1605 * library/http2.[13]: moved dir http2.1 to http2.3 to match version
1607 * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex
1609 * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER
1612 * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result
1614 2000-04-25 Eric Melski <ericm@scriptics.com>
1617 * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo
1620 2000-04-24 Eric Melski <ericm@scriptics.com>
1623 * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834].
1626 * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833].
1629 * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828].
1631 2000-04-24 Jeff Hobbs <hobbs@scriptics.com>
1633 * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc):
1634 added write of 'q' into triggerPipe for notifier in threaded case,
1635 so that Tcl doesn't hang when children are still running [Bug: 4139]
1637 * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes.
1639 2000-04-23 Jim Ingham <jingham@cygnus.com>
1641 These changes make some error handling marginally better for Mac
1642 sockets. It is still somewhat flakey, however.
1644 * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these
1645 don't seem to be honored, however.
1646 Use a separate PB for the release, since an async connect socket
1647 will still be using the original buffer.
1648 Make sure TCPRelease returns noErr before freeing the recvBuff.
1649 If the call returns an error, then the buffer is not right.
1650 * mac/tclMacSock.c (CreateSocket): Add timeouts to the async
1651 create. These don't seem to trigger, however. Sigh...
1652 * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT
1653 socket errors out, then return EWOULDBLOCK & error out.
1654 * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for
1655 experimenting with MacTCP.
1657 2000-04-22 Jim Ingham <jingham@cygnus.com>
1659 * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package
1660 search part of tclPkgUnknown.
1662 2000-04-21 Sandeep Tamhankar <sandeep@scriptics.com>
1664 * library/http2.1/http.tcl: Fixed a newly introduced bug where if
1665 there's a -command callback and something goes wrong, geturl threw
1666 an exception, called the callback, and unset the token. I changed
1667 it so that it will not call the callback when throwing an
1668 exception (so the caller only finds out about a given error from
1669 one place). Also, fixed http::ncode so that it actually gives you
1670 back the http return code (i.e. 200, 404, etc.) instead of the
1671 first digit of the version of HTTP being used (i.e. 1).
1673 2000-04-21 Brent Welch <welch@scriptics.com>
1675 * library/http2.1/http.tcl: More thrashing with the "server closes
1676 without reading post data" scenario. Reverted to the previous
1677 filevent configuratiuon, which seems to work better with small
1678 amounts of post data.
1680 2000-04-20 Jeff Hobbs <hobbs@scriptics.com>
1682 * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix
1683 * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of
1684 USE_TCLALLOC on Unix. [Bug: 4731]
1686 2000-04-19 Jeff Hobbs <hobbs@scriptics.com>
1688 * library/dde1.1/pkgIndex.tcl:
1689 * library/reg1.0/pkgIndex.tcl:
1691 * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files
1692 were not converted, as it confuses hcw locally. [Bug: 5096]
1694 * win/Makefile.in: expanded cleanup target for help files
1696 * doc/Thread.3: minor macro cleanup
1698 * generic/tclFileName.c (SplitUnixPath): added support for QNX
1701 2000-04-18 Jeff Hobbs <hobbs@scriptics.com>
1706 * unix/configure.in:
1709 * win/README.binary: bumped version to 8.3.1
1711 * win/tcl.hpj.in: updated copyright date
1713 * generic/tclEnv.c: environment support for Mac OS/X
1714 * unix/tclUnixPort.h: environment support for Mac OS/X
1715 * unix/tclLoadDyld.c: new file for Mac OS/X dl functions
1716 * unix/Makefile.in: added install-strip target; bindir, libdir,
1717 mandir, includedir vars; tclLoadDyld.c target [Bug: 2527]
1719 * unix/tclUnixChan.c (CreateSocket): force a socket back into
1720 blocking mode (default state) after a -async connect succeeds.
1723 * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to
1724 thread-local storage to prevent thread-related race condition.
1726 * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the
1727 library path as it was unnecessary and conflicts with move of
1728 tclLibraryPath to thread-local storage.
1730 2000-04-18 Scott Redman <redman@scriptics.com>
1735 * win/tclsh.ico: Modified copyright dates in Windows resource
1736 files. Added an icon for tclsh.exe.
1738 2000-04-17 Brent Welch <welch@scriptics.com>
1740 * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c,
1741 win/tclWinThread.c, mac/tclMacThread.c:
1742 Added Tcl_CreateThreadType and TCL_RETURN_THREAD_TYPE
1743 macros for declaring the NewThread callback proc.
1745 2000-04-14 Jeff Hobbs <hobbs@scriptics.com>
1747 * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space
1748 parity on platforms that support it [Bug: 5089]
1750 * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor
1751 to not conflict with global decl on some systems [Bug: 2882]
1766 * doc/OpenFileChnl.3:
1776 * doc/load.n: removed or updated references to interp->result use.
1778 2000-04-13 Jeff Hobbs <hobbs@scriptics.com>
1780 * doc/regexp.n: doc clarification [Bug: 5037]
1781 * doc/update.n: typo fix [Bug: 4996]
1783 * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of
1784 pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added
1785 --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995]
1787 2000-04-12 Jeff Hobbs <hobbs@scriptics.com>
1789 * doc/dde.n: corrected dde poke docs. [Bug: 4991]
1791 2000-04-11 Eric Melski <ericm@scriptics.com>
1793 * win/tclWinPipe.c: Added "CONST" keyword to declaration of char
1794 *native in TclpCreateTempFile, to supress compiler warnings.
1796 2000-04-10 Brent Welch <welch@scriptics.com>
1798 * generic/tcl.h: Fixed Tcl_CreateThread declaration.
1799 * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread"
1800 initialization to work with either testthread or the thread extension
1801 * unix/tclUnixThrd.c: Fixed compiler warning when compiling
1804 2000-04-10 Eric Melski <ericm@scriptics.com>
1806 * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of
1807 contents string from UTF to native encoding [Bug: 4030].
1809 * tests/regexp.test: Added tests for infinite looping in [regexp
1812 * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all]
1815 * tests/*.test: Changed all occurances of "namespace import
1816 ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
1818 2000-04-09 Brent Welch <welch@scriptics.com>
1820 * lib/httpd2.1/http.tcl: Worked on the "server closes before
1821 reading post data" case, which unfortunately causes different
1822 error cases on Solaris, which can read the reply, and Linux
1823 and Windows, which cannot read anything. This is all in the
1824 loop-back case - client and server on the same host. Also
1825 unified the error handling so the "ioerror" status goes away
1826 and errors are reflected in a more uniform way. Updated the
1827 man page to document the behavior.
1829 2000-04-09 Jeff Hobbs <hobbs@scriptics.com>
1831 * tests/reg.test (matchexpected): corrected tests to use tcltest
1832 constraint types to skip certain tests.
1834 * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix
1836 * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef
1837 inside of func as it is declared for non-threads builds as well.
1838 In the non-threads case, it always returns TCL_ERROR (couldn't
1841 2000-04-08 Andreas Kupries <a.kupries@westend.com>
1843 * Overall change: Definition of a public API for the creation of
1846 * generic/tclInt.h (line 1802f): Removed the definition of
1847 'TclpThreadCreate'. (line 793f) Removed the definition of
1848 'Tcl_ThreadCreateProc'.
1850 * generic/tcl.h (line 388f): Readded the definition of
1851 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David
1852 Graveraux <davygrvy@bigfoot.com> to that too (__stdcall,
1853 ...). Added macros for the default stacksize and allowed flags.
1855 * generic/tcl.decls (line 1356f): Added definition of
1856 'Tcl_CreateThread', slot 393 of the stub table. Two new
1857 arguments in the public API, for stacksize and flags.
1860 * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread,
1861 added handling of the stacksize. Flags are currently ignored.
1863 * unix/tclUnixThrd.c: See above, but handles joinable
1864 flag. Ignores the specified stacksize if the macro
1865 HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined.
1867 * generic/tclThreadTest.c (line 363): See below.
1869 * unix/tclUnixNotfy.c (line 210): Adapted to the changes
1870 above. Uses default stacksize and no flags now.
1872 * unic/tcl.m4 (line 382f): Added a check for
1873 'pthread_attr_setstacksize' to detect platforms not implementing
1874 this feature of pthreads. If it is implemented, configure will
1875 define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See
1876 unix/tclUnixThrd.c too).
1878 * doc/Thread.3: Added Tcl_CreateThread and its arguments to the
1879 list of described functions. Removed stuff about not providing a
1880 public C-API for thread-creation.
1882 2000-04-07 Jeff Hobbs <hobbs@scriptics.com>
1884 * doc/binary.n: clarified docs on sign extension in binary scan
1887 * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s
1888 references (no longer supported)
1890 * tests/fCmd.test: marked test 8.1 knownBug because it is
1891 dangerous on poorly configured systems [Bug: 3881]
1892 and added 8.2 to keep essence of 8.1 tested.
1894 2000-04-05 Andreas Kupries <a.kupries@westend.com>
1896 * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing
1897 interest mask to the correct value after an unstack and
1898 re-initialization of the notifier via the watchProc. Without this
1899 the first fileevent after an unstack will come through and be
1900 processed, but no more. [Bug: ??].
1902 2000-03-04 Brent Welch <welch@scriptics.com>
1904 * {win,unix}/Makefile.in: added dependency of tclStubInit.c on
1905 tcl.decls and tclInt.decls
1906 * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS
1907 * generic/{tcl.decls,tclStubInit.c}: Just touched the tcl.decls and
1908 regenerated the tclStubInit.c file
1910 2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>
1912 * library/http2.1/http.tcl: For the -querychannel option,
1913 fconfigure the socket to be binary so that we don't translate
1914 anything while reading the data. This is because we determine the
1915 content length of the data on the channel by using seek (to the end
1916 of the file) and tell on the file handle, and we need the
1917 content-length to match the amount of data actually sent, and
1918 translation can affect the number of bytes posted.
1920 2000-04-03 Andreas Kupries <a.kupries@westend.com>
1922 * Overall change: Definition of public API's for the finalization
1923 of conditions and mutexes. [Bug: 4199].
1925 * generic/tclInt.h: Removed definitions of TclFinalizeMutex and
1926 TclFinalizeCondition.
1928 * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and
1929 Tcl_ConditionFinalize.
1931 * generic/tclThread.c: Renamed TclFinalizeMutex to
1932 Tcl_MutexFinalize. Renamed TclFinalizeCondition to
1933 Tcl_ConditionFinalize.
1935 * generic/tclNotify.c: Changed usage of TclFinalizeMutex to
1938 * unix/tclUnixNotfy.c:
1939 * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to
1940 Tcl_ConditionFinalize.
1942 * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and
1943 Tcl_ConditionFinalize, to be used when the core is compiled
1946 * doc/Thread.3: Added description the new API's.
1948 2000-04-03 Jeff Hobbs <hobbs@scriptics.com>
1950 * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr
1951 to prevent itcl info override crash [Bug: 4064]
1953 * tests/foreach.test:
1954 * tests/namespace.test:
1955 * tests/var.test: Added lsorts to avoid random sorted return
1956 problems. [Bug: 2682]
1958 * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482]
1960 * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156]
1961 improved translation to winhelp [Bug: 3679]
1963 * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir
1964 correctly [Bug: 4085]
1966 * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293]
1968 2000-04-03 Eric Melski <ericm@scriptics.com>
1970 * unix/tclUnixFCmd.c (SetGroupAttribute):
1971 * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t)
1972 casts to avoid compiler warnings.
1974 2000-03-31 Eric Melski <ericm@scriptics.com>
1976 * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to
1977 error test (previously only errno was checked, but the return
1978 value of strtod() should be checked as well). [Bug: 4118].
1980 * tests/exec.test: Added test for proper conversion of UTF data
1981 when used with "<< $dataWithUTF" on exec's.
1983 * unix/tclUnixPipe.c (TclpCreateTempFile): Added
1984 Tcl_UtfToExternalDString call, so that if there is UTF content in
1985 the string it will be properly converted to the system encoding
1986 before being written [Bug: 4030].
1987 (TclpCreateTempFile): Added a check on the return value of tmpnam;
1988 some systems (Linux, for example) will start to return NULL after
1989 tmpnam has been called TMP_MAX times; not checking for this can
1990 have bad results (overwriting temp files, core dumps, etc.)
1992 2000-03-30 Jeff Hobbs <hobbs@scriptics.com>
1994 * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments
1995 noting the need to pair ckalloc with ckfree. [Bug: 4262]
1997 * generic/tclInt.decls:
1998 * generic/tclIntPlatDecls.h:
1999 * generic/tclStubInit.c:
2000 * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s
2003 * win/tclWinReg.c: made use of TclWinGetPlatformId instead of
2009 * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234]
2011 2000-03-29 Jeff Hobbs <hobbs@scriptics.com>
2013 * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup
2014 more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by
2015 tbcload), to correctly clean them up.
2017 * generic/tclClock.c (FormatClock): moved check for empty format
2018 earlier, commented 0 result return value
2020 2000-03-29 Sandeep Tamhankar <sandeep@scriptics.com>
2022 * library/http2.1/http.tcl: Removed an unnecessary fileevent
2023 statement from the error processing part of the Write method.
2024 Also, fixed two potential memory leaks in wait and reset, in which
2025 the state array wasn't being unset before throwing an exception.
2026 Prior to this version, Brent checked in a fix to catch a
2027 fileevent statement that was sometimes causing a stack trace when
2028 geturl was called with -timeout. I believe Brent's fix is
2029 necessary because TLS closes bad sockets for secure connections,
2030 and the fileevent was trying to act on a socket that no longer
2033 2000-03-27 Jeff Hobbs <hobbs@scriptics.com>
2035 * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"'
2037 * tests/namespace.test:
2038 * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the
2039 export list so only one instance of each export pattern would
2042 * generic/tclExecute.c (TclExecuteByteCode): optimized case for
2043 the empty string in ==/!= comparisons
2045 2000-03-27 Eric Melski <ericm@scriptics.com>
2047 * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call
2050 * unix/tclLoadAout.c:
2051 * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls
2054 2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>
2056 * library/http2.1/http.tcl: Fixed a bug where string query data
2057 that was bigger than queryblocksize would get duplicate characters
2058 at block boundaries.
2060 2000-03-22 Sandeep Tamhankar <sandeep@scriptics.com>
2062 * library/http2.1/http.tcl: Fixed bug 4463, where we were getting
2063 a stack trace if we tried to publish a project to a good host but
2064 a port where there was no server listening. It turned out the
2065 problem was a stray fileevent that needed to be cleared. Also,
2066 fixed a bug where http::code could stack trace if called on a bad
2067 token (one which didn't represent a successful geturl) by adding
2068 an http element to the state array in geturl.
2070 2000-03-21 Eric Melski <ericm@scriptics.com>
2072 * tests/clock.test: Modified some tests that were not robust with
2073 respect to the time zone in which they were run and were thus
2076 * doc/clock.n: Clarified meaning of -gmt with respect to -base
2077 when used with [clock scan] (-gmt does not affect the
2078 interpretation of -base).
2080 2000-03-19 Sandeep Tamhankar <sandeep@scriptics.com>
2082 * library/http2.1/http.tcl: geturl used to throw an exception when
2083 the connection failed; I accidentally returned a token with the
2084 error info, breaking backwards compatibility. I changed it back
2085 to throwing an exception, but unsetting the state array first
2086 (thus still eliminating the original memory leak problem).
2088 2000-03-19 Sandeep Tamhankar <sandeep@scriptics.com>
2090 * library/http2.1/http.tcl: Added -querychannel option and altered
2091 some of Brent's modifications to allow asynchronous posts (via
2092 -command). Also modified -queryprogress so that it calls the
2093 query callback as <callback> <token> <total size> <current size>
2094 to be consistent with -progress. Added -queryblocksize option
2095 with default 8192 bytes for post blocksize. Fixed a bunch of
2096 potential memory leaks for the case when geturl receives bad args
2097 or can't open a socket, etc. Overall, the package really rocks
2100 * doc/http.n: Added -queryblocksize, -querychannel, and
2101 -queryprogress. Also, changed the description of -blocksize,
2102 which states that the -progress callback will be called for each
2103 block, to now qualify that with an "if -progress is specified".
2105 * tests/http.test: Added a querychannel test for synchronous and
2106 asynchronous posts, altered the queryprogress test such that the
2107 callback conforms to the -progress format. Also, had to use the
2108 -queryblocksize option to do the post 16K at a time to match
2109 Brent's expected results (and to test that -queryblocksize works).
2111 2000-03-15 Brent Welch <welch@scriptics.com>
2113 * library/http2.1/http.tcl: Added -queryprogress callback to
2114 http::geturl and also changed it so that writing the post data
2115 is event driven if the queryprogress callback or a timeout is given.
2116 This allows a timeout to occur when writing lots of post data.
2117 The queryprogress callback is called after each block of query
2118 data is posted. It has the same signature as the -progress callback.
2120 2000-03-06 Eric Melski <ericm@scriptics.com>
2122 * library/package.tcl: Applied patch from Bug: 2570; rather than
2123 setting geometry of slave interp to 0x0 when Tk was loaded, it now
2124 does "wm withdraw .". Both remove the main window from the
2125 display, but the former caused some internal structures to get
2126 initialized to zero, which caused crashes with some extensions.
2128 2000-03-02 Jeff Hobbs <hobbs@scriptics.com>
2130 * library/package.tcl (tclPkgUnknown): extended to allow
2131 recognizes changes in the auto_path while sourcing in other
2134 * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable
2137 * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch
2138 from Newman to significantly speedup file split/join on Windows
2139 (replaces regexp with custom parser). [Bug: 2867]
2141 * win/README.binary: change mailing lists from @consortium.org
2142 to @scriptics.com [Bug: 4173]
2144 2000-02-28 Eric Melski <ericm@scriptics.com>
2146 * tests/clock.test: Added test for ISO bases < 100000
2148 * generic/tclDate.c: (generated on Solaris)
2149 * generic/tclGetDate.y: Changed condition for deciding if a number
2150 is an ISO 8601 base from number >= 100000 to numberOfDigits >= 6.
2151 Previously it would fail to recognize 000000 as an ISO base.
2153 2000-02-14 Eric Melski <ericm@scriptics.com>
2155 * unix/Makefile.in: Added rpm target to generate Tcl binary RPM.
2157 * unix/tcl.spec: RPM specification file for a Tcl binary RPM for
2160 2000-02-10 Jeff Hobbs <hobbs@scriptics.com>
2164 * changes: updated for 8.3.0 release
2166 * doc/load.n: added notes about dll load errors on Windows
2169 * unix/Makefile.in (dist): removed porting.notes and porting.old
2170 from distribution and CVS. The information was very outdated. Now
2171 refer to http://dev.scriptics.com/services/support/platforms.html
2173 * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549]
2175 * unix/configure.in:
2176 * unix/tcl.m4: correct CFLAG_WARNING setting,
2177 fixed gcc config for AIX,
2178 added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998]
2180 * win/tclWinLoad.c (TclpLoadFile): improved error message for load
2181 failures, could perhaps be even more intelligent.
2183 2000-02-09 Jim Ingham <jingham@cygnus.com>
2185 * mac/tclMacSock.c: Don't panic when you get an error closing an async
2186 socket. This doesn't seem to hurt anything, and we return the error so
2187 the caller can do the right thing.
2190 * mac/MW_TclHeader.h:
2191 * mac/MW_TclTestHeader.h:
2192 * mac/MW_TclTestHeader.pch:
2193 * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix files
2194 in the preference panels...
2196 The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au)
2198 2000-02-08 Eric Melski <ericm@scriptics.com>
2200 * tests/clock.test: Added tests for "next monthname" constructs.
2201 * generic/tclDate.c:
2202 * generic/tclGetDate.y (Message): Added a grammar rule for "next
2203 monthname" so that we can handle "next january" and similar
2204 constructs (bug #4146).
2206 2000-02-08 Jeff Hobbs <hobbs@scriptics.com>
2210 * unix/configure.in:
2213 * win/README.binary:
2214 * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel
2217 * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122]
2219 * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory
2220 list to allow dirnames with spaces
2222 * unix/tcl.m4: changed all -fpic to -fPIC
2224 * generic/tclDecls.h:
2225 * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int
2226 forWriting' instead of 'int write' to avoid shadowing [Bug: 4121]
2228 * tests/httpold.test: changed test script to source in the httpd
2229 server procs from httpd instead of having its own set.
2231 * tests/httpd: improved query support in test httpd to handle fix
2232 in http.tcl. [Bug: 4089 change 2000-02-01]
2234 * unix/README: fixed notes about --enable-shared and add note
2235 about --disable-shared.
2237 2000-02-07 Eric Melski <ericm@scriptics.com>
2239 * tests/package.test:
2241 * library/package.tcl: Renamed ::package namespace to ::pkg.
2243 2000-02-03 Eric Melski <ericm@scriptics.com>
2246 * doc/packagens.n: Renamed Package.n -> packagens.n because Windows
2247 can't deal with case-sensitive names.
2249 2000-02-02 Jeff Hobbs <hobbs@scriptics.com>
2251 * tests/regexp.test: added tests for -all and -inline switches
2252 * doc/regexp.n: added docs for -all and -inline switches
2253 * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for
2254 new -all and -inline switches to regexp command
2256 2000-02-01 Eric Melski <ericm@scriptics.com>
2258 * library/init.tcl: Applied patch from rfe 1734 regarding
2259 auto_load errors not setting error message and errorInfo properly.
2261 2000-02-01 Jeff Hobbs <hobbs@scriptics.com>
2263 * win/Makefile.in (install-*): reduced verbosity of install
2265 * generic/tclFileName.c (Tcl_JoinPath): improved support for special
2266 QNX node id prefixes in pathnames [Bug: 4053]
2268 * library/http1.0/http.tcl:
2269 * library/http2.1/http.tcl: The query data POSTed was newline
2270 terminated when it shouldn't be altered [Bug: 4089]
2272 2000-01-31 Eric Melski <ericm@scriptics.com>
2274 * tests/package.test:
2276 * library/package.tcl: Added ::package namespace and
2277 ::package::create function.
2279 * library/init.tcl: Fixed problem with auto_load and determining
2280 if commands were loaded.
2282 * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed.
2284 * doc/Package.n: New man page for package::create function.
2286 * doc/pkgMkIndex.n: Added additional information.
2288 * doc/library.n: Added additional qualification regarding auto_mkindex.
2290 2000-01-28 Eric Melski <ericm@scriptics.com>
2292 * tests/pkg/magicchar2.tcl:
2293 * tests/autoMkindex.test: Test for auto loader fix (bug #2480).
2295 * library/init.tcl: auto_load was using [info commands $name] to
2296 determine if a given command was available; if the command name
2297 had * or [] it, this would fail because info commands uses
2298 glob-style matching. This is fixed. (Bug #2480).
2300 * tests/pkg/spacename.tcl:
2301 * tests/pkgMkIndex.test: Tests for fix for bug #2360.
2303 * library/package.tcl: Fixed to extract only the first element of
2304 the list returned by auto_qualify (bug #2360).
2306 * tests/pkg/magicchar.tcl:
2307 * tests/autoMkindex.test: Test for fix for bug #2611.
2309 * library/auto.tcl: Fixed the regular expression that performs $
2310 escaping before sourcing a file to index. It was erroneously
2311 adding \ escapes even to $'s that were already escaped,
2312 effectively "un-escaping" those $'s. (bug #2611).
2314 2000-01-27 Eric Melski <ericm@scriptics.com>
2316 * tests/autoMkindex.test:
2317 * library/auto.tcl: Applied patch (with slight modification) from
2318 bug #2701: auto_mkIndex uses platform dependent file paths.
2321 2000-01-27 Jennifer Hom <jenn@scriptics.com>
2323 * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to
2324 normalizePath and exported it as a public proc. This proc
2325 creates an absolute path given the name of the variable containing
2326 the path to modify. The path is modified in place.
2327 * library/tcltest1.0/pkgIndex.tcl: Added normalizePath.
2328 * tests/all.tcl: Changed code to use normalizePath.
2330 2000-01-27 Eric Melski <ericm@scriptics.com>
2332 * tests/pkg/samename.tcl: test file for bug #1983
2334 * tests/pkgMkIndex.test:
2336 * library/package.tcl: Per rfe #4097, optimized creation of direct
2337 load packages to bypass computing the list of commands added by
2338 the new package. Also made direct loading the default, and added
2340 Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling
2341 situations with two procs by the same name but in different
2342 namespaces (ie, foo::baz and bar::baz).
2344 2000-01-26 Eric Melski <ericm@scriptics.com>
2346 * generic/tclNamesp.c: Undid fix for #956, which broke backwards
2352 * doc/info.n: Added further information about differences between
2353 "namespace which" and "info exists".
2355 * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg()
2358 2000-01-25 Jeff Hobbs <hobbs@scriptics.com>
2360 * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for
2361 OSF1-V* and ULTRIX-4.* when not using gcc. Also added higher min
2362 stack size for OSF1-V* when building with threads. [Bug: 4063]
2364 * generic/tclClock.c (FormatClock): inlined resultPtr, as it
2365 conflicted with var creation for HAVE_TZSET #def [Bug: 4063]
2367 * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak
2368 when calling lsort -command with bad command [Bug: 4067]
2370 * generic/tclFileName.c (Tcl_JoinPath): added support for special
2371 QNX node id prefixes in pathnames [Bug: 4053]
2373 * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080]
2375 * doc/glob.n: clarified Mac path separator determination docs.
2377 * win/makefile.vc: added some support for building helpfile on Windows
2379 2000-01-23 Jeff Hobbs <hobbs@scriptics.com>
2381 * library/init.tcl (auto_execok): added 'start' to list of
2382 recognized built-in commands for COMSPEC on NT. [Bug: 2858]
2384 * unix/tclUnixPort.h: moved include of <utime.h> lower since some
2385 systems (UTS) require sys/types.h to be included first [Bug: 4031]
2387 * unix/tclUnixChan.c (CreateSocketAddress): changed comparison
2388 with -1 to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit
2389 systems. [Bug: 3878]
2391 * generic/tclFileName.c: improved guessing of path separator
2392 for the Mac. (Darley)
2395 * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827]
2396 and removed 'register' from stub definition of
2397 Tcl_AppendUnicodeToObj [Bug: 4038]
2399 2000-01-21 Eric Melski <ericm@scriptics.com>
2402 * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817).
2404 * doc/lreplace.n: Corrected man page with respect to treatment of
2405 empty lists, and "prettied up" the page. (bug #1705).
2407 2000-01-20 Eric Melski <ericm@scriptics.com>
2409 * tests/namespace.test: Added test for undefined variables with
2410 namespace which (bug #956).
2412 * generic/tclNamesp.c: Added check for undefined variables in
2413 NamespaceWhichCmd (bug #956).
2415 * tests/var.test: Added tests for corrected variable behavior
2418 * doc/upvar.n: Expanded explanation of upvar behavior with respect to
2419 variable traces. (bugs 3917 1433 2110).
2421 * generic/tclVar.c: Changed behavior of variable command when name
2422 refers to an element in an array (ie, "variable foo(x)") to always
2423 return an error, regardless of existance of that element in the
2424 array (now behavior is consistant with docs too) (bug #981).
2426 2000-01-20 Jeff Hobbs <hobbs@scriptics.com>
2428 * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a
2429 string if the body has been bytecompiled.
2430 * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for
2431 originating proc body of bytecompiled code, #def'd out as the
2432 change for [info body] should make it unnecessary
2434 * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr
2436 * tests/set.test: added test for complex array elem name compiling
2437 * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array
2438 elements during compiling, and slightly optimised same [Bug: 3889]
2440 * doc/tclvars.n: added definitions for tcl_(non)wordchars
2442 * doc/vwait.n: added notes about requirement for vwait var being
2443 globally scoped [Bug: 3329]
2445 * library/word.tcl: changed tcl_(non)wordchars settings to use
2446 new unicode regexp char class escapes instead of char sequences
2448 2000-01-14 Eric Melski <ericm@scriptics.com>
2450 * tests/var.test: Added a test for the array multiple delete
2451 protection in Tcl_UnsetVar2.
2453 * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against
2454 attempts to multiply delete arrays when unsetting them (bug
2455 #3453). This could happen if there was an unset trace on an array
2456 element and the trace proc made a global or upvar link to the
2457 array, and then the array was unset at the global level. See the
2458 bug reference for more information.
2460 * unix/tclUnixTime.c: New clock format format.
2462 * compat/strftime.c: New clock format format.
2464 * generic/tclGetDate.y: New clock scan format.
2466 2000-01-13 Jeff Hobbs <hobbs@scriptics.com>
2468 * changes: updated changes file to reflect 8.3b2 mods
2473 * unix/configure.in:
2475 * win/README.binary:
2476 * win/configure.in: updated to patchlevel 8.3b2
2478 * generic/regexec.c: added var initialization to prevent compiler
2481 2000-01-13 Eric Melski <ericm@scriptics.com>
2483 * tests/cmdIL.test: Added tests for lsort -dictionary with
2484 characters that occur between Z and a in ASCII.
2486 * generic/tclCmdIL.c: Modified DictionaryCompare function (used by
2487 lsort -dictionary) to do upper/lower case equivalency before doing
2488 character comparisons, instead of after. This fixes bug #1357, in
2489 which lsort -dictionary [list ` AA c CC] and lsort -dictionary
2490 [list AA c ` CC] gave different (and both wrong) results.
2492 2000-01-12 Eric Melski <ericm@scriptics.com>
2494 * tests/clock.test: Added tests for "next <day-of-week>" and
2496 Added tests for "monday 1 week ago", etc, from RFE #3671.
2498 * doc/tests/clock.test: Added numerous tests for clock scan.
2500 * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in
2503 * doc/doc/clock.n: Added documentation for new supported clock
2504 scan formats and additional explanation of daylight savings time
2505 correction algorithm.
2507 2000-01-12 Jeff Hobbs <hobbs@scriptics.com>
2510 * tests/unixFCmd.test:
2511 * unix/tclUnixFCmd.c: added support for symbolic permissions
2512 setting in SetPermissionsAttribute (file attr $file -perm ...)
2515 * generic/tclClock.c: fixed support for 64bit handling of clock
2518 * generic/tclThreadTest.c: upped a buffer size to hold double
2521 * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong)
2523 * generic/tclNamesp.c: made imported commands also import their
2524 compile proc [Bug: 2100]
2528 * unix/configure.in:
2529 * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378]
2530 and added tests to prevent unnecessary chmod +x in sources while
2531 installing, as well as more intelligent setsockopt/gethostbyname
2532 checks [Bug: 3366, 3389]
2534 * unix/tclUnixThrd.c: added compile time support (through use of
2535 the TCL_THREAD_STACK_MIN define) for increasing the default stack
2536 size for a thread. [Bug: 3797, 1966]
2538 2000-01-11 Eric Melski <ericm@scriptics.com>
2540 * generic/tclGetDate.y: Added comments for the Convert function.
2541 Added a fix for daylight savings time handling for relative time
2542 spans of days, weeks or fortnights. (bug 3441, 3868).
2544 * generic/tclDate.c: Fixed compiler warning issues.
2546 2000-01-10 Jeff Hobbs <hobbs@scriptics.com>
2548 * compat/waitpid.c: use pid_t type instead of int [Bug: 3999]
2550 * tests/utf.test: fixed test that allowed \8 as octal value
2551 * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow
2552 non-octal digits (8,9) in \ooo substs. [Bug: 3975]
2554 * generic/tcl.h: noted need to change win/tcl.m4 and
2555 tools/tclSplash.bmp for minor version changes
2557 * library/http2.1/http.tcl: trim value for $state(meta) key
2559 * unix/tclUnixFile.c: fixed signature style on functions
2561 * unix/Makefile.in: made sure tcl.m4 would be installed with dist
2563 * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959]
2565 2000-01-10 Eric Melski <ericm@scriptics.com>
2567 * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847):
2575 Fixed "clock scan <number>" to scan the number as an hour for the
2576 current day, rather than a minute after 00:00 for the current day
2579 2000-01-07 Eric Melski <ericm@scriptics.com>
2581 * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use
2582 enumerated values instead of constants. (ie, COMMAND_SCAN instead