summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-03-28 14:08:29 +0300
committerEli Zaretskii <eliz@gnu.org>2023-03-28 14:08:29 +0300
commit4ec4f614c712b8283b669feb7a6f87a700cdf2e6 (patch)
treed7622397ac06bb6dc59d15284fa861e5a80f6e2d
parentba3ade58f3b7083b40e4f995388d6246cc81ba82 (diff)
downloademacs-4ec4f614c712b8283b669feb7a6f87a700cdf2e6.tar.gz
; 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)
-rw-r--r--lisp/window.el16
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