anchor.diff:                 (setf (io-descriptor-read-pos to) (io-descriptor-read-limit to))
                  (io-queue-event :read-ready to)
                  (setq result t))))
  -      
  -      (out desc)
  -      (in desc)
  +      (case io
  +        (:read (in desc))
  +        (:write (out desc) 
  +                (in (io-descriptor-shortcut-p desc)))
  +        (t (out desc) (in desc)))
         result)))
   
   
  
positive.code: 
  
  (defun io-descriptor-destroy (desc)
    (ignore-errors
      (close (io-descriptor-stream desc)))
    (setf (io-descriptor-status desc) :broken)
    (setq *io-descriptions* (delete desc *io-descriptions*)))
  
  
  
negative.code: ;;;; clorb-io.lisp  --  a reactive IO layer for CLORB
  ;; $Id: clorb-io.lisp,v 1.23 2004/01/29 19:50:15 lenst Exp $
  
  
  ;; io-reset ()
  ;; io-create-listener (&optional port)
  ;; io-create-descriptor () => desc
  ;; io-descriptor-destroy (desc)
  ;; io-descriptor-connect (desc host port)
  ;; io-descriptor-working-p (desc) => boolean
  ;; io-descriptor-set-read (desc buf start end)
  ;; io-descriptor-set-write (desc buf start end)
  ;; io-descriptor-status (desc) => status
  ;; io-descriptor-error (desc) => condition or nil
  ;; io-descriptor-read-buffer (desc) => buffer
  ;; io-driver () => event, desc
  
  ;; io-descriptor-shortcut-connect (desc)
  ;; io-fix-broken ()
  