From 2f1b1aa900279de818d450935f472684e728d54d Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Mon, 28 Oct 2002 14:33:27 +0000 Subject: [PATCH] 0.7.9.8: 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 | 5 +++++ src/pcl/boot.lisp | 6 +++--- src/pcl/braid.lisp | 2 +- src/pcl/defclass.lisp | 2 +- src/pcl/defcombin.lisp | 6 +++--- src/pcl/defs.lisp | 2 +- src/pcl/std-class.lisp | 2 +- version.lisp-expr | 2 +- 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/NEWS b/NEWS index 60e2155..3958d23 100644 --- 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 diff --git a/src/pcl/boot.lisp b/src/pcl/boot.lisp index 0d67f60..b1a6537 100644 --- a/src/pcl/boot.lisp +++ b/src/pcl/boot.lisp @@ -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) diff --git a/src/pcl/braid.lisp b/src/pcl/braid.lisp index ca67036..ec2a19a 100644 --- a/src/pcl/braid.lisp +++ b/src/pcl/braid.lisp @@ -243,7 +243,7 @@ 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 ())) diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index ac41b14..2db78e6 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -400,7 +400,7 @@ canonical-options (copy-tree canonical-options)) (let ((ecd (make-early-class-definition name - *load-truename* + *load-pathname* metaclass supers canonical-slots diff --git a/src/pcl/defcombin.lisp b/src/pcl/defcombin.lisp index 0b2111e..5d173bd 100644 --- a/src/pcl/defcombin.lisp +++ b/src/pcl/defcombin.lisp @@ -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))) @@ -215,7 +215,7 @@ :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))) diff --git a/src/pcl/defs.lisp b/src/pcl/defs.lisp index 76d5b8d..ba5ccd4 100644 --- a/src/pcl/defs.lisp +++ b/src/pcl/defs.lisp @@ -472,7 +472,7 @@ (defclass definition-source-mixin (std-object) ((source - :initform *load-truename* + :initform *load-pathname* :reader definition-source :initarg :definition-source)) (:metaclass std-class)) diff --git a/src/pcl/std-class.lisp b/src/pcl/std-class.lisp index 7b4c293..1c22ac9 100644 --- a/src/pcl/std-class.lisp +++ b/src/pcl/std-class.lisp @@ -320,7 +320,7 @@ :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 diff --git a/version.lisp-expr b/version.lisp-expr index 26c5a14..b97da0f 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4