[slime-cvs] CVS slime

CVS User sboukarev sboukarev at common-lisp.net
Sat Dec 24 05:01:25 UTC 2011


Update of /project/slime/cvsroot/slime
In directory tiger.common-lisp.net:/tmp/cvs-serv13346

Modified Files:
	ChangeLog swank.lisp 
Log Message:
* swank.lisp (throw-to-toplevel): If *sldb-quit-restart* is not
found, try to invoke the last restart, which usually is a
top-level abort restart. This is useful when the debugger is
invoked from a non-slime thread.


--- /project/slime/cvsroot/slime/ChangeLog	2011/12/23 20:03:15	1.2289
+++ /project/slime/cvsroot/slime/ChangeLog	2011/12/24 05:01:25	1.2290
@@ -1,3 +1,10 @@
+2011-12-24  Stas Boukarev  <stassats at gmail.com>
+
+	* swank.lisp (throw-to-toplevel): If *sldb-quit-restart* is not
+	found, try to invoke the last restart, which usually is a
+	top-level abort restart. This is useful when the debugger is
+	invoked from a non-slime thread.
+
 2011-12-23  Stas Boukarev  <stassats at gmail.com>
 
 	* slime.el (slime-cycle-connections): Add
--- /project/slime/cvsroot/slime/swank.lisp	2011/12/10 12:34:09	1.780
+++ /project/slime/cvsroot/slime/swank.lisp	2011/12/24 05:01:25	1.781
@@ -2231,7 +2231,8 @@
 (defslimefun throw-to-toplevel ()
   "Invoke the ABORT-REQUEST restart abort an RPC from Emacs.
 If we are not evaluating an RPC then ABORT instead."
-  (let ((restart (and *sldb-quit-restart* (find-restart *sldb-quit-restart*))))
+  (let ((restart (or (and *sldb-quit-restart* (find-restart *sldb-quit-restart*))
+                     (car (last (compute-restarts))))))
     (cond (restart (invoke-restart restart))
           (t (format nil "Restart not active [~s]" *sldb-quit-restart*)))))
 





More information about the slime-cvs mailing list