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

types & record-source-file stuff

To those getting warnings while compiling the aaai-pcl and getting
warnings about "incomplete type definitions" try the following as a
better patch to 3600-low.lisp:

(defun record-definition (type spec &rest args)
  (declare (ignore args))
  (case type
    (method (if (listp (cadr spec))
        	(si:record-source-file-name spec 'method)
		(si:record-source-file-name spec 'method)))
    (class (si:record-source-file-name spec 'defclass)
	   (si:record-source-file-name spec 'deftype
				       (eq sys:inhibit-fdefine-warnings t)
				       :start-type-definition nil))))

It appears that the handling of deftype changed a bit in the 7.1 to 7.2
transition - in that now the record-source-file-name call for deftypes
also triggers a locking of the presentation system while a new type is
being defined.  Unfortunately, this means that it wants some other form
to get evaluated later to say "I'm done defining now", and it isn't clear
what pcl should do about this (if anything).  Anyway, this seems to do
the trick for me.