Mercurial > emacs
changeset 16895:32945f27ed20
(Fsignal): Call fatal if no error handlers and no catch.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 20 Jan 1997 02:21:33 +0000 |
parents | cd8d6bf6b320 |
children | b2c51d6de440 |
files | src/eval.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c Mon Jan 20 02:21:19 1997 +0000 +++ b/src/eval.c Mon Jan 20 02:21:33 1997 +0000 @@ -1207,6 +1207,7 @@ extern int gc_in_progress; extern int waiting_for_input; Lisp_Object debugger_value; + Lisp_Object string; quit_error_check (); immediate_quit = 0; @@ -1266,7 +1267,14 @@ /* If no handler is present now, try to run the debugger, and if that fails, throw to top level. */ find_handler_clause (Qerror, conditions, error_symbol, data, &debugger_value); - Fthrow (Qtop_level, Qt); + if (catchlist != 0) + Fthrow (Qtop_level, Qt); + + if (! EQ (data, memory_signal_data)) + data = Fcons (error_symbol, data); + + string = Ferror_message_string (data); + fatal (XSTRING (string)->data, 0, 0); } /* Return nonzero iff LIST is a non-nil atom or