summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-06-24 10:43:41 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-06-24 11:04:51 +0200
commitbd1f20eea199d61a8b1db602392d8e17af624ff2 (patch)
treefb660322e5499c323093bbd20728bd19dd506454 /lisp/emacs-lisp
parentc148bfc229e4d305a8e45595b1b0aa8ae21ef7de (diff)
downloademacs-bd1f20eea199d61a8b1db602392d8e17af624ff2.tar.gz
emacs-bd1f20eea199d61a8b1db602392d8e17af624ff2.tar.bz2
emacs-bd1f20eea199d61a8b1db602392d8e17af624ff2.zip
Make debug-early-backtrace more resilient
* lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Allow outputting backtraces during bootstrap.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/debug-early.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/debug-early.el b/lisp/emacs-lisp/debug-early.el
index 4f1f4b81557..a301c73017e 100644
--- a/lisp/emacs-lisp/debug-early.el
+++ b/lisp/emacs-lisp/debug-early.el
@@ -45,7 +45,13 @@ of the build process."
(let ((print-escape-newlines t)
(print-escape-control-characters t)
(print-escape-nonascii t)
- (prin1 (if (fboundp 'cl-prin1) #'cl-prin1 #'prin1)))
+ (prin1 (if (and (fboundp 'cl-prin1)
+ ;; If we're being called while
+ ;; bootstrapping, we won't be able to load
+ ;; cl-print.
+ (require 'cl-print nil t))
+ #'cl-prin1
+ #'prin1)))
(mapbacktrace
#'(lambda (evald func args _flags)
(let ((args args))