diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-01-25 23:38:49 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2013-01-25 23:38:49 (GMT) |
| commit | acb9caa95921a281c8b7f34b030deb1c3049281c (patch) | |
| tree | 74302fc20666030f2e2cf87268482a29e0695ccb /generic/tclCompCmdsSZ.c | |
| parent | 342be44f4da2cc09411fd0dc070ddcab26d87355 (diff) | |
| parent | 03c4df2e30d98d74775a50ee28ce007ae6b41d87 (diff) | |
| download | tcl-acb9caa95921a281c8b7f34b030deb1c3049281c.zip tcl-acb9caa95921a281c8b7f34b030deb1c3049281c.tar.gz tcl-acb9caa95921a281c8b7f34b030deb1c3049281c.tar.bz2 | |
merge novem
Diffstat (limited to 'generic/tclCompCmdsSZ.c')
| -rw-r--r-- | generic/tclCompCmdsSZ.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclCompCmdsSZ.c b/generic/tclCompCmdsSZ.c index 7bead0d..6e31481 100644 --- a/generic/tclCompCmdsSZ.c +++ b/generic/tclCompCmdsSZ.c @@ -1953,11 +1953,13 @@ TclCompileTailcallCmd( return TCL_ERROR; } + /* make room for the nsObjPtr */ + CompileWord(envPtr, tokenPtr, interp, 0); for (i=1 ; i<parsePtr->numWords ; i++) { tokenPtr = TokenAfter(tokenPtr); CompileWord(envPtr, tokenPtr, interp, i); } - TclEmitInstInt1( INST_TAILCALL, parsePtr->numWords-1, envPtr); + TclEmitInstInt1( INST_TAILCALL, parsePtr->numWords, envPtr); return TCL_OK; } @@ -2737,7 +2739,7 @@ TclCompileUnsetCmd( flags = 1; varTokenPtr = TokenAfter(parsePtr->tokenPtr); leadingWord = Tcl_NewObj(); - if (TclWordKnownAtCompileTime(varTokenPtr, leadingWord)) { + if (numWords > 0 && TclWordKnownAtCompileTime(varTokenPtr, leadingWord)) { int len; const char *bytes = Tcl_GetStringFromObj(leadingWord, &len); |
