[slime-cvs] CVS update: slime/slime.el

Helmut Eller heller at common-lisp.net
Wed Jul 28 17:20:31 UTC 2004


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

Modified Files:
	slime.el 
Log Message:
(slime-eval-feature-conditional): Treat uppercase operators NOT, AND,
OR correctly.

(sldb-find-buffer): Remove killed buffers.

(sldb-quit): Raise an error if the RPC returns.


Date: Wed Jul 28 10:20:31 2004
Author: heller

Index: slime/slime.el
diff -u slime/slime.el:1.379 slime/slime.el:1.380
--- slime/slime.el:1.379	Mon Jul 26 04:47:29 2004
+++ slime/slime.el	Wed Jul 28 10:20:31 2004
@@ -3694,9 +3694,9 @@
   (if (symbolp e)
       (memq (slime-to-feature-keyword e) (slime-lisp-features))
     (funcall (ecase (car e)
-               (and #'every)
-               (or  #'some)
-               (not (lambda (f l) (not (apply f l)))))
+               ((and AND) #'every)
+               ((or OR) #'some)
+               ((not NOT) (lambda (f l) (not (apply f l)))))
              #'slime-eval-feature-conditional
              (cdr e))))
 
@@ -5550,9 +5550,14 @@
   "List of sldb-buffers.")
 
 (defun sldb-find-buffer (thread)
-  (cdr (assoc* (cons (slime-connection) thread) 
-               sldb-buffers 
-               :test #'equal)))
+  (let ((buffer (cdr (assoc* (cons (slime-connection) thread) 
+                             sldb-buffers 
+                             :test #'equal))))
+    (cond ((not buffer) nil)
+          ((not (buffer-live-p buffer))
+           (setf sldb-buffers (remove* sldb sldb-buffers :key #'cdr))
+           nil)
+          (t buffer))))
 
 (defun sldb-get-default-buffer ()
   (cdr (first sldb-buffers)))
@@ -6038,7 +6043,8 @@
 (defun sldb-quit ()
   "Quit to toplevel."
   (interactive)
-  (slime-eval-async '(swank:throw-to-toplevel)))
+  (slime-eval-async '(swank:throw-to-toplevel) 
+                    (lambda (_) (error "sldb-quit returned"))))
 
 (defun sldb-continue ()
   "Invoke the \"continue\" restart."
@@ -7403,7 +7409,7 @@
                         (lambda () 
                           (and (slime-sldb-level= 1)
                                (get-buffer-window (sldb-get-default-buffer))))
-                        5)
+                        10)
   (with-current-buffer (sldb-get-default-buffer)
     (sldb-quit))
   (slime-sync-to-top-level 5))





More information about the slime-cvs mailing list