Commit 9ede3291 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

Enable read-eval while saving deferred warnings

This addresses an issue in sbcl-1.3.17-59-g1069e99c0 whereby some
strings used in the warnings are base-string that can't be printed readably
without *read-eval* being t.
parent 85fd3cd2
......@@ -497,7 +497,8 @@ possibly in a different process."
:element-type *default-stream-element-type*
:external-format *utf-8-external-format*)
(with-safe-io-syntax ()
(write (reify-deferred-warnings) :stream s :pretty t :readably t)
(let ((*read-eval* t))
(write (reify-deferred-warnings) :stream s :pretty t :readably t))
(terpri s))))
(defun warnings-file-type (&optional implementation-type)
......@@ -545,7 +546,10 @@ re-intern and raise any warnings that are still meaningful."
(reset-deferred-warnings)
(dolist (file files)
(unreify-deferred-warnings
(handler-case (safe-read-file-form file)
(handler-case
(with-safe-io-syntax ()
(let ((*read-eval* t))
(read-file-form file)))
(error (c)
;;(delete-file-if-exists file) ;; deleting forces rebuild but prevents debugging
(push c file-errors)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment