[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New PCL



I found a call to intern in the new PCL that might lead to problems if the
value of *print-case* is not :upcase.  Here is a fix:

*** braid.lisp	Wed Feb  7 14:49:21 1990
--- braid.lisp.ORIG	Wed Feb  7 10:38:07 1990
***************
*** 198,204 ****
  		     (setq *the-wrapper-of-t* wrapper
  			   *the-class-t* class))
  		    ((memq name '(standard-object standard-class))
! 		     (set (intern (format nil "*THE-CLASS-~A*" (string name))
  				  *the-pcl-package*)
  			  class)))
  	      (dolist (slot slots)
--- 198,204 ----
  		     (setq *the-wrapper-of-t* wrapper
  			   *the-class-t* class))
  		    ((memq name '(standard-object standard-class))
! 		     (set (intern (format nil "*THE-CLASS-~A*" name)
  				  *the-pcl-package*)
  			  class)))
  	      (dolist (slot slots)

The new version of PCL works fine.  I have one minor complaint: the progress
bar in Genera 7.2 shows now all the time "Compiling #:top-level-formNNNN", in
Victoria Day PCL one could see which class or method would be compiled.

One question: is the following a proper way for undefining a class?

(defmethod kill-pcl-class ((class pcl::class))
  (let ((name (class-name class)))
    (when name
      (setf (find-class name) nil)))
  (dolist (super (pcl::class-direct-superclasses class))
    (pcl::remove-direct-subclass super class)))

Andreas Girgensohn
andreasg@boulder.colorado.edu