* 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
(cherry picked from commit
374f4235d5e78def23d92b05f3d0257c1f609725)
(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))