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
This commit is contained in:
Rodrigo Kassick 2024-06-19 23:04:08 +02:00 committed by Andrea Corallo
parent 499d5dd958
commit 374f4235d5

View file

@ -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))