[armedbear-cvs] r13978 - trunk/abcl/src/org/armedbear/lisp
rschlatte at common-lisp.net
rschlatte at common-lisp.net
Mon Jun 18 16:32:50 UTC 2012
Author: rschlatte
Date: Mon Jun 18 09:32:48 2012
New Revision: 13978
Log:
Don't defer compute-discriminating-function
Modified:
trunk/abcl/src/org/armedbear/lisp/clos.lisp
Modified: trunk/abcl/src/org/armedbear/lisp/clos.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/clos.lisp Sun Jun 17 11:20:32 2012 (r13977)
+++ trunk/abcl/src/org/armedbear/lisp/clos.lisp Mon Jun 18 09:32:48 2012 (r13978)
@@ -1574,15 +1574,6 @@
all-keys))
gf))))
-(defun initial-discriminating-function (gf args)
- (set-funcallable-instance-function
- gf
- (funcall (if (eq (class-of gf) +the-standard-generic-function-class+)
- #'std-compute-discriminating-function
- #'compute-discriminating-function)
- gf))
- (apply gf args))
-
(defun collect-eql-specializer-objects (generic-function)
(let ((result nil))
(dolist (method (generic-function-methods generic-function))
@@ -1600,8 +1591,10 @@
(clrhash (generic-function-classes-to-emf-table gf))
(%init-eql-specializations gf (collect-eql-specializer-objects gf))
(set-funcallable-instance-function
- gf #'(lambda (&rest args)
- (initial-discriminating-function gf args)))
+ gf
+ (if (eq (class-of gf) +the-standard-generic-function-class+)
+ (std-compute-discriminating-function gf)
+ (compute-discriminating-function gf)))
;; FIXME Do we need to warn on redefinition somewhere else?
(let ((*warn-on-redefinition* nil))
(setf (fdefinition (%generic-function-name gf)) gf))
More information about the armedbear-cvs
mailing list