[CM] cmu18/cm (was: Basic problem with CM:events (?))
Rick Taube
taube@uiuc.edu
Sat, 31 Jan 2004 12:38:40 -0600
> I know I must be missing something obvious here.
>
> Larry Troxler
no its my fault -- its an incompatible change between cmucl 18e and 19 . I
used cmucl 19 and forgot to test in 18e again. im sorry -- its almost
impossible for me now to keep up with all the lisps and versions and os's --
im ssh'ing all over the globe just to test. Im going to have to make some
scripts that automate testing, i simply cant keep up otherwise.
the fix is simple: edit src/cmu.lisp, and locate the function definition for
class-subclasses. underneath that defun there is a commented out version of
the same functoin. thats the version you need for 18e.
or you can just replace the existing function with:
------------------------------------------------------
#+cmu19
(defun class-subclasses (c)
(let ((subs (pcl::class-direct-subclasses c)))
(if (null subs)
'()
(loop for s in subs
append (cons s (class-subclasses s))))))
#+cmu18
(defun class-subclasses (class)
(let ((tbl (kernel:class-subclasses class))
(sub '()))
(maphash (lambda (k v) v (push k sub)) tbl)
(nreverse sub)))
#-(or cmu19 cmu18)
(error "Fix class-subclasses for this version of cmu.")
-------------------------------------------------------------
ive fixed cmu.lisp in cvs on the rel-2_4_1-fixes branch (revision: 1.6.2.2).