[slime-cvs] CVS slime

trittweiler trittweiler at common-lisp.net
Mon May 14 19:40:29 UTC 2007


Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv16472

Modified Files:
	slime.el 
Log Message:
* slime.el: Fixed proper handling of the abortion of a
  request. (For instance, when calling (SWANK::ABORT-REQUEST "FOO")
  from the REPL.)

  (sldb-quit): Updated the DESTRUCTURE-CASE clause for (:abort) to
  take an argument.
  (sldb-continue): Likewise.
  (sldb-invoke-restart): Likewise.
  (sldb-break-with-default-debugger): Likewise.
  (sldb-return-from-frame): Likewise.
  (sldb-restart-frame): Likewise.
  (slime-repl-eval-string) Likewise.
  (slime-repl-show-abort): Now also inserts the reason for the abort
  into the REPL buffer.


--- /project/slime/cvsroot/slime/slime.el	2007/05/13 09:40:27	1.787
+++ /project/slime/cvsroot/slime/slime.el	2007/05/14 19:40:28	1.788
@@ -3586,8 +3586,8 @@
       ((list 'swank:listener-eval string) (slime-lisp-package))
     ((:ok result)
      (slime-repl-insert-result result))
-    ((:abort)
-     (slime-repl-show-abort))))
+    ((:abort &optional reason)
+     (slime-repl-show-abort reason))))
 
 (defun slime-repl-insert-result (result)
   (with-current-buffer (slime-output-buffer)
@@ -3605,11 +3605,13 @@
                   (insert "\n")))))))
     (slime-repl-insert-prompt)))
 
-(defun slime-repl-show-abort ()
+(defun slime-repl-show-abort (reason)
   (with-current-buffer (slime-output-buffer)
     (slime-with-output-end-mark 
      (unless (bolp) (insert-before-markers "\n"))
-     (insert-before-markers "; Evaluation aborted\n"))
+     (insert-before-markers (if reason
+                                (concat "; Evaluation aborted: " reason "\n")
+                                "; Evaluation aborted.\n")))
     (slime-repl-insert-prompt)))
 
 (defun slime-repl-insert-prompt ()
@@ -8895,7 +8897,7 @@
   (interactive)
   (slime-rex () ('(swank:throw-to-toplevel))
     ((:ok _) (error "sldb-quit returned"))
-    ((:abort))))
+    ((:abort &optional _))))
 
 (defun sldb-continue ()
   "Invoke the \"continue\" restart."
@@ -8905,7 +8907,7 @@
     ((:ok _)
      (message "No restart named continue")
      (ding))
-    ((:abort) )))
+    ((:abort &optional _))))
 
 (defun sldb-abort ()
   "Invoke the \"abort\" restart."
@@ -8922,14 +8924,14 @@
     (slime-rex ()
         ((list 'swank:invoke-nth-restart-for-emacs sldb-level restart))
       ((:ok value) (message "Restart returned: %s" value))
-      ((:abort)))))
+      ((:abort &optional _)))))
 
 (defun sldb-break-with-default-debugger ()
   "Enter default debugger."
   (interactive)
   (slime-rex ()
       ('(swank:sldb-break-with-default-debugger) nil slime-current-thread)
-    ((:abort))))
+    ((:abort &optional _))))
 
 (defun sldb-step ()
   "Select the \"continue\" restart and set a new break point."
@@ -8971,7 +8973,7 @@
     (slime-rex ()
         ((list 'swank:sldb-return-from-frame number string))
       ((:ok value) (message "%s" value))
-      ((:abort)))))
+      ((:abort &optional _)))))
 
 (defun sldb-restart-frame ()
   "Causes the frame to restart execution with the same arguments as it
@@ -8981,7 +8983,7 @@
     (slime-rex ()
         ((list 'swank:restart-frame number))
       ((:ok value) (message "%s" value))
-      ((:abort)))))
+      ((:abort &optional _)))))
 
 
 ;;;;; SLDB references (rather SBCL specific)




More information about the slime-cvs mailing list