X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fmethods.lisp;h=30ceedd0866c9aa967f953599f1ef9f909872386;hb=f2db6743b1fadeea9e72cb583d857851c87efcd4;hp=c31626092d8b53668093f84a730e121be4aedeab;hpb=95f17ca63742f8c164309716b35bc25545a849a6;p=sbcl.git diff --git a/src/pcl/methods.lisp b/src/pcl/methods.lisp index c316260..30ceedd 100644 --- a/src/pcl/methods.lisp +++ b/src/pcl/methods.lisp @@ -370,7 +370,7 @@ (defmethod generic-function-argument-precedence-order ((gf standard-generic-function)) - (aver (eq *boot-state* 'complete)) + (aver (eq **boot-state** 'complete)) (loop with arg-info = (gf-arg-info gf) with lambda-list = (arg-info-lambda-list arg-info) for argument-position in (arg-info-precedence arg-info) @@ -795,7 +795,7 @@ (defvar *std-cam-methods* nil) (defun compute-applicable-methods-emf (generic-function) - (if (eq *boot-state* 'complete) + (if (eq **boot-state** 'complete) (let* ((cam (gdefinition 'compute-applicable-methods)) (cam-methods (compute-applicable-methods-using-types cam (list `(eql ,generic-function) t)))) @@ -1585,7 +1585,7 @@ (eq gf #'(setf slot-value-using-class)) (eq gf #'slot-boundp-using-class))) -(let (po-cache) +(let (initial-print-object-cache) (defmethod compute-discriminating-function ((gf standard-generic-function)) (let ((dfun-state (slot-value gf 'dfun-state))) (when (special-case-for-compute-discriminating-function-p gf) @@ -1623,11 +1623,11 @@ (cond ((/= nkeys 1) ;; KLUDGE: someone has defined a method ;; specialized on the second argument: punt. - (setf po-cache nil) + (setf initial-print-object-cache nil) (make-initial-dfun gf)) - (po-cache + (initial-print-object-cache (multiple-value-bind (dfun cache info) - (make-caching-dfun gf po-cache) + (make-caching-dfun gf (copy-cache initial-print-object-cache)) (set-dfun gf dfun cache info))) ;; the relevant PRINT-OBJECT methods get defined ;; late, by delayed DEF!METHOD. We mustn't cache @@ -1639,11 +1639,14 @@ (t (multiple-value-bind (dfun cache info) (make-final-dfun-internal gf - (list (list (find-class 'sb-kernel::control-stack-exhausted)) - (list (find-class 'sb-kernel::heap-exhausted-error)) - (list (find-class 'restart)))) - (setq po-cache cache) - (set-dfun gf dfun cache info)))))) + (mapcar (lambda (x) (list (find-class x))) + '(sb-kernel::control-stack-exhausted + sb-kernel::binding-stack-exhausted + sb-kernel::alien-stack-exhausted + sb-kernel::heap-exhausted-error + restart))) + (setq initial-print-object-cache cache) + (set-dfun gf dfun (copy-cache cache) info)))))) ((gf-precompute-dfun-and-emf-p (slot-value gf 'arg-info)) (make-final-dfun gf)) (t