summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-10-14 19:29:52 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-10-14 19:29:52 (GMT)
commit664285ab18a7e50aca81ecb5c4ba99f368f8a7ac (patch)
tree44cdc12fe613bcdf9dbbc209f24c781e07426325
parentc98e9eebb58e1b55ba13f8af8714a8a1e580d746 (diff)
parentd3c6e22da28dddf8b1f028900647c9221ffcd64a (diff)
downloadtcl-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.c11
-rw-r--r--tests/stringComp.test3
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