[slime-devel] errors with slime + sbcl on windows 7

Helmut Eller heller at common-lisp.net
Tue Mar 6 22:30:42 UTC 2012


* Mick Beaver [2012-03-06 22:16] writes:

> Hello,
>
> On Tue, Mar 6, 2012 at 3:48 PM, Helmut Eller <heller at common-lisp.net> wrote:
>> Should be fixed in HEAD now.  It will take a while until Quicklisp picks
>> it up.
>
> Thank you very much for fixing this. Is there a specific commit that I
> could look at to see what the fix was? I'm hoping to learn from
> this...

There's not much to learn: somebody accidentally removed
fd-stream-input-buffer-empty-p.  Here is the patch:

diff --git a/swank-sbcl.lisp b/swank-sbcl.lisp
--- a/swank-sbcl.lisp
+++ b/swank-sbcl.lisp
@@ -195,12 +195,15 @@
         (return nil))
       (sleep 0.1))))
 
+(defun fd-stream-input-buffer-empty-p (stream)
+  (let ((buffer (sb-impl::fd-stream-ibuf stream)))
+    (or (not buffer)
+        (= (sb-impl::buffer-head buffer)
+           (sb-impl::buffer-tail buffer)))))
+
 #-win32
 (defun input-ready-p (stream)
-  (or (let ((buffer (sb-impl::fd-stream-ibuf stream)))
-        (when buffer
-          (< (sb-impl::buffer-head buffer)
-             (sb-impl::buffer-tail buffer))))
+  (or (not (fd-stream-input-buffer-empty-p stream))
       #+#.(swank-backend:with-symbol 'fd-stream-fd-type 'sb-impl)
       (eq :regular (sb-impl::fd-stream-fd-type stream))
       (not (sb-impl::sysread-may-block-p stream))))


Helmut





More information about the slime-devel mailing list