Subject: Re: bug#22637: 25.1.50; `mode-line` face `:height` incompatible with `scroll-conservatively 101`.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 14 Feb 2016 21:26:47 +0200

> Date:  Sat, 13 Feb 2016 23:55:50 -0800
> From:  Keith David Bershatsky <[email-masked]>
> Cc:  [email-masked]
> 
> The following example of problem 22637 is for emacs-25 branch built this evening (February 13, 2016) on Windows (XP).  I believe this relates to the "recenter" portion of `xdisp.c`.  The cursor looks like it is resting at the top of the window, when point is actually beneath the bottom of the window.

Recentering had nothing to do with this.  It was due to a stupid typo
made 2.5 years ago.  Now fixed on the emacs-25 branch.

For the record, here's a variant of your test case that avoids
triggering the undo timer (provided you don't move the mouse after
pressing F1) and also makes the lines of text different to make it
evident when cursor jumps or the window is scrolled:

(face-spec-set 'mode-line
 '((((class color) (min-colors 88))
    :box (:line-width -1 :style released-button)
    :background "grey75" :foreground "black" :height 120)
   (t
    :inverse-video t)))

(setq scroll-conservatively 101)
(global-eldoc-mode -1)
(global-font-lock-mode -1)
(blink-cursor-mode -1)

(defun test ()
  (interactive)
  (switch-to-buffer (get-buffer-create "*foo*"))
  (buffer-disable-undo)
  (setq undo-auto-current-boundary-timer t
	timer-list (delq 'undo-auto--boundary-timer timer-list))
  (dotimes (i 200)
    (insert (format "I will not obey absurd orders %d.\n" i)))
  (goto-char (point-min))
  (goto-char (- (point-max) 1000)))

(global-set-key [f1] 'test)