[slime-devel] [PATCH] macro indentation fix

Chris Capel pdf23ds at gmail.com
Wed Nov 24 11:09:08 UTC 2004


My previous patch fixed the arglist code, but the function that returns
macro indention was still broken. (In more ways than one, actually--it
didn't treat &body and &rest equivalently. That problem turned out to be
the actual problem with the indentation macro that led me on this adventure
in the first place. Go figure.) This patch fixes that quite nicely, I
believe.

Chris Capel

*** /home/chris/lisp-libs/slime/swank.lisp.temp 2004-11-24
04:58:59.724472328 -0600
--- /home/chris/lisp-libs/slime/swank.lisp      2004-11-24 05:01:38.509333360
-0600
***************
*** 3405,3411 ****
  
  (defun macro-indentation (arglist)
    (if (well-formed-list-p arglist)
!       (position '&body (remove '&whole arglist))
        nil))
  
  (defun well-formed-list-p (list)
--- 3405,3415 ----
  
  (defun macro-indentation (arglist)
    (if (well-formed-list-p arglist)
!       (let ((indent-list (remove-whole-from-arglist
!                           (remove-aux-from-arglist
!                            arglist))))
!         (or (position '&body indent-list)
!             (position '&rest indent-list)))
        nil))
  
  (defun well-formed-list-p (list)






More information about the slime-devel mailing list