[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Three strikes them out
From: |
Stefan Monnier |
Subject: |
Re: Three strikes them out |
Date: |
Sun, 01 Jun 2008 22:16:24 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
>> >> What makes you think the problem is in the timers?
>> >> I can't remember encountering such a problem.
>> >
>> > I know that something is looping during fontification. (Sometimes it is
>> > my bad, sometimes it is things I do not understand.)
>>
>> What happens when you set `jit-lock-context-time' to a very large value?
> I can dig up one of those cases that loops and try it, but why do you
> propose that? (It might of course help a bit to find out where the problem
> happens and I have one case where this could indeed be interesting, but I am
> not sure if that is what you mean.)
> The general problem that looping in a timer may hang Emacs is what I really
> wanted to address here.
Yes, but depending on how it happens, the way to solve it may
be different. E.g. is the problem that C-g is ignored? Or that it is
obeyed but we immediately get back into the problematic code?
Is the problematic code really triggered by timers, rather than by
display hooks like jit-lock?
I think there's a lot of room for improvement in how Emacs allows the
user to get back control in some cases, but this is all very difficult.
Regarding Miles's issue with "hitting C-g frantically", this is an
important point (I do that too in all kinds of cases), but that doesn't
mean we can't do what you want: it just means we have to distinguish
those two situations. E.g. the "3 C-g" rules might only apply if
some amount of time elapses between them, and if the currently running
code in all 3 is "similar", ... that doesn't sound quite right either,
but that just indicates that it's a hard problem ;-)
Stefan