[slime-cvs] CVS slime
CVS User heller
heller at common-lisp.net
Fri Oct 17 21:27:08 UTC 2008
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv30944
Modified Files:
ChangeLog swank.lisp
Log Message:
* swank.lisp (call-with-retry-restart): Implement this a little
less confusing.
--- /project/slime/cvsroot/slime/ChangeLog 2008/10/17 21:26:53 1.1560
+++ /project/slime/cvsroot/slime/ChangeLog 2008/10/17 21:27:08 1.1561
@@ -1,10 +1,15 @@
2008-10-17 Helmut Eller <heller at common-lisp.net>
+ * swank.lisp (call-with-retry-restart): Implement this a little
+ less confusing.
+
+2008-10-17 Helmut Eller <heller at common-lisp.net>
+
* swank-backend.lisp (frame-restartable-p): New function.
(swank-frame): Deleted. Update implemenetations accordingly.
(print-frame): Renamed back from print-swank-frame.
- * swank.lisp (backends): Don't clutter the backtrace with
+ * swank.lisp (backtrace): Don't clutter the backtrace with
'(:restartable :unknown). For practical purposes :unknown is the
same as nil.
--- /project/slime/cvsroot/slime/swank.lisp 2008/10/17 21:26:53 1.604
+++ /project/slime/cvsroot/slime/swank.lisp 2008/10/17 21:27:08 1.605
@@ -413,16 +413,8 @@
(call-with-debugger-hook #'swank-debugger-hook function)))))))
(defun call-with-retry-restart (msg thunk)
- (let ((%ok (gensym "OK+"))
- (%retry (gensym "RETRY+")))
- (restart-bind
- ((retry
- (lambda () (throw %retry nil))
- :report-function
- (lambda (stream)
- (write msg :stream stream))))
- (catch %ok
- (loop (catch %retry (throw %ok (funcall thunk))))))))
+ (loop (with-simple-restart (retry "~a" msg)
+ (return (funcall thunk)))))
(defmacro with-retry-restart ((&key (msg "Retry.")) &body body)
(check-type msg string)
More information about the slime-cvs
mailing list