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: Sat, 30 Jun 2018 12:45:18 +0300	[thread overview]
Message-ID: <83lgawmwup.fsf@gnu.org> (raw)
In-Reply-To: <87sh57yrax.fsf@gmail.com> (message from John Shahid on Thu, 28 Jun 2018 13:27:34 +0000)

> From: John Shahid <jvshahid@gmail.com>
> Date: Thu, 28 Jun 2018 13:27:34 +0000
> Cc: 31325@debbugs.gnu.org
> 
> >> 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
> >> Also, Stefan's suggestion/possible solution:
> >> 3. adding an argument to `recenter' to control the redisplay behavior
> >
> > Either of those is OK.  The benefit of the 3rd is that it would likely
> > "magically fix" 99% of the existing uses (I'm thinking of adding an
> > optional argument which we could call `and-redisplay` which when non-nil
> > tells recenter to do a redisplay, so all existing Elisp calls would be
> > implicitly modified not to cause a redisplay).
> 
> I ended up going with option 3. I also used `redisplay` instead of
> `and-redisplay`. I felt the `and` is redundant, not sure how strongly
> you feel about the name.

Thanks, but please also include a NEWS entry announcing the change,
and a suitable change for the ELisp manual.

And I have a few comments:

> -  (register Lisp_Object arg)
> +  (register Lisp_Object arg, register Lisp_Object redisplay)

I believe nowadays we remove the 'register' qualifiers whenever we
change code that uses them.

>  {
>    struct window *w = XWINDOW (selected_window);
>    struct buffer *buf = XBUFFER (w->contents);
> @@ -5933,8 +5934,9 @@ and redisplay normally--don't erase and redraw the frame.  */)
>  
>    if (NILP (arg))
>      {
> -      if (!NILP (Vrecenter_redisplay)
> -	  && (!EQ (Vrecenter_redisplay, Qtty)
> +      if (!NILP (redisplay)
> +	  && !NILP (Vrecenter_redisplay)
> +	  && (!EQ (redisplay, Qtty)
                   ^^^^^^^^^
This should have been Vrecenter_redisplay, right?





  reply	other threads:[~2018-06-30  9:45 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 [this message]
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
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=83lgawmwup.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).