aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/eval.c b/src/eval.c
index e47478bb1f1..25a41486279 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1076,7 +1076,7 @@ internal_catch (Lisp_Object tag, Lisp_Object (*func) (Lisp_Object), Lisp_Object
1076/* Unwind the specbind, catch, and handler stacks back to CATCH, and 1076/* Unwind the specbind, catch, and handler stacks back to CATCH, and
1077 jump to that CATCH, returning VALUE as the value of that catch. 1077 jump to that CATCH, returning VALUE as the value of that catch.
1078 1078
1079 This is the guts Fthrow and Fsignal; they differ only in the way 1079 This is the guts of Fthrow and Fsignal; they differ only in the way
1080 they choose the catch tag to throw to. A catch tag for a 1080 they choose the catch tag to throw to. A catch tag for a
1081 condition-case form has a TAG of Qnil. 1081 condition-case form has a TAG of Qnil.
1082 1082
@@ -1085,7 +1085,7 @@ internal_catch (Lisp_Object tag, Lisp_Object (*func) (Lisp_Object), Lisp_Object
1085 the handler stack as we go, so that the proper handlers are in 1085 the handler stack as we go, so that the proper handlers are in
1086 effect for each unwind-protect clause we run. At the end, restore 1086 effect for each unwind-protect clause we run. At the end, restore
1087 some static info saved in CATCH, and longjmp to the location 1087 some static info saved in CATCH, and longjmp to the location
1088 specified in the 1088 specified there.
1089 1089
1090 This is used for correct unwinding in Fthrow and Fsignal. */ 1090 This is used for correct unwinding in Fthrow and Fsignal. */
1091 1091
@@ -1099,7 +1099,7 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value)
1099 1099
1100 /* Restore certain special C variables. */ 1100 /* Restore certain special C variables. */
1101 set_poll_suppress_count (catch->poll_suppress_count); 1101 set_poll_suppress_count (catch->poll_suppress_count);
1102 UNBLOCK_INPUT_TO (catch->interrupt_input_blocked); 1102 unblock_input_to (catch->interrupt_input_blocked);
1103 immediate_quit = 0; 1103 immediate_quit = 0;
1104 1104
1105 do 1105 do
@@ -1114,16 +1114,6 @@ unwind_to_catch (struct catchtag *catch, Lisp_Object value)
1114 } 1114 }
1115 while (! last_time); 1115 while (! last_time);
1116 1116
1117#if HAVE_X_WINDOWS
1118 /* If x_catch_errors was done, turn it off now.
1119 (First we give unbind_to a chance to do that.) */
1120#if 0 /* This would disable x_catch_errors after x_connection_closed.
1121 The catch must remain in effect during that delicate
1122 state. --lorentey */
1123 x_fully_uncatch_errors ();
1124#endif
1125#endif
1126
1127 byte_stack_list = catch->byte_stack; 1117 byte_stack_list = catch->byte_stack;
1128 gcprolist = catch->gcpro; 1118 gcprolist = catch->gcpro;
1129#ifdef DEBUG_GCPRO 1119#ifdef DEBUG_GCPRO
@@ -1713,7 +1703,7 @@ maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data)
1713 if ( 1703 if (
1714 /* Don't try to run the debugger with interrupts blocked. 1704 /* Don't try to run the debugger with interrupts blocked.
1715 The editing loop would return anyway. */ 1705 The editing loop would return anyway. */
1716 ! INPUT_BLOCKED_P 1706 ! input_blocked_p ()
1717 && NILP (Vinhibit_debugger) 1707 && NILP (Vinhibit_debugger)
1718 /* Does user want to enter debugger for this kind of error? */ 1708 /* Does user want to enter debugger for this kind of error? */
1719 && (EQ (sig, Qquit) 1709 && (EQ (sig, Qquit)