;;; -*- Mode:LISP -*- (herald COMPLAIN) (defvar *complaint-handler* nil "At toplevel we don't handle complaints.") (declare (*lexpr bug diagnose recorded-output)) (eval-when (eval load compile) (cond ((not (memq compiler-state '(nil toplevel))) (*lexpr complain)))) (defun complain (&rest stuff) (if stuff (progn (lexpr-funcall #'diagnose stuff) (recorded-output "~&"))) (cond (*complaint-handler* (*throw 'complaint-handler nil)) (t (bug "~&User error")))) ;;; Local Modes:; ;;; Mode:LISP; ;;; Comment Column:50; ;;; End:;