all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: John Shahid <jvshahid@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Default value of recenter-redisplay
Date: Sun, 29 Apr 2018 22:11:01 +0000	[thread overview]
Message-ID: <87vac9ll3t.fsf@gmail.com> (raw)
In-Reply-To: <83po2hsy6s.fsf@gnu.org>


Eli Zaretskii <eliz@gnu.org> writes:

>> From: John Shahid <jvshahid@gmail.com>
>> Date: Sun, 29 Apr 2018 14:10:29 +0000
>>
>> Today I decided to tackle a flicker issue that happens when the flycheck
>> error list is displayed for the current buffer(i.e. by calling
>> `flycheck-list-errors' interactively). It turns out the flickering is
>> caused by a call to recenter[1] that happens inside a flycheck
>> post-command-hook[2]. Setting `recenter-redisplay' to nil fixes the
>> issue.
>
> Btw, everything that was said about using 'recenter' to clean up the
> screen mess is only related to invoking that command interactively.
> If Flycheck needs to invoke it without causing flickering on TTYs, it
> can let-bind recenter-redisplay around the call.  Please consider
> suggesting that to the Flycheck developer(s).

I have given this more thought since my initial post. I understand
the arguments for not changing the default behavior and I support them
given that I have occasionally used C-l to redraw the frame. That said,
I would like to propose something else. I feel that `recenter' is a
primitive command that shouldn't combine more than one functionality
(i.e. recenter and redisplay). Could we either:

1. introduce a new lisp function for recentering and discourage the use
of `recenter' from lisp (i.e. declaring it `interactive-only'), or
2. add a new `recenter-and-redisplay' and bound it to C-l

My argument for the change is that the only use case for the redisplay
is when called interactively. I don't think the intention of calling
`recenter' in lisp code is to also redisplay the frame. I also find it
annoying to have to wrap every call to `recenter' in a let-bind.

cheers,

-js



  reply	other threads:[~2018-04-29 22:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-29 14:10 Default value of recenter-redisplay John Shahid
2018-04-29 14:47 ` Amos Bird
2018-04-29 15:02 ` Göktuğ Kayaalp
2018-04-29 15:18 ` Eli Zaretskii
2018-04-29 17:07   ` Bob Proulx
2018-04-29 17:29     ` tomas
2018-04-29 19:50       ` Drew Adams
2018-04-29 17:36     ` Drew Adams
2018-04-29 17:46 ` Eli Zaretskii
2018-04-29 22:11   ` John Shahid [this message]
2018-04-30 12:38     ` Stefan Monnier
2018-05-01  1:18       ` unknown

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=87vac9ll3t.fsf@gmail.com \
    --to=jvshahid@gmail.com \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@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.