]> git.eshelyaron.com Git - emacs.git/commitdiff
(lisp-indent-defmethod): New function.
authorGerd Moellmann <gerd@gnu.org>
Wed, 15 Aug 2001 11:57:03 +0000 (11:57 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 15 Aug 2001 11:57:03 +0000 (11:57 +0000)
(toplevel): Set it as `common-lisp-indent-function' for
`defmethod'.

lisp/ChangeLog
lisp/emacs-lisp/cl-indent.el

index 91879e33634788ed5bcb12bc28f56327b9ac6ff6..da8a24cdf71b64348f189b91bf6d01f68468adf6 100644 (file)
@@ -1,5 +1,9 @@
 2001-08-15  Gerd Moellmann  <gerd@gnu.org>
 
+       * emacs-lisp/cl-indent.el (lisp-indent-defmethod): New function.
+       (toplevel): Set it as `common-lisp-indent-function' for
+       `defmethod'.
+
        * ediff-mult.el (ediff-get-meta-info): Fix the condition 
        of a while-loop.
 
index c03beb2a40ca675f475b3955b3d97954843c542d..69620763414936159fdd1b72ac3fb1a605e21410 100644 (file)
@@ -355,6 +355,18 @@ by `lisp-body-indent'."
                (&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 @@ by `lisp-body-indent'."
            (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)))