[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