]> code.delx.au - gnu-emacs/commitdiff
(delete-other-frames): Only delete frames on the
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 4 Jun 2009 14:46:23 +0000 (14:46 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 4 Jun 2009 14:46:23 +0000 (14:46 +0000)
same terminal (bug#3442).

lisp/ChangeLog
lisp/frame.el

index 243086783874a4c9d6767e0c30f1d91cc9896d02..d21902e9ef51efd567b136124d47cd235b818ef8 100644 (file)
@@ -1,3 +1,8 @@
+2009-06-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * frame.el (delete-other-frames): Only delete frames on the
+       same terminal (bug#3442).
+
 2009-06-04  Glenn Morris  <rgm@gnu.org>
 
        * calendar/solar.el (solar-n-hemi-seasons, solar-s-hemi-seasons):
index d39eb80d3dd3e93a69e2f01b7429a6f77eae4a73..549fb8933d513bf553762de9b443f1a78ada2d4a 100644 (file)
@@ -1485,6 +1485,10 @@ left untouched.  FRAME nil or omitted means use the selected frame."
     (setq frame (selected-frame)))
   (let* ((mini-frame (window-frame (minibuffer-window frame)))
         (frames (delq mini-frame (delq frame (frame-list)))))
+    ;; Only consider frames on the same terminal.
+    (dolist (frame (prog1 frames (setq frames nil)))
+      (if (eq (frame-terminal) (frame-terminal frame))
+          (push frame frames)))
     ;; Delete mon-minibuffer-only frames first, because `delete-frame'
     ;; signals an error when trying to delete a mini-frame that's
     ;; still in use by another frame.