From b8b0954eb778102ac3940daacf4be16cb26ec39b Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 27 Mar 1990 13:18:14 +0000
Subject: [PATCH] Changed WITH-COMPILATION-UNIT to hack delayed unknown type
 warnings. We define a handler for PARSE-UNKNOWN-TYPE.

---
 code/macros.lisp | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/code/macros.lisp b/code/macros.lisp
index f26282a22..aa6773460 100644
--- a/code/macros.lisp
+++ b/code/macros.lisp
@@ -1519,18 +1519,23 @@
 
     `(flet ((,n-fun () ,@body))
        (if (or ,force (not *in-compilation-unit*))
-	   (let ((c::*unknown-functions* nil)
+	   (let ((c::*undefined-warnings* nil)
 		 (c::*compiler-error-count* 0)
 		 (c::*compiler-warning-count* 0)
 		 (c::*compiler-note-count* 0)
 		 (*in-compilation-unit* t)
 		 (*aborted-compilation-units* 0)
 		 (,n-abort-p t))
-	     (unwind-protect
-		 (multiple-value-prog1
-		     (,n-fun)
-		   (setq ,n-abort-p nil))
-	       (c::print-summary ,n-abort-p *aborted-compilation-units*)))
+	     (handler-bind ((c::parse-unknown-type
+			     #'(lambda (c)
+				 (c::note-undefined-reference
+				  (c::parse-unknown-type-specifier x)
+				  :type))))
+	       (unwind-protect
+		   (multiple-value-prog1
+		       (,n-fun)
+		     (setq ,n-abort-p nil))
+		 (c::print-summary ,n-abort-p *aborted-compilation-units*))))
 	   (let ((,n-abort-p t))
 	     (unwind-protect
 		 (multiple-value-prog1
-- 
GitLab