summaryrefslogtreecommitdiff
path: root/lisp/tab-bar.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2021-11-16 22:45:33 +0200
committerJuri Linkov <juri@linkov.net>2021-11-16 22:45:33 +0200
commitc25be3e7bb91f932a1d620bef08e16872dcf04d5 (patch)
tree6475f072801b9332d75ebcc0764613c018bbeb45 /lisp/tab-bar.el
parent38d905abf9eecbb1eef33c1d7df184f2f6faeeb3 (diff)
downloademacs-c25be3e7bb91f932a1d620bef08e16872dcf04d5.tar.gz
emacs-c25be3e7bb91f932a1d620bef08e16872dcf04d5.tar.bz2
emacs-c25be3e7bb91f932a1d620bef08e16872dcf04d5.zip
* lisp/tab-bar.el (tab-bar-select-tab): Add check for wc-frame (bug#51883).
Diffstat (limited to 'lisp/tab-bar.el')
-rw-r--r--lisp/tab-bar.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 9fba70f34da..871ed1c9817 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -1096,7 +1096,11 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
;; its value of window-configuration is unreadable,
;; so restore its saved window-state.
(cond
- ((window-configuration-p wc)
+ ((and (window-configuration-p wc)
+ ;; Check for such cases as cloning a frame with tabs.
+ ;; When tabs were cloned to another frame, then fall back
+ ;; to using `window-state-put' below.
+ (eq (window-configuration-frame wc) (selected-frame)))
(let ((wc-point (alist-get 'wc-point to-tab))
(wc-bl (seq-filter #'buffer-live-p (alist-get 'wc-bl to-tab)))
(wc-bbl (seq-filter #'buffer-live-p (alist-get 'wc-bbl to-tab)))