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

Helmut Eller heller at common-lisp.net
Tue Apr 20 22:29:44 UTC 2004


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

Modified Files:
	swank-cmucl.lisp 
Log Message:
(definition-source-location): Make it backward compatible with 18e.
(class-definitions): Treat condition-classes like built-in classes
(i.e. give up) until we find a better solution.
Date: Tue Apr 20 18:29:43 2004
Author: heller

Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.95 slime/swank-cmucl.lisp:1.96
--- slime/swank-cmucl.lisp:1.95	Sat Apr 17 05:25:58 2004
+++ slime/swank-cmucl.lisp	Tue Apr 20 18:29:43 2004
@@ -743,14 +743,22 @@
           (make-location `(:buffer ,emacs-buffer)
                          `(:position ,(+ emacs-buffer-offset pos))))))))
 
+(defun file-source-location-p (object) 
+  (when (fboundp 'c::file-source-location-p)
+    (c::file-source-location-p object)))
+
+(defun stream-source-location-p (object)
+  (when (fboundp 'c::stream-source-location-p)
+    (c::stream-source-location-p object)))
+
 (defun definition-source-location (object name)
   (let ((source (pcl::definition-source object)))
     (etypecase source
       (null 
        `(:error ,(format nil "No source info for: ~A" object)))
-      (c::file-source-location
+      ((satisfies file-source-location-p)
        (resolve-file-source-location source))
-      (c::stream-source-location
+      ((satisfies stream-source-location-p)
        (resolve-stream-source-location source))
       (pathname 
        (make-name-in-file-location source name))
@@ -768,17 +776,17 @@
           (null '())
           (kernel::structure-class 
            (list (list `(defstruct ,name) (dd-location (find-dd name)))))
+          #+(or)
           (conditions::condition-class
            (list (list `(define-condition ,name) 
                        (condition-class-location class))))
           (kernel::standard-class
            (list (list `(defclass ,name) 
                        (class-location (find-class name)))))
-          (kernel::built-in-class
+          ((or kernel::built-in-class conditions::condition-class)
            (list (list `(kernel::define-type-class ,name)
                        `(:error 
-                         ,(format nil "No source info for built-in-class: ~A"
-                                  name)))))))))
+                         ,(format nil "No source info for ~A" name)))))))))
 
 (defun setf-definitions (name)
   (let ((function (or (ext:info :setf :inverse name)





More information about the slime-cvs mailing list