Running GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601) of 2012-06-10 on MARVIN under Windows 7. Define: (defun f (n) (save-excursion (forward-line (- n)) (recenter 0))) Let H be the window height in lines, and suppose that point is positioned at the beginning of line L > H. Despite 'save-excursion', (f K) moves point if K = H. It leaves point unchanged for any other value of K, 0 <= K < L.