[slime-cvs] CVS update: slime/swank-cmucl.lisp slime/swank-lispworks.lisp

Helmut Eller heller at common-lisp.net
Sun Apr 25 06:37:05 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv2156

Modified Files:
	swank-cmucl.lisp swank-lispworks.lisp 
Log Message:
(arglist): Return :not-available if the arglist cannot be determined.

Date: Sun Apr 25 02:37:05 2004
Author: heller

Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.97 slime/swank-cmucl.lisp:1.98
--- slime/swank-cmucl.lisp:1.97	Wed Apr 21 15:46:40 2004
+++ slime/swank-cmucl.lisp	Sun Apr 25 02:37:05 2004
@@ -986,11 +986,11 @@
                 ;; this should work both for
                 ;; compiled-debug-function and for
                 ;; interpreted-debug-function
-                (t (let ((df (di::function-debug-function fun)))
-                     (if df 
-                         (debug-function-arglist df)
-                         "(<arglist-unavailable>)"))))))
-    (check-type arglist (or list string))
+                (t 
+                 (handler-case (debug-function-arglist 
+                                (di::function-debug-function fun))
+                   (di:unhandled-condition () :not-available))))))
+    (check-type arglist (or list (member :not-available)))
     arglist))
 
 


Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.38 slime/swank-lispworks.lisp:1.39
--- slime/swank-lispworks.lisp:1.38	Sat Mar 27 16:17:36 2004
+++ slime/swank-lispworks.lisp	Sun Apr 25 02:37:05 2004
@@ -100,9 +100,10 @@
 (defimplementation arglist (symbol)
   (let ((arglist (lw:function-lambda-list symbol)))
     (etypecase arglist
-      ((member :dont-know)
-       (error "<arglist-unavailable>"))
-      (list arglist))))
+      ((member :dont-know) 
+       :not-available)
+      (list
+       arglist))))
 
 (defimplementation macroexpand-all (form)
   (walker:walk-form form))





More information about the slime-cvs mailing list