diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-indent.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el index fee555d3ed3..5b22be7206d 100644 --- a/lisp/emacs-lisp/cl-indent.el +++ b/lisp/emacs-lisp/cl-indent.el @@ -358,10 +358,13 @@ by `lisp-body-indent'." (defun lisp-indent-defmethod (path state indent-point sexp-column normal-indent) "Indentation function defmethod." - (lisp-indent-259 (if (save-excursion (goto-char (elt state 1)) - (forward-char 1) - (forward-sexp 2) - (looking-at "\\s-+:")) + (lisp-indent-259 (if (and (>= (first path) 3) + (null (rest path)) + (save-excursion (goto-char (elt state 1)) + (forward-char 1) + (forward-sexp 3) + (backward-sexp) + (looking-at ":"))) '(4 4 (&whole 4 &rest 4) &body) (get 'defun 'common-lisp-indent-function)) path state indent-point sexp-column normal-indent)) |