[slime-devel] openmcl: apropos bug fix

Dave Baum Dave.Baum at motorola.com
Thu Sep 22 15:39:54 UTC 2005


The current implementation of describe-symbol-for-emacs assumes that  
ccl::setf-function-spec-name will always return a symbol.  Although  
this is true for short-form defsetf forms, when the long form has  
been used, an anonymous function is returned instead of a symbol,  
which then causes describe-symbol-for-emacs to fail.  For example,  
doing an apropos on "sub" will cause an error because "subseq" has a  
long form defsetf.

Here is a fix:

Index: swank-openmcl.lisp
===================================================================
RCS file: /project/slime/cvsroot/slime/swank-openmcl.lisp,v
retrieving revision 1.101
diff -u -r1.101 swank-openmcl.lisp
--- swank-openmcl.lisp  21 Sep 2005 11:43:47 -0000      1.101
+++ swank-openmcl.lisp  22 Sep 2005 02:18:52 -0000
@@ -634,7 +634,8 @@
        (maybe-push
         :setf (let ((setf-function-name (ccl::setf-function-spec-name
                                          `(setf ,symbol))))
-               (when (fboundp setf-function-name)
+               (when (or (functionp setf-function-name) ;; long form  
defsetf
+                         (fboundp setf-function-name))
                   (doc 'function setf-function-name))))
        result)))




More information about the slime-devel mailing list