]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display-buffer-override-next-command (bug#71654)
authorRodrigo Kassick <kassick@gmail.com>
Wed, 19 Jun 2024 21:04:08 +0000 (23:04 +0200)
committerEshel Yaron <me@eshelyaron.com>
Fri, 21 Jun 2024 19:00:39 +0000 (21:00 +0200)
* 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)

lisp/window.el

index 8b8bb8648bcf5defa219ec50caddddd523cbba36..e25704f438650068bf1466966a7eb9d5bdab840c 100644 (file)
@@ -9320,6 +9320,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))