diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-30 08:19:22 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-30 08:19:22 (GMT) |
commit | 52368789306fda3ae17cf554333fa3adb617ba0a (patch) | |
tree | 10729608c91275933e64387693a867743563aab0 /generic/tclCompile.c | |
parent | bc3ea33b9b409c840682f5feb2b4efb4c78029f8 (diff) | |
parent | 75972077579a3e9bf1363e817260d11f17d60266 (diff) | |
download | tcl-novem_no_startcmd.zip tcl-novem_no_startcmd.tar.gz tcl-novem_no_startcmd.tar.bz2 |
merge changes from trunknovem_no_startcmd
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r-- | generic/tclCompile.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 3bc2afa..86de4bc 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -498,6 +498,10 @@ InstructionDesc const tclInstructionTable[] = { {"under", 1, +1, 0, {OPERAND_NONE}}, /* Duplicates the item under the top of the stack. * Stack: ... a b => ... a b a */ + {"invokeReplace", 6, INT_MIN, 2, {OPERAND_UINT4,OPERAND_UINT1}}, + /* Invoke command named objv[0], replacing the first two words with + * the word at the top of the stack; + * <objc,objv> = <op4,top op4 after popping 1> */ {NULL, 0, 0, 0, {OPERAND_NONE}} }; @@ -2420,7 +2424,7 @@ TclPushVarName( Tcl_Interp *interp, /* Used for error reporting. */ Tcl_Token *varTokenPtr, /* Points to a variable token. */ CompileEnv *envPtr, /* Holds resulting instructions. */ - int flags, /* TCL_NO_LARGE_INDEX. */ + int flags, /* TCL_NO_LARGE_INDEX | TCL_NO_ELEMENT. */ int *localIndexPtr, /* Must not be NULL. */ int *simpleVarNamePtr, /* Must not be NULL. */ int *isScalarPtr, /* Must not be NULL. */ @@ -2604,7 +2608,7 @@ TclPushVarName( * Compile the element script, if any. */ - if (elName != NULL) { + if (elName != NULL && !(flags & TCL_NO_ELEMENT)) { if (elNameChars) { envPtr->line = line; envPtr->clNext = clNext; |