From d3c6e22da28dddf8b1f028900647c9221ffcd64a Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 14 Oct 2016 19:28:46 +0000 Subject: [eb6b68c1a9] Simple fix for [string replace] error demonstrated by new test. --- generic/tclExecute.c | 11 ----------- tests/stringComp.test | 3 +++ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/generic/tclExecute.c b/generic/tclExecute.c index e7ff8dc..2ab0277 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -5724,17 +5724,6 @@ TEBCresume( length3 = Tcl_GetCharLength(value3Ptr); /* - * Remove substring. In-place. - */ - - if (length3 == 0 && !Tcl_IsShared(valuePtr) && toIdx == length) { - TclDecrRefCount(value3Ptr); - Tcl_SetObjLength(valuePtr, fromIdx); - TRACE_APPEND(("\"%.30s\"\n", O2S(valuePtr))); - NEXT_INST_F(1, 0, 0); - } - - /* * See if we can splice in place. This happens when the number of * characters being replaced is the same as the number of characters * in the string to be inserted. diff --git a/tests/stringComp.test b/tests/stringComp.test index 140a270..2aeb08e 100644 --- a/tests/stringComp.test +++ b/tests/stringComp.test @@ -738,6 +738,9 @@ test stringComp-14.4 {Bug 1af8de570511} { string replace $val[unset val] 1 1 $y }} 4 x } 0x00 +test stringComp-14.5 {} { + string length [string replace [string repeat a\u00fe 2] 3 end {}] +} 3 ## string tolower ## not yet bc -- cgit v0.12