[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: jit-lock called at EOB?
From: |
Stefan Monnier |
Subject: |
Re: jit-lock called at EOB? |
Date: |
Fri, 29 Sep 2006 08:58:56 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
>> The recent problems of "looping in jit-lock / redisplay" seem to be caused
>> by the fact that every redisplay will call jit-lock at EOB because the
>> text-property value of `fontified' at EOB is always nil (this is because
>> get-text-property treats requests at EOB specially: there is no char there,
>> so there can't be a property either, but instead of signalling an error it
>> returns nil).
>>
>> I've worked around this problem now in jit-lock by ignoring requests to
>> fontify empty regions of text, but I believe the real bug is in the C code
>> which shouldn't call jit-lock at all. So I suggest the patch below.
>>
>> Any objection?
> [Please ignore previous _incomplete_ message ...]
> Looks good to me.
> But I would write it like this, since there is no reason to
> lookup the property at eob:
I figured that this test is the least discriminating one, so it's better to
do it last. Doing it before the call to Fget_text_property will only save
us a call to Fget_text_property in the rare case of EOB.
The way I wrote it, it only adds a test in the case where jit-lock would
normally be invoked, so the performance impact is clearly minimal.
Of course, in the end I'm pretty sure neither alternative will make
any difference.
Stefan