1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

lisp/emacs-lisp/lisp-mode.el: Fix parser state corruption.

* lisp/emacs-lisp/lisp-mode.el (lisp--local-defform-body-p): Preserve
the point.
* test/lisp/progmodes/elisp-mode-resources/flet.erts: Add corresponding
test example (bug#9622).
This commit is contained in:
akater 2021-11-08 07:37:51 +01:00 committed by Lars Ingebrigtsen
parent 51aa6cee2c
commit ca9fb109f7
2 changed files with 17 additions and 6 deletions

View file

@ -1148,12 +1148,13 @@ STATE is the `parse-partial-sexp' state for current position."
;; that starts a sexp.
t)
(point))))))
(ignore-errors
;; We rely on `backward-up-list' working
;; even when sexp is incomplete “to the right”.
(backward-up-list 2)
t)
(= local-definitions-starting-point (point))))))))
(save-excursion
(ignore-errors
;; We rely on `backward-up-list' working
;; even when sexp is incomplete “to the right”.
(backward-up-list 2)
t)
(= local-definitions-starting-point (point)))))))))
(defun lisp-indent-function (indent-point state)
"This function is the normal value of the variable `lisp-indent-function'.