emacs: Honor debug-on-error for part renderers
authorAustin Clements <amdragon@MIT.EDU>
Fri, 18 Apr 2014 22:57:17 +0000 (18:57 -0400)
committerDavid Bremner <david@tethera.net>
Sat, 19 Apr 2014 04:08:30 +0000 (13:08 +0900)
Previously, even if debug-on-error was non-nil, the debugger would not
trap on part renderer errors.  This made debugging part renderer bugs
frustrating, so let the debugger trap these errors.

emacs/notmuch-show.el

index f6ca827e0525933fa8fc20a0e434f1bf9df58353..df10d4bad93b3936c00461194774cef4214725c1 100644 (file)
@@ -785,7 +785,10 @@ message at DEPTH in the current thread."
     (while (and handlers
                (not (condition-case err
                         (funcall (car handlers) msg part content-type nth depth button)
-                      (error (progn
+                      ;; Specifying `debug' here lets the debugger
+                      ;; run if `debug-on-error' is non-nil.
+                      ((debug error)
+                       (progn
                                (insert "!!! Bodypart insert error: ")
                                (insert (error-message-string err))
                                (insert " !!!\n") nil)))))