summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/edebug.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-05-01 13:40:13 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-05-01 13:40:13 +0200
commit7c8bec9e1ffe087918f6f218fc4560fc968aebb2 (patch)
tree2546ec6c38b293890826a0b93e2f66a2ea8f7e2f /lisp/emacs-lisp/edebug.el
parent81ce4b0e4ee18520f174cc5b46219e4475fcc956 (diff)
downloademacs-7c8bec9e1ffe087918f6f218fc4560fc968aebb2.tar.gz
emacs-7c8bec9e1ffe087918f6f218fc4560fc968aebb2.tar.bz2
emacs-7c8bec9e1ffe087918f6f218fc4560fc968aebb2.zip
Don't enter the debugger from *Backtrace* or edebug on eval errors
* doc/lispref/debugging.texi (Error Debugging): Document it. * doc/lispref/edebug.texi (Edebug Eval): Mention it. * lisp/emacs-lisp/debug.el (debug-allow-recursive-debug): New user option (bug#36145). (debugger-eval-expression): Use it. * lisp/emacs-lisp/edebug.el (edebug-eval-expression): Ditto. This patch is based on a patch by Noam Postavsky.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r--lisp/emacs-lisp/edebug.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 722283b88ff..85545f9f351 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -57,6 +57,7 @@
(require 'cl-lib)
(require 'seq)
(eval-when-compile (require 'pcase))
+(require 'debug)
;;; Options
@@ -3713,7 +3714,9 @@ Print result in minibuffer."
(interactive (list (read--expression "Eval: ")))
(princ
(edebug-outside-excursion
- (let ((result (edebug-eval expr)))
+ (let ((result (if debug-allow-recursive-debug
+ (edebug-eval expr)
+ (edebug-safe-eval expr))))
(values--store-value result)
(concat (edebug-safe-prin1-to-string result)
(eval-expression-print-format result))))))