diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-12-12 22:40:27 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-12-12 22:40:27 -0500 |
commit | 92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96 (patch) | |
tree | a3ae7961ed0821184862dc65a2f0589e53975f93 /lisp | |
parent | 8c91d31beab0234e8a187864df46af543022c656 (diff) | |
download | emacs-92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96.tar.gz emacs-92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96.tar.bz2 emacs-92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96.zip |
* 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.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-print.el | 13 | ||||
-rw-r--r-- | lisp/subr.el | 6 |
2 files changed, 10 insertions, 9 deletions
diff --git a/lisp/emacs-lisp/cl-print.el b/lisp/emacs-lisp/cl-print.el index 4fc178c29aa..5a26ecf05fe 100644 --- a/lisp/emacs-lisp/cl-print.el +++ b/lisp/emacs-lisp/cl-print.el @@ -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) diff --git a/lisp/subr.el b/lisp/subr.el index d6dceb79fa1..eca8dfdb857 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -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 () |