summaryrefslogtreecommitdiff
path: root/lisp/replace.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/replace.el')
-rw-r--r--lisp/replace.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/replace.el b/lisp/replace.el
index dd6e5a42258..689a3f77ed3 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1413,10 +1413,15 @@ To return to ordinary Occur mode, use \\[occur-cease-edit]."
(length s1)))))
(prefix-len (funcall common-prefix buf-str text))
(suffix-len (funcall common-prefix
- (reverse buf-str) (reverse text))))
+ (reverse (substring
+ buf-str prefix-len))
+ (reverse (substring
+ text prefix-len)))))
(setq beg-pos (+ beg-pos prefix-len))
(setq end-pos (- end-pos suffix-len))
- (setq text (substring text prefix-len (- suffix-len)))
+ (setq text (substring text prefix-len
+ (and (not (zerop suffix-len))
+ (- suffix-len))))
(delete-region beg-pos end-pos)
(goto-char beg-pos)
(insert text)))