[slime-devel] macro-indentation should ignore &optional

Greetings. I've got a macro like: (defmacro tbf (&optional bar &body baz) ...) With SLIME from CVS, this gets indented as: (tbf (:arg value) (form1) (form2)) Whereas I think the correct indentation should be: (tbf (:arg value) (form1) (form2)) The problem (as I see it) is that swank:macro-indent counts &optional as an argument, rather than as a lambda list keyword. Below is a simple patch against SLIME CVS. =================================================================== RCS file: /project/slime/cvsroot/slime/swank.lisp,v retrieving revision 1.360 diff -u -r1.360 swank.lisp --- swank.lisp 6 Feb 2006 18:42:09 -0000 1.360 +++ swank.lisp 9 Feb 2006 17:16:26 -0000 @@ -4369,7 +4369,7 @@ (defun macro-indentation (arglist) (if (well-formed-list-p arglist) - (position '&body (clean-arglist arglist)) + (position '&body (remove '&optional (clean-arglist arglist))) nil)) (defun well-formed-list-p (list)
participants (2)
-
darkness
-
Helmut Eller