From: Martin Rudalics Date: Tue, 27 May 2025 08:45:04 +0000 (+0200) Subject: Have 'delete-other-frames' only delete frames on same terminal (Bug#78583) X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=43ab1a5aafba67501be709acd5bb62e13692bcd2;p=emacs.git 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). (cherry picked from commit 93934b645bcda5cc07ead14c35615a44efae0681) --- diff --git a/lisp/frame.el b/lisp/frame.el index 9ffdae698b2..e0ab3c7dee3 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -2837,12 +2837,14 @@ deleting them." (interactive "i\nP") (setq frame (window-normalize-frame frame)) (let ((minibuffer-frame (window-frame (minibuffer-window frame))) + (terminal (frame-terminal frame)) (parent (frame-parent frame)) (frames (frame-list))) ;; In a first round consider minibuffer-less frames only. (dolist (this frames) (unless (or (eq this frame) (eq this minibuffer-frame) + (not (eq (frame-terminal this) terminal)) (eq (window-frame (minibuffer-window this)) this) ;; When FRAME is a child frame, delete its siblings ;; only. @@ -2854,6 +2856,7 @@ deleting them." (dolist (this frames) (unless (or (eq this frame) (eq this minibuffer-frame) + (not (eq (frame-terminal this) terminal)) ;; When FRAME is a child frame, delete its siblings ;; only. (and parent (not (eq (frame-parent this) parent)))