unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Juri Linkov <juri@linkov.net>
Cc: 32839@debbugs.gnu.org
Subject: bug#32839: 27.0.50; recenter doesn't redisplay
Date: Sun, 30 Sep 2018 09:08:20 +0300	[thread overview]
Message-ID: <83a7nz5xgr.fsf@gnu.org> (raw)
In-Reply-To: <87k1n3ev6e.fsf@mail.linkov.net> (message from Juri Linkov on Sun, 30 Sep 2018 02:32:57 +0300)

> From: Juri Linkov <juri@linkov.net>
> Cc: 32839@debbugs.gnu.org
> Date: Sun, 30 Sep 2018 02:32:57 +0300
> 
> I see that before the recent changes, on a TTY 'C-l' and
> all non-interactive calls of 'recenter' cleared the frame,
> but now only interactive calls of 'recenter' redraw the frame.

More or less, yes.  There's still a way to call 'recenter'
non-interactively in a way that will cause the frame to be redrawn,
but it needs a special arrangement.

> OTOH, what I'm trying to achieve here is to allow C-l with a non-nil
> argument to refresh the *Messages* buffer when recenter-redisplay is t.

That's not C-l's purpose, so IMO you are using the wrong tool for the
job.

> An additional problem is that when 'recenter-positions' is customized
> to not contain the keyword 'middle', then 'recenter-top-bottom' never
> uses a nil arg of 'recenter', thus never redraws the frame.

Again, it is not recenter-redisplay's purpose to redraw the frame.  If
you want to redraw the frame, there's a command for that (and much
more): redraw-display.  There's also a function redraw-frame.

> But since redrawing a frame causes flickering, I'm not interested
> in setting recenter-redisplay to t.  So I could implement more
> fundamental changes for this only if you insist.

I don't think any changes are necessary, because the functions
mentioned all work as intended.  I'm not interested in making the
complex arrangement we already have even more complex.  It is already
quite an unholy mess.

> However, a minimal change that is needed here is to fix inconsistencies
> in the recent changes: the argument name 'redisplay' is confusing -
> it implies that it overrides the default value of recenter-redisplay
> to force the redisplay.  A proper name would be 'interactive'.
> There are dozens of commands already that use this naming convention.

I don't think I agree.  The current name reflects what that argument
causes, you just interpret "redisplay" to mean "redraw the frame",
which is not an accurate interpretation, since the display engine has
its own logic to decide what exactly needs to be redrawn at any
particular moment.

Renaming the argument as you propose would be a step backwards, since
it describes the _purpose_ (as opposed to _effect_) of that argument,
and that could easily change with further development, and is not
accurate even with the current code.





  reply	other threads:[~2018-09-30  6:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-25 19:11 bug#32839: 27.0.50; recenter doesn't redisplay Juri Linkov
2018-09-25 20:08 ` Eli Zaretskii
2018-09-25 20:55   ` Juri Linkov
2018-09-26  5:39     ` Eli Zaretskii
2018-09-26 23:55       ` Juri Linkov
2018-09-27  6:44         ` Eli Zaretskii
2018-09-27 22:59           ` Juri Linkov
2018-09-28  6:22             ` Eli Zaretskii
2018-09-29 23:32               ` Juri Linkov
2018-09-30  6:08                 ` Eli Zaretskii [this message]
2018-09-30 19:40                   ` Juri Linkov
2018-10-01  5:34                     ` Eli Zaretskii
2018-09-29 23:38               ` Juri Linkov
2018-09-30  6:22                 ` Eli Zaretskii
2018-09-30 19:46                   ` Juri Linkov
2018-10-01  6:58                     ` Eli Zaretskii
2018-10-08 22:56                   ` Juri Linkov
2018-10-09  7:44                     ` martin rudalics
2020-02-07  0:30           ` Juri Linkov

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=83a7nz5xgr.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=32839@debbugs.gnu.org \
    --cc=juri@linkov.net \
    /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).