bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#22983: syntax-ppss returns wrong result.


From: Dmitry Gutov
Subject: bug#22983: syntax-ppss returns wrong result.
Date: Sat, 9 Sep 2017 15:18:11 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Thunderbird/56.0

On 9/9/17 1:20 PM, Alan Mackenzie wrote:

In the implementation, I have left the function `syntax-ppss' untouched
except for adding a function call to set up the cache right at the
start.  I have refactored syntax-ppss-flush-cache, extracting a function
which is called directly from the cache-selecting code.  Other than
that, there is one new function (which switches the current cache in
use) and a few new variables to keep track of the caches.

Not sure I understand. If you call (syntax-ppss) with significantly different narrowings without flushing the cache (e.g. without modifying the buffer), sounds like it'll have to return the same results under the described implementation.

If so, it doesn't sound strict enough.

Caveats:

- This solves the dependency on point-min, but does nothing about the
dependency on the current syntax-table (which can change). I'm not
necessarily suggesting we try to solve that now, though.

I had some ideas on this back in the spring (about having "indirect
variables") which could be used quickly to "swap out" the current
syntax-table text properties, and (more importantly) quickly swap them
back in.  But that's for another day.

I admit I'm not sure what all this implies.

- Before this change is pushed to master, or shortly after, I'd like to
know that it actually fixed the problem Philipp experienced with
python-mode, so we can revert 4fbd330. If it was caused by e.g.
syntax-table changing, we've not improved much.

I am naturally interested in this, too.  If my patch doesn't fix this
bug, at least it will have removed a layer of fog inhibiting its
investigation.

Let's hope so.





reply via email to

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