From fa528b4e5c13f4a8738defff6fd6db3988c500d0 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 7 Jun 2026 00:20:20 -0400 Subject: [PATCH] lisp/emacs-lisp/debug-early.el (debug-early--handler): Fix bug#80916 --- lisp/emacs-lisp/debug-early.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/debug-early.el b/lisp/emacs-lisp/debug-early.el index 02dc275c02f..9786b267bf5 100644 --- a/lisp/emacs-lisp/debug-early.el +++ b/lisp/emacs-lisp/debug-early.el @@ -115,8 +115,12 @@ available before `debug' was usable.)" (defalias 'debug-early--handler ;Called from C. #'(lambda (err) - (if backtrace-on-error-noninteractive - (debug--early err #'debug-early--handler)))) + ;; Do the same `inhibit-debugger' dance as we do in + ;; `(maybe_)call_debugger' to avoid nested debugging (bug#80916). + (if (and backtrace-on-error-noninteractive + (not inhibit-debugger)) + (let ((inhibit-debugger t)) + (debug--early err #'debug-early--handler))))) (defalias 'debug-early--muted ;Called from C. #'(lambda (err)