summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-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)))