]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/subr.el (backtrace--print-frame): Use cl-prin1
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Dec 2017 03:40:27 +0000 (22:40 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 13 Dec 2017 03:40:27 +0000 (22:40 -0500)
* lisp/emacs-lisp/cl-print.el (cl-prin1): Catch errors, since callers
generally don't expect errors.

lisp/emacs-lisp/cl-print.el
lisp/subr.el

index 4fc178c29aad464690a3a9742aba92daa762201f..5a26ecf05fe4df6f54f25e9f2d0f1cf5fc08ccd7 100644 (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)
index d6dceb79fa1e6ee5a1be9a3248bf9c8d5b212665..eca8dfdb857b9af81495035f6f65b1a18c52dfa0 100644 (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 ()