* 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
(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
: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)))
(!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)
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 ()))
canonical-options (copy-tree canonical-options))
(let ((ecd
(make-early-class-definition name
- *load-truename*
+ *load-pathname*
metaclass
supers
canonical-slots
',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)
(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)))
(defclass definition-source-mixin (std-object)
((source
- :initform *load-truename*
+ :initform *load-pathname*
:reader definition-source
:initarg :definition-source))
(:metaclass std-class))
: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
;;; 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"