Mercurial > emacs
changeset 8168:32fbb27091d4
(next_frame, prev_frame):
MINIBUF = 0 means try visible frames and iconified frames.
(next_frame, prev_frame): Change which frames to use
when MINIBUF is a window.
(Fnext_frame, Fprevious_frame): Doc fixes.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 07 Jul 1994 06:38:42 +0000 |
parents | ae9b49cc645f |
children | 09a8da4ffadf |
files | src/frame.c |
diffstat | 1 files changed, 38 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/frame.c Thu Jul 07 06:34:07 1994 +0000 +++ b/src/frame.c Thu Jul 07 06:38:42 1994 +0000 @@ -556,9 +556,10 @@ /* Return the next frame in the frame list after FRAME. If MINIBUF is nil, exclude minibuffer-only frames. - If MINIBUF is a window, include only frames using that window for - their minibuffer. + If MINIBUF is a window, include only its own frame + and any frame now using that window as the minibuffer. If MINIBUF is `visible', include all visible frames. + If MINIBUF is 0, include all visible and iconified frames. Otherwise, include all frames. */ Lisp_Object @@ -604,9 +605,21 @@ if (FRAME_VISIBLE_P (XFRAME (f))) return f; } + else if (XFASTINT (minibuf) == 0) + { + FRAME_SAMPLE_VISIBILITY (XFRAME (f)); + if (FRAME_VISIBLE_P (XFRAME (f)) + || FRAME_ICONIFIED_P (XFRAME (f))) + return f; + } else if (WINDOWP (minibuf)) { - if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf)) + if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf) + /* Check that F either is, or has forwarded its focus to, + MINIBUF's frame. */ + && (EQ (WINDOW_FRAME (XWINDOW (minibuf)), f) + || EQ (WINDOW_FRAME (XWINDOW (minibuf)), + FRAME_FOCUS_FRAME (XFRAME (f))))) return f; } else @@ -620,9 +633,10 @@ /* Return the previous frame in the frame list before FRAME. If MINIBUF is nil, exclude minibuffer-only frames. - If MINIBUF is a window, include only frames using that window for - their minibuffer. + If MINIBUF is a window, include only its own frame + and any frame now using that window as the minibuffer. If MINIBUF is `visible', include all visible frames. + If MINIBUF is 0, include all visible and iconified frames. Otherwise, include all frames. */ Lisp_Object @@ -658,7 +672,12 @@ } else if (XTYPE (minibuf) == Lisp_Window) { - if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf)) + if (EQ (FRAME_MINIBUF_WINDOW (XFRAME (f)), minibuf) + /* Check that F either is, or has forwarded its focus to, + MINIBUF's frame. */ + && (EQ (WINDOW_FRAME (XWINDOW (minibuf)), f) + || EQ (WINDOW_FRAME (XWINDOW (minibuf)), + FRAME_FOCUS_FRAME (XFRAME (f))))) prev = f; } else if (EQ (minibuf, Qvisible)) @@ -667,6 +686,13 @@ if (FRAME_VISIBLE_P (XFRAME (f))) prev = f; } + else if (XFASTINT (f) == 0) + { + FRAME_SAMPLE_VISIBILITY (XFRAME (f)); + if (FRAME_VISIBLE_P (XFRAME (f)) + || FRAME_ICONIFIED_P (XFRAME (f))) + prev = f; + } else prev = f; } @@ -689,9 +715,10 @@ By default, skip minibuffer-only frames.\n\ If omitted, FRAME defaults to the selected frame.\n\ If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ -If MINIFRAME is a window, include only frames using that window for their\n\ -minibuffer.\n\ +If MINIBUF is a window, include only its own frame\n\ +and any frame now using that window as the minibuffer.\n\ If MINIFRAME is `visible', include all visible frames.\n\ +If MINIBUF is 0, include all visible and iconified frames.\n\ Otherwise, include all frames.") (frame, miniframe) Lisp_Object frame, miniframe; @@ -711,9 +738,10 @@ By default, skip minibuffer-only frames.\n\ If omitted, FRAME defaults to the selected frame.\n\ If optional argument MINIFRAME is nil, exclude minibuffer-only frames.\n\ -If MINIFRAME is a window, include only frames using that window for their\n\ -minibuffer.\n\ +If MINIBUF is a window, include only its own frame\n\ +and any frame now using that window as the minibuffer.\n\ If MINIFRAME is `visible', include all visible frames.\n\ +If MINIBUF is 0, include all visible and iconified frames.\n\ Otherwise, include all frames.") (frame, miniframe) Lisp_Object frame, miniframe;