diff src/eval.c @ 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 9b919c5464a4
children e1aba4a05388
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