Subject: Re: bug#23098: 25.0.92; (recenter -1) can leave point in the middle of the window

From: Eli Zaretskii <[email-masked]>
Date: Thu, 24 Mar 2016 17:47:58 +0200

> From: Jorgen Schäfer <[email-masked]>
> Date: Thu, 24 Mar 2016 08:12:08 +0000
> Cc: [email-masked]
> 
> > If you set scroll-conservatively to a value larger than 100, don't you
> > get point as low as possible?
> 
> No.

That's strange.

Let me be absolutely sure we are trying the same thing.  What I did is
the following:

  . emacs -Q
  . paste the following into *scratch*, which is exactly the code you
    posted with a single line added:

    (require 'cl)
    (let* ((b (get-buffer-create "*Bug Repro*"))
	   (w (selected-window))
	   (l (window-height w))
	   o)
      (set-window-buffer w b)
      (select-window w)
      (set-buffer b)
      (erase-buffer)
      (setq scroll-conservatively 101) ;; <<<<< this line was added
      (cl-dotimes (i (* l 2))
		  (insert "foo\n"))
      (goto-char (point-min))
      (forward-line (+ l 2))
      (setq o (make-overlay (point) (point)))
      (overlay-put o 'after-string "\n")
      (goto-char (point-max))
      (recenter -1))

  . M-x eval-region RET

After this, buffer "*Bug Repro*" pops up, with point at EOB positioned
on the 2nd line from bottom of the window (instead of the last line).

If you do the above, do you still get the cursor recentered in the
window?  If so, I will try to play with display defaults in order to
reproduce what you see.

Thanks.