aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2025-05-27 10:45:04 +0200
committerMartin Rudalics2025-05-27 10:45:04 +0200
commit93934b645bcda5cc07ead14c35615a44efae0681 (patch)
tree9254bd1dc9a1a9f3d17d3049981969dafade2370
parent42a002f31f0931c6ef2dedc55d20ab8ae046cbab (diff)
downloademacs-93934b645bcda5cc07ead14c35615a44efae0681.tar.gz
emacs-93934b645bcda5cc07ead14c35615a44efae0681.zip
Have 'delete-other-frames' only delete frames on same terminal (Bug#78583)
* lisp/frame.el (delete-other-frames): Only delete frames on same terminal as FRAME's (Bug#78583).
-rw-r--r--lisp/frame.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 6a746023902..ec582096110 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -2837,12 +2837,14 @@ deleting them."
2837 (interactive "i\nP") 2837 (interactive "i\nP")
2838 (setq frame (window-normalize-frame frame)) 2838 (setq frame (window-normalize-frame frame))
2839 (let ((minibuffer-frame (window-frame (minibuffer-window frame))) 2839 (let ((minibuffer-frame (window-frame (minibuffer-window frame)))
2840 (terminal (frame-terminal frame))
2840 (parent (frame-parent frame)) 2841 (parent (frame-parent frame))
2841 (frames (frame-list))) 2842 (frames (frame-list)))
2842 ;; In a first round consider minibuffer-less frames only. 2843 ;; In a first round consider minibuffer-less frames only.
2843 (dolist (this frames) 2844 (dolist (this frames)
2844 (unless (or (eq this frame) 2845 (unless (or (eq this frame)
2845 (eq this minibuffer-frame) 2846 (eq this minibuffer-frame)
2847 (not (eq (frame-terminal this) terminal))
2846 (eq (window-frame (minibuffer-window this)) this) 2848 (eq (window-frame (minibuffer-window this)) this)
2847 ;; When FRAME is a child frame, delete its siblings 2849 ;; When FRAME is a child frame, delete its siblings
2848 ;; only. 2850 ;; only.
@@ -2854,6 +2856,7 @@ deleting them."
2854 (dolist (this frames) 2856 (dolist (this frames)
2855 (unless (or (eq this frame) 2857 (unless (or (eq this frame)
2856 (eq this minibuffer-frame) 2858 (eq this minibuffer-frame)
2859 (not (eq (frame-terminal this) terminal))
2857 ;; When FRAME is a child frame, delete its siblings 2860 ;; When FRAME is a child frame, delete its siblings
2858 ;; only. 2861 ;; only.
2859 (and parent (not (eq (frame-parent this) parent))) 2862 (and parent (not (eq (frame-parent this) parent)))