/[emacs]/emacs/src/window.c
ViewVC logotype

Diff of /emacs/src/window.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.526 by rms, Thu Nov 3 21:13:57 2005 UTC revision 1.527 by monnier, Fri Nov 4 21:37:02 2005 UTC
# Line 1996  window_loop (type, obj, mini, frames) Line 1996  window_loop (type, obj, mini, frames)
1996              break;              break;
1997    
1998            case GET_LRU_WINDOW:            case GET_LRU_WINDOW:
1999              /* t as arg means consider only full-width windows */              /* `obj' is an integer encoding a bitvector.
2000              if (!NILP (obj) && !WINDOW_FULL_WIDTH_P (w))                 `obj & 1' means consider only full-width windows.
2001                break;                 `obj & 2' means consider also dedicated windows. */
2002              /* Ignore dedicated windows and minibuffers.  */              if (((XINT (obj) & 1) && !WINDOW_FULL_WIDTH_P (w))
2003              if (MINI_WINDOW_P (w) || (!mini && EQ (w->dedicated, Qt)))                  || (!(XINT (obj) & 2) && EQ (w->dedicated, Qt))
2004                    /* Minibuffer windows are always ignored.  */
2005                    || MINI_WINDOW_P (w))
2006                break;                break;
2007              if (NILP (best_window)              if (NILP (best_window)
2008                  || (XFASTINT (XWINDOW (best_window)->use_time)                  || (XFASTINT (XWINDOW (best_window)->use_time)
# Line 2051  window_loop (type, obj, mini, frames) Line 2053  window_loop (type, obj, mini, frames)
2053              break;              break;
2054    
2055            case GET_LARGEST_WINDOW:            case GET_LARGEST_WINDOW:
2056              {              { /* nil `obj' means to ignore dedicated windows.  */
2057                /* Ignore dedicated windows and minibuffers.  */                /* Ignore dedicated windows and minibuffers.  */
2058                if (MINI_WINDOW_P (w) || (!mini && EQ (w->dedicated, Qt)))                if (MINI_WINDOW_P (w) || (NILP (obj) && EQ (w->dedicated, Qt)))
2059                  break;                  break;
2060    
2061                if (NILP (best_window))                if (NILP (best_window))
# Line 2163  If FRAME is a frame, search only that fr Line 2165  If FRAME is a frame, search only that fr
2165  {  {
2166    register Lisp_Object w;    register Lisp_Object w;
2167    /* First try for a window that is full-width */    /* First try for a window that is full-width */
2168    w = window_loop (GET_LRU_WINDOW, Qt, !NILP (dedicated), frame);    w = window_loop (GET_LRU_WINDOW,
2169                       NILP (dedicated) ? make_number (1) : make_number (3),
2170                       0, frame);
2171    if (!NILP (w) && !EQ (w, selected_window))    if (!NILP (w) && !EQ (w, selected_window))
2172      return w;      return w;
2173    /* If none of them, try the rest */    /* If none of them, try the rest */
2174    return window_loop (GET_LRU_WINDOW, Qnil, !NILP (dedicated), frame);    return window_loop (GET_LRU_WINDOW,
2175                          NILP (dedicated) ? make_number (0) : make_number (2),
2176                          0, frame);
2177  }  }
2178    
2179  DEFUN ("get-largest-window", Fget_largest_window, Sget_largest_window, 0, 2, 0,  DEFUN ("get-largest-window", Fget_largest_window, Sget_largest_window, 0, 2, 0,
# Line 2183  If FRAME is a frame, search only that fr Line 2189  If FRAME is a frame, search only that fr
2189      (frame, dedicated)      (frame, dedicated)
2190       Lisp_Object frame, dedicated;       Lisp_Object frame, dedicated;
2191  {  {
2192    return window_loop (GET_LARGEST_WINDOW, Qnil, !NILP (dedicated),    return window_loop (GET_LARGEST_WINDOW, dedicated, 0,
2193                        frame);                        frame);
2194  }  }
2195    

Legend:
Removed from v.1.526  
changed lines
  Added in v.1.527

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26