Commit [e66288] Maximize Restore History

1.0.17.32: faster ADD-METHOD to PRINT-OBJECT

The basic idea here is reducing the number of functions whose
discriminating function and effective method cache are
precomputed; in particular, to reduce the number where users can
both legitimately define their own methods, and where a large
number of methods will be applicable to different classes.

The biggest culprit in both of those categories is the
PRINT-OBJECT generic function, which would recompute its entire
dispatch structure every time any method was added or removed.
So, turn off precomputation for names in the CL package; deal
with the bootstrap metacircles that that provokes; special-case
PRINT-OBJECT in COMPUTE-DISCRIMINATING-FUNCTION so that we can
always print certain critical pieces of infrastructure;
also, warn the user if they break our assumptions in
PRINT-OBJECT's specialization.

Fix one broken "how did it ever work" test.

Christophe Rhodes Christophe Rhodes 2008-06-09

changed src/pcl/boot.lisp
changed src/pcl/combin.lisp
changed src/pcl/ctor.lisp
changed src/pcl/methods.lisp
changed src/pcl/std-class.lisp
changed tests/clos.impure.lisp
changed tests/clos.pure.lisp
changed NEWS
changed version.lisp-expr
src/pcl/boot.lisp Diff Switch to side-by-side view
Loading...
src/pcl/combin.lisp Diff Switch to side-by-side view
Loading...
src/pcl/ctor.lisp Diff Switch to side-by-side view
Loading...
src/pcl/methods.lisp Diff Switch to side-by-side view
Loading...
src/pcl/std-class.lisp Diff Switch to side-by-side view
Loading...
tests/clos.impure.lisp Diff Switch to side-by-side view
Loading...
tests/clos.pure.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...