;; or aren't to prevent the leaky next methods bug.
(let* ((cm-args (cdr form))
(fmf-p (and (null no-fmf-p)
- (or (not (eq *boot-state* 'complete))
+ (or (not (eq **boot-state** 'complete))
(gf-fast-method-function-p generic-function))
(null (cddr cm-args))))
(method (car cm-args))
(error-p (or (eq (first effective-method) '%no-primary-method)
(eq (first effective-method) '%invalid-qualifiers)))
(mc-args-p
- (when (eq *boot-state* 'complete)
+ (when (eq **boot-state** 'complete)
;; Otherwise the METHOD-COMBINATION slot is not bound.
(let ((combin (generic-function-method-combination gf)))
(and (long-method-combination-p combin)
(declare (ignore .pv. .next-method-call.))
(declare (ignorable .args.))
(flet ((%no-primary-method (gf args)
- (apply #'no-primary-method gf args))
+ (call-no-primary-method gf args))
(%invalid-qualifiers (gf combin method)
(invalid-qualifiers gf combin method)))
(declare (ignorable #'%no-primary-method #'%invalid-qualifiers))
(defun gf-requires-emf-keyword-checks (generic-function)
(member '&key (gf-lambda-list generic-function)))
-(defvar *in-precompute-effective-methods-p* nil)
-
(defun standard-compute-effective-method
(generic-function combin applicable-methods)
(collect ((before) (primary) (after) (around))
- (flet ((invalid (gf combin m)
- (if *in-precompute-effective-methods-p*
- (return-from standard-compute-effective-method
- `(%invalid-qualifiers ',gf ',combin ',m))
- (invalid-qualifiers gf combin m))))
+ (flet ((invalid (gf combin m) (invalid-qualifiers gf combin m)))
(dolist (m applicable-methods)
(let ((qualifiers (if (listp m)
(early-method-qualifiers m)
- (method-qualifiers m))))
+ (safe-method-qualifiers m))))
(cond
((null qualifiers) (primary m))
((cdr qualifiers) (invalid generic-function combin m))