summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclBasic.c (Tcl_DeleteCommandFromToken):Miguel Sofer2005-11-181-8/+8
| | | | | | | | * generic/tclCmdMZ.c (TraceCommandProc): * generic/tclInt.h (NS_KILLED): * generic/tclNamesp.c (Tcl_DeleteNamespace * tests/namespace.test (namespace-7.3-6): * tests/trace.test (trace-20.13-16): fix [Bugs 1355942/1355342].
* * generic/tclBasic.c:Miguel Sofer2005-10-231-8/+14
| | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclExecute.c: * generic/tclLink.c: * generic/tclMain.c: * generic/tclProc.c: * generic/tclScan.c: * generic/tclTest.c: * generic/tclVar.c: * mac/tclMacInit.c: * unix/tclUnixInit.c: * win/tclWinInit.c: Insure that the core never calls TclPtrSetVar, Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref new value. It is not possible to handle error returns correctly in that case [Bug 1334947], one has the choice of leaking the object in some cases, or else risk crashing in some others.
* * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to usedgp2005-07-261-9/+6
| | | | | per-thread counter, rather than a process global one that required mutex protection. [RFE 1077194]
* * generic/tclBasic.c: Made the walk of the active trace list awaredgp2005-06-211-3/+10
| | | | | | * generic/tclCmdMZ.c: of the direction of trace scanning, so the * generic/tclInt.h: proper correction can be made. [Bug 1224585] * tests/trace.test (trace-34.2,3):
* * generic/tclBasic.c (Tcl_DeleteTrace): Added missing walk of thedgp2005-06-211-1/+15
| | | | | * tests/trace.test (trace-34.1): list of active traces to cleanup references to traces being deleted. [Bug 1201035]
* * generic/tclBasic.c (Tcl_EvalEx,TclEvalTokensStandard):dgp2005-03-181-14/+21
| | | | | | | | | * generic/tclCmdMZ.c (Tcl_SubstObj): * tests/basic.test (basic-46.4): Restored recursion limit * tests/parse.test (parse-19.*): testing in nested command substitutions within direct script evaluation (Tcl_EvalEx) that got lost in the parser reforms of Tcl 8.1. Added tests for correct behavior. [Bug 1115904]
* added commentsMiguel Sofer2005-02-101-1/+6
|
* * generic/tclBasic.c (Tcl_EvalObjEx):Miguel Sofer2005-02-101-3/+20
| | | | | | * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV in the pure-list branch, in case the list shimmers away. Fix for [Bug 1119369], reported by Peter MacDonald.
* * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble)hobbs2005-01-281-4/+46
| | | | (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484]
* fix for buffer overflow in [subst], [Bug 1036649]Miguel Sofer2004-09-291-1/+11
|
* * generic/tclMain.c (Tcl_Main, StdinProc): Append newline onlydgp2004-07-281-3/+5
| | | | | | * tests/basic.test (basic-46.1): to incomplete scripts as part of multi-line script construction. Do not add an extra trailing newline to the complete script. [Bug 833150]
* * generic/tclBasic.c: Save and restore the iPtr->flag bits thatdgp2003-10-081-1/+6
| | | | | | | control the state of errorCode and errorInfo management when calling "leave" execution traces, so that all error information of the traced command is still available whether traced or not. [Bug 760947] Thanks to Yahalom Emet.
* * generic/tclBasic.c: Fixed error in ref count management of commanddgp2003-10-031-6/+4
| | | | | * generic/tclCmdMZ.c: and execution traces that caused access to freed memory in trace-32.1. [Bug 811483].
* * generic/tclBasic.c (CallCommandTraces): Added safety bitdgp2003-09-291-4/+9
| | | | | | | | * tests/trace.test: masking to prevent any of the bit values TCL_TRACE_*_EXEC from leaking into the flags field of any Command struct. This does not fix [Bug 811483] but helps to contain some of its worst symptoms. Also backported the corrections to test trace-28.4 from Vince Darley.
* * generic/tclBasic.c: Corrected several instances of unsafedgp2003-07-181-20/+39
| | | | | | | * generic/tclCompile.c: truncation of UTF-8 strings that might * generic/tclProc.c: break apart a multi-byte character. * library/init.tcl: [Bug 760872] * tests/init.test:
* * generic/tclBasic.c:Miguel Sofer2003-06-101-22/+14
| | | | | | | * generic/tclExecute.c: let TclExecuteObjvInternal call TclInterpReady instead of relying on its callers to do so; fix for the part of [Bug 495830] that is new in 8.4. * tests/interp.test: Added tests 18.9 (knownbug) and 18.10
* * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is nodgp2003-05-121-4/+3
| | | | | longer set to NULL (Tcl_CreateObjCommand docs already say that it should not be accessed).
* Corrected error message for grammar and spelling.dkf2003-05-051-3/+3
|
* * generic/tclBasic.c: Tcl_EvalObjv() failed to honor thedgp2003-04-251-4/+8
| | | | | | TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a string rep including leading whitespace and comments to TclEvalObjvInternal().
* * generic/tclBasic.c (TclRenameCommand): fixing error in previousMiguel Sofer2003-02-181-2/+1
| | | | commit.
* * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object wasMiguel Sofer2003-02-181-7/+13
| | | | | not being freed on all function exits, causing a memory leak [Bug 684756]
* Don Porter's fix for bad parsing of nested scripts [Bug 681841].Miguel Sofer2003-02-161-68/+92
|
* * generic/tclBasic.c: Changed [trace add command] so that 'rename' Kevin B Kenny2003-02-031-4/+25
| | | | | | | | | | callbacks get fully qualified names of the command. [Bug 651271]. ***POTENTIAL INCOMPATIBILITY*** * tests/trace.test: Modified the test cases for [trace add command] to expect fully qualified names on the 'rename' callbacks. Added a case for renaming a proc within a namespace. * doc/trace.n: Added language about use of fully qualified names in trace callbacks.
* execution trace, command trace and stringObj bug fixesvincentdarley2003-01-171-21/+27
|
* * generic/tclBasic.c (TclRenameCommand,CallCommandTraces):dgp2002-09-061-6/+21
| | | | | | * tests/trace.test (trace-27.1): Corrected memory leak when a rename trace deleted the command being traced. Test added. Thanks to Hemang Lavana for the fix. [Bug 604609]
* * generic/tclBasic.c:Miguel Sofer2002-08-221-3/+2
| | | | | * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug 589863], patch by Hemang Lavana.
* * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ifydgp2002-08-051-19/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Concat.3: all remaining public interfaces of Tcl. * doc/CrtCommand.3: Notably, the parser no longer writes on * doc/CrtSlave.3: the string it is parsing, so it is no * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be * doc/Eval.3: given a writable string. Also, the * doc/ExprLong.3: refactoring of the Tcl_*Var* routines * doc/LinkVar.3: by Miguel Sofer is included, so that the * doc/ParseCmd.3: "part1" argument for them no longer needs * doc/SetVar.3: to be writable either. * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so * generic/tcl.decls that a #define of USE_NON_CONST will remove * generic/tcl.h all possible source incompatibilities with * generic/tclBasic.c the 8.3 version of the header file(s). * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable * generic/tclCompExpr.c only those new CONST's that introduce * generic/tclCompile.c irreconcilable incompatibilities. * generic/tclCompile.h * generic/tclDecls.h Several bugs are also fixed by this patch. * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] * generic/tclEvent.c * generic/tclInt.decls * generic/tclInt.h * generic/tclIntDecls.h * generic/tclInterp.c * generic/tclLink.c * generic/tclObj.c * generic/tclParse.c * generic/tclParseExpr.c * generic/tclProc.c * generic/tclTest.c * generic/tclUtf.c * generic/tclUtil.c * generic/tclVar.c * mac/tclMacTest.c * tests/expr-old.test * tests/parseExpr.test * unix/tclUnixTest.c * unix/tclXtTest.c * win/tclWinTest.c
* bugfix, new tests for new [interp alias] codeMiguel Sofer2002-07-291-6/+12
|
* Fix for [Bug 582522] - aliases now fire execution traces on the targetMiguel Sofer2002-07-291-5/+5
| | | | command. Optimisation of alias invocation.
* Global symbols are now all either prefixed with 'tcl' (or 'Tcl' or ...) or ↵dkf2002-07-191-2/+2
| | | | have file-scope.
* * generic/tclBasic.c (CallCommandTraces): delete traces now receiveMiguel Sofer2002-07-181-3/+17
| | | | the FQ old name of the command. [Bug 582532] (Don Porter)
* using the new variable name caching possibilities when setting errorMiguel Sofer2002-07-161-9/+9
| | | | results in (Tcl_AddObjErrorInfo) and (TclUpdateReturnInfo)
* fix for [Bug 571385]Miguel Sofer2002-06-201-9/+12
|
* Added parens for claritydgp2002-06-201-3/+4
|
* * doc/CrtTrace.3: Added TIP#62 implementation of commandhobbs2002-06-171-98/+99
| | | | | | | | | | | | | | | * doc/trace.n: execution tracing [FR #462580] (lavana). * generic/tcl.h: This includes enter/leave tracing as well * generic/tclBasic.c: as inter-procedure stepping. * generic/tclCmdMZ.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclVar.c: * tests/trace.test:
* fixed [Bug 568123]Miguel Sofer2002-06-121-2/+2
|
* optimised read access to local variables created at run-timeMiguel Sofer2002-06-111-4/+4
|
* Fix for [info locals] bug #567386; added compile functions forMiguel Sofer2002-06-111-4/+4
| | | | [global], [upvar] and [variable].
* * Corrected problems with Tcl_AllowExceptionsdgp2002-03-291-4/+24
| | | | | having influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181]
* passing the correct commandSize to TclEvalObjvInternal. [Bug 219362],Miguel Sofer2002-03-271-2/+3
| | | | fix by David Knoll.
* avoid exceptional returns at level 0 [Bug 219181]Miguel Sofer2002-03-271-1/+11
|
* Allow NULL callback on trace deletions [Bug 534728]Miguel Sofer2002-03-251-2/+4
|
* fix for [Bug 533907] in tclBasic.c (Tcl_EvalObjv).Miguel Sofer2002-03-241-27/+34
|
* fixed the errorInfo for return codes other than (TCL_OK, TCL_ERROR) toMiguel Sofer2002-03-221-4/+15
| | | | | runLevel 0 [Bug 533758]. Removed the static RecordTracebackInfo(), as its functionality is easily replicated by Tcl_LogCommandInfo.
* * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags ↵hobbs2002-03-011-1/+2
| | | | correctly.
* * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leakhobbs2002-02-281-5/+6
| | | | in error case.
* avoiding a buffer overrun in [subst]; restoring tcl7.6 behaviour [Bug #495207]Miguel Sofer2002-02-251-4/+24
|
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-151-1/+4
| | | | | 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.
* Added Tcl_CreateObjTrace, Tcl_GetCommandInfoFromToken andKevin B Kenny2002-02-101-80/+368
| | | | Tcl_SetCommandInfoFromToken. (TIPs #32 and #79.)
* * tests/regexpComp.test (new):hobbs2002-01-291-2/+2
| | | | | | | | | | | | | * 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.