anchor.diff:  
   
   (defgeneric change-nick (client new-nickname)
  -  (:documentation "Send NICK message to server, and set the `nickname'
  -  of /client."))
  +  (:documentation "Send NICK message to server, and set the @c(nickname)
  +  of @cl:param(client)"))
   
   (defgeneric connect (client)
     (:documentation
  -   "Connect and register /client/ with an IRC server.
  +   "Connect and register @cl:param(client) with an IRC server.
   
   This also sets up some of the slots, and opens the log-stream."))
   
   (defgeneric connected-p (client)
     (:documentation
  -   "Return `t' if /client/ is connected, `nil' otherwise."))
  +   "Return @c(t) if @i(client) is connected, @c(nil) otherwise."))
   
   (defgeneric disconnect (client &key message)
     (:documentation
      "Send QUIT message to server, close the socket and close the log-stream.
   
  -Always signals `connection-closed'."))
  +Always signals @c(connection-closed)."))
   
   (defgeneric handle (command client prefix arguments)
  -  (:documentation "Called by `receive-message' after parsing the raw message.
  -
  -Specialize this with the macro `define-handler' for customizing the
  +  (:documentation "Called by @c(receive-message) after parsing the raw message.
  +
  +Specialize on this function with the macro @c(define-handler) for customizing
   behaviour.
   
   There is a default method that spits out the unhandled message
  -to `*standard-output*'."))
  +to @c(*standard-output*)."))
   
   (defgeneric nickname (client)
  -  (:documentation "Return current nickname of /client/."))
  +  (:documentation "Return current nickname of @cl:param(client)."))
   
   (defgeneric send-join (client channel &key password)
     (:documentation "Send JOIN message."))
  
positive.code: ;;; conditions
  
  (define-condition connection-closed ()
    ((client :initarg :client))
    (:report (lambda (condition stream)
  	     (with-slots (client) condition
  	       (format stream "Connection closed for ~a" client))))
    (:documentation "Signalled by `disconnect'.
  
  Disconnecting is the default action whenever an error occurs, so this
  signal can for example be handled to reconnect."))
  
  (define-condition connection-lost (error)
    ((client :initarg :client))
    (:report (lambda (condition stream)
  	     (with-slots (client) condition
  	       (format stream "Connection lost for ~a" client))))
  
negative.code: 
  (defun parse-raw-message (raw-message)
    "Return a list on the form (prefix command arguments).
  @begin(enum)
  @item(prefix) can be @c(nil), or servername / ( nickname [ [ \"!\" user ] \"@\" host ]
  See also the @c(parse-prefix) function.
  
  @item(command) is a keyword either made from the alpha-characters, or a
  keyword looked up with @c(find-reply-name).
  
  @item(arguments) is a list of the command arguments.
  @end(enum)"
    (multiple-value-bind (match-string match-vector)
        (cl-ppcre:scan-to-strings *message-scanner* raw-message)
      (declare (ignore match-string))
  