anchor.diff:  
   (defun disconnect (&key (server *server*) (sindex 0))
     "cleanly disconnect from the server"
  -  (when (socket server sindex)
  +  (if (socket server sindex)
       (multiple-value-prog1
   	(send-command "QUIT"  :server server :sindex sindex)
         (usocket:socket-close (socket server sindex))
  -      (setf (elt (server-sock server) sindex) nil))))
  +      (setf (elt (server-sock server) sindex) nil)))
  +  )
   
  
positive.code:     (if expecting
  	(unless (eq code expecting) ;if checking for error
  	    (nntp-error code line)))
      (values code line) ;return if ok
  ))
  ;;;
  ;;; Restore server connection and state
  
negative.code: 	       :sock (make-array 1 )
  	       :grp  (make-array 1 :element-type 'string :initial-element "alt.autos.camaro")))
  
  (defmacro socket (&optional (server *server*) (sindex 0))
    `(elt (server-sock ,server) ,sindex))
  
  (define-condition nntp-error (error)
    ((message
  