summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-1531-1254/+3092
| | | | | This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode.
* * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for bugandreas_kupries2002-02-141-4/+2
| | | | | | #517503, a memory leak reported by Miguel Sofer <msofer@users.sourceforge.net>. The leak happens if an error occurs for "set var [gets $chan]" and leak one empty object.
* Added Tcl_CreateObjTrace, Tcl_GetCommandInfoFromToken andKevin B Kenny2002-02-107-93/+517
| | | | Tcl_SetCommandInfoFromToken. (TIPs #32 and #79.)
* * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree beinghobbs2002-02-081-2/+4
| | | | called on a pointer to NULL.
* * Partial TIP 27 rollback. Following routinesdgp2002-02-0811-60/+58
| | | | | | | | | | | | | restored to return (char *): Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified some callers. This change recognizes that Tcl_DStrings are de-facto white-box objects. * generic/tclCmdMZ.c: corrected use of C++-style comment.
* * tests/scan.test:hobbs2002-02-071-1/+8
| | | | | | * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling that didn't accept the 0x as a prelude to a base 16 number. [Bug #495213]
* * generic/tclCompCmds.c (TclCompileRegexpCmd): made early checkhobbs2002-02-071-6/+31
| | | | for bad RE to stop checking further.
* * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case tohobbs2002-02-071-42/+137
| | | | | | | | search for simple 'string map' style regsub calls. Delayed creation of resultPtr object until an initial match is made, as the input string object can then be reused for no matches. (Tcl_StringObjCmd): optimization improvements to the STR_MAP algorithm for zero-length and nocase cases.
* generic/regc_locale.c (casecmp): slight performance improvementhobbs2002-02-071-9/+5
|
* * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about casehobbs2002-02-021-8/+12
| | | | earlier to avoid shimmering problem.
* tclTest.c fixvincentdarley2002-02-011-2/+2
|
* * For each interface identified in thedgp2002-01-314-39/+45
| | | | | | | | | | TIP 27 changes below as a POTENTIAL INCOMPATIBILITY, the source of the incompatibility has been parameterized so that it can be removed. When compiling extension code against the Tcl header files, use the compiler flag -DUSE_NON_CONST to remove the irresolvable source incompatibilities introduced by the TIP 27 changes. Resolvable changes are left for extension authors to resolve.
* * tests/regexpComp.test:hobbs2002-01-301-29/+64
| | | | | * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support -nocase and -- options.
* * tests/regexpComp.test (new):hobbs2002-01-293-24/+139
| | | | | | | | | | | | | * generic/tclInt.h: * generic/tclBasic.c: added TclCompileRegexpCmd entry * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so it only throws the error for runtime compile, in case the user modifies 'string'. (TclCompileRegexpCmd): first try at a byte-compiled regexp command. It handles static strings and ^$ bounded static strings. (TclCompileAppendCmd): made TclPushVarName call always use TCL_CREATE_VAR as numWords is always > 2 at that point.
* * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correcthobbs2002-01-291-3/+3
| | | | possibly dangerous decr in macro call.
* * generic/tclPlatDecls.h: Added preprocessor logic to force adavygrvy2002-01-281-4/+6
| | | | | typedef of TCHAR when __STDC__ is defined when using the uncommon -Za compiler switch with the microsoft compiler.
* * generic/tclInt.decls:das2002-01-272-5/+5
| | | | | | | | | | | | | | | * generic/tclIntPlatDecls.h: * mac/tclMacChan.c: * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacInit.c: * mac/tclMacLoad.c: * mac/tclMacResource.c: * mac/tclMacSock.c: TIP 27 CONSTification induced changes * tests/event.test: * tests/main.test: added catches/constraints to test that use features that don't exist on the mac.
* * Sought out and eliminated instances of CONST-casting that are nodgp2002-01-268-21/+21
| | | | longer needed after the TIP 27 effort.
* Make -eofchar and -translation options read only formdejong2002-01-251-3/+11
| | | | | | | | | | | | | | | server sockets. [Bug 496733] * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): Instead of returning nothing for the -translation option on a server socket, always return "auto". Return the empty string enclosed in quotes for the -eofchar option on a server socket. Fixup -eofchar usage message so that it matches the implementation. * tests/io.test: Add -eofchar tests and -translation tests to ensure options are read only on server sockets. * tests/socket.test: Update tests to account for -eofchar and -translation option changes.
* * [Patch 501006] Updated APIs in generic/tclResolve.cdgp2002-01-254-37/+37
| | | | and generic/tclNamesp.c according to the guidelines of TIP 27.
* * [Patch 505630] Updated interfaces of generic/tclBasic.cc (TIP 27).dgp2002-01-258-33/+36
| | | | | | | * [Patch 506818] Updated interfaces of generic/tclHash.c (TIP 27). * [Patch 506807] Updated interfaces of generic/tclObj.c (TIP 27). * [Patch 507304] Updated interfaces of win/tclWin32.c (TIP 27). * Update all callers.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-2533-276/+278
| | | | | | | | | | | generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
* * Corrected tilde-substitutiondgp2002-01-251-6/+26
| | | | of pathnames where > 1 separator follows the ~. [Bug 504950]
* * Updated socket interfaces according to TIP 27. Updated callers.dgp2002-01-233-19/+20
|
* TclpLoadFile() didn't match proto of typedef Tcl_FSLoadFileProc. [Patch ↵davygrvy2002-01-211-2/+3
| | | | #502488]
* * Converted declarations of TestReport file systemdgp2002-01-211-23/+47
| | | | to more portable form. [Bug 501417].
* * generic/tclIO.c (WriteChars): Fix for SF #506297, reported byandreas_kupries2002-01-211-1/+19
| | | | | | | | | | | | | | Martin Forssen <ruric@users.sourceforge.net>. The encoding chosen in the script exposing the bug writes out three intro characters when TCL_ENCODING_START is set, but does not consume any input as TCL_ENCODING_END is cleared. As some output was generated the enclosing loop calls UtfToExternal again, again with START set. Three more characters in the out and still no use of input ... To break this infinite loop we remove TCL_ENCODING_START from the set of flags after the first call (no condition is required, the later calls remove an unset flag, which is a no-op). This causes the subsequent calls to UtfToExternal to consume and convert the actual input.
* * Updated APIs in generic/tclCmdMZ.c according to the guidelinesdgp2002-01-213-20/+20
| | | | of TIP 27.
* * generic/tclThreadTest.c:das2002-01-181-2/+2
| | | | | | | | | * mac/tclMacChan.c: * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacLoad.c: * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a number of places.
* * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed bug #504642 asandreas_kupries2002-01-171-11/+4
| | | | | | | | | | | | | | | reported by Brian Griffin <bgriffin@users.sourceforge.net>, using his patch. Before the patch the generic I/O layer held an unannounced reference to the interp result to store the read line into. This unfortunately has disastrous results if the channel driver executes a tcl script to perform its operation, this freeing the interp result. In that case we are dereferencing essentially a dangling reference. It is not truly dangling because the object is in the free list, but this only causes us to smash the free list and have the error occur later somewhere else. The patch simply creates a new object for the line and later sets it into the interp result when we are done with reading.
* * More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that weredgp2002-01-1723-107/+117
| | | | | | | overlooked before. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes a source incompatibility in the tablePtr arguments of the Tcl_GetIndexFromObj* routines.
* * Updated APIs in generic/tclUtf.c and generic/tclRegexp.c accordingdgp2002-01-1710-81/+84
| | | | to the guidelines of TIP 27. Updated callers.
* * Updated APIs in generic/tclParse.c according to the guidelinesdgp2002-01-174-10/+11
| | | | of TIP 27. Updated callers.
* * Updated APIs in generic/tclHistory.c according to the guidelinesdgp2002-01-164-48/+50
| | | | | | | | | | of TIP 27. * Updated APIs in generic/tclInterp.c according to the guidelines of TIP 27. ***POTENTIAL INCOMPATIBILITY*** Includes a source incompatibility in the targetCmdPtr arguments of the Tcl_GetAlias* routines.
* * Updated APIs in generic/tclIOUtil.c and generic/tclPosixStr.cdgp2002-01-1511-78/+87
| | | | according to the guidelines of TIP 27. Updated callers. [Patch 499196]
* * Updated APIs in the file generic/tclIO.c according to the guidelinesdgp2002-01-157-105/+111
| | | | | | | | | | | of TIP 27. Several minor documentation corrections as well. * Updated channel driver interface according to the guidelines of TIP 27. See also [Bug 500348]. * Moved Tcl_EolTranslation enum declaration from generic/tcl.h to generic/tclInt.h (renamed to TclEolTranslation). It is not used anywhere in Tcl's public interface.
* * Updated APIs in the file generic/tclIndexObj.cdgp2002-01-143-20/+22
| | | | according to the guidelines of TIP 27.
* Updated APIs in the files */tcl*Load*.c according to the guidelinesKevin B Kenny2002-01-097-18/+16
| | | | of TIP 27.
* * generic/tclTest.c (MainLoop):dgp2002-01-091-1/+2
| | | | | * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable tests from the new Tcl_Main changes. Thanks to Kevin Kenny.
* TclCreatePipeline is in tclIntDecls.h; no need for it in tclInt.h.dgp2002-01-081-8/+1
|
* * typos and formattingdgp2002-01-081-4/+3
|
* * generic/tclEvent.c (TclInExit):dgp2002-01-073-14/+15
| | | | | | | * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type casts to satisfy picky compilers.
* * generic/tclMain.c: Bug fix: neglected the NULL case indgp2002-01-071-2/+7
| | | | TclGetStartupScriptFileName(). Broke Tk/wish.
* * doc/Tcl_Main.3:dgp2002-01-055-185/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclMain.c: Substantial rewrite and expanded documentation of Tcl_Main to correct a number of bugs and flaws: * Interactive Tcl_Main can now enter a main loop, exit that loop and continue interactive operations. The loop may even exit in the midst of interactive command typing without loss of the partial command. [Bugs 486453, 474131] * Tcl_Main now gracefully handles deletion of its master interpreter. * Interactive Tcl_Main can now operate with non-blocking stdin * Interactive Tcl_Main can now detect EOF on stdin even in mid-command. [Bug 491341] * Added VFS-aware internal routines for managing the startup script selection. * Tcl variable 'tcl_interactive' is now linked to C variable 'tty' so that one can disable/enable interactive prompts at the script level when there is no startup script. This is meant for use by the test suite. * Consistent use of the Tcl libraries standard channels as returned by Tcl_GetStdChannel(); as opposed to the channels named 'stdin', 'stdout', and 'stderr' in the master interp, which can be different or unavailable. * Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the master interpreter returns, assuring Tcl_Main does not return. * Documented Tcl_Main's absence from public stub table * Documented that Tcl_Main does not return. * Documented Tcl variables set by Tcl_Main. * All prompts are done from a single procedure, Prompt. * Use of Tcl_Obj-enabled interfaces everywhere. * generic/tclInt.decls (TclGetStartupScriptPath, TclSetStartupScriptPath): New internal VFS-aware routines for managing the startup script of Tcl_Main. * generic/tclIntDecls.h: * generic/tclStubInit.c: make genstubs * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd, Tcltest_Init,TestinterpdeleteCmd): * tests/main.test (new): Added new file to test suite that thoroughly tests generic/tclMain.c; added some new test commands for testing Tcl_SetMainLoop().
* * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread):dgp2002-01-041-3/+3
| | | | | Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that memory debugging is supported.
* * doc/FileSystem.3:dgp2002-01-031-19/+19
| | | | | * generic/tclIOUtil.c: Updated some old uses of "fileName" to new VFS terminology, "pathPtr".
* Added fix for Bug #494348; the [foreach] implementation was doing somedkf2002-01-031-16/+15
| | | | | cacheing that didn't seem to be safe, and which wouldn't gain very much performance either. Removing it fixed the bug.
* Fixed fault with case-insensitive string matching (Bug#233257) and rewrotedkf2002-01-022-8/+24
| | | | some tests to test what they claimed to be testing.
* correct static-ness of function declshobbs2001-12-291-5/+5
|
* * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem):dgp2001-12-285-32/+53
| | | | | | | | | | | | | | | | | | | Added the [memory onexit] command, intended to replace [checkmem]. * doc/DumpActiveMemory.3: * doc/memory.n: Updated documentation for [memory] and related matters. [Bug 487677] * mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the machinery for the [checkmem] command that is completely duplicated by code in generic/tclCkalloc.c. * generic/tclBinary.c: * generic/tclListObj.c: * generic/tclObj.c: * generic/tclStringObj.c: Removed references to [checkmem] in comments, referencing [memory active] instead, since it is documented.