all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.





  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.