[slime-cvs] CVS update: slime/swank-backend.lisp
Luke Gorrie
lgorrie at common-lisp.net
Sun Jan 25 20:51:01 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv26721
Modified Files:
Tag: stateless-emacs
swank-backend.lisp
Log Message:
(definterface, defimplementation): Use PROGN instead of PROG1 to
preserve top-level-ness of expanded DEFGENERIC/DEFMETHOD forms. Lisp
tip from Tim Moore.
Date: Sun Jan 25 15:51:01 2004
Author: lgorrie
Index: slime/swank-backend.lisp
diff -u slime/swank-backend.lisp:1.22 slime/swank-backend.lisp:1.22.2.1
--- slime/swank-backend.lisp:1.22 Wed Jan 21 19:35:17 2004
+++ slime/swank-backend.lisp Sun Jan 25 15:51:00 2004
@@ -114,19 +114,21 @@
&rest ,received-args)
(destructuring-bind ,args ,received-args
, at default-body)))))
- `(prog1 (defgeneric ,name ,args (:documentation ,documentation))
+ `(progn (defgeneric ,name ,args (:documentation ,documentation))
(pushnew ',name *interface-functions*)
,(if (null default-body)
`(pushnew ',name *unimplemented-interfaces*)
- (gen-default-impl)))))
+ (gen-default-impl))
+ ',name)))
(defmacro defimplementation (name args &body body)
;; Is this a macro no-no -- should it be pushed out of macroexpansion?
- `(prog1 (defmethod ,name ,args , at body)
- (if (member ',name *interface-functions*)
- (setq *unimplemented-interfaces*
- (remove ',name *unimplemented-interfaces*))
- (warn "DEFIMPLEMENTATION of undefined interface (~S)" ',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.
More information about the slime-cvs
mailing list