diff options
author | dgp <dgp@users.sourceforge.net> | 2016-10-14 19:29:52 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-10-14 19:29:52 (GMT) |
commit | 664285ab18a7e50aca81ecb5c4ba99f368f8a7ac (patch) | |
tree | 44cdc12fe613bcdf9dbbc209f24c781e07426325 | |
parent | c98e9eebb58e1b55ba13f8af8714a8a1e580d746 (diff) | |
parent | d3c6e22da28dddf8b1f028900647c9221ffcd64a (diff) | |
download | tcl-664285ab18a7e50aca81ecb5c4ba99f368f8a7ac.zip tcl-664285ab18a7e50aca81ecb5c4ba99f368f8a7ac.tar.gz tcl-664285ab18a7e50aca81ecb5c4ba99f368f8a7ac.tar.bz2 |
[eb6b68c1a9] Simple fix for [string replace] error demonstrated by new test.
-rw-r--r-- | generic/tclExecute.c | 11 | ||||
-rw-r--r-- | tests/stringComp.test | 3 |
2 files changed, 3 insertions, 11 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 85e059b..aee565c 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -5711,17 +5711,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 |