/[cmucl]/src/tools/pclcom.lisp
ViewVC logotype

Diff of /src/tools/pclcom.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.9 by ram, Fri Jul 23 21:09:27 1993 UTC revision 1.10 by ram, Sat Jul 31 20:21:51 1993 UTC
# Line 2  Line 2 
2  (in-package "USER")  (in-package "USER")
3    
4  (when (find-package "PCL")  (when (find-package "PCL")
5      ;;
6      ;; Undefine all generic functions exported from Lisp so that bootstrapping
7      ;; doesn't get confused.
8      (let ((class (find-class 'generic-function nil)))
9        (when class
10          (do-external-symbols (sym "LISP")
11            (when (and (fboundp sym)
12                       (typep (fdefinition sym) class))
13              (fmakunbound sym))
14            (let ((ssym `(setf ,sym)))
15              (when (and (fboundp ssym)
16                         (typep (fdefinition ssym) class))
17                (fmakunbound ssym))))))
18    
19      ;; Undefine all PCL classes, and clear CLASS-PCL-CLASS slots.
20      (let ((wot (find-symbol "*FIND-CLASS*" "PCL")))
21        (when (and wot (boundp wot))
22          (do-hash (name ignore (symbol-value wot))
23            (declare (ignore ignore))
24            (let ((class (find-class name nil)))
25              (cond ((not class))
26                    ((typep class 'kernel::std-class)
27                     (setf (kernel:class-cell-class
28                            (kernel:find-class-cell name))
29                           nil)
30                     (setf (info type kind name) nil))
31                    (t
32                     (setf (kernel:class-pcl-class class) nil)))))))
33    
34    (rename-package "PCL" "OLD-PCL")    (rename-package "PCL" "OLD-PCL")
35    (make-package "PCL"))    (make-package "PCL"))
36    
37  (when (find-package  "SLOT-ACCESSOR-NAME")  (when (find-package  "SLOT-ACCESSOR-NAME")
38    (rename-package "SLOT-ACCESSOR-NAME" "OLD-SLOT-ACCESSOR-NAME"))    (rename-package "SLOT-ACCESSOR-NAME" "OLD-SLOT-ACCESSOR-NAME"))
39    

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.5