diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c index 23fd0efd54a..a2b95172d87 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1429,6 +1429,8 @@ internal_condition_case_n (Lisp_Object (*bfun) (ptrdiff_t, Lisp_Object *), | |||
| 1429 | } | 1429 | } |
| 1430 | } | 1430 | } |
| 1431 | 1431 | ||
| 1432 | static Lisp_Object Qcatch_all_memory_full; | ||
| 1433 | |||
| 1432 | /* Like a combination of internal_condition_case_1 and internal_catch. | 1434 | /* Like a combination of internal_condition_case_1 and internal_catch. |
| 1433 | Catches all signals and throws. Never exits nonlocally; returns | 1435 | Catches all signals and throws. Never exits nonlocally; returns |
| 1434 | Qcatch_all_memory_full if no handler could be allocated. */ | 1436 | Qcatch_all_memory_full if no handler could be allocated. */ |
| @@ -4188,8 +4190,12 @@ alist of active lexical bindings. */); | |||
| 4188 | staticpro (&Vsignaling_function); | 4190 | staticpro (&Vsignaling_function); |
| 4189 | Vsignaling_function = Qnil; | 4191 | Vsignaling_function = Qnil; |
| 4190 | 4192 | ||
| 4191 | DEFSYM (Qcatch_all_memory_full, "catch-all-memory-full"); | 4193 | staticpro (&Qcatch_all_memory_full); |
| 4192 | Funintern (Qcatch_all_memory_full, Qnil); | 4194 | /* Make sure Qcatch_all_memory_full is a unique object. We could |
| 4195 | also use something like Fcons (Qnil, Qnil), but json.c treats any | ||
| 4196 | cons cell as error data, so use an uninterned symbol instead. */ | ||
| 4197 | Qcatch_all_memory_full | ||
| 4198 | = Fmake_symbol (build_pure_c_string ("catch-all-memory-full")); | ||
| 4193 | 4199 | ||
| 4194 | defsubr (&Sor); | 4200 | defsubr (&Sor); |
| 4195 | defsubr (&Sand); | 4201 | defsubr (&Sand); |