From: Eli Zaretskii <eliz@gnu.org>
To: larsi@gnus.org
Cc: Emacs-hacker2018@jovi.net, 45898@debbugs.gnu.org
Subject: bug#45898: 27.1; wedged in redisplay again
Date: Wed, 08 Jun 2022 18:58:08 +0300 [thread overview]
Message-ID: <8335gf5er3.fsf@gnu.org> (raw)
In-Reply-To: <83a6an5jt3.fsf@gnu.org> (message from Eli Zaretskii on Wed, 08 Jun 2022 17:08:56 +0300)
> Cc: Emacs-hacker2018@jovi.net, 45898@debbugs.gnu.org
> Date: Wed, 08 Jun 2022 17:08:56 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > From: Lars Ingebrigtsen <larsi@gnus.org>
> > Cc: Emacs-hacker2018@jovi.net, 45898@debbugs.gnu.org
> > Date: Wed, 08 Jun 2022 13:47:28 +0200
> >
> > But if we had this facility (i.e., a way to make Emacs call some
> > function after `C-g'-ing a lot during redisplay), then we can start
> > experimenting -- and users can, too. So I think having a
> > `break-during-redisplay-function' variable that specifies something to
> > be called in these situations would allow some possible progress in this
> > area.
>
> One problem with this is that we already have the "emergency exit"
> feature, which is triggered by 2 or more C-g's. This only works
> reliably on TTY frames, but it's still a feature we don't want to
> lose.
>
> The other problem is that I don't know how to do this safely.
Btw, this says "redisplay", but that's somewhat misleading: in many
cases I've seen, at least half of the time, and sometimes most of it,
is spent in the move_it_* functions, which are called both from the
display engine (to make layout decisions), and more-or-less directly
from Lisp, like via posn-at-point, vertical-motion, and scrolling
commands. These are not "redisplay", strictly speaking, although they
reuse a lot of the display code.
So one challenge is to detect the "during redisplay" situation,
including the fact that it's "still the same redisplay cycle".
As for the C-g idea, I think a better and cleaner idea would be to use
atimers to detect signs of potentially a very long redisplay cycle,
and then do...something. Not unlike what we already do with the
hourglass-cursor feature.
Other clever ideas are welcome.
next prev parent reply other threads:[~2022-06-08 15:58 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-15 18:13 bug#45898: 27.1; wedged in redisplay again Devon Sean McCullough
2022-06-07 13:37 ` Lars Ingebrigtsen
2022-06-07 14:00 ` Eli Zaretskii
[not found] ` <b7f81bfc-bbfb-83bc-3660-d0b1474498f7@jovi.net>
2022-06-07 15:53 ` Eli Zaretskii
2022-06-08 11:47 ` Lars Ingebrigtsen
2022-06-08 14:08 ` Eli Zaretskii
2022-06-08 15:58 ` Eli Zaretskii [this message]
2022-06-09 10:30 ` Lars Ingebrigtsen
2022-06-09 10:45 ` Eli Zaretskii
2022-06-09 11:04 ` Lars Ingebrigtsen
2022-06-09 13:09 ` Eli Zaretskii
2022-06-09 13:36 ` Lars Ingebrigtsen
2022-06-09 15:56 ` Eli Zaretskii
2022-06-10 9:02 ` Lars Ingebrigtsen
2022-06-12 9:48 ` Eli Zaretskii
2022-06-12 10:23 ` Lars Ingebrigtsen
2022-06-12 14:23 ` Eli Zaretskii
2022-06-12 18:02 ` Eli Zaretskii
2022-06-13 12:10 ` Lars Ingebrigtsen
2022-06-13 12:57 ` Eli Zaretskii
2022-06-13 22:40 ` Phil Sainty
2022-06-14 12:45 ` Eli Zaretskii
2022-06-18 8:01 ` Eli Zaretskii
2022-06-20 11:58 ` Eli Zaretskii
2022-06-20 19:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-21 10:14 ` Eli Zaretskii
2022-06-21 20:38 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-22 2:33 ` Eli Zaretskii
2022-06-22 23:39 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-23 6:08 ` Eli Zaretskii
2022-06-23 21:14 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-24 7:57 ` Eli Zaretskii
2022-06-25 4:54 ` Gerd Möllmann
2022-06-25 6:29 ` Eli Zaretskii
2022-06-25 7:47 ` Eli Zaretskii
2022-06-25 8:18 ` Gerd Möllmann
2022-06-25 9:49 ` Gerd Möllmann
2022-06-25 9:57 ` Eli Zaretskii
2022-06-25 11:10 ` Gerd Möllmann
2022-06-25 11:29 ` Eli Zaretskii
2022-06-25 12:20 ` Gerd Möllmann
2022-06-25 12:54 ` Eli Zaretskii
2022-06-25 12:57 ` Gerd Möllmann
2022-06-29 16:18 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-29 19:07 ` Eli Zaretskii
2022-06-29 21:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-30 5:14 ` Eli Zaretskii
2022-06-30 17:22 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-30 18:35 ` Eli Zaretskii
2022-06-30 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-01 4:42 ` Gerd Möllmann
2022-07-01 6:04 ` Eli Zaretskii
2022-07-01 8:49 ` Gerd Möllmann
2022-07-01 10:31 ` Eli Zaretskii
2022-07-01 11:04 ` Gerd Möllmann
2022-07-01 11:12 ` Eli Zaretskii
2022-07-01 11:33 ` Gerd Möllmann
2022-07-01 11:44 ` Gerd Möllmann
2022-07-01 12:35 ` Gerd Möllmann
2022-07-01 12:56 ` Eli Zaretskii
2022-07-01 12:39 ` Eli Zaretskii
2022-07-01 5:27 ` Eli Zaretskii
2022-07-01 12:14 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-01 12:51 ` Eli Zaretskii
2022-07-01 14:38 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-01 15:43 ` Eli Zaretskii
2022-06-14 12:00 ` Lars Ingebrigtsen
2022-06-14 13:00 ` Eli Zaretskii
2022-06-09 10:25 ` Lars Ingebrigtsen
2022-06-09 10:40 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-06-09 10:41 ` Eli Zaretskii
2022-06-09 10:48 ` Lars Ingebrigtsen
2022-06-09 13:06 ` Eli Zaretskii
[not found] <165605725704.24125.17210424600068379407@vcs2.savannah.gnu.org>
[not found] ` <20220624075417.BFA82C0169C@vcs2.savannah.gnu.org>
[not found] ` <87wnd6v34k.fsf@gnus.org>
[not found] ` <83mte2coqg.fsf@gnu.org>
[not found] ` <87fsjuqpzi.fsf@gnus.org>
[not found] ` <83k096clsx.fsf@gnu.org>
[not found] ` <8735fup5oh.fsf@gnus.org>
[not found] ` <83a6a2cher.fsf@gnu.org>
[not found] ` <874k09nau4.fsf@gnus.org>
2022-06-25 7:17 ` Eli Zaretskii
2022-06-25 10:10 ` Lars Ingebrigtsen
2022-06-25 11:21 ` 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=8335gf5er3.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=45898@debbugs.gnu.org \
--cc=Emacs-hacker2018@jovi.net \
--cc=larsi@gnus.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 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).