* lisp/subr.el (backtrace--print-frame): Use cl-prin1

* lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
generally don't expect errors.
This commit is contained in:
Stefan Monnier 2017-12-12 22:40:27 -05:00
parent 8c91d31bea
commit 92ca51cc5e
2 changed files with 10 additions and 9 deletions

View file

@ -269,12 +269,13 @@ Output is further controlled by the variables
`cl-print-readably', `cl-print-compiled', along with output
variables for the standard printing functions. See Info
node `(elisp)Output Variables'."
(cond
(cl-print-readably (prin1 object stream))
((not print-circle) (cl-print-object object stream))
(t
(let ((cl-print--number-table (cl-print--preprocess object)))
(cl-print-object object stream)))))
(if cl-print-readably
(prin1 object stream)
(with-demoted-errors "cl-prin1: %S"
(if (not print-circle)
(cl-print-object object stream)
(let ((cl-print--number-table (cl-print--preprocess object)))
(cl-print-object object stream))))))
;;;###autoload
(defun cl-prin1-to-string (object)

View file

@ -4536,10 +4536,10 @@ EVALD, FUNC, ARGS, FLAGS are as in `mapbacktrace'."
(princ (if (plist-get flags :debug-on-exit) "* " " "))
(cond
((and evald (not debugger-stack-frame-as-list))
(prin1 func)
(if args (prin1 args) (princ "()")))
(cl-prin1 func)
(if args (cl-prin1 args) (princ "()")))
(t
(prin1 (cons func args))))
(cl-prin1 (cons func args))))
(princ "\n"))
(defun backtrace ()