diff options
author | Richard M. Stallman <rms@gnu.org> | 2007-02-11 11:12:20 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2007-02-11 11:12:20 +0000 |
commit | 9f25c0d219dc1a51761ae397759613894306f0e2 (patch) | |
tree | 10c3f72d316fde1e13a25c8ebb5680ab2d732e65 /lisp/emacs-lisp | |
parent | 531309ebc83fbf64708a8a179b530dbea39d9ab9 (diff) | |
download | emacs-9f25c0d219dc1a51761ae397759613894306f0e2.tar.gz emacs-9f25c0d219dc1a51761ae397759613894306f0e2.tar.bz2 emacs-9f25c0d219dc1a51761ae397759613894306f0e2.zip |
(indent-sexp): Clean up termination condition -- don't fail to stop at endpos.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index abc795481a4..8c1cf918b36 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1130,19 +1130,25 @@ ENDPOS is encountered." (make-list (- next-depth) nil)) last-depth (- last-depth next-depth) next-depth 0))) - (or outer-loop-done endpos - (setq outer-loop-done (<= next-depth 0))) - (if outer-loop-done - (forward-line 1) + (forward-line 1) + ;; Decide whether to exit. + (if endpos + ;; If we have already reached the specified end, + ;; give up and do not reindent this line. + (if (<= endpos (point)) + (setq outer-loop-done t)) + ;; If no specified end, we are done if we have finished one sexp. + (if (<= next-depth 0) + (setq outer-loop-done t))) + (unless outer-loop-done (while (> last-depth next-depth) (setq indent-stack (cdr indent-stack) last-depth (1- last-depth))) (while (< last-depth next-depth) (setq indent-stack (cons nil indent-stack) last-depth (1+ last-depth))) - ;; Now go to the next line and indent it according + ;; Now indent the next line according ;; to what we learned from parsing the previous one. - (forward-line 1) (setq bol (point)) (skip-chars-forward " \t") ;; But not if the line is blank, or just a comment |