ignore-errors ignores scheme exceptions
authorRobin Templeton <robin@terpri.org>
Mon, 11 Aug 2014 10:59:48 +0000 (06:59 -0400)
committerRobin Templeton <robin@terpri.org>
Mon, 20 Apr 2015 04:29:03 +0000 (00:29 -0400)
lisp/subr.el

index c6e92bf..9d9b927 100644 (file)
@@ -234,7 +234,12 @@ Otherwise, return result of last form in BODY.
 See also `with-demoted-errors' that does something similar
 without silencing all errors."
   (declare (debug t) (indent 0))
-  `(condition-case nil (progn ,@body) (error nil)))
+  `(condition-case nil
+       (%funcall (@ (guile) catch)
+                 t
+                 #'(lambda () ,@body)
+                 #'(lambda (&rest args) nil))
+     (error nil)))
 \f
 ;;;; Basic Lisp functions.