Function: condition-case-unless-debug

condition-case-unless-debug is a macro defined in subr.el.gz.

Signature

(condition-case-unless-debug VAR BODYFORM &rest HANDLERS)

Documentation

Like condition-case except that it does not prevent debugging.

More specifically if debug-on-error is set then the debugger will be invoked even if this catches the signal.

View in manual

Probably introduced at or before Emacs version 24.1.

Source Code

;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defmacro condition-case-unless-debug (var bodyform &rest handlers)
  "Like `condition-case' except that it does not prevent debugging.
More specifically if `debug-on-error' is set then the debugger will be invoked
even if this catches the signal."
  (declare (debug condition-case) (indent 2))
  `(condition-case ,var
       ,bodyform
     ,@(mapcar (lambda (handler)
                 `((debug ,@(if (listp (car handler)) (car handler)
                              (list (car handler))))
                   ,@(cdr handler)))
               handlers)))