From: Rodrigo Kassick Date: Wed, 19 Jun 2024 21:04:08 +0000 (+0200) Subject: Fix display-buffer-override-next-command (bug#71654) X-Git-Tag: archive/raspbian/1%30.1+1-3+rpi1^2~2^2~20^2~975 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=374f4235d5e78def23d92b05f3d0257c1f609725;p=emacs.git Fix display-buffer-override-next-command (bug#71654) * 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. Copyright-paperwork-exempt: yes --- diff --git a/lisp/window.el b/lisp/window.el index 0cfe7df73d5..cb2eea11d13 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -9305,6 +9305,9 @@ to deactivate this overriding action." (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))