From: Juri Linkov Date: Thu, 4 Feb 2021 09:17:54 +0000 (+0200) Subject: * lisp/replace.el (occur-rename-buffer): Check for overlay (bug#46268). X-Git-Tag: emacs-28.0.90~3948 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5666955379e8ca82d072c1aba60a2c58ff3f855a;p=emacs.git * 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. --- 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)