ChangeLog.2000
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:92k
源码类别:

通讯编程

开发平台:

Visual C++

  1. 2000-12-14  Don Porter  <dgp@users.sourceforge.net>
  2. * generic/tclExecute.c:
  3. * tests/expr-old.test:  Re-wrote Tcl's [expr rand()] and
  4. [expr srand($seed)] implementations, fixing a range error
  5. on some 64-bit platforms.  Added tests that detect the bug.
  6. The rewrite changes the seed -> sequence map on 64-bit
  7. platforms, only for seed >= 2^31, a slight incompatibility.
  8. [Bug 121072, Patch 102781]
  9. 2000-12-10  Don Porter  <dgp@users.sourceforge.net>
  10. * library/init.tcl:
  11. * library/msgcat/msgcat.tcl:
  12. * library/msgcat/pkgIndex.tcl:
  13. * library/opt/optparse.tcl:
  14. * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc
  15. to evaluate a Tcl built-in command in the caller's context,
  16. the built-in commands are now fully namespace-qualified.  This
  17. prevents problems when the caller context is in a namespace where
  18. the built-in command name has been used by a command in the
  19. namespace.  (For example, [::ns::set] might be called instead
  20. of the intended [::set]).  [Bug #119422, Patch #102545]
  21. 2000-12-09  jeff hobbs  <jhobbs@interwoven.com>
  22. * win/tclWinTime.c (CalibrationThread): added lint return value to
  23. prevent compiler warning.  [Bug #125005]
  24. * docs/scan.n:
  25. * tests/scan.test:
  26. * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use
  27. strtoul instead of strtol to correctly preserve scan<>format
  28. conversion of large integers.  [Patch #102663, Bug #124600]
  29. * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing
  30. handling of {!<boolean>} in expressions. [Patch #102702]
  31. 2000-12-08  jeff hobbs  <jhobbs@interwoven.com>
  32. * library/init.tcl: Added support for PATHEXT variable in
  33. auto_execok, recognizing the proper set of executable extensions
  34. on Windows.  [Patch #102719]
  35. 2000-12-08  Andreas Kupries  <a.kupries@westend.com>
  36. * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous
  37.   code to something less critical. This fixes bug 119417, part A
  38.   without affecting the speed when loading encodings.
  39. 2000-12-08  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  40. * doc/open.n: Added xref to fconfigure and advice on the opening
  41.   of binary files.  Should help prevent a recurrence of bugs like
  42.   #124558
  43. 2000-12-07  jeff hobbs  <jhobbs@interwoven.com>
  44. * generic/tcl.h: added note about need to updated
  45. library/dde/pkgIndex.tcl with minor version increment.
  46. * library/dde/pkgIndex.tcl: updated to use 84 version to reflect
  47. the makefile.  Should probably be updated to use its real version
  48. at some point. [Patch #102560, Bug #119421]
  49. 2000-12-06  eric melski  <ericm@ajubasolutions.com>
  50. * generic/tcl.h (attemptckalloc): Fixed typo for #define of
  51. attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have
  52. been Tcl_AttemptDbCkalloc). [Bug: 124384]
  53. * generic/tclCkalloc.c: Added
  54. TCL_MEM_DEBUG versions of Tcl_AttemptDbCkrealloc and
  55. Tcl_AttemptDbCkalloc. [Bug: 124384].
  56. 2000-11-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  57. * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!"
  58.   can now handle string booleans, provided those values are placed
  59.   in variables.
  60. * tests/expr.test (expr-13.17): Check that [expr {!$var}] can
  61.   negate the string-versions of booleans "yes", "false", etc.
  62. * library/tcltest/tcltest.tcl (getMatchingFiles,
  63.   getMatchingDirectories):
  64. * tools/man2html.tcl (doDir): 
  65. * tools/man2help.tcl (doDir): 
  66. * library/package.tcl (tclPkgUnknown,tclMacPkgSearch): 
  67. * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of
  68.   unsafe [file join] to fix Bug #123313
  69. * generic/tclIndexObj.c:
  70. * generic/tclTestObj.c (TestindexobjCmd): Changed internal
  71.   representation of index objects to fix Bug #119082; fix
  72.   shouldn't be visible to outside world...
  73. * generic/tclTest.c (TestGetIndexFromObjStructObjCmd): 
  74. * tests/indexObj.test: (indexObj-6.*) Added to test for presence
  75.   of Bug #119082.
  76. 2000-11-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  77. * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from Bug
  78.   #119398
  79. * library/init.tcl (unknown): Added specific level parameters to
  80.   all uplevel invokations to boost performance; didn't dare touch
  81.   the "namespace inscope" stuff though, since it looks sensitive
  82.   to me!  Should fix Bug #123217, though testing is tricky...
  83. 2000-11-21  Andreas Kupries  <a.kupries@westend.com>
  84. * All of the changes below are described in TIP #7 ~ Specification
  85.     and result from the application of the patch contained
  86.     therein. Creator of the patch is Kevin Kenny
  87.     <kennykb@crd.ge.com>. The patch used here is actually a bit
  88.     different. Two MS specific constant values (format FOOui64) were
  89.     replaced with a more portable formatting of the values and an
  90.     additional cast to LONGLONG. My cross-compiling gcc was unable to
  91.   process the original form. The SF Id of the patch is 102459.
  92. * tclWinTime.c: Add to the static data a set of variables that
  93.     manage the phase-locked techniques, including a
  94.     ''CRITICAL_SECTION'' to guard them so that multi-threaded code
  95.     is stable.
  96. * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime''
  97.     and return the 'seconds' portion of the result.  This change is
  98.     necessary to make sure that the two times are consistent near
  99.     the rollover from one second to another.
  100. * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to
  101.     determine the click count as a number of microseconds.
  102. * tclWinTime.c: Modify ''TclpGetTime'' to return the time as
  103.     M*Q+B, where Q is the result of ''QueryPerformanceCounter'', and
  104.     M and B are variables maintained by the phase-locked loop to
  105.     keep the result as close as possible to the system clock.  The
  106.     ''TclpGetTime'' call will also launch the phase-lock management
  107.     in a separate thread the first time that it is invoked.  If the
  108.     performance counter is unavailable, or if its frequency is not
  109.     one of the two common 8254-compatible rates, then
  110.     ''TclpGetTime'' will return the result of ''ftime'' as it does
  111.     in Tcl 8.3.2.
  112. * tclWinTime.c: Add the clock calibration procedure.  The
  113.     calibration is somewhat complex; to save space, the reader is
  114.     referred to the reference implementation for the details of how
  115.     the time base and frequency are maintained.
  116. * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process
  117.     has, in fact, slept for the requisite time by calling
  118.     ''TclpGetTime'' and comparing with the desired time.  Otherwise,
  119.     roundoff errors may cause the process to awaken early.
  120. * tclWinTest.c: Add a ''testwinclock'' command.  This command
  121.     returns a four element list comprising the seconds and
  122.     microseconds portions of the system clock and the seconds and
  123.     microseconds portions of the Tcl clock.
  124. * winTime.test: Add to the test suite a test that makes sure that
  125.     the Tcl clock stays within 1.1 ms of the system clock over the
  126.     duration of the test.
  127. 2000-11-21  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  128. * doc/global.n: 
  129. * doc/upvar.n: 
  130. * doc/variable.n: Improved documentation to mention that variables
  131.   so created are listed in [info locals] and added a few more
  132.   cross-links between these commands.  Fixes bug #119387
  133. 2000-11-17  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  134. * tests/safe.test: (safe-4.3):
  135. * generic/tclVar.c (TclLookupVar): Changed again.  Now passes all
  136.   the tests, though one needed modifying since it required the
  137.   wrong answer.  (Why on earth do we have inline modification of
  138.   argument strings?  This sort of thing is horrendous to debug and
  139.   doesn't work well in a multithreaded environment!)  Fixes bug
  140.   119192.
  141. * tests/var.test: (var-1.19) If my attempts to fix the problem
  142.   aren't right yet, my attempts to describe it look pretty good to
  143.   me...
  144. 2000-11-16  Andreas Kupries  <a.kupries@westend.com>
  145. * win/tclWinPort.h (line 69): Changed reference to winsock2.h into
  146.     winsock.h. This was a leftover from a foray into using winsock
  147.     version 2 (History lesson from Scott Redman and Jeff
  148.     Hobbs). This code was no problem when compiling Tcl itself, but
  149.     could trip extensions. Fixes bug 122568.
  150. 2000-11-15  jeff hobbs  <jeff.hobbs@acm.org>
  151. * unix/Makefile.in: removed bp.c references (hasn't existed in a
  152.   long time).  Corrected 'make dist' to make dist with unversioned
  153.   library directories (same as out of cvs), so make install works
  154.   correctly with either source tree.
  155. 2000-11-15  jeff hobbs  <jeff.hobbs@acm.org>
  156. * generic/tclVar.c (TclLookupVar): reverted fix below as it broke
  157.   all other array unset error reporting.  Bug-119192 is still
  158.   open.
  159. 2000-11-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
  160. * generic/tclVar.c (TclLookupVar): Changed references to part2 to
  161.   use elName instead in various error message generating spots, so
  162.   as to fix Bug-119192.
  163. 2000-11-03  David Gravereaux  <davygrvy@ajubasolutions.com>
  164. * win/.cvsignore: Removed 'configure' from the glob list now
  165.   that it's included.
  166. 2000-11-03  Jeff Hobbs  <hobbs@ajubasolutions.com>
  167. 8.4a2 RELEASE
  168. * unix/Makefile.in (install-libraries, dist): 
  169. * win/makefile.vc (install-libraries):
  170. * win/Makefile.in (install-libraries): updated to install
  171. unversioned library directories into versioned directories.
  172. * tools/tcl.wse.in: updated for unversioning of library dirs
  173. * unix/mkLinks: updated mkLinks with latest doc updates
  174. * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop
  175. * generic/tclStubInit.c:
  176. * generic/tclDecls.h:
  177. * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people
  178. to set a main loop that will run for tclsh.
  179. * generic/tcl.h: added Tcl_MainLoopProc typedef
  180. * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new
  181. StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc.
  182. The first two handle a fileevent based prompt (taken from
  183. tkMain.c).  Tcl_SetMainLoop enables the interactive setting of a
  184. main loop procedure.  This enables Tk to be a loadable package.
  185. 2000-11-02  David Gravereaux  <davygrvy@ajubasolutions.com>
  186. * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way
  187. to share its data among threads.  This caused Tcl_Init() to
  188. always fail in threads.  Added a way to pass the data around
  189. with a global char*.  [BUG: 5301]
  190. 2000-11-02  Jeff Hobbs  <hobbs@ajubasolutions.com>
  191. * unix/configure:
  192. * unix/dltest/configure:
  193. * win/configure:
  194. * tools/configure: checked in configure scripts so people doing
  195. CVS checkouts aren't required to have autoconf.  Changes to
  196. configure.in in the future will require the corresponding
  197. configure script to also be re-autoconf'ed and checked in.
  198. * win/makefile.vc:
  199. * win/tcl.m4: makefile fixes for Win64 support
  200. * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast
  201. changes.
  202. 2000-11-01  Jeff Hobbs  <hobbs@ajubasolutions.com>
  203. * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5.
  204. * tests/subst.test: added tests for non-zero return code handling
  205. by subst.
  206. * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero,
  207. non-error return code cases for subst. [BUG: 119829]
  208. * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem
  209. use when info exists was called on a non-existent array element.
  210. [BUG: 119213, 119336]
  211. 2000-10-30  David Gravereaux  <davygrvy@ajubasolutions.com>
  212. * win/configure.in:
  213. * win/Makefile.in:
  214. * win/makefile.vc:
  215. * win/tcl.rc:
  216. * win/tclsh.rc: Added logic to derive filenames better in the resource
  217. scripts based on compile options.
  218. 2000-10-30  Jeff Hobbs  <hobbs@ajubasolutions.com>
  219. * unix/tclUnixInit.c: added default encoding map from
  220. "ja_JP.eucJP" to "euc-jp". (takahashi)
  221. * tests/clock.test: corrected clock-2.* test numbering
  222. * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was
  223. commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS
  224. already).
  225. * unix/tcl.m4: consolidated gettimeofday check for AIX.
  226. 2000-10-27  Jeff Hobbs  <hobbs@ajubasolutions.com>
  227. * unix/configure.in:
  228. * unix/tcl.m4: added support for AIX-5.
  229. * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code
  230. for old channel structures, placed preserve/release around statePtr
  231. * generic/tclIO.c (CloseChannel): the statePtr for a channel was
  232. not being freed when the last channel in a stack was freed,
  233. causing a mem leak.
  234. * unix/tclUnixChan.c: updated channel types to strict
  235. TCL_CHANNEL_VERSION_2 style to avoid compiler warnings.  They work
  236. either way, but this avoids compiler warnings (that worries people).
  237. 2000-10-27  Jennifer Hom  <jenn@ajubasolutions.com>
  238. * library/tcltest1.0/tcltest.tcl: Removed a cd into the test
  239. directory in runAllTests that screwed up the temporary directory
  240. setting, effectively preventing users from running tests on
  241. multiple platforms at the same time.
  242. 2000-10-26  David Gravereaux <davygrvy@ajubasolutions.com>
  243. * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to
  244. "attr" which was a DWORD.  Changed NULL to zero because a 'void *'
  245. can't be set to a DWORD to avoid the compiler warning.
  246. 2000-10-24  Jennifer Hom  <jenn@ajubasolutions.com>
  247. * tests/all.tcl: Removed support for tcltest 1.0.
  248. * tests/tcltest.test:
  249. * library/tcltest1.0/tcltest.tcl:
  250. * library/tcltest1.0/pkgIndex.tcl:
  251. * docs/tcltest.n: Moved tcltest2 code so that it's the standard
  252. version of tcltest.  Removed all tcltest2 files
  253. (tests/tcltest2.test, library/tcltest1.0/tcltest2.tcl,
  254. docs/tcltest2.n). 
  255. 2000-10-20  Jeff Hobbs  <hobbs@ajubasolutions.com>
  256. * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only
  257. occur when necessary (for 'glob' command).  Significantly speeds
  258. up glob command from 8.3. [BUG: 6216]
  259. 2000-10-19  Jennifer Hom  <jenn@ajubasolutions.com>
  260. * library/tcltest1.0/tcltest2.tcl:
  261. * tests/tcltest2
  262. * doc/tcltest2.n: Code and documentation cleanup.  Modified
  263. -verbose to take list of keywords as well as string of letters.
  264. Removed Tcl version information from tcltest. Removed
  265. tcltest::grep from tcltest package. Added optional 3rd directory
  266. argument to  makeFile/makeDirectory and removeFile/removeDirectory.
  267. * tests/basic.test: Changed references to tcltest::tclVersion to
  268. hardcoded numbers.
  269. * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl
  270. in comments to tests/basic.test.
  271. 2000-10-06  David Gravereaux  <davygrvy@ajubasolutions.com>
  272. * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle()
  273. from TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable
  274. a more general method in detecting invalid OS handles rather than
  275. just a specific known case. [BUG: 5971]
  276. 2000-10-06  Jeff Hobbs  <hobbs@ajubasolutions.com>
  277. * tests/cmdAH.test: extra tests for 'file channels' that include
  278. multiple interpreter tests and channel sharing
  279. * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and
  280. consequently 'file channels') to return channels that are actually
  281. registered for this specific interp, rather than this thread.
  282. * doc/CrtChannel.3: fixed spelling mistakes
  283. 2000-09-29  Jennifer Hom  <jenn@ajubasolutions.com>
  284. * library/tcltest1.0/tcltest2.tcl:
  285. * tests/tcltest2.test:
  286. * doc/tcltest2.n: Modified the new form of the test command to
  287. accept both attribute-value pairs and command line options.
  288. Updated the tests and the documentation for this new format.
  289. Also changed the option names for the test command.
  290. 2000-09-29  Jeff Hobbs  <hobbs@scriptics.com>
  291. * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of
  292. space parity on Windows (Eason) [Bug 6057].
  293. * win/Makefile.in: commented use of TESTFLAGS
  294. * unix/Makefile.in: added TESTFLAGS to test target to
  295. conform with Windows makefile and TEA style.
  296. * tests/stack.test: prevented possible crash on systems with low
  297. default stacksize (Tru64, AIX) in infinite recursion test.  A
  298. solution to check remaining stack space in the core is best, but
  299. hard to do in a cross-platform manner.
  300. * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to
  301. FLUSH_DELAY to avoid defn conflict using Tru64's cc.
  302. 2000-09-28  Jeff Hobbs  <hobbs@ajubasolutions.com>
  303. * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the
  304. Windows .exe install.
  305. * tests/fCmd.test (fCmd-6.20): corrected test to remove
  306. c:/tcl8975@ after creating it.
  307. * tests/fileName.test: cleaned up the testing of glob patterns for
  308. c:/globTest (Windows) to directly create/remove directory.
  309. 2000-09-27  Jeff Hobbs  <hobbs@ajubasolutions.com>
  310. * generic/tcl.decls:
  311. * generic/tclIO.c: updated Tcl_IsChannelShared,
  312. Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel,
  313. Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to
  314. the new stacked channel implementation.  Their stub slots were
  315. also moved to give preference to the new 8.3.2 stub functions.
  316. This will cause an incompatability with 8.4a1 only.
  317. (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
  318. didn't set nonBlocking correctly when resetting the flags for the
  319. write side.  [Bug: 6261]
  320. * doc/ChnlStack.3:
  321. * doc/CrtChannel.3:
  322. * generic/tcl.decls:
  323. * generic/tcl.h:
  324. * generic/tclDecls.h:
  325. * generic/tclIO.c:
  326. * generic/tclIO.h:
  327. * generic/tclIOGT.c:
  328. * generic/tclInt.decls:
  329. * generic/tclIntDecls.h:
  330. * generic/tclStubInit.c:
  331. * generic/tclTest.c:
  332. * tests/iogt.test:
  333. * unix/Makefile.in:
  334. * win/Makefile.in:
  335. * win/makefile.vc:
  336. * win/tclConfig.sh.in:
  337. * win/tclWinChan.c:
  338. * win/tclWinConsole.c:
  339. * win/tclWinPipe.c:
  340. * win/tclWinSerial.c:
  341. * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code
  342. base.  Most of these changes relate to the rewrite of the stacked
  343. channel implementation, with a few config related fixes.
  344. Following is an asynchronous include of the applicable ChangeLog
  345. entries from 8.3.2.
  346. ********************************************************
  347. ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
  348. ********************************************************
  349. 2000-08-07  Jeff Hobbs  <hobbs@scriptics.com>
  350. * doc/ChnlStack.3:
  351. * doc/CrtChannel.3: updated the docs to be aware of the
  352. TCL_CHANNEL_VERSION_2 style of Tcl channels.
  353. * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify
  354. that the new channel versioning will be binary compatible with
  355. older channel drivers.
  356. 2000-08-05  Jeff Hobbs  <hobbs@scriptics.com>
  357. * generic/tclIOGT.c (TclChannelTransform): fixed segfault that
  358. would occur when transforming a channel with a proc that did not
  359. yet exist. (Kupries)
  360. * generic/tclTest.c (TestChannelCmd): added some lint init'ing of
  361. statePtr and chan vars.
  362. 2000-07-26  Jeff Hobbs  <hobbs@scriptics.com>
  363. * merged core-8-3-1-io-rewrite back into core-8-3-1-branch.
  364. The core-8-3-1-io-rewrite branch should now be considered defunct.
  365. * generic/tclStubInit.c:
  366. * generic/tclDecls.h:
  367. * generic/tcl.decls:
  368. * generic/tcl.h:
  369. * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to
  370. tclIO.c and made them proper stubbed functions.  These are:
  371. Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc,
  372. Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc,
  373. Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc,
  374. Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc,
  375. Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc,
  376. and Tcl_ChannelHandlerProc.  These should be used to access the
  377. Tcl_ChannelType structure instead of direct pointer dereferencing.
  378. * tests/iogt.test: added RCS string, marked tests 2.* to be
  379. unixOnly due to underlying system differences.
  380. 2000-07-25 Andreas Kupries <a.kupries@westend.com>
  381. * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting
  382.     buffering trouble when stacking and unstacking transformations.
  383.   iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for
  384.     now, due to the perceived complexity of solutions.
  385. * generic/tclIO.h: (line 139f) struct Channel, added a buffer
  386.   queue, to hold data pushed back when stacking a transformation.
  387. * generic/tclIO.c:
  388.   (line 91f, line 7434f) New internal function 'CopyBuffer'.
  389.   Derived from 'CopyAndTranslateBuffer', with translation
  390.   removed.
  391.   (line 1025f, line 1212f): Initialization of new queue.
  392.   (line 1164f, Tcl_StackChannel): Pushback of input queue.
  393.   (line 1293f, Tcl_UnstackChannel): Discard input and pushback.
  394.   (line 3748f, Tcl_ReadRaw): Modified to use data in the push back
  395.   area before going to the driver. Uses 'CopyBuffer', s.a.
  396.   (line 4702f, GetInput): Modified to use data in the push back
  397.   area before going to the driver.
  398.     (line 4867f, Tcl_Seek): Modified to take pushback of the topmost
  399.   channel in a stack into account.
  400.   (line 5620f, Tcl_InputBuffered): See above. Added
  401.   'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for
  402.   the buffer area in the channel.
  403. * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
  404. 2000-07-17  Jeff Hobbs  <hobbs@scriptics.com>
  405. * unix/Makefile.in:
  406. * win/Makefile.in:
  407. * win/makefile.vc: added tclIOGT.c to objects list to compile.
  408. * generic/tclStubInit.c:
  409. * generic/tclIntDecls.h:
  410. * generic/tclInt.decls: commented out internal decls for
  411. TclTestChannelCmd and TclTestChannelEventCmd as they were moved to
  412. tclTest.c.  Added new decls for TclChannelEventScriptInvoker and
  413. TclChannelTransform.
  414. * generic/tclIO.c (CloseChannel): stopped masking out of the
  415. TCL_READABLE|TCL_WRITABLE bits from the state flags in
  416. CloseChannel, instead adding extra intelligence to
  417. CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special
  418. behavior when called from Raw channel APIs.
  419. 2000-07-13  Jeff Hobbs  <hobbs@scriptics.com>
  420. * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr
  421. outside of blockModeProc check to avoid infinite loop when
  422. blockModeProc was NULL (Kupries).  updated TransformSeekProc to
  423. not call Tcl_Seek directly (Kupries).
  424. * win/tclWinChan.c: updated fileChannelType to v2 channel struct
  425. * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct
  426. * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct
  427. * win/tclWinSerial.c: updated serialChannelType to v2 channel struct
  428. * win/tclWinSock.c: updated tcpChannelType to v2 channel struct
  429. 2000-07-11  Brent Welch <welch@ajubasolutions.com>
  430. * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific
  431. autoconf variables.
  432. 2000-07-11  Jeff Hobbs  <hobbs@scriptics.com>
  433. * tests/iogt.test: made tests [345].0 not run by default as they
  434. were failing in the new design, but I'm not convinced that the
  435. returned result isn't correct.
  436. * generic/tclDecls.h:
  437. * generic/tclStubInit.c:
  438. * generic/tcl.decls: added Tcl_GetTopChannel C API that returns
  439. the current top channel of a channel stack.  Tcl_GetChannel was
  440. changed earlier to return the bottommost channel of a stack
  441. because that is the one that is guaranteed to stay around the
  442. longest, and this was needed to compensate for certain
  443. operations that want to look at the state of the main channel.
  444. Most channel APIs already compensate for grabbing the top, so it
  445. shouldn't be needed often.
  446. * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added
  447. flushing of buffers (Kupries), removed use of DownChannel macro,
  448. added Tcl_GetTopChannel public API to get to the top channel of
  449. the channel stack (necessary for TLS).  Rewrote Tcl_NotifyChannel
  450. for new channel design (Kupries).  Did some code cleanup in the
  451. transform code.  tclIO.c must still be broken into bits (separate
  452. out test code and giot code, create tclIO.h).
  453. 2000-07-10  Andreas Kupries <a.kupries@westend.com>
  454. * tests/iogt.test: Reverted some earlier changes as a fix by Jeff
  455.   revived the original and correct behaviour. IOW, the tests showed
  456.   a genuine error and I didn't see it :(.
  457. * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use
  458.     the drivers and not DoRead|DoWrite. The latter use the buffering
  459.     system, encoding and eol-translation and this wreaks havoc with
  460.     the data going through the transformations. Both procedures use
  461.     CheckForchannelErrors and let it believe that there is no
  462.     background copy in progress or else stacked channels could not
  463.   be used for that.
  464. * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the
  465.     topmost channel from the first to the second procedure to make
  466.     the decision about that at the last possible time (Callbacks can
  467.     change the stacking).
  468. test suite: failures of iogt-[345].0
  469. 2000-07-06  Jeff Hobbs  <hobbs@scriptics.com>
  470. * tests/iogt.test: new tests for stacked channel stuff based off
  471. new 'testchannel transform|unstack' code (Kupries IOGT extension).
  472. * generic/tcl.decls:
  473. * generic/tcl.h:
  474. * generic/tclDecls.h:
  475. * generic/tclStubsInit.c:
  476. * generic/tclIO.c: complete rewrite of Tcl Channel code for
  477. stacked channels.  Channels are now designed to work in a more
  478. stacked fashion with a shared ChannelState data structure.
  479. 2000-06-02  Jeff Hobbs  <hobbs@scriptics.com>
  480. * generic/tclIO.c (CloseChannel): removed the &ing out of
  481. (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does
  482. this on the next pass through for the top channel, and it appeared
  483. to be causing hangs by not allowing the final flush.
  484. 2000-06-01  Jeff Hobbs  <hobbs@scriptics.com>
  485. * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to
  486. unstack a channel during the close process.  Fixed a refcount bug
  487. in Tcl_UnstackChannel.  [Bug: 5623]
  488. (CloseChannel): further extended CloseChannel in the stacked case
  489. to effect certain operations on the next channel that would have
  490. been done in Tcl_Close.  Also added CHANNEL_CLOSED and removed
  491. (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags.  Changed
  492. final reset of the WatchProc to check the chanDownPtr's (next)
  493. interestMask.
  494. ******************************************************
  495. ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
  496. ******************************************************
  497. 2000-09-20  Jeff Hobbs  <hobbs@scriptics.com>
  498. * tests/socket.test: removed doTestsWithRemoteServer constraint
  499. from socket-12.*.  It requires 'exec', not a remote server.
  500. Cleaned up some coding errors.
  501. 2000-09-20  Jennifer Hom  <jenn@ajubasolutions.com>
  502. * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.
  503. * library/tcltest1.0/tcltest2.tcl: New version of tcltest.  
  504. Cleanup of command line parsing: allows users to specify command
  505. line arguments through an environment variable named
  506. TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect
  507. arguments, and forces usage of entire flag name when using command
  508. line arguments.  Defines accessor procs for all tcltest
  509. variables.  Allows users to use 'return' in test scripts. Allow
  510. users to specify whether test files should be sourced or run in a
  511. separate process.  'all.tcl' code moved to tcltest package.
  512. 'test' proc modified to use attribute-value pairs.  Allow users to
  513. specify what return codes, output, and errors can be compared and
  514. whether these values should be compared using regexp, glob, or
  515. exact matching.  makeDirectory & removeDirectory now operate with
  516. respect to temporaryDirectory [Bug: 6001].  Test results from
  517. tests run in slave interpreters are now included in test totals
  518. [Bug: 1493].  Test files that return error values are now reported.
  519. * tests/all.tcl: Added code to check for the tcltest version
  520. loaded; modified to figure out which tests to run based on the
  521. tcltest version loaded.
  522. * tests/tcltest.test: Modified to explicitly load version 1.0 of
  523. tcltest.
  524. * tests/tcltest2.test: New test suite for tcltest; includes all of
  525. the old tests plus new ones reflecting changes made for version
  526. 2.0.
  527. * tests/cmdAH.test: Added singleTestInterp constraint to
  528. cmdAH-31.2; this test does not run if tests aren't sourced into a
  529. single interpreter.
  530. * tests/socket.test: Fixed two tests that were referencing
  531. variables outside of scope.
  532. * tools/tcl.wse.in: Added code to install tcltest2.tcl.
  533. * doc/tcltest2.n: New documentation for tcltest version 2.0.
  534. Removes documentation for tcltest namespace variables.  Adds
  535. documentation for new tcltest procs.
  536. * unix/mkLinks: Added code to link to tcltest2.n.
  537. * generic/tcl.h: Added comment to modify tcltest2.tcl as well as
  538. tcltest.tcl for version changes.
  539. 2000-09-19  Eric Melski  <ericm@ajubasolutions.com>
  540. * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all
  541. attempts after the first to match the regexp against the string
  542. should include the TCL_REG_NOTBOL flag, to avoid erroneously
  543. matching ^ in the middle of the string.  Added code to set this
  544. flag after the first pass through the matching loop. [Bug: 6284].
  545. 2000-09-19  David Gravereaux  <davygrvy@ajubasolutions.com>
  546. * doc/Eval.3:  Added a note about the script argument to Tcl_Eval()
  547. should be in UTF-8 or risk implied conversion errors when possible
  548. combinations of upper ascii can be valid UTF-8 special codes.
  549. 2000-09-17  Eric Melski  <ericm@ajubasolutions.com>
  550. * tests/cmdIL.test: Added a test for fix for [Bug: 6212].
  551. * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug:
  552. 6212], which corrected an error in the handling of the -index option.
  553. 2000-09-14  Eric Melski  <ericm@ajubasolutions.com>
  554. * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.
  555. * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.
  556. * generic/tclDecls.h:
  557. * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.
  558. * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory
  559. allocators and for Tcl_AttemptSetObjLength.
  560. * generic/tcl.h: Added #define's for attemptckalloc,
  561. attemptckrealloc, which map to the Tcl_Attempt* memory allocators.
  562. * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc,
  563. Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc,
  564. Tcl_AttemptRealloc, etc.  These are used by
  565. Tcl_AttemptSetObjLength and the string obj append functions.
  566. * generic/tclStringObj.c: Modified string growth algorithm to use
  567. doubling algorithm as long as possible, and only fall back when
  568. that fails.  Added Tcl_AttemptSetObjLength, and modified
  569. AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and
  570. Tcl_AppendStringsToObjVA to support this.
  571. 2000-09-07  David Gravereaux <davygrvy@ajubasolutions.com>
  572. * win/.cvsignore: changed the glob patterns a bit to exclude VC++
  573. project conversion backups.
  574. * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory".
  575. Added more logic around the close-down of the pipe reader thread so
  576. as to avoid, at all cost, a TerminateThread.  Most cases with exec
  577. are fixed, but I don't consider 2460 done yet.  Closing down the
  578. read side of a pipe before the child process, doesn't really fit
  579. the windows model.  [BUG: 2460]
  580. 2000-09-07  Jeff Hobbs  <hobbs@scriptics.com>
  581. * doc/trace.n: minor doc cleanup
  582. 2000-09-06  Andr