From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: interacting during (sit-for 0). Was: [PATCH] 5x speedup of flyspell-buffer
Date: Fri, 14 Apr 2023 18:51:31 -0700 [thread overview]
Message-ID: <ZDoDI438oEVYTFnV@math.berkeley.edu> (raw)
In-Reply-To: <ZDfYFuWjkyDjVpVV@math.berkeley.edu>
On Thu, Apr 13, 2023 at 03:23:18AM -0700, Ilya Zakharevich wrote:
> P.S. BTW, there is very little need to lock the UI. On my (very old
> and slow) system, these 10,000 misspellings are reported in 300ms
> (even though aspell is cygwin — read “slow” — one). After this
> list of misspellings is swallowed, the rest of marking can be
> done asynchronously, via timers.
>
> I may try to find more time to investigate (and maybe implement) this…
In fact, I think there is a much better way to work around this.
Suppose that a variable `recursive-edit-exit-on-idle' is supported by
the even loop. Would then the following code implement
(sit-for-0-interactively 'READ-ONLY)
correctly?
(if (or unread-command-events unread-input-method-events unread-post-input-method-events)
;;; (with-current-buffer flyspell-large-region-buffer
(let ((buffer-read-only t) (inhibit-read-only nil)
(recursive-edit-exit-on-idle t))
(condition-case nil
(recursive-edit)
(error nil))));;;)
Thanks,
Ilya
next prev parent reply other threads:[~2023-04-15 1:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-12 13:50 [PATCH] 5x speedup of flyspell-buffer Ilya Zakharevich
2023-04-13 6:54 ` Eli Zaretskii
2023-04-13 10:23 ` Ilya Zakharevich
2023-04-13 10:32 ` Eli Zaretskii
2023-04-13 20:29 ` Ilya Zakharevich
2023-04-14 5:47 ` Eli Zaretskii
2023-04-14 6:39 ` Dr. Arne Babenhauserheide
2023-04-14 6:54 ` Eli Zaretskii
2023-04-15 1:51 ` Ilya Zakharevich [this message]
2023-04-15 2:01 ` interacting during (sit-for 0). Was: " Ilya Zakharevich
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=ZDoDI438oEVYTFnV@math.berkeley.edu \
--to=nospam-abuse@ilyaz.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@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.