From: charles@aurox.ch (Charles A. Roelli)
To: Eli Zaretskii <eliz@gnu.org>
Cc: 34723@debbugs.gnu.org
Subject: bug#34723: 27.0.50; customize and improve diff-mode recentering
Date: Thu, 07 Mar 2019 20:49:54 +0100 [thread overview]
Message-ID: <m236nyv50d.fsf@aurox.ch> (raw)
In-Reply-To: <83h8cgc7ih.fsf@gnu.org> (message from Eli Zaretskii on Wed, 06 Mar 2019 18:06:14 +0200)
> Date: Wed, 06 Mar 2019 18:06:14 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> Why does it call 'recenter'? It must have a reason, doesn't it? Does
> the history of that code gives a clue?
The doc of easy-mmode-define-navigation says:
BASE-next also tries to make sure that the whole entry is visible by
searching for its end (by calling ENDFUN if provided or by looking for
the next entry) and recentering if necessary.
There are cases where recentering does "make sure that the whole entry
is visible", but as we saw in the first post of this report, there is
at least one case where recentering makes less useful context visible.
The current implementation seems a little too eager. I'd like to fix
that, and at least allow to toggle the auto-recentering.
> Note that without recentering, if you just move point to some location
> in the diffs, when scroll-conservatively > 100, point will wind up
> either on the last screen line of the window or its first screen line,
> depending on whether you move forward or back in the buffer. The
> latter might be okay, but the former will most probably hide most of
> the hunk, which might be the reason for recentering (I'm just guessing
> here).
Yes, I think you are right. Maybe diff-mode could have just set
scroll-conservatively (or scroll-margin) in a buffer-local variable to
get this auto-recentering behavior, although that would also step on
user customizations.
next prev parent reply other threads:[~2019-03-07 19:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-03 20:38 bug#34723: 27.0.50; customize and improve diff-mode recentering Charles A. Roelli
2019-03-03 21:33 ` Juri Linkov
2019-03-04 19:06 ` Charles A. Roelli
2019-03-04 21:12 ` Juri Linkov
2019-03-05 16:11 ` Eli Zaretskii
2019-03-05 20:11 ` Charles A. Roelli
2019-03-05 20:22 ` Eli Zaretskii
2019-03-07 19:12 ` Charles A. Roelli
2019-03-05 15:46 ` Eli Zaretskii
2019-03-05 19:49 ` Charles A. Roelli
2019-03-05 19:44 ` Eli Zaretskii
2019-03-05 20:37 ` Charles A. Roelli
2019-03-06 16:06 ` Eli Zaretskii
2019-03-07 19:49 ` Charles A. Roelli [this message]
2019-03-13 19:40 ` Stefan Monnier
2019-03-13 19:56 ` Stefan Monnier
2019-03-16 19:39 ` Charles A. Roelli
2019-03-16 22:37 ` Stefan Monnier
2019-03-16 20:21 ` Charles A. Roelli
2019-03-22 19:32 ` Stefan Monnier
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=m236nyv50d.fsf@aurox.ch \
--to=charles@aurox.ch \
--cc=34723@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.