summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2017-12-12 22:40:27 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2017-12-12 22:40:27 -0500
commit92ca51cc5e9d30818f5abf60a5a13f08f2ea7e96 (patch)
treea3ae7961ed0821184862dc65a2f0589e53975f93 /lisp
parent8c91d31beab0234e8a187864df46af543022c656 (diff)
downloademacs-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.el13
-rw-r--r--lisp/subr.el6
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 ()