Commit 08d99ab2 authored by Pascal Costanza's avatar Pascal Costanza
Browse files

In CLisp and LispWorks, computing the discriminating function does not need to...

In CLisp and LispWorks, computing the discriminating function does not need to be delayed, because their CLOS implementations already delay invocation of compute-discriminating-function themselves.

Ignore-this: a4336ddd8097e64dd36fba402c8d090e

darcs-hash:e1e5bc040fa4df8b6ba0ed955130257fd1d91c7d
parent 6f9c820d
......@@ -429,6 +429,7 @@
(apply (the function effective-method-function) args)
(discriminate (lambda (emf) (setf (gethash (the list classes) emfs) emf)) args classes)))))))))
#-(or clisp lispworks)
(cl:defmethod compute-discriminating-function ((gf standard-generic-function))
(if (eq (class-of gf) (find-class 'standard-generic-function))
(lambda (&rest args)
......@@ -438,6 +439,10 @@
(apply discriminator args)))
(compute-discriminator gf #'call-next-method)))
#+(or clisp lispworks)
(cl:defmethod compute-discriminating-function ((gf standard-generic-function))
(compute-discriminator gf #'call-next-method))
#-sbcl
(progn
(defun maybe-remove-initial-methods (function-name)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment