I think this change: 2006-09-06 Kim F. Storm * xdisp.c (pos_visible_p): Remove exact_mode_line_heights_p arg; so calculate heights even when pos-visible-in-window-p is called with partially = t. Don't overshoot last_visible_y in move_it_to. Return row height and row number in new rowh and vpos args. (cursor_row_fully_visible_p): First line is always "fully visible". (try_window): Don't clear matrix if vscrolled. introduced a bug in one-line windows (i.e. minibuffer). Especially the part « Don't overshoot ... ». - Test case: emacs -Q M-x set-variable RET window-min-height RET 1 RET Make the buffer empty and the window 1 line. type « kungfu ». Use M-: (pos-visible-in-window-p nil nil t) on different points : o C-a (bob) -> (0 0) o on the `g' -> (21 0) o C-e (eob (there's no \n)) -> nil This is due to move_it_to that returns an `it' with 1 as its IT_CHARPOS on single-line windows. - I propose the following change (revert):