diff options
author | dgp <dgp@users.sourceforge.net> | 2015-07-18 02:39:02 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2015-07-18 02:39:02 (GMT) |
commit | bbee1c90fc2bc6ca5ee69a92e6b6ec9fe5a54777 (patch) | |
tree | 49edfdcfdb0dbe577d7d3921d360c33bc24d0402 | |
parent | 5234a59846f046760830b06488e2d214d0b2cf04 (diff) | |
parent | b8f06cb252d82acd8bda326eed40ee05c656e874 (diff) | |
download | tcl-bbee1c90fc2bc6ca5ee69a92e6b6ec9fe5a54777.zip tcl-bbee1c90fc2bc6ca5ee69a92e6b6ec9fe5a54777.tar.gz tcl-bbee1c90fc2bc6ca5ee69a92e6b6ec9fe5a54777.tar.bz2 |
merge trunk
-rw-r--r-- | generic/tclCompCmdsSZ.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/generic/tclCompCmdsSZ.c b/generic/tclCompCmdsSZ.c index 382d2d1..5d3ffd3 100644 --- a/generic/tclCompCmdsSZ.c +++ b/generic/tclCompCmdsSZ.c @@ -3575,16 +3575,16 @@ TclCompileUnsetCmd( } return TCL_ERROR; } - if (i == 1) { + if (varCount == 0) { const char *bytes; int len; bytes = Tcl_GetStringFromObj(leadingWord, &len); - if (len == 11 && !strncmp("-nocomplain", bytes, 11)) { + if (i == 1 && len == 11 && !strncmp("-nocomplain", bytes, 11)) { flags = 0; - haveFlags = 1; - } else if (len == 2 && !strncmp("--", bytes, 2)) { - haveFlags = 1; + haveFlags++; + } else if (i == (2 - flags) && len == 2 && !strncmp("--", bytes, 2)) { + haveFlags++; } else { varCount++; } @@ -3599,7 +3599,7 @@ TclCompileUnsetCmd( */ varTokenPtr = TokenAfter(parsePtr->tokenPtr); - if (haveFlags) { + for (i=0; i<haveFlags;i++) { varTokenPtr = TokenAfter(varTokenPtr); } for (i=1+haveFlags ; i<parsePtr->numWords ; i++) { |