[slime-cvs] CVS slime
heller
heller at common-lisp.net
Wed Aug 9 16:34:15 UTC 2006
Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv32656
Modified Files:
swank-backend.lisp
Log Message:
(definterface): Bring the old implementation based on
NO-APPLICABLE-METHOD back.
--- /project/slime/cvsroot/slime/swank-backend.lisp 2006/04/12 08:43:55 1.98
+++ /project/slime/cvsroot/slime/swank-backend.lisp 2006/08/09 16:34:15 1.99
@@ -113,7 +113,10 @@
Backends implement these functions using DEFIMPLEMENTATION."
(check-type documentation string "a documentation string")
(flet ((gen-default-impl ()
- `(defmethod ,name ,args , at default-body)))
+ `(defmethod no-applicable-method ((_gf (eql #',name)) &rest _rargs)
+ (declare (ignore _))
+ (destructuring-bind ,args rargs
+ , at default-body))))
`(progn (defgeneric ,name ,args (:documentation ,documentation))
(pushnew ',name *interface-functions*)
,(if (null default-body)
@@ -125,12 +128,13 @@
',name)))
(defmacro defimplementation (name args &body body)
- `(progn (defmethod ,name ,args , at body)
- (if (member ',name *interface-functions*)
- (setq *unimplemented-interfaces*
- (remove ',name *unimplemented-interfaces*))
- (warn "DEFIMPLEMENTATION of undefined interface (~S)" ',name))
- ',name))
+ `(progn
+ (defmethod ,name ,args , at body)
+ (if (member ',name *interface-functions*)
+ (setq *unimplemented-interfaces*
+ (remove ',name *unimplemented-interfaces*))
+ (warn "DEFIMPLEMENTATION of undefined interface (~S)" ',name))
+ ',name))
(defun warn-unimplemented-interfaces ()
"Warn the user about unimplemented backend features.
@@ -724,7 +728,7 @@
(definterface make-default-inspector ()
"Return an inspector object suitable for passing to inspect-for-emacs.")
-(definterface inspect-for-emacs (object inspector)
+(defgeneric inspect-for-emacs (object inspector)
"Explain to Emacs how to inspect OBJECT.
The argument INSPECTOR is an object representing how to get at
More information about the slime-cvs
mailing list