diff options
author | dgp <dgp@users.sourceforge.net> | 2016-10-21 13:12:16 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-10-21 13:12:16 (GMT) |
commit | 1a2743707565baad1836d59d9a6da4a1cdedb488 (patch) | |
tree | 0f0ef17613348e2d9b4790012f7d753056f2ade0 /generic | |
parent | 2f570b44ce96781099a36c1e8a084cb69cb4862f (diff) | |
parent | 2ab238514bcdab640de8b1805337200932e2cd79 (diff) | |
download | tcl-1a2743707565baad1836d59d9a6da4a1cdedb488.zip tcl-1a2743707565baad1836d59d9a6da4a1cdedb488.tar.gz tcl-1a2743707565baad1836d59d9a6da4a1cdedb488.tar.bz2 |
merge 8.6
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclCompCmds.c | 11 | ||||
-rw-r--r-- | generic/tclExecute.c | 8 |
2 files changed, 6 insertions, 13 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index bce17dc..5f4c298 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -3206,17 +3206,6 @@ TclCompileFormatCmd( */ TclEmitInstInt1(INST_STR_CONCAT1, i, envPtr); - } else { - /* - * EVIL HACK! Force there to be a string representation in the case - * where there's just a "%s" in the format; case covered by the test - * format-20.1 (and it is horrible...) - */ - - TclEmitOpcode(INST_DUP, envPtr); - PushStringLiteral(envPtr, ""); - TclEmitOpcode(INST_STR_EQ, envPtr); - TclEmitOpcode(INST_POP, envPtr); } return TCL_OK; } diff --git a/generic/tclExecute.c b/generic/tclExecute.c index aee565c..b19754e 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -5784,10 +5784,14 @@ TEBCresume( /* which has result {} which is same as value3Ptr. */ objResultPtr = value3Ptr; } - if (objResultPtr != value3Ptr) { + if (objResultPtr == value3Ptr) { /* See [Bug 82e7f67325] */ - TclDecrRefCount(value3Ptr); + TclDecrRefCount(OBJ_AT_TOS); + OBJ_AT_TOS = value3Ptr; + TRACE_APPEND(("\"%.30s\"\n", O2S(value3Ptr))); + NEXT_INST_F(1, 0, 0); } + TclDecrRefCount(value3Ptr); TRACE_APPEND(("\"%.30s\"\n", O2S(objResultPtr))); NEXT_INST_F(1, 1, 1); |