From 5666955379e8ca82d072c1aba60a2c58ff3f855a Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 4 Feb 2021 11:17:54 +0200 Subject: [PATCH] * lisp/replace.el (occur-rename-buffer): Check for overlay (bug#46268). (occur-1): Don't use occur--garbage-collect-revert-args when reverting the Occur buffer with same bufs. --- lisp/replace.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index f13d27aff89..d320542d629 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -1545,7 +1545,10 @@ You can add this to `occur-hook' if you always want a separate (with-current-buffer (if (eq major-mode 'occur-mode) (current-buffer) (get-buffer "*Occur*")) (rename-buffer (concat "*Occur: " - (mapconcat #'buffer-name + (mapconcat (lambda (boo) + (buffer-name (if (overlayp boo) + (overlay-buffer boo) + boo))) (car (cddr occur-revert-arguments)) "/") "*") (or unique-p (not interactive-p))))) @@ -1779,7 +1782,8 @@ See also `multi-occur'." 42) (window-width)) "" (occur-regexp-descr regexp)))) - (occur--garbage-collect-revert-args) + (unless (eq bufs (nth 2 occur-revert-arguments)) + (occur--garbage-collect-revert-args)) (setq occur-revert-arguments (list regexp nlines bufs)) (if (= count 0) (kill-buffer occur-buf) -- 2.39.2