changeset 38826:f2ff22369238

(lisp-indent-defmethod): New function. (toplevel): Set it as `common-lisp-indent-function' for `defmethod'.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 15 Aug 2001 11:56:38 +0000
parents 6a0bd207233e
children 01bac63c1ed8
files lisp/emacs-lisp/cl-indent.el
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/cl-indent.el	Wed Aug 15 11:03:41 2001 +0000
+++ b/lisp/emacs-lisp/cl-indent.el	Wed Aug 15 11:56:38 2001 +0000
@@ -355,6 +355,18 @@
                (&whole nil &rest 1))
              path state indent-point sexp-column normal-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-+:"))
+		       '(4 4 (&whole 4 &rest 4) &body)
+		     (get 'defun 'common-lisp-indent-function))
+		   path state indent-point sexp-column normal-indent))
+
+
 (defun lisp-indent-function-lambda-hack (path state indent-point
                                          sexp-column normal-indent)
   ;; indent (function (lambda () <newline> <body-forms>)) kludgily.
@@ -393,9 +405,7 @@
            (define-setf-method . defun)
            (define-setf-expander . defun)
            (defmacro . defun) (defsubst . defun) (deftype . defun)
-	   ;; The following indents the first line of the body of a
-	   ;; defmethod wrong.
-           ;(defmethod   (4 4 (&whole 4 &rest 1) &body))
+	   (defmethod	lisp-indent-defmethod)
            (defpackage  (4 2))
            (defstruct   ((&whole 4 &rest (&whole 2 &rest 1))
                          &rest (&whole 2 &rest 1)))