diff options
| author | Richard M. Stallman | 1997-01-20 02:21:33 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1997-01-20 02:21:33 +0000 |
| commit | c11d3d177321dd62f364c52e1675c42a486c6cea (patch) | |
| tree | 0e1a9a7b30e15b17c14a06aa83f777a38572f7a5 /src | |
| parent | e12c1054457fa9e7c0d20de92a8eeff87f03a8e6 (diff) | |
| download | emacs-c11d3d177321dd62f364c52e1675c42a486c6cea.tar.gz emacs-c11d3d177321dd62f364c52e1675c42a486c6cea.zip | |
(Fsignal): Call fatal if no error handlers and no catch.
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index bf1eaacedd1..97dbf8f1579 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1207,6 +1207,7 @@ See also the function `condition-case'.") | |||
| 1207 | extern int gc_in_progress; | 1207 | extern int gc_in_progress; |
| 1208 | extern int waiting_for_input; | 1208 | extern int waiting_for_input; |
| 1209 | Lisp_Object debugger_value; | 1209 | Lisp_Object debugger_value; |
| 1210 | Lisp_Object string; | ||
| 1210 | 1211 | ||
| 1211 | quit_error_check (); | 1212 | quit_error_check (); |
| 1212 | immediate_quit = 0; | 1213 | immediate_quit = 0; |
| @@ -1266,7 +1267,14 @@ See also the function `condition-case'.") | |||
| 1266 | /* If no handler is present now, try to run the debugger, | 1267 | /* If no handler is present now, try to run the debugger, |
| 1267 | and if that fails, throw to top level. */ | 1268 | and if that fails, throw to top level. */ |
| 1268 | find_handler_clause (Qerror, conditions, error_symbol, data, &debugger_value); | 1269 | find_handler_clause (Qerror, conditions, error_symbol, data, &debugger_value); |
| 1269 | Fthrow (Qtop_level, Qt); | 1270 | if (catchlist != 0) |
| 1271 | Fthrow (Qtop_level, Qt); | ||
| 1272 | |||
| 1273 | if (! EQ (data, memory_signal_data)) | ||
| 1274 | data = Fcons (error_symbol, data); | ||
| 1275 | |||
| 1276 | string = Ferror_message_string (data); | ||
| 1277 | fatal (XSTRING (string)->data, 0, 0); | ||
| 1270 | } | 1278 | } |
| 1271 | 1279 | ||
| 1272 | /* Return nonzero iff LIST is a non-nil atom or | 1280 | /* Return nonzero iff LIST is a non-nil atom or |