DEFUN + DEFINE-CONDITION = Warning: Undefined type MACHINE-ERROR
With a file with contents:
(defun foo ()
(define-condition machine-error (error)
((machine-name
:reader machine-error-machine-name))
(:report (lambda (condition stream)
(format stream "There is a problem with ~A."
(machine-error-machine-name condition))))))
Issuing (compile-file #P"f.lisp") results in:
;
; Warning: Undefined type MACHINE-ERROR
;
;
;
; File: /Users/ldbeth/f.lisp
; In: DEFUN FOO => DEFINE-CONDITION MACHINE-ERROR
; (DEFINE-CONDITION MACHINE-ERROR (ERROR)
; (#)
; (:REPORT #))
; --> PROGN DEFMETHOD PROGN PCL::LOAD-DEFMETHOD LIST* LIST* LAMBDA FUNCTION
; --> MACROLET PCL::FAST-LEXICAL-METHOD-FUNCTIONS
; --> PCL::BIND-FAST-LEXICAL-METHOD-MACROS MACROLET
; --> PCL::BIND-LEXICAL-METHOD-FUNCTIONS PCL::CALL-NEXT-METHOD-BIND LET FLET
; --> PCL::WITH-REBOUND-ORIGINAL-ARGUMENTS LET PCL::BIND-ARGS
; ==>
; (LET* (#)
; (DECLARE #)
; (DECLARE #)
; (BLOCK MACHINE-ERROR-MACHINE-NAME #))
; Warning: Undefined type MACHINE-ERROR
; ; ; [Last message occurs 2 times]
; Warning: This type is undefined:
; MACHINE-ERROR
;
; Compilation unit finished.
; 4 warnings
;; =====