unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: John Shahid <jvshahid@gmail.com>
Cc: 31325@debbugs.gnu.org, monnier@iro.umontreal.ca
Subject: bug#31325: 27.0.50; PROPOSAL: introduce a new function to recenter without redisplaying the frame
Date: Mon, 02 Jul 2018 18:18:20 +0300	[thread overview]
Message-ID: <83y3etk6o3.fsf@gnu.org> (raw)
In-Reply-To: <87muvaxth1.fsf@gmail.com> (message from John Shahid on Mon, 02 Jul 2018 02:27:22 +0000)

> From: John Shahid <jvshahid@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, 31325@debbugs.gnu.org, monnier@iro.umontreal.ca
> Date: Mon, 02 Jul 2018 02:27:22 +0000
> 
> Are you confusing redisplaying the window that is displaying the buffer
> with clearing and redisplaying the entire tty frame ? This patch
> addresses the latter.  To be clear, `recenter' will redisplay the window
> displaying the buffer and this patch doesn't change that behavior.

Indeed, I think there's some confusion here.  Recentering a window
will always trigger redisplay of that window if the new point is out
of view, or if enters the display margins.  But it doesn't necessarily
clear and redraw the entire frame.

For the record: historically, 'recenter' always cleared the entire
frame and drew it anew.  Then, almost exactly 9 years ago, we changed
the default behavior to clear and redraw frame only on TTYs, and
introduced a variable, recenter-redisplay, to disable redrawing even
of TTY frames.

The current change goes a step further in the same direction: it
modifies the behavior of non-interactive calls of 'recenter', such
that even on a TTY it doesn't by default redraw the entire frame,
unless the caller explicitly requests that.  If not specifically
requested, 'recenter' called non-interactively will just recenter (and
trigger redisplay of the window which it recentered, if necessary).
The rationale for this change is that the vast majority of
non-interactive callers of 'recenter' have no reason to redraw the
entire frame, and recenter-redisplay is a knob meant to control only
the interactive behavior.





  reply	other threads:[~2018-07-02 15:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01  0:48 bug#31325: 27.0.50; PROPOSAL: introduce a new function to recenter without redisplaying the frame John Shahid
2018-05-08  1:37 ` Stefan Monnier
2018-06-28 13:27   ` John Shahid
2018-06-30  9:45     ` Eli Zaretskii
2018-06-30 20:20       ` John Shahid
2018-07-01  9:05         ` martin rudalics
2018-07-01 13:17           ` John Shahid
2018-07-01 16:22             ` Eli Zaretskii
2018-07-01 16:54               ` John Shahid
2018-07-01 17:03                 ` Eli Zaretskii
2018-07-01 17:14                   ` Eli Zaretskii
2018-07-01 17:25                     ` John Shahid
2018-07-01 20:17                       ` Drew Adams
2018-07-01 20:56                         ` John Shahid
2018-07-01 23:04                           ` Drew Adams
2018-07-02  2:27                             ` John Shahid
2018-07-02 15:18                               ` Eli Zaretskii [this message]
2018-07-01 17:18                   ` John Shahid
2018-07-01 18:05                     ` Eli Zaretskii
2018-07-01 18:58                       ` John Shahid
2018-07-02 15:22                         ` Eli Zaretskii
2018-07-02 20:38                           ` John Shahid
2018-07-03  8:49                             ` Robert Pluim
2018-07-03 16:38                             ` John Shahid
2018-07-07  9:09                               ` 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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83y3etk6o3.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=31325@debbugs.gnu.org \
    --cc=jvshahid@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).