Re: master 8a88f3ed5ae: Add `outline-occur' command and `display-buffer-default-alist' variable

Juri Linkov <[email protected]> Wed, 05 Aug 2026 19:13:25 +0300
Newsgroups gmane.emacs.devel
Organization LINKOV.NET
Message-ID <[email protected]>
> It sounds like we may be able to use display-buffer-default-alist to fix
> bug#81233 better than the current workaround?

Indeed, this should work just fine:
vc-dir-display-buffer-default-alist.patch (text/x-diff, 1.3 KB)
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 8fa0c661f93..24a24dd998d 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -4421,7 +4421,7 @@ vc-log-internal-common
         (setq-local revert-buffer-function rev-buff-func)))
     ;; Display after setting up major-mode, so display-buffer-alist can know
     ;; the major-mode.
-    (pop-to-buffer buffer)
+    (pop-to-buffer buffer '(nil (category . vc-log)))
     (vc-run-delayed
      (let ((inhibit-read-only t))
        (funcall setup-buttons-func backend files retval)
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index d75dce77493..20c3acb5d9b 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -1542,8 +1542,11 @@ vc-dir--count-outgoing
         (let* ((default-directory
 	        (buffer-local-value 'default-directory
 				    (overlay-buffer overlay)))
-	       (display-buffer-overriding-action
-                '(display-buffer-no-window (allow-no-window . t)))
+	       (display-buffer-default-alist
+	        (append '(((category . vc-log)
+		           (display-buffer-no-window)
+		           (allow-no-window . t)))
+		        display-buffer-default-alist))
                (unknown (propertize "<<unknown>>" 'face 'vc-dir-header-value))
                (buf (generate-new-buffer " *temp*" t))
                proc)