[slime-cvs] CVS slime
CVS User mevenson
mevenson at common-lisp.net
Sat Sep 12 08:47:31 UTC 2009
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv22300
Modified Files:
ChangeLog swank-abcl.lisp
Log Message:
Provided by Alan Ruttenberg.
* swank-abcl.lisp (source-location): Make edit definition work.
* swank-abcl.lisp (arglist): Now works with generic functions.
--- /project/slime/cvsroot/slime/ChangeLog 2009/09/08 05:59:20 1.1851
+++ /project/slime/cvsroot/slime/ChangeLog 2009/09/12 08:47:30 1.1852
@@ -1,3 +1,12 @@
+2009-09-12 Mark Evenson <evenson at panix.com>
+
+ Provided by Alan Ruttenberg.
+
+ * swank-abcl.lisp (source-location): Make edit definition work.
+
+ * swank-abcl.lisp (arglist): Now works with generic functions.
+
+
2009-09-08 Helmut Eller <heller at common-lisp.net>
* swank-loader.lisp (lisp-version-string): Include "-ics" for
--- /project/slime/cvsroot/slime/swank-abcl.lisp 2009/08/19 14:58:02 1.68
+++ /project/slime/cvsroot/slime/swank-abcl.lisp 2009/09/12 08:47:30 1.69
@@ -213,7 +213,12 @@
(defimplementation arglist (fun)
(cond ((symbolp fun)
- (multiple-value-bind (arglist present) (sys::arglist fun)
+ (multiple-value-bind (arglist present)
+ (or (sys::arglist fun)
+ (and (fboundp fun)
+ (typep (symbol-function fun) 'standard-generic-function)
+ (let ((it (mop::generic-function-lambda-list (symbol-function fun))))
+ (values it it))))
(if present arglist :not-available)))
(t :not-available)))
@@ -430,12 +435,14 @@
(defun source-location (symbol)
(when (pathnamep (ext:source-pathname symbol))
- `(((,symbol)
- (:location
- (:file ,(namestring (ext:source-pathname symbol)))
- (:position ,(or (ext:source-file-position symbol) 1))
- (:align t))))))
-
+ (let ((pos (ext:source-file-position symbol)))
+ `(((,symbol)
+ (:location
+ (:file ,(namestring (ext:source-pathname symbol)))
+ ,(if (and pos (plusp pos))
+ (list :position pos t)
+ (list :function-name (string symbol)))
+ (:align t)))))))
(defimplementation find-definitions (symbol)
(source-location symbol))
More information about the slime-cvs
mailing list