From: "Jorgen Schäfer" <jorgen.schaefer@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 23098@debbugs.gnu.org
Subject: bug#23098: 25.0.92; (recenter -1) can leave point in the middle of the window
Date: Thu, 24 Mar 2016 16:27:53 +0000 [thread overview]
Message-ID: <CALqDrSdksWUz35oL47GX66YLRmw1pq+-CBfp80RSPTF4-0gyVQ@mail.gmail.com> (raw)
In-Reply-To: <8360wb3mj5.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2171 bytes --]
> If you do the above, do you still get the cursor recentered in the
> window?
Hm. That seems to work. I was using let-binding around recenter, which does
not work. Even resetting scroll-conservatively after the call to recenter
will exhibit the bug again. So setting scroll-conservatively is a possible
workaround, although it means that *all* scrolling will be affected by
scroll-conservatively. E.g. scrolling through the backlog of a M-x shell
session would be affected, even though it just should affect the scrolling
when the last line of the buffer is visible at all.
On Thu, Mar 24, 2016 at 4:48 PM Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Jorgen Schäfer <jorgen.schaefer@gmail.com>
> > Date: Thu, 24 Mar 2016 08:12:08 +0000
> > Cc: 23098@debbugs.gnu.org
> >
> > > 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.
>
[-- Attachment #2: Type: text/html, Size: 2828 bytes --]
next prev parent reply other threads:[~2016-03-24 16:27 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-23 18:40 bug#23098: 25.0.92; (recenter -1) can leave point in the middle of the window Jorgen Schaefer
2016-03-23 19:18 ` Eli Zaretskii
2016-03-23 19:40 ` Jorgen Schäfer
2016-03-23 20:22 ` Eli Zaretskii
2016-03-24 8:12 ` Jorgen Schäfer
2016-03-24 15:47 ` Eli Zaretskii
2016-03-24 16:27 ` Jorgen Schäfer [this message]
2016-03-24 16:38 ` Eli Zaretskii
2016-03-26 23:27 ` John Wiegley
2016-03-27 8:35 ` Andreas Schwab
2016-03-27 15:07 ` Drew Adams
2016-03-28 13:10 ` Jorgen Schäfer
2016-03-28 17:28 ` Eli Zaretskii
2016-03-28 17:41 ` Jorgen Schäfer
2016-03-28 17:59 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CALqDrSdksWUz35oL47GX66YLRmw1pq+-CBfp80RSPTF4-0gyVQ@mail.gmail.com \
--to=jorgen.schaefer@gmail.com \
--cc=23098@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.