From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: joaotavora@gmail.com, emacs-devel@gnu.org
Subject: Re: jit-lock-antiblink-grace
Date: Sat, 12 Oct 2019 10:34:44 -0400 [thread overview]
Message-ID: <jwvblum2g50.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <83tv8em48z.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 12 Oct 2019 17:23:56 +0300")
>> The only case where we don't is when we can't keep up with the input
>> events in which case we skip redisplay, but that's the case where
>> we're *already* too slow.
>
> My point is that post-command-hook might be called more often than
> once per redisplay cycle, and I think we agree on that, right?
Yes, but only if we can't keep up (i.e. if the event queue is already
non-empty when we're done processing an event). So whether something is
done in redisplay or in post-command-hook doesn't affect the repeat-rate
threshold where we start skipping redisplay: it only affect how much
speed we gain by skipping redisplay (i.e. how quickly we can recover).
>> > It's a backward-incompatible behavior, and is not being developed due
>> > to bug reports,
>> It was developed because people like Alan are so bothered by the
>> flashing that they're going through lengths to find other ways to
>> avoid it.
> I'm not saying this is not a useful feature, and I'm not objecting to
> its inclusion. I'm asking why do we need to turn it on by default
> right when we introduce it.
Because I think it offers the behavior 99% of the users will want
(modulo bugs). Everyone I ever talked to about this agreed that the
current behavior is somewhat annoying and several of them mentioned
using "strategies" to avoid it (e.g. use electric-pair-mode, or be sure
to keep typing quickly so the string/comment gets closed before the
jit-lock-context-timer fires, ...).
>> > so why make it the default right from the start? It also slows down
>> > cursor motion (which should probably be in the doc string as well).
>> It shouldn't slow down cursor motion, normally (at least not in any
>> measurable way).
> Font lock does slow down Emacs, so calling it in more cases/places
> will do so as well.
AFAICT the code doesn't call font-lock.
>> > I still don't think I understand what would constitute an
>> > "unterminated string at EOL", then. Could you show two examples, one
>> > where there is such a string, the other where there isn't?
>>
>> Code like:
>>
>> var x = "foo y = "bar";
>>
>> where the user is in the middle of writing `x = "foobar";` but hasn't yet
>> closed the string.
>
> Yes, and what is the other example I asked for, where we don't have an
> unterminated string at EOL due to such editing?
That would be "any normal line", as in:
var x = "foobar"; y = "bar";
"unterminated string at EOL" means (nth 3 (syntax-ppss
(line-end-position))) is non-nil.
Stefan
next prev parent reply other threads:[~2019-10-12 14:34 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-10 22:34 jit-lock-antiblink-grace João Távora
2019-10-11 14:26 ` jit-lock-antiblink-grace Stefan Monnier
2019-10-12 9:34 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 10:57 ` jit-lock-antiblink-grace João Távora
2019-10-12 13:02 ` jit-lock-antiblink-grace Juanma Barranquero
2019-10-12 13:14 ` jit-lock-antiblink-grace João Távora
2019-10-12 14:50 ` jit-lock-antiblink-grace Juanma Barranquero
2019-10-12 15:11 ` jit-lock-antiblink-grace João Távora
2019-10-12 15:30 ` jit-lock-antiblink-grace Juanma Barranquero
2019-10-12 13:32 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 14:13 ` jit-lock-antiblink-grace Stefan Monnier
2019-10-12 14:23 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 14:34 ` Stefan Monnier [this message]
2019-10-12 15:57 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 17:16 ` jit-lock-antiblink-grace Stefan Monnier
2019-10-12 17:50 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 15:47 ` jit-lock-antiblink-grace Alan Mackenzie
2019-10-12 14:23 ` jit-lock-antiblink-grace João Távora
2019-10-12 16:04 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-12 21:55 ` jit-lock-antiblink-grace João Távora
2019-10-13 6:39 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-13 8:47 ` jit-lock-antiblink-grace João Távora
2019-10-13 9:22 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-13 10:28 ` jit-lock-antiblink-grace João Távora
2019-10-13 10:45 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-14 23:29 ` jit-lock-antiblink-grace João Távora
2019-10-15 6:48 ` jit-lock-antiblink-grace Eli Zaretskii
2019-10-15 18:28 ` jit-lock-antiblink-grace João Távora
2019-11-24 1:04 ` jit-lock-antiblink-grace João Távora
2019-11-24 16:16 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-25 18:46 ` jit-lock-antiblink-grace Alan Mackenzie
2019-11-25 19:02 ` jit-lock-antiblink-grace João Távora
2019-11-25 19:26 ` jit-lock-antiblink-grace Alan Mackenzie
2019-11-25 19:45 ` jit-lock-antiblink-grace João Távora
2019-11-25 20:11 ` jit-lock-antiblink-grace Alan Mackenzie
2019-11-25 20:23 ` jit-lock-antiblink-grace João Távora
2019-11-25 21:07 ` jit-lock-antiblink-grace João Távora
2019-11-26 2:30 ` jit-lock-antiblink-grace João Távora
2019-11-26 17:58 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-30 19:11 ` jit-lock-antiblink-grace João Távora
2019-11-30 19:22 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-30 20:12 ` jit-lock-antiblink-grace João Távora
2019-11-30 20:16 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-30 20:19 ` jit-lock-antiblink-grace João Távora
2019-11-30 20:41 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-30 22:00 ` jit-lock-antiblink-grace João Távora
2019-12-01 18:13 ` jit-lock-antiblink-grace Eli Zaretskii
2019-12-04 22:45 ` jit-lock-antiblink-grace João Távora
2019-12-05 15:40 ` jit-lock-antiblink-grace Eli Zaretskii
2019-11-26 13:43 ` jit-lock-antiblink-grace Stefan Monnier
2019-11-25 19:47 ` jit-lock-antiblink-grace Dmitry Gutov
2019-11-25 20:03 ` jit-lock-antiblink-grace João Távora
2019-10-12 16:14 ` jit-lock-antiblink-grace Alan Mackenzie
2019-10-12 22:26 ` jit-lock-antiblink-grace João Távora
2019-10-13 10:18 ` jit-lock-antiblink-grace Alan Mackenzie
2019-10-13 10:48 ` jit-lock-antiblink-grace João Távora
2019-10-13 12:02 ` jit-lock-antiblink-grace Alan Mackenzie
2019-10-13 19:57 ` jit-lock-antiblink-grace João Távora
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=jwvblum2g50.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=joaotavora@gmail.com \
/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.