diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/find-func.el | 2 | ||||
-rw-r--r-- | lisp/emacs-lisp/syntax.el | 14 |
2 files changed, 10 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index dea72fc7567..0cebeeb6f7f 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el @@ -141,7 +141,7 @@ See the functions `find-function' and `find-variable'." (unless (string-match "elc" suffix) (push suffix suffixes))))) (defun find-library-name (library) - "Return the full name of the elisp source of LIBRARY." + "Return the absolute file name of the Lisp source of LIBRARY." ;; If the library is byte-compiled, try to find a source library by ;; the same name. (if (string-match "\\.el\\(c\\(\\..*\\)?\\)\\'" library) diff --git a/lisp/emacs-lisp/syntax.el b/lisp/emacs-lisp/syntax.el index 126c8d50dd9..9c2ac336b9b 100644 --- a/lisp/emacs-lisp/syntax.el +++ b/lisp/emacs-lisp/syntax.el @@ -83,10 +83,14 @@ point (where the PPSS is equivalent to nil).") (setq syntax-ppss-cache (cdr syntax-ppss-cache))) ;; Throw away `last' value if made invalid. (when (< beg (or (car syntax-ppss-last) 0)) - (if (< beg (or (car (nth 10 syntax-ppss-last)) - (nth 9 syntax-ppss-last) - (nth 2 syntax-ppss-last) - 0)) + ;; If syntax-begin-function jumped to BEG, then the old state at BEG can + ;; depend on the text after BEG (which is presumably changed). So if + ;; BEG=(car (nth 10 syntax-ppss-last)) don't reuse that data because the + ;; assumed nil state at BEG may not be valid any more. + (if (<= beg (or (car (nth 10 syntax-ppss-last)) + (nth 9 syntax-ppss-last) + (nth 3 syntax-ppss-last) + 0)) (setq syntax-ppss-last nil) (setcar syntax-ppss-last nil))) ;; Unregister if there's no cache left. Sadly this doesn't work @@ -293,5 +297,5 @@ Point is at POS when this function returns." (provide 'syntax) -;;; arch-tag: 302f1eeb-e77c-4680-a8c5-c543e01161a5 +;; arch-tag: 302f1eeb-e77c-4680-a8c5-c543e01161a5 ;;; syntax.el ends here |