summaryrefslogtreecommitdiff
path: root/lisp
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
parent83c60f60bfa7a2f2c5d3e487e7e5c00732996815 (diff)
downloademacs-50ff2e06756b2b0565d3a815efe52be1e7247d0b.tar.gz
* replace.el (occur-engine): Avoid infloop.
Fixes: debbugs:7593
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/replace.el4
2 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index aef7eb5cc5b..e106a763332 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-18 Chong Yidong <cyd@gnu.org>
+
+ * replace.el (occur-engine): Avoid infloop (Bug#7593).
+
2013-12-18 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
* progmodes/make-mode.el (makefile-fill-paragraph): Fix infloop
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.