Mercurial > emacs
diff lisp/emacs-lisp/lisp-mode.el @ 90776:dd7c098af727
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 638-652)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 202)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-177
author | Miles Bader <miles@gnu.org> |
---|---|
date | Mon, 26 Feb 2007 23:03:45 +0000 |
parents | 52a7f3f50b89 2e16068bd4fb |
children | 91bf6e05918b |
line wrap: on
line diff
--- a/lisp/emacs-lisp/lisp-mode.el Fri Feb 23 06:03:48 2007 +0000 +++ b/lisp/emacs-lisp/lisp-mode.el Mon Feb 26 23:03:45 2007 +0000 @@ -909,6 +909,24 @@ (cond ((elt state 3) ;; Inside a string, don't change indentation. nil) + ((save-excursion + ;; test whether current line begins with a constant + (goto-char indent-point) + (skip-chars-forward " \t") + (looking-at ":")) + (let ((desired-indent + (save-excursion + (goto-char (1+ containing-sexp)) + (parse-partial-sexp (point) calculate-lisp-indent-last-sexp 0 t) + (point))) + (parse-sexp-ignore-comments t)) + ;; Align a constant symbol under the last constant symbol + (goto-char calculate-lisp-indent-last-sexp) + (while (> (point) desired-indent) + (if (looking-at ":") + (setq desired-indent (point)) + (backward-sexp 1)))) + (current-column)) ((and (integerp lisp-indent-offset) containing-sexp) ;; Indent by constant offset (goto-char containing-sexp)