diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/eval.c b/src/eval.c index 6cca13a8fda..1c565e233c6 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -117,12 +117,6 @@ static EMACS_INT when_entered_debugger; | |||
| 117 | 117 | ||
| 118 | Lisp_Object Vsignaling_function; | 118 | Lisp_Object Vsignaling_function; |
| 119 | 119 | ||
| 120 | /* Set to non-zero while processing X events. Checked in Feval to | ||
| 121 | make sure the Lisp interpreter isn't called from a signal handler, | ||
| 122 | which is unsafe because the interpreter isn't reentrant. */ | ||
| 123 | |||
| 124 | int handling_signal; | ||
| 125 | |||
| 126 | /* If non-nil, Lisp code must not be run since some part of Emacs is | 120 | /* If non-nil, Lisp code must not be run since some part of Emacs is |
| 127 | in an inconsistent state. Currently, x-create-frame uses this to | 121 | in an inconsistent state. Currently, x-create-frame uses this to |
| 128 | avoid triggering window-configuration-change-hook while the new | 122 | avoid triggering window-configuration-change-hook while the new |
| @@ -1106,7 +1100,6 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value) | |||
| 1106 | /* Restore certain special C variables. */ | 1100 | /* Restore certain special C variables. */ |
| 1107 | set_poll_suppress_count (catch->poll_suppress_count); | 1101 | set_poll_suppress_count (catch->poll_suppress_count); |
| 1108 | UNBLOCK_INPUT_TO (catch->interrupt_input_blocked); | 1102 | UNBLOCK_INPUT_TO (catch->interrupt_input_blocked); |
| 1109 | handling_signal = 0; | ||
| 1110 | immediate_quit = 0; | 1103 | immediate_quit = 0; |
| 1111 | 1104 | ||
| 1112 | do | 1105 | do |
| @@ -1486,7 +1479,7 @@ See also the function `condition-case'. */) | |||
| 1486 | struct handler *h; | 1479 | struct handler *h; |
| 1487 | struct backtrace *bp; | 1480 | struct backtrace *bp; |
| 1488 | 1481 | ||
| 1489 | immediate_quit = handling_signal = 0; | 1482 | immediate_quit = 0; |
| 1490 | abort_on_gc = 0; | 1483 | abort_on_gc = 0; |
| 1491 | if (gc_in_progress || waiting_for_input) | 1484 | if (gc_in_progress || waiting_for_input) |
| 1492 | emacs_abort (); | 1485 | emacs_abort (); |
| @@ -2039,9 +2032,6 @@ eval_sub (Lisp_Object form) | |||
| 2039 | struct backtrace backtrace; | 2032 | struct backtrace backtrace; |
| 2040 | struct gcpro gcpro1, gcpro2, gcpro3; | 2033 | struct gcpro gcpro1, gcpro2, gcpro3; |
| 2041 | 2034 | ||
| 2042 | if (handling_signal) | ||
| 2043 | emacs_abort (); | ||
| 2044 | |||
| 2045 | if (SYMBOLP (form)) | 2035 | if (SYMBOLP (form)) |
| 2046 | { | 2036 | { |
| 2047 | /* Look up its binding in the lexical environment. | 2037 | /* Look up its binding in the lexical environment. |
| @@ -3104,8 +3094,6 @@ specbind (Lisp_Object symbol, Lisp_Object value) | |||
| 3104 | { | 3094 | { |
| 3105 | struct Lisp_Symbol *sym; | 3095 | struct Lisp_Symbol *sym; |
| 3106 | 3096 | ||
| 3107 | eassert (!handling_signal); | ||
| 3108 | |||
| 3109 | CHECK_SYMBOL (symbol); | 3097 | CHECK_SYMBOL (symbol); |
| 3110 | sym = XSYMBOL (symbol); | 3098 | sym = XSYMBOL (symbol); |
| 3111 | if (specpdl_ptr == specpdl + specpdl_size) | 3099 | if (specpdl_ptr == specpdl + specpdl_size) |
| @@ -3199,8 +3187,6 @@ specbind (Lisp_Object symbol, Lisp_Object value) | |||
| 3199 | void | 3187 | void |
| 3200 | record_unwind_protect (Lisp_Object (*function) (Lisp_Object), Lisp_Object arg) | 3188 | record_unwind_protect (Lisp_Object (*function) (Lisp_Object), Lisp_Object arg) |
| 3201 | { | 3189 | { |
| 3202 | eassert (!handling_signal); | ||
| 3203 | |||
| 3204 | if (specpdl_ptr == specpdl + specpdl_size) | 3190 | if (specpdl_ptr == specpdl + specpdl_size) |
| 3205 | grow_specpdl (); | 3191 | grow_specpdl (); |
| 3206 | specpdl_ptr->func = function; | 3192 | specpdl_ptr->func = function; |