anchor.diff:  (defun irc-reconnect (&optional (callback nil))
     (tryto (remove-all-hooks *irc-connection*))
     (tryto (quit *irc-connection*))
  +  (tryto (sb-thread:terminate-thread *irc-read-loop*))
     (sleep 5)
     (format *stdout* "Connecting to IRC~%")
     (setf *irc-connection*
  
positive.code:               (sb-thread:signal-semaphore
                 *ping-semaphore*)))
    (format *stdout* "ACTIVATE HOOKS~%")
    (start-background-message-handler *irc-connection*)
    (if callback
        (funcall callback)))
  
  
negative.code: (defparameter *irc-connection* nil)
  (defvar *stdout* *standard-output*)
  (defvar *ping-semaphore* (sb-thread:make-semaphore))
  (defparameter *irc-read-loop* nil)
  
  (defun exit ()
    (sb-ext:exit))
  