diff options
author | Eli Zaretskii <eliz@gnu.org> | 2023-03-28 14:08:29 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2023-03-28 14:08:29 +0300 |
commit | 4ec4f614c712b8283b669feb7a6f87a700cdf2e6 (patch) | |
tree | d7622397ac06bb6dc59d15284fa861e5a80f6e2d /lisp/window.el | |
parent | ba3ade58f3b7083b40e4f995388d6246cc81ba82 (diff) | |
download | emacs-4ec4f614c712b8283b669feb7a6f87a700cdf2e6.tar.gz emacs-4ec4f614c712b8283b669feb7a6f87a700cdf2e6.tar.bz2 emacs-4ec4f614c712b8283b669feb7a6f87a700cdf2e6.zip |
; Fix incompatibility in 'display-buffer-assq-regexp'
* lisp/window.el (display-buffer-assq-regexp): Make it accept a
buffer's name again, as it did in Emacs 28. This makes computing
the buffer's name inside the function unnecessary.
(display-buffer): Always pass the buffer's name to
'display-buffer-assq-regexp'. (Bug#62417)
Diffstat (limited to 'lisp/window.el')
-rw-r--r-- | lisp/window.el | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lisp/window.el b/lisp/window.el index 4bdc26571f5..016d53ffbdd 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -7556,19 +7556,16 @@ all fail. It should never be set by programs or users. See `display-buffer'.") (put 'display-buffer-fallback-action 'risky-local-variable t) -(defun display-buffer-assq-regexp (buffer-or-name alist action) - "Retrieve ALIST entry corresponding to buffer specified by BUFFER-OR-NAME. +(defun display-buffer-assq-regexp (buffer-name alist action) + "Retrieve ALIST entry corresponding to buffer whose name is BUFFER-NAME. This returns the cdr of the alist entry ALIST if the entry's key (its car) and the name of the buffer designated by -BUFFER-OR-NAME satisfy `buffer-match-p', using the key as +BUFFER-NAME satisfy `buffer-match-p', using the key as CONDITION argument of `buffer-match-p'. ACTION should have the form of the action argument passed to `display-buffer'." (catch 'match (dolist (entry alist) - (when (buffer-match-p (car entry) (if (stringp buffer-or-name) - buffer-or-name - (buffer-name buffer-or-name)) - action) + (when (buffer-match-p (car entry) buffer-name action) (throw 'match (cdr entry)))))) (defvar display-buffer--same-window-action @@ -7727,6 +7724,9 @@ specified by the ACTION argument." (let ((buffer (if (bufferp buffer-or-name) buffer-or-name (get-buffer buffer-or-name))) + (buf-name (if (bufferp buffer-or-name) + (buffer-name buffer-or-name) + buffer-or-name)) ;; Make sure that when we split windows the old window keeps ;; point, bug#14829. (split-window-keep-point t) @@ -7735,7 +7735,7 @@ specified by the ACTION argument." (unless (listp action) (setq action nil)) (let* ((user-action (display-buffer-assq-regexp - buffer display-buffer-alist action)) + buf-name display-buffer-alist action)) (special-action (display-buffer--special-action buffer)) ;; Extra actions from the arguments to this function: (extra-action |