summaryrefslogtreecommitdiff
path: root/lisp/replace.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@gnu.org>2013-12-18 13:10:58 +0800
committerChong Yidong <cyd@gnu.org>2013-12-18 13:10:58 +0800
commit50ff2e06756b2b0565d3a815efe52be1e7247d0b (patch)
tree7893870f6d3bf9d36d6642b024145c267320fcd5 /lisp/replace.el
parent83c60f60bfa7a2f2c5d3e487e7e5c00732996815 (diff)
downloademacs-50ff2e06756b2b0565d3a815efe52be1e7247d0b.tar.gz
* replace.el (occur-engine): Avoid infloop.
Fixes: debbugs:7593
Diffstat (limited to 'lisp/replace.el')
-rw-r--r--lisp/replace.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/replace.el b/lisp/replace.el
index 061300c7829..2c6b02364b2 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -1457,7 +1457,9 @@ See also `multi-occur'."
;; so as to override faces copied from the buffer.
`(face ,match-face)))
curstring)
- (setq start (match-end 0))))
+ ;; Avoid infloop (Bug#7593).
+ (let ((end (match-end 0)))
+ (setq start (if (= start end) (1+ start) end)))))
;; Generate the string to insert for this match
(let* ((match-prefix
;; Using 7 digits aligns tabs properly.