diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-06-26 08:59:38 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-06-26 08:59:38 -0400 |
commit | 6a96d1773469e671a3d5710bedf68c21929b5183 (patch) | |
tree | c46a211c41d16f8df54a31447994330fd03acb91 /lisp/emacs-lisp/avl-tree.el | |
parent | 502e861af75e32152346f17f034c92a0550ccea3 (diff) | |
download | emacs-6a96d1773469e671a3d5710bedf68c21929b5183.tar.gz emacs-6a96d1773469e671a3d5710bedf68c21929b5183.tar.bz2 emacs-6a96d1773469e671a3d5710bedf68c21929b5183.zip |
* lisp/emacs-lisp/syntax.el: Rework the handling of nested calls.
Nested calls to `syntax-ppss` and `syntax-propertize` can easily
happen unexpectedly via ondemand propertizing or `forward-sexp`.
Refine the handling of nested calls so we detect them more reliably
(e.g. also within `syntax-propertize-extend-region-functions`)
and so that the `syntax-ppss` cache is automatically flushed in case
it might have been filled with data that's become obsolete since.
(syntax-propertize--inhibit-flush): Delete var.
(syntax-propertize--in-process-p): New function to replace it.
(syntax-ppss-flush-cache): Use it.
(syntax-ppss--updated-cache): New var.
(syntax-propertize): Make `syntax-propertize--done` binding apply to
`syntax-propertize-extend-region-functions` as well, as intended (fixes
bug#46713). Use `syntax-ppss--updated-cache` to flush
syntax-ppss cache at the end when needed.
Don't bind `syntax-propertize--inhibit-flush` any more.
(syntax-ppss): Set `syntax-ppss--updated-cache` when applicable.
Diffstat (limited to 'lisp/emacs-lisp/avl-tree.el')
0 files changed, 0 insertions, 0 deletions