summaryrefslogtreecommitdiff
path: root/doc/lispref
diff options
context:
space:
mode:
authorPhilipp Stephani <phst@google.com>2021-05-30 22:39:54 +0200
committerPhilipp Stephani <phst@google.com>2021-05-30 22:42:40 +0200
commited72a8ccd5e32e7752102f223fac12e7ad72709b (patch)
tree6c4835ae34cb4def63c80ae2a762afbd1cc79ce4 /doc/lispref
parent3988411f6c6a1170bca0831874233ff4b739009c (diff)
downloademacs-ed72a8ccd5e32e7752102f223fac12e7ad72709b.tar.gz
Document that the 'syntax-propertize-function' may move point.
The functions generated by 'syntax-propertize-rules' don't use 'save-excursion', but 'syntax-propertize' does, so we might as well document that the 'syntax-propertize-function' may move point. * doc/lispref/syntax.texi (Syntax Properties): Document that the 'syntax-propertize-function' may move point.
Diffstat (limited to 'doc/lispref')
-rw-r--r--doc/lispref/syntax.texi14
1 files changed, 8 insertions, 6 deletions
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index 2df6c15c4ca..bde7075b0df 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -572,12 +572,14 @@ The function is called by @code{syntax-ppss} (@pxref{Position Parse}),
and by Font Lock mode during syntactic fontification (@pxref{Syntactic
Font Lock}). It is called with two arguments, @var{start} and
@var{end}, which are the starting and ending positions of the text on
-which it should act. It is allowed to call @code{syntax-ppss} on any
-position before @var{end}, but if a Lisp program calls
-@code{syntax-ppss} on some position and later modifies the buffer at
-some earlier position, then it is that program's responsibility to
-call @code{syntax-ppss-flush-cache} to flush the now obsolete info
-from the cache.
+which it should act. It is allowed to arbitrarily move point within
+the region delimited by @var{start} and @var{end}; such motions don't
+need to use @code{save-excursion} (@pxref{Excursions}). It is also
+allowed to call @code{syntax-ppss} on any position before @var{end},
+but if a Lisp program calls @code{syntax-ppss} on some position and
+later modifies the buffer at some earlier position, then it is that
+program's responsibility to call @code{syntax-ppss-flush-cache} to
+flush the now obsolete info from the cache.
@strong{Caution:} When this variable is non-@code{nil}, Emacs removes
@code{syntax-table} text properties arbitrarily and relies on