From 2c4d870ce98b425d07b136e12ba782cfc8e23367 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 10 Feb 2017 14:09:34 -0800 Subject: Better way for releasing deferred warnings. We should be re-throwing deferred warnings as ordinary warnings, not dumping them to a stream. * eval.c (eval_exception): Use uw_release_deferred_warnings instead of uw_dupm_deferred_warnings. (load): Likewise. * parser.c (read_eval_ret_last): Likewise. * txr.c (txr_main): Likewise. * unwind.c (uw_release_deferred_warnings): New function. * unwind.h (uw_release_deferred_warnings): Declared. * txr.1: Documented release-deferred-warnings and updated documentation for dump-deferred-warnings. --- txr.1 | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'txr.1') diff --git a/txr.1 b/txr.1 index 6c7a5b25..ff1b8e7d 100644 --- a/txr.1 +++ b/txr.1 @@ -34199,6 +34199,19 @@ deferrable warnings, and prints ordinary warnings: (throw 'continue))) ;; warning processed: resume execution .cble +.coNP Function @ release-deferred-warnings +.synb +.mets (release-deferred-warnings) +.syne +.desc +The +.code release-deferred-warnings +removes all warnings from the deferred list. +Then, it issues each deferred warning as an ordinary warning. + +Note: there is normally no need for user programs to use this +function since deferred warnings are issued automatically. + .coNP Function @ dump-deferred-warnings .synb .mets (dump-deferred-warning << stream ) @@ -34206,15 +34219,15 @@ deferrable warnings, and prints ordinary warnings: .desc The .code dump-deferred-warnings -converts the list of pending warnings into diagnostic messages +empties the list of deferred warnings, and converts each one +into a diagnostic message sent to sent to .metn stream . -After the diagnostics are issued, the list of pending warnings +After the diagnostics are printed, the list of pending warnings is cleared. Note: there is normally no need for user programs to use this -function since deferred warnings are printed in various necessary -circumstances. +function since deferred warnings are issued automatically. .SS* Delimited Continuations -- cgit v1.2.3