Subject: Re: bug#31325: 27.0.50; PROPOSAL: introduce a new function to recenter without redisplaying the frame

From: John Shahid <[email-masked]>
Date: Sun, 01 Jul 2018 20:56:00 +0000

Drew Adams <[email-masked]> writes:

> Sorry, but I've not been following this bug thread.
> I took only a (very) quick look at it, at
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31325.
>
> It looks like you are changing the default behavior of
> `recenter', which is a backward-incompatible change.

That's right but only for non-interactive uses of `recenter'.  All
interactive uses should remain backward compatible.

> Am I right about that, so that all Lisp calls of that
> function would now need to be changed, to add a non-nil
> 2nd arg in order to keep the same behavior?

That's right but only if the caller need to redisplay the frame.  Are
you aware of any lisp calls that make use of that feature
(i.e. redisplay the frame as well as recenter) ? I'm only aware of two
uses in Flycheck and `xref-find-definitions'.  IMHO, in both cases the
redisplay side-effect is undesirable.

> The reported bug was only about a problem for Emacs in
> a terminal, right?  Can't it just be fixed to DTRT in
> that case, without changing so much in the definition
> and behavior of the function?

I am not sure what does the right thing mean in this case.  AFAIK, the
patch was trying to do the right thing by keeping the interactive use
backward compatible but prevent calling `recenter' from lisp from
redisplaying the frame.

> And in the old days people used Emacs mainly (and
> originally, only) in the terminal.  Why is the terminal
> behavior suddenly considered to be bugged?  Or given
> that it is bugged - is changing the default behavior
> the best fix?

I only use Emacs from the terminal, in fact I compile emacs `without-x`
since I never use the GUI.

> Please ignore, if my understanding is wrong or my
> comments on this are not helpful.

I think it is very valuable to have more feedback on the patch.  That
said, I am still having trouble understanding what are your concerns.

Cheers,