|
From: | Dmitry Gutov |
Subject: | Re: /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch |
Date: | Wed, 12 Feb 2014 06:24:01 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 12.02.2014 03:30, Stefan Monnier wrote:One option is to have a hook that takes a (POS . PPSS) pair, which syntax-ppss intends to use as a starting point for parsing, and return a new such pair to use instead, where the returned position should always be >= POS.
A problem: suppose point is in a primary mode region, and POS is in a submode region above it. Then we can't use the value of PPSS at all.
Does the hook re-scan the buffer from the beginning? On 12.02.2014 04:49, Dmitry Gutov wrote:
We call `syntax-ppss', happily report to it that the value at point (or some position near it) can be used until point + 400. Then move a few chars lower and delete the rest of the given region. NEXT-BOUNDARY becomes stale, and calling `syntax-ppss' from the region below can return a wrong value.
I suppose this could be handled if `syntax-ppss-flush-cache' removed or modified the cache entries where NEXT-BOUNDARY is after BEG. And by modified, I mean set NEXT-BOUNDARY to BEG.
[Prev in Thread] | Current Thread | [Next in Thread] |