summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
Commit message (Collapse)AuthorAgeFilesLines
* * 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.
* * [Patch 505630] Updated interfaces of generic/tclBasic.cc (TIP 27).dgp2002-01-251-4/+4
| | | | | | | * [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.
* docs and comments corrections [Bug 493412]Miguel Sofer2001-12-141-3/+3
|
* * generic/tclBasic.c (Tcl_DeleteCommandFromToken,CallCommandTraces):dgp2001-11-211-2/+6
| | | | | | | * generic/tclCmdMZ>c (Tcl_UntraceCommand): Added Tcl_Preserve and Tcl_Release calls to prevent deletion of CommandTrace structures until all callers are done using them, preventing memory corruption. [Bug 453805]
* moving all code relative to bytecodes from tclBasic.c to tclExecute.cMiguel Sofer2001-11-201-432/+21
|
* code reorganisation and factorisation.Miguel Sofer2001-11-201-94/+90
|
* a better variant of the previous-to-last commit (restoring numLevels ↵Miguel Sofer2001-11-201-10/+10
| | | | computations)
* Code reorganisation: moving all eval functions from tclParse.c to tclBasic.cMiguel Sofer2001-11-191-2/+903
|
* Code reordering; execution levels made consistent [Bug 480896].Miguel Sofer2001-11-161-3/+3
|
* Reference implementation of TIP's #22, #33 and #45. Adds thehobbs2001-11-141-2/+5
| | | | | | ability of the [lindex] command to have multiple index arguments, and adds the [lset] command. Both commands are byte-code compiled. [Patch #471874] (work by Kenny, commited by Hobbs)
* * generic/tcl.h: added TclCompileListCmd headerhobbs2001-09-011-2/+2
| | | | | | | | * generic/tclBasic.c: added TclCompileListCmd compile proc * generic/tclCompCmds.c (TclCompileListCmd): function to compile the 'list' command at parse time. * generic/tclExecute.c (TclExecuteByteCode): definition of INST_LIST bytecode.
* use MAX_NESTING_DEPTH as default nesting depth for interps [Bug: 232564]Miguel Sofer2001-08-141-2/+2
|
* Changes from TIP#15 "Functions to List and Detail Math Functions"dkf2001-05-301-1/+115
|
* * generic/tclBasic.c: added new CompileProc invocations to basichobbs2001-05-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | command initialization. * generic/tclCompCmds.c: added new compile commands for append, lappend, lindex and llength. Refactored set and incr compile commands to use new TclPushVarName function for handling the varname component during compilation (also used by append and lappend). Changed string compile command to compile toplevel code as well (when possible). * generic/tclCompile.c: added new instruction enums * generic/tclCompile.h: added debug info for new instructions * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to toplevel var (oft-used). Added definitions for new bytecode instructions INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1, INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4, INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1, INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4, INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK. Refactored repititious code for reuse with INST_LOAD_STK (same as INST_LOAD_SCALAR_STK), INST_STORE_STK (same as INST_STORE_SCALAR_STK). Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows [Bug #219201] as that fix only affected the runtime eval'ed "string" (string compare is normally byte-compiled now). We may want to back these out for speed in the future, noting the problems with \x00 comparisons in the docs. * generic/tclInt.h: declarations for new compile commands. * generic/tclVar.c: change TclGetIndexedScalar, TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and TclSetIndexedScalar to use flags. The Set functions now support TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well. * generic/tclInt.decls: * generic/tclIntDecls.h: minor signature changes for above.
* Added a bunch of missing CONST declarations to stop warnings aboutdkf2001-04-251-2/+2
| | | | using TclGetNamespaceForQualName from the (Solaris8) SUNWspro cc.
* (TIP #27) Another round of CONST changes, thisKevin B Kenny2001-04-241-26/+27
| | | | | | | | | time adding CONST to the API's exported from tclBasic.c. [Patch #415179] ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince Darley's changes to command tracing were added. A const has been added to the type signature of one of the parameters to Tcl_CommandTraceProc.
* * doc/trace.n: Updated documentation for new syntax; flagged oldericm2000-08-251-11/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | syntax as deprecated; added documentation for command rename/delete traces and variable array traces. * tests/trace.test: Updated tests for new trace syntax; new tests for command rename/delete traces; new tests for array traces. * generic/tclVar.c: Support for new trace syntax; support for TCL_TRACE_ARRAY. * generic/tclStubInit.c: * generic/tclDecls.h: * generic/tcl.decls: Stub functions for command rename/delete traces. * generic/tcl.h: * generic/tclInt.h: * generic/tclBasic.c: Support for command traces. * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support new [trace] syntax: trace {add|remove|list} {variable|command} name ops command Added support for command traces (rename, delete operations). Added support for TCL_TRACE_ARRAY at Tcl level (array operation for variable traces).
* * generic/tclInt.h: Added function prototypes forericm2000-05-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | TclCompileStringCmd and TclCompileReturnCmd. * generic/tclCompile.h: Added definition of INST_STRLEN opcode and updated LAST_INST_OPCODE value. * generic/tclBasic.c: Added information about TclCompileStringCmd and TclCompileReturnCmd to BuiltInCmds table. * generic/tclExecute.c (TclExecuteByteCode): Added support for the INST_STRLEN opcode. * generic/tclCompCmds.c (TclCompileStringCmd): Basic implementation of byte-compiled [string] command. Not all subcommands are implemented; those that are not an out-line compiled. (TclCompileReturnCmd): Byte-compiled implementation of [return] command. Only "simple" returns are byte-compiled; in particular, if the -code, -errorinfo or -errorcode flags are used, the command is not byte-compiled.
* * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minorhobbs2000-04-151-11/+11
| | | | to not conflict with global decl on some systems [Bug: 2882]
* * generic/tclBasic.c (Tcl_SetCommandInfo): comment fixhobbs2000-04-101-2/+2
|