[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