diff --git a/src/window.c b/src/window.c index eb16e2a433..6da804bbd9 100644 --- a/src/window.c +++ b/src/window.c @@ -2668,7 +2668,7 @@ decode_next_window_args (Lisp_Object *window, Lisp_Object *minibuf, Lisp_Object XSETWINDOW (*window, w); /* MINIBUF nil may or may not include minibuffers. Decide if it does. */ - if (NILP (*minibuf)) + if (WINDOWP (miniwin) & NILP (*minibuf)) *minibuf = this_minibuffer_depth (XWINDOW (miniwin)->contents) ? miniwin : Qlambda; @@ -2682,9 +2682,7 @@ decode_next_window_args (Lisp_Object *window, Lisp_Object *minibuf, Lisp_Object /* ALL_FRAMES nil doesn't specify which frames to include. */ if (NILP (*all_frames)) *all_frames - = (!EQ (*minibuf, Qlambda) - ? FRAME_MINIBUF_WINDOW (XFRAME (w->frame)) - : Qnil); + = (WINDOWP (miniwin) && !EQ (*minibuf, Qlambda)) ? miniwin : Qnil; else if (EQ (*all_frames, Qvisible)) ; else if (EQ (*all_frames, make_fixnum (0)))