Mercurial > emacs
changeset 19781:03264c342376
(move-past-close-and-reindent):
Don't move closeparen back onto the end of a comment.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 07 Sep 1997 01:12:07 +0000 |
parents | 91cd68461722 |
children | 013cea3890cb |
files | lisp/emacs-lisp/lisp.el |
diffstat | 1 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp.el Sat Sep 06 22:22:24 1997 +0000 +++ b/lisp/emacs-lisp/lisp.el Sun Sep 07 01:12:07 1997 +0000 @@ -256,7 +256,25 @@ (while (save-excursion ; this is my contribution (let ((before-paren (point))) (back-to-indentation) - (= (point) before-paren))) + (and (= (point) before-paren) + (progn + ;; Move to end of previous line. + (beginning-of-line) + (forward-char -1) + ;; Verify it doesn't end within a string or comment. + (let ((end (point)) + state) + (beginning-of-line) + ;; Get state at start of line. + (setq state (list 0 nil nil + (null (calculate-lisp-indent)) + nil nil nil nil + nil)) + ;; Parse state across the line to get state at end. + (setq state (parse-partial-sexp (point) end nil nil + state)) + ;; Check not in string or comment. + (and (not (elt state 3)) (not (elt state 4)))))))) (delete-indentation)) (forward-char 1) (newline-and-indent))