summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-indent.el11
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))