From 8fa11a451949be743d4bdedd5117571d912e2209 Mon Sep 17 00:00:00 2001 From: Rodrigo Kassick Date: Wed, 19 Jun 2024 11:46:35 -0300 Subject: [PATCH] Fix display-buffer-override-next-command * lisp/window.el (display-buffer-override-next-command): display-buffer-overriding-action's car can be either a function or a list of functions. When a function, (push action (car display-buffer-overriding-action)) will create a cons-cell (action . function) instead of a list. In the clear-fun callback, trying to (delq action (car display-buffer-overriding-action)) causes an wrong-type-argument error. --- lisp/window.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/window.el b/lisp/window.el index 13fe1feba10..8db0584c910 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -9109,6 +9109,8 @@ display-buffer-override-next-command (when echofun (add-hook 'prefix-command-echo-keystrokes-functions echofun)) (setq switch-to-buffer-obey-display-actions t) + (unless (listp (car display-buffer-overriding-action)) + (setcar display-buffer-overriding-action (list (car display-buffer-overriding-action)))) (push action (car display-buffer-overriding-action)) exitfun)) -- 2.45.1