summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-seq.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2022-06-26 08:59:38 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2022-06-26 08:59:38 -0400
commit6a96d1773469e671a3d5710bedf68c21929b5183 (patch)
treec46a211c41d16f8df54a31447994330fd03acb91 /lisp/emacs-lisp/cl-seq.el
parent502e861af75e32152346f17f034c92a0550ccea3 (diff)
downloademacs-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/cl-seq.el')
0 files changed, 0 insertions, 0 deletions