From ab67260b084615a1451e263c1c05b2f64230c6e1 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 27 Jul 1992 02:56:28 +0000 Subject: *** empty log message *** --- src/eval.c | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'src/eval.c') diff --git a/src/eval.c b/src/eval.c index 5ec675111a..562974b7dc 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1127,32 +1127,21 @@ static int wants_debugger (list, conditions) Lisp_Object list, conditions; { - static int looking = 0; - - if (looking) - { - /* We got an error while looking in LIST. */ - looking = 0; - return 1; - } - if (NILP (list)) return 0; if (! CONSP (list)) return 1; - looking = 1; - while (!NILP (conditions)) + while (CONSP (conditions)) { - Lisp_Object tem; - tem = Fmemq (XCONS (conditions)->car, list); - if (! NILP (tem)) - { - looking = 0; + Lisp_Object this, tail; + this = XCONS (conditions)->car; + for (tail = list; CONSP (tail); tail = XCONS (tail)->cdr) + if (EQ (XCONS (tail)->car, this)) return 1; - } conditions = XCONS (conditions)->cdr; } + return 0; } /* Value of Qlambda means we have called debugger and user has continued. @@ -1174,8 +1163,8 @@ find_handler_clause (handlers, conditions, sig, data, debugger_value_ptr) if (wants_debugger (Vstack_trace_on_error, conditions)) internal_with_output_to_temp_buffer ("*Backtrace*", Fbacktrace, Qnil); if (!entering_debugger - && ((EQ (sig, Qquit) && debug_on_quit) - || wants_debugger (Vdebug_on_error, conditions))) + && (EQ (sig, Qquit) ? debug_on_quit + : wants_debugger (Vdebug_on_error, conditions))) { int count = specpdl_ptr - specpdl; specbind (Qdebug_on_error, Qnil); -- cgit v1.2.3