emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-pp


From: David Kastrup
Subject: Re: /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch
Date: Thu, 13 Feb 2014 14:46:11 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>> In 99% of the cases, syntax-ppss is only called once during font-lock.
>>> So, while in theory, yes, we might still get some benefits, in practice
>>> we don't.
>> `syntax-propertize' can call it multiple times, though (at least in the case
>> of ruby-mode), and that's called as often as font-lock.
>
> Yes, that's part of the remaining 1%.
>
>> By the way, AFAICT, the juggling of local variables between modes (save,
>> restore, rinse, repeat) is one of the major factors in mmm-mode performance.
>
> I can believe that.
>
>> There was an old `multi-mode' by Dave Love that used indirect buffers to
>> keep the buffer-local values around, and switched between them in
>> post-command-hook (which might or might not have been a good idea) and in
>> `multi-fontify-region', taking advantage of the fact that fontification in
>> an indirect buffer translates into the base buffer.
>> Now I hear that we shouldn't use indirect buffers.
>
> Indeed, I don't think using an indirect buffer is a good solution.
> I'm not even sure it's faster than mmm's "manual" variable switch.

Using different modes on a buffer would seem like a rather canonical use
case for indirect buffers.  If they don't work well for that, one needs
to think about _what_ would work better.  That may mean improving
indirect buffers or creating something different.  In which case one
should recheck whether indirect buffers work well for _anything_.

-- 
David Kastrup




reply via email to

[Prev in Thread] Current Thread [Next in Thread]