anchor.diff:                          :read
                           (lambda (fd event exception)
                             (declare (ignore fd event exception))
  -                          (handler-case
  -                              (cl-irc:read-message-loop conn)
  -                            (error (err)
  -                              (format t "Caught error ~a in cl-irc:read-message~%" err)))))
  +                          (cl-irc:read-message-loop conn)))
     (iolib:event-dispatch *event-base*))
   
   (defun make-orcabot-instance (config)
     (lambda ()
       (let ((*quitting* nil)
             (*random-state* (make-random-state t))
  +          (babel::*suppress-character-coding-errors* t)
             (*event-base* (make-instance 'iolib:event-base)))
         (loop until *quitting* do
              (let (conn)
  
positive.code:                      (iolib:remove-fd-handlers *event-base*
                                                 (iolib:socket-os-fd (cl-irc::socket conn))
                                                 :read t))
                     (close (irc:network-stream conn) :abort t))))))
        (unless *quitting*
          (format t "Sleeping 10 seconds before reconnecting.~%")
          (sleep 10)))))
  
negative.code:                     (cl+ssl::ssl-error-syscall (err)
                        (format t "SSL error ~a~%" err))
                      (orcabot-exiting ()
                        (format t "Exiting gracefully")
                        (setf *quitting* t)
                        (irc:quit conn "Quitting")
                        (shutdown-dispatcher conn)
  