]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/eval.c (Fsignal): Handle `debug' symbol in error handler.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 20 Aug 2011 21:17:06 +0000 (17:17 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 20 Aug 2011 21:17:06 +0000 (17:17 -0400)
Fixes: debbugs:9329
src/ChangeLog
src/eval.c

index 85a55b2b7c93d61873c22b4987bb9c03df3ea335..adf7291eadf878e0b1cd9ea4d471ded1fa5f1598 100644 (file)
@@ -1,3 +1,7 @@
+2011-08-20  Chong Yidong  <cyd@stupidchicken.com>
+
+       * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
+
 2011-08-19  Eli Zaretskii  <eliz@gnu.org>
 
        * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
index e37425020c913e635919c4d93f63c3ff7abb367e..8b121665ff75b65ceb4f8d50d7a4b0292727e8ee 100644 (file)
@@ -1699,6 +1699,10 @@ See also the function `condition-case'.  */)
       && (!NILP (Vdebug_on_signal)
          /* If no handler is present now, try to run the debugger.  */
          || NILP (clause)
+         /* A `debug' symbol in the handler list disables the normal
+            suppression of the debugger.  */
+         || (CONSP (clause) && CONSP (XCAR (clause))
+             && !NILP (Fmemq (Qdebug, XCAR (clause))))
          /* Special handler that means "print a message and run debugger
             if requested".  */
          || EQ (h->handler, Qerror)))