summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mode.el
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2017-03-15 22:35:47 -0400
committerNoam Postavsky <npostavs@gmail.com>2017-04-22 14:09:57 -0400
commit8bb5d7adaf45264900385530c7f76175ba490a77 (patch)
tree2b4a30f93876031ed2072cd93673ee57820623b0 /lisp/emacs-lisp/lisp-mode.el
parent43c84577a3055d5ddf1f5d1b999e6ecca6139f60 (diff)
downloademacs-8bb5d7adaf45264900385530c7f76175ba490a77.tar.gz
* lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mode.el')
-rw-r--r--lisp/emacs-lisp/lisp-mode.el16
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 607a4c3d11d..810fc95614d 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1089,12 +1089,13 @@ ENDPOS is encountered."
(next-depth init-depth)
(last-depth init-depth)
(last-syntax-point (point)))
- (unless endpos
- ;; Get error now if we don't have a complete sexp after point.
- (save-excursion (forward-sexp 1)
- ;; We need a marker because we modify the buffer
- ;; text preceding endpos.
- (setq endpos (point-marker))))
+ ;; We need a marker because we modify the buffer
+ ;; text preceding endpos.
+ (setq endpos (copy-marker
+ (if endpos endpos
+ ;; Get error now if we don't have a complete sexp
+ ;; after point.
+ (save-excursion (forward-sexp 1) (point)))))
(save-excursion
(while (< (point) endpos)
;; Parse this line so we can learn the state to indent the
@@ -1154,7 +1155,8 @@ ENDPOS is encountered."
;; `calculate-lisp-indent' only returns nil
;; when we're in a string, but this won't
;; happen because we skip strings above.
- (t (error "This shouldn't happen!"))))))))))))
+ (t (error "This shouldn't happen!"))))))))))
+ (move-marker endpos nil)))
(defun indent-pp-sexp (&optional arg)
"Indent each line of the list starting just after point, or prettyprint it.