]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix previous replace-in-string rewrite
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 25 Sep 2020 00:07:05 +0000 (02:07 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 25 Sep 2020 00:07:05 +0000 (02:07 +0200)
* lisp/subr.el (replace-in-string): Fix logic errors in previous
patch.

lisp/subr.el
test/lisp/subr-tests.el

index 0f72b382fe8171226b28292ba8380810dab4edb7..0de9ac5d96063a3f5767d8d74ae1f153bed5e411 100644 (file)
@@ -4439,8 +4439,8 @@ Unless optional argument INPLACE is non-nil, return a new string."
       (unless (= start pos)
         (push (substring instring start pos) result))
       (push tostring result)
-      (setq start (+ start (length fromstring))))
-    (unless (= start pos)
+      (setq start (+ pos (length fromstring))))
+    (unless (= start (length instring))
       (push (substring instring start pos) result))
     (apply #'concat (nreverse result))))
 
index 14870d4adaba5c69f45b07f2e6c69868971d9804..fa728e430fc1137bb411132d7245900a818094e5 100644 (file)
@@ -462,9 +462,9 @@ See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350."
                  "foozotbar"))
 
   (should (equal (replace-in-string "\377" "x" "a\377b")
-                 "axxb"))
+                 "axb"))
   (should (equal (replace-in-string "\377" "x" "a\377ø")
-                 "axxø")))
+                 "axø")))
 
 (provide 'subr-tests)
 ;;; subr-tests.el ends here