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?
next prev parent 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).