Hi,

I am trying to rewrite the work with sockets in a swank via IOLib and found 
that call peek-char produces an error "No uncommitted character to unread" 
(see %stream-unread-char in a gray-stream-methods.lisp) . 
I did not understand deep, but noticed that after the following simple modifications:

diff --git a/src/streams/gray/gray-stream-methods.lisp b/src/streams/gray/gray-stream-methods.lisp
index d0cdbce..43f4694 100644
--- a/src/streams/gray/gray-stream-methods.lisp
+++ b/src/streams/gray/gray-stream-methods.lisp
@@ -320,7 +320,6 @@
                    (unread-index ibuf-unread-index-of)
                    (ef external-format-of))
       stream
-    (setf unread-index (iobuf-start ib))
     (let* ((str nil) (ret nil)
            (encoding (babel:external-format-encoding ef))
            (max-octets-per-char

system begins to work normally


Moskvitin Andrey