anchor.diff:                                       :as-string as-string)
       (cond ((null expect) (values command argument))
             ((eq command expect) argument)
  -          (t (error 'authentication-error
  -                    :command command
  -                    :argument argument)))))
  +          (t (error 'authentication-error :command command :argument argument)))))
   
   (defun send-authentication-command (connection command &rest arguments)
     "Send an authentication command to the server."
  
positive.code:                      (entry-replacement-attempt-new condition)))))
  
  (defun replace-entry-p (old new if-exists)
    "Return true if the new entry should replace the old one.
  
  IF-EXISTS determines how to find out:
  
    :ERROR - signal an ENTRY-ALREADY-EXISTS error with a CONTINUE
             restart to replace the entry, and an ABORT restart to not
             replace it.
  
    :WARN - replace the entry after signaling a warning.
  
    :DONT-REPLACE - don't replace entry.
  
    :REPLACE - replace entry."
    (flet ((replace-it () (return-from replace-entry-p t))
           (dont-replace-it () (return-from replace-entry-p nil)))
      (ecase if-exists
  
negative.code: (defun parse-authentication-response (line &key as-string)
    "Parse authentication response line and return two values:
  
    :REJECTED
  
      Current authentication exchanged failed; the second value is a
      list of authentication mechanisms.
  
    :OK
  
      Client has been authenticated; the second value is the server's
      UUID.
  
    :DATA
  
      Data are available; the second value is either an octet vector or
      a string, depending on the value of AS-STRING.
  
    :ERROR
  
      Bad command or arguments; the second value is NIL.
  
    :UNEXPECTED
  
      Unexpected command; the second value is the response line."
    (cond ((starts-with-subseq "REJECTED " line)
           (values :rejected (split-sequence #\Space line :start 9)))
          ((starts-with-subseq "OK " line)
  