summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-05-30 20:37:44 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-05-30 20:37:44 (GMT)
commitbf1b3702bd0029c2b00c5e864b5de5b2eb32d639 (patch)
treea988b3a23694990c05a454ecf6ec34688b3e46f1
parenta71d301ffff0f52816c262ba09045a31c2e8fe03 (diff)
downloadtcl-bf1b3702bd0029c2b00c5e864b5de5b2eb32d639.zip
tcl-bf1b3702bd0029c2b00c5e864b5de5b2eb32d639.tar.gz
tcl-bf1b3702bd0029c2b00c5e864b5de5b2eb32d639.tar.bz2
Tighten up expansion a bit.
-rw-r--r--generic/tclExecute.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 0af5be2..24b1dd2 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -2747,7 +2747,8 @@ TEBCresume(
* stack depth, as seen by the compiler.
*/
- auxObjList->length += objc;
+ if (objc > 1) {
+ auxObjList->length += objc - 1;
length = auxObjList->length /* Total expansion room we need */
+ codePtr->maxStackDepth /* Beyond the original max */
- CURR_DEPTH; /* Relative to where we are */
@@ -2767,6 +2768,7 @@ TEBCresume(
catchTop += moved;
tosPtr += moved;
}
+ }
/*
* Expand the list at stacktop onto the stack; free the list. Knowing