[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/eval.c,v
From: |
Andreas Schwab |
Subject: |
[Emacs-diffs] Changes to emacs/src/eval.c,v |
Date: |
Mon, 28 Jul 2008 12:25:13 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Andreas Schwab <schwab> 08/07/28 12:25:12
Index: eval.c
===================================================================
RCS file: /sources/emacs/emacs/src/eval.c,v
retrieving revision 1.304
retrieving revision 1.305
diff -u -b -r1.304 -r1.305
--- eval.c 13 Jul 2008 07:35:23 -0000 1.304
+++ eval.c 28 Jul 2008 12:25:10 -0000 1.305
@@ -1875,6 +1875,36 @@
return 0;
}
+/* Call the debugger if calling it is currently enabled for CONDITIONS.
+ SIG and DATA describe the signal, as in find_handler_clause. */
+
+static int
+maybe_call_debugger (conditions, sig, data)
+ Lisp_Object conditions, sig, data;
+{
+ Lisp_Object combined_data;
+
+ combined_data = Fcons (sig, data);
+
+ if (
+ /* Don't try to run the debugger with interrupts blocked.
+ The editing loop would return anyway. */
+ ! INPUT_BLOCKED_P
+ /* Does user want to enter debugger for this kind of error? */
+ && (EQ (sig, Qquit)
+ ? debug_on_quit
+ : wants_debugger (Vdebug_on_error, conditions))
+ && ! skip_debugger (conditions, combined_data)
+ /* rms: what's this for? */
+ && when_entered_debugger < num_nonmacro_input_events)
+ {
+ call_debugger (Fcons (Qerror, Fcons (combined_data, Qnil)));
+ return 1;
+ }
+
+ return 0;
+}
+
/* Value of Qlambda means we have called debugger and user has continued.
There are two ways to pass SIG and DATA:
= SIG is the error symbol, and DATA is the rest of the data.
@@ -1975,36 +2005,6 @@
return Qnil;
}
-/* Call the debugger if calling it is currently enabled for CONDITIONS.
- SIG and DATA describe the signal, as in find_handler_clause. */
-
-int
-maybe_call_debugger (conditions, sig, data)
- Lisp_Object conditions, sig, data;
-{
- Lisp_Object combined_data;
-
- combined_data = Fcons (sig, data);
-
- if (
- /* Don't try to run the debugger with interrupts blocked.
- The editing loop would return anyway. */
- ! INPUT_BLOCKED_P
- /* Does user wants to enter debugger for this kind of error? */
- && (EQ (sig, Qquit)
- ? debug_on_quit
- : wants_debugger (Vdebug_on_error, conditions))
- && ! skip_debugger (conditions, combined_data)
- /* rms: what's this for? */
- && when_entered_debugger < num_nonmacro_input_events)
- {
- call_debugger (Fcons (Qerror, Fcons (combined_data, Qnil)));
- return 1;
- }
-
- return 0;
-}
-
/* dump an error message; called like printf */
/* VARARGS 1 */