diff --git a/src/CHANGELOG b/src/CHANGELOG index 8c3130f9e..0c59253b3 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -11,15 +11,18 @@ ECL 0.9l-p1: recommended procedure is to use HANDLER-BIND and _NOT_ to transfer control out of the handler, but to defer to the default ones. (use-package :c) - (let ((messages nil)) + (let ((warnings nil)) (with-compilation-unit () (handler-bind ((compiler-error #'(lambda (c) - (push c messages) + (push c warnings) (abort))) - (compiler-message #'(lambda (c) (push c messages)))) - (compile-file "foo.lsp"))) - (format t "~&;;; Printing messages") - (loop for m in (nreverse messages) + (compiler-message #'(lambda (c) + (push c warnings) + (muffle-warning)))) + (let ((*compile-verbose* nil)) + (compile-file "foo.lsp")))) + (format t "~&;;; Printing compiler messages") + (loop for m in (nreverse warnings) for i from 0 do (format t "~&~@<;;; ~@;Message #~D~%~A~:>" i m))) diff --git a/src/cmp/cmputil.lsp b/src/cmp/cmputil.lsp index 7ad4af7f8..ad671e4d1 100644 --- a/src/cmp/cmputil.lsp +++ b/src/cmp/cmputil.lsp @@ -180,7 +180,7 @@ (format t "~&;;; Emitting code for ~s.~%" name)))) (defun undefined-variable (sym) - (signal 'compiler-undefined-variable :name sym)) + (do-cmpwarn 'compiler-undefined-variable :name sym)) (defun baboon (&aux (*print-case* :upcase)) (signal 'compiler-internal-error