(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.
(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)))