+2005-11-04 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * window.c (Fget_lru_window, Fget_largest_window, window_loop):
+ Don't abuse the `mini' arg. Use the `obj' arg instead.
+
2005-11-04 Kim F. Storm <storm@cua.dk>
* xdisp.c (show_mouse_face): Clear mouse face to eol.
2005-10-20 Aubrey Jaffer <agj@alum.mit.edu> (tiny change)
- * unexelf.c (unexec): Fix calls to `fatal' with less than 3
- arguments.
+ * unexelf.c (unexec): Fix calls to `fatal' with less than 3 arguments.
2005-10-20 Olli Savia <ops@iki.fi> (tiny change)
break;
case GET_LRU_WINDOW:
- /* t as arg means consider only full-width windows */
- if (!NILP (obj) && !WINDOW_FULL_WIDTH_P (w))
- break;
- /* Ignore dedicated windows and minibuffers. */
- if (MINI_WINDOW_P (w) || (!mini && EQ (w->dedicated, Qt)))
+ /* `obj' is an integer encoding a bitvector.
+ `obj & 1' means consider only full-width windows.
+ `obj & 2' means consider also dedicated windows. */
+ if (((XINT (obj) & 1) && !WINDOW_FULL_WIDTH_P (w))
+ || (!(XINT (obj) & 2) && EQ (w->dedicated, Qt))
+ /* Minibuffer windows are always ignored. */
+ || MINI_WINDOW_P (w))
break;
if (NILP (best_window)
|| (XFASTINT (XWINDOW (best_window)->use_time)
break;
case GET_LARGEST_WINDOW:
- {
+ { /* nil `obj' means to ignore dedicated windows. */
/* Ignore dedicated windows and minibuffers. */
- if (MINI_WINDOW_P (w) || (!mini && EQ (w->dedicated, Qt)))
+ if (MINI_WINDOW_P (w) || (NILP (obj) && EQ (w->dedicated, Qt)))
break;
if (NILP (best_window))
{
register Lisp_Object w;
/* First try for a window that is full-width */
- w = window_loop (GET_LRU_WINDOW, Qt, !NILP (dedicated), frame);
+ w = window_loop (GET_LRU_WINDOW,
+ NILP (dedicated) ? make_number (1) : make_number (3),
+ 0, frame);
if (!NILP (w) && !EQ (w, selected_window))
return w;
/* If none of them, try the rest */
- return window_loop (GET_LRU_WINDOW, Qnil, !NILP (dedicated), frame);
+ return window_loop (GET_LRU_WINDOW,
+ NILP (dedicated) ? make_number (0) : make_number (2),
+ 0, frame);
}
DEFUN ("get-largest-window", Fget_largest_window, Sget_largest_window, 0, 2, 0,
(frame, dedicated)
Lisp_Object frame, dedicated;
{
- return window_loop (GET_LARGEST_WINDOW, Qnil, !NILP (dedicated),
+ return window_loop (GET_LARGEST_WINDOW, dedicated, 0,
frame);
}