Mercurial > emacs
changeset 8167:ae9b49cc645f
(Fnext_window, Fprevious_window): ALL_FRAMES = 0 means
try both visible frames and iconified frames.
(window_loop): Likewise, for FRAMES = 0.
(Fget_buffer_window): Likewise, for FRAME = 0.
(Fdisplay_buffer): Pass 0 to Fget_buffer_window;
if the frame is iconified, make it visible.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 07 Jul 1994 06:34:07 +0000 |
parents | 6fa3cd9b176d |
children | 32fbb27091d4 |
files | src/window.c |
diffstat | 1 files changed, 20 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Thu Jul 07 06:29:09 1994 +0000 +++ b/src/window.c Thu Jul 07 06:34:07 1994 +0000 @@ -850,6 +850,7 @@ Optional third arg ALL-FRAMES t means include windows on all frames.\n\ ALL-FRAMES nil or omitted means cycle within the frames as specified\n\ above. ALL-FRAMES = `visible' means include windows on all visible frames.\n\ +ALL-FRAMES = 0 means include windows on all visible and iconified frames.\n\ Anything else means restrict to WINDOW's frame.\n\ \n\ If you use consistent values for MINIBUF and ALL-FRAMES, you can use\n\ @@ -890,10 +891,14 @@ : Qnil); else if (EQ (all_frames, Qvisible)) ; + else if (XFASTINT (all_frames) == 0) + ; else if (! EQ (all_frames, Qt)) all_frames = Qnil; /* Now all_frames is t meaning search all frames, nil meaning search just current frame, + visible meaning search just visible frames, + 0 meaning search visible and iconified frames, or a window, meaning search the frame that window belongs to. */ #endif @@ -967,6 +972,7 @@ Optional third arg ALL-FRAMES t means include windows on all frames.\n\ ALL-FRAMES nil or omitted means cycle within the frames as specified\n\ above. ALL-FRAMES = `visible' means include windows on all visible frames.\n\ +ALL-FRAMES = 0 means include windows on all visible and iconified frames.\n\ Anything else means restrict to WINDOW's frame.\n\ \n\ If you use consistent values for MINIBUF and ALL-FRAMES, you can use\n\ @@ -1008,10 +1014,14 @@ : Qnil); else if (EQ (all_frames, Qvisible)) ; + else if (XFASTINT (all_frames) == 0) + ; else if (! EQ (all_frames, Qt)) all_frames = Qnil; /* Now all_frames is t meaning search all frames, nil meaning search just current frame, + visible meaning search just visible frames, + 0 meaning search visible and iconified frames, or a window, meaning search the frame that window belongs to. */ #endif @@ -1154,6 +1164,8 @@ frame = 0; if (frame) frame_arg = Qlambda; + else if (XFASTINT (frames) == 0) + frame_arg = frames; else if (EQ (frames, Qvisible)) frame_arg = frames; #else @@ -1332,6 +1344,7 @@ DEFUN ("get-buffer-window", Fget_buffer_window, Sget_buffer_window, 1, 2, 0, "Return a window currently displaying BUFFER, or nil if none.\n\ If optional argument FRAME is `visible', search all visible frames.\n\ +If optional argument FRAME is 0, search all visible and iconified frames.\n\ If FRAME is t, search all frames.\n\ If FRAME is nil, search only the selected frame.\n\ If FRAME is a frame, search only that frame.") @@ -1752,14 +1765,18 @@ #ifdef MULTI_FRAME /* If pop_up_frames, - look for a window showing BUFFER on any visible frame. */ - window = Fget_buffer_window (buffer, pop_up_frames ? Qvisible : Qnil); + look for a window showing BUFFER on any visible or iconified frame. */ + window = Fget_buffer_window (buffer, pop_up_frames ? make_number (0) : Qnil); #else window = Fget_buffer_window (buffer, Qnil); #endif if (!NILP (window) && (NILP (not_this_window) || !EQ (window, selected_window))) - return window; + { + if (FRAME_ICONIFIED_P (XFRAME (WINDOW_FRAME (XWINDOW (window))))) + Fmake_frame_visible (WINDOW_FRAME (XWINDOW (window))); + return window; + } /* Certain buffer names get special handling. */ if (! NILP (Vspecial_display_function))