[slime-cvs] CVS update: slime/swank-lispworks.lisp
Martin Simmons
msimmons at common-lisp.net
Mon Sep 13 19:09:16 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv14875
Modified Files:
swank-lispworks.lisp
Log Message:
Set up the swank-mop package.
Implement swank-mop:slot-definition-documentation and function-name.
Date: Mon Sep 13 21:09:15 2004
Author: msimmons
Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.56 slime/swank-lispworks.lisp:1.57
--- slime/swank-lispworks.lisp:1.56 Wed Sep 8 18:08:26 2004
+++ slime/swank-lispworks.lisp Mon Sep 13 21:09:15 2004
@@ -25,6 +25,50 @@
stream:stream-line-column
))
+(import-to-swank-mop
+ '( ;; classes
+ cl:standard-generic-function
+ clos:standard-slot-definition
+ cl:method
+ cl:standard-class
+ ;; standard-class readers
+ clos:class-default-initargs
+ clos:class-direct-default-initargs
+ clos:class-direct-slots
+ clos:class-direct-subclasses
+ clos:class-direct-superclasses
+ clos:class-finalized-p
+ cl:class-name
+ clos:class-precedence-list
+ clos:class-prototype
+ clos:class-slots
+ ;; generic function readers
+ clos:generic-function-argument-precedence-order
+ clos:generic-function-declarations
+ clos:generic-function-lambda-list
+ clos:generic-function-methods
+ clos:generic-function-method-class
+ clos:generic-function-method-combination
+ clos:generic-function-name
+ ;; method readers
+ clos:method-generic-function
+ clos:method-function
+ clos:method-lambda-list
+ clos:method-specializers
+ clos:method-qualifiers
+ ;; slot readers
+ clos:slot-definition-allocation
+ clos:slot-definition-initargs
+ clos:slot-definition-initform
+ clos:slot-definition-initfunction
+ clos:slot-definition-name
+ clos:slot-definition-type
+ clos:slot-definition-readers
+ clos:slot-definition-writers))
+
+(defun swank-mop:slot-definition-documentation (slot)
+ (documentation slot t))
+
(when (fboundp 'dspec::define-dspec-alias)
(dspec::define-dspec-alias defimplementation (name args &rest body)
`(defmethod ,name ,args , at body)))
@@ -111,13 +155,16 @@
;;;; Documentation
-(defimplementation arglist (symbol)
- (let ((arglist (lw:function-lambda-list symbol)))
+(defimplementation arglist (symbol-or-function)
+ (let ((arglist (lw:function-lambda-list symbol-or-function)))
(etypecase arglist
((member :dont-know)
:not-available)
(list
arglist))))
+
+(defimplementation function-name (function)
+ (nth-value 2 (function-lambda-expression function)))
(defimplementation macroexpand-all (form)
(walker:walk-form form))
More information about the slime-cvs
mailing list