Commit ef8ef9fb authored by Chong Yidong's avatar Chong Yidong
Browse files

* lisp/window.el (window-deletable-p): Never delete last frame on a terminal.

* src/frame.c (Fother_visible_frames_p): Function deleted.
parent b2cba41e
2011-09-13 Chong Yidong <cyd@stupidchicken.com>
* window.el (window-deletable-p): Never delete the last frame on a
given terminal.
2011-09-13 Glenn Morris <rgm@gnu.org> 2011-09-13 Glenn Morris <rgm@gnu.org>
* help.el (describe-key-briefly): Copy previous standard-output change. * help.el (describe-key-briefly): Copy previous standard-output change.
......
...@@ -2312,13 +2312,19 @@ its buffer or has no previous buffer to show instead." ...@@ -2312,13 +2312,19 @@ its buffer or has no previous buffer to show instead."
buffer)))))) buffer))))))
(cond (cond
((frame-root-window-p window) ((frame-root-window-p window)
(when (and (or force dedicated ;; We can delete the frame if (1) FORCE is non-nil, WINDOW is
(and (not prev) (memq window-auto-delete '(t frame)))) ;; dedicated to its buffer, or there are no previous buffers to
(other-visible-frames-p frame)) ;; show and (2) there are other visible frames on this terminal.
;; We can delete WINDOW's frame if (1) either FORCE is non-nil, (and (or force dedicated
;; WINDOW is dedicated to its buffer, or there are no previous (and (not prev) (memq window-auto-delete '(t frame))))
;; buffers to show and (2) there are other visible frames left. ;; Are there visible frames on the same terminal?
'frame)) (let ((terminal (frame-terminal frame)))
(catch 'found
(dolist (f (delq frame (frame-list)))
(and (eq terminal (frame-terminal f))
(frame-visible-p f)
(throw 'found t)))))
'frame))
((and (or force dedicated ((and (or force dedicated
(and (not prev) (memq window-auto-delete '(t window)))) (and (not prev) (memq window-auto-delete '(t window))))
(or ignore-window-parameters (or ignore-window-parameters
......
2011-09-13 Chong Yidong <cyd@stupidchicken.com>
* frame.c (Fother_visible_frames_p): Function deleted.
2011-09-12 Eli Zaretskii <eliz@gnu.org> 2011-09-12 Eli Zaretskii <eliz@gnu.org>
* indent.c (compute_motion): Process display vector front to back * indent.c (compute_motion): Process display vector front to back
......
...@@ -1155,17 +1155,6 @@ other_visible_frames (FRAME_PTR f) ...@@ -1155,17 +1155,6 @@ other_visible_frames (FRAME_PTR f)
return 1; return 1;
} }
DEFUN ("other-visible-frames-p", Fother_visible_frames_p, Sother_visible_frames_p, 0, 1, 0,
doc: /* Return t if there are other visible frames beside FRAME.
FRAME defaults to the selected frame. */)
(Lisp_Object frame)
{
if (NILP (frame))
frame = selected_frame;
CHECK_LIVE_FRAME (frame);
return other_visible_frames (XFRAME (frame)) ? Qt : Qnil;
}
/* Delete FRAME. When FORCE equals Qnoelisp, delete FRAME /* Delete FRAME. When FORCE equals Qnoelisp, delete FRAME
unconditionally. x_connection_closed and delete_terminal use unconditionally. x_connection_closed and delete_terminal use
this. Any other value of FORCE implements the semantics this. Any other value of FORCE implements the semantics
...@@ -4475,7 +4464,6 @@ automatically. See also `mouse-autoselect-window'. */); ...@@ -4475,7 +4464,6 @@ automatically. See also `mouse-autoselect-window'. */);
defsubr (&Sframe_list); defsubr (&Sframe_list);
defsubr (&Snext_frame); defsubr (&Snext_frame);
defsubr (&Sprevious_frame); defsubr (&Sprevious_frame);
defsubr (&Sother_visible_frames_p);
defsubr (&Sdelete_frame); defsubr (&Sdelete_frame);
defsubr (&Smouse_position); defsubr (&Smouse_position);
defsubr (&Smouse_pixel_position); defsubr (&Smouse_pixel_position);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment