diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/generator.el | 3 | ||||
-rw-r--r-- | lisp/emacs-lisp/syntax.el | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/generator.el b/lisp/emacs-lisp/generator.el index b19f6fab722..506df59d8e2 100644 --- a/lisp/emacs-lisp/generator.el +++ b/lisp/emacs-lisp/generator.el @@ -681,7 +681,8 @@ When called as a function, NAME returns an iterator value that encapsulates the state of a computation that produces a sequence of values. Callers can retrieve each value using `iter-next'." (declare (indent defun) - (debug (&define name lambda-list lambda-doc def-body))) + (debug (&define name lambda-list lambda-doc def-body)) + (doc-string 3)) (cl-assert lexical-binding) (let* ((parsed-body (macroexp-parse-body body)) (declarations (car parsed-body)) diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index a1b70b18693..6106720f7a5 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el @@ -291,6 +291,14 @@ END) suitable for `syntax-propertize-function'." ;; (message "Needs to syntax-propertize from %s to %s" ;; syntax-propertize--done pos) (set (make-local-variable 'parse-sexp-lookup-properties) t) + (when (< syntax-propertize--done (point-min)) + ;; *Usually* syntax-propertize is called via syntax-ppss which + ;; takes care of adding syntax-ppss-flush-cache to b-c-f, but this + ;; is not *always* the case, so since we share a single "flush" function + ;; between syntax-ppss and syntax-propertize, we also have to make + ;; sure the flush function is installed here (bug#29767). + (add-hook 'before-change-functions + #'syntax-ppss-flush-cache t t)) (save-excursion (with-silent-modifications (make-local-variable 'syntax-propertize--done) ;Just in case! |