From: Gerd Moellmann Date: Wed, 15 Aug 2001 11:57:03 +0000 (+0000) Subject: (lisp-indent-defmethod): New function. X-Git-Tag: emacs-pretest-21.0.105~176 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ec69d5ec2bb5f7428545d81422a89d87326592b2;p=emacs.git (lisp-indent-defmethod): New function. (toplevel): Set it as `common-lisp-indent-function' for `defmethod'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 91879e33634..da8a24cdf71 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2001-08-15 Gerd Moellmann + * 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. diff --git a/lisp/emacs-lisp/cl-indent.el b/lisp/emacs-lisp/cl-indent.el index c03beb2a40c..69620763414 100644 --- a/lisp/emacs-lisp/cl-indent.el +++ b/lisp/emacs-lisp/cl-indent.el @@ -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 () )) 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)))