0.7.9.8:
authorChristophe Rhodes <csr21@cam.ac.uk>
Mon, 28 Oct 2002 14:33:27 +0000 (14:33 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Mon, 28 Oct 2002 14:33:27 +0000 (14:33 +0000)
Change *LOAD-TRUENAME* to *LOAD-PATHNAME* throughout PCL, so as to
facilitate an eventual build system which would enable
the system sources to be findable when placed in an
arbitrary filesystem location.

NEWS
src/pcl/boot.lisp
src/pcl/braid.lisp
src/pcl/defclass.lisp
src/pcl/defcombin.lisp
src/pcl/defs.lisp
src/pcl/std-class.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 60e2155..3958d23 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1345,6 +1345,11 @@ changes in sbcl-0.7.9 relative to sbcl-0.7.8:
   * compiler no longer signals WARNING on unknown keyword
     :ALLOW-OTHER-KEYS
 
+changes in sbcl-0.7.9 relative to sbcl-0.7.8:
+  * minor incompatible change: PCL now records the pathname of a file
+    in which methods and the like are defined, rather than its
+    truename.
+
 planned incompatible changes in 0.7.x:
 * When the profiling interface settles down, maybe in 0.7.x, maybe
   later, it might impact TRACE. They both encapsulate functions, and
index 0d67f60..b1a6537 100644 (file)
@@ -239,7 +239,7 @@ bootstrapping.
   (apply #'ensure-generic-function
          fun-name
          :lambda-list lambda-list
-         :definition-source `((defgeneric ,fun-name) ,*load-truename*)
+         :definition-source `((defgeneric ,fun-name) ,*load-pathname*)
          initargs))
 
 ;;; As per section 3.4.2 of the ANSI spec, generic function lambda
@@ -1306,7 +1306,7 @@ bootstrapping.
                       :definition-source `((defmethod ,gf-spec
                                                ,@qualifiers
                                              ,specializers)
-                                           ,*load-truename*)
+                                           ,*load-pathname*)
                       initargs)))
     (unless (or (eq method-class 'standard-method)
                (eq (find-class method-class nil) (class-of method)))
@@ -1764,7 +1764,7 @@ bootstrapping.
     (!bootstrap-set-slot 'standard-generic-function
                         fin
                         'source
-                        *load-truename*)
+                        *load-pathname*)
     (set-fun-name fin spec)
     (let ((arg-info (make-arg-info)))
       (setf (early-gf-arg-info fin) arg-info)
index ca67036..ec2a19a 100644 (file)
                                    smc
                                    name
                                    value)))
-       (set-slot 'source *load-truename*)
+       (set-slot 'source *load-pathname*)
        (set-slot 'type 'standard)
        (set-slot 'documentation "The standard method combination.")
        (set-slot 'options ()))
index ac41b14..2db78e6 100644 (file)
        canonical-options (copy-tree canonical-options))
   (let ((ecd
          (make-early-class-definition name
-                                      *load-truename*
+                                      *load-pathname*
                                       metaclass
                                       supers
                                       canonical-slots
index 0b2111e..5d173bd 100644 (file)
@@ -74,7 +74,7 @@
      ',type ',operator ',identity-with-one-arg ',documentation)))
 
 (defun load-short-defcombin (type operator ioa doc)
-  (let* ((truename *load-truename*)
+  (let* ((pathname *load-pathname*)
         (specializers
           (list (find-class 'generic-function)
                 (intern-eql-specializer type)
@@ -95,7 +95,7 @@
                           (short-combine-methods
                            type options operator ioa new-method doc))
                         args))
-           :definition-source `((define-method-combination ,type) ,truename)))
+           :definition-source `((define-method-combination ,type) ,pathname)))
     (when old-method
       (remove-method #'find-method-combination old-method))
     (add-method #'find-method-combination new-method)))
                                           :documentation doc))
                          args))
             :definition-source `((define-method-combination ,type)
-                             ,*load-truename*))))
+                                 ,*load-pathname*))))
     (setf (gethash type *long-method-combination-functions*) function)
     (when old-method (remove-method #'find-method-combination old-method))
     (add-method #'find-method-combination new-method)))
index 76d5b8d..ba5ccd4 100644 (file)
 
 (defclass definition-source-mixin (std-object)
   ((source
-    :initform *load-truename*
+    :initform *load-pathname*
     :reader definition-source
     :initarg :definition-source))
   (:metaclass std-class))
index 7b4c293..1c22ac9 100644 (file)
                    :direct-superclasses supers
                    :direct-slots slots
                    :definition-source `((defclass ,name)
-                                        ,*load-truename*)
+                                        ,*load-pathname*)
                    other)))
     ;; Defclass of a class with a forward-referenced superclass does not
     ;; have a wrapper. RES is the incomplete PCL class. The Lisp class
index 26c5a14..b97da0f 100644 (file)
@@ -18,4 +18,4 @@
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
 
-"0.7.9.7"
+"0.7.9.8"