summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2018-01-15 13:53:40 -0800
committerGlenn Morris <rgm@gnu.org>2018-01-15 13:53:40 -0800
commit9bd8f01cd6613795e6a7bb228b1aff342cc88c8b (patch)
treeaa566ea564a3d8e344c3015b997a6478e2010b5d /lisp/emacs-lisp
parente6b1df09551fc02aedcba4dbf5ee91dad4686e9a (diff)
parent2c0cfa64553dc1d4d376b42b56e52a007222736b (diff)
downloademacs-9bd8f01cd6613795e6a7bb228b1aff342cc88c8b.tar.gz
emacs-9bd8f01cd6613795e6a7bb228b1aff342cc88c8b.tar.bz2
emacs-9bd8f01cd6613795e6a7bb228b1aff342cc88c8b.zip
Merge from origin/emacs-26
2c0cfa6455 * ChangeLog.3: Update 4387bb44ae Update authors bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-... bd2a2a1e84 Improve documentation of etags 7ba75b9637 Teach etags new interpreters for some languages 1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri... dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2... 80463a43da Improve documentation of fill-separate-heterogeneous-words... 4bd2416d55 Fix documentation of some x-* functions 9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031) 3efb1e7def Fix Bug#30057 a9b884c60f Tag some unstable tests, and skip by default (bug#24503) # Conflicts: # test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/generator.el3
-rw-r--r--lisp/emacs-lisp/syntax.el8
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!