anchor.diff:  	  (eql state 'set-password-auth)
   	  (eql state 'set-password-new)))
   
  -(defmethod (setf cxn-state) :around (state (cxn tempus-cxn))
  +(defmethod (setf state-of) :around (state (cxn tempus-cxn))
     ;;; send telnet DO ECHO when the new state isn't a password state
  -  (when (password-state-p (cxn-state cxn))
  +  (when (password-state-p (state-of cxn))
   	(cxn-write cxn "~c~c~c"
   			   (code-char #xff)
   			   (code-char #xfc)
  
positive.code:   (cond
  	((eql *cxn-paginate* cxn)
       ;; Queue up text to be paginated later
  	 (setf (cxn-page-buf cxn)
  		   (concatenate 'string (cxn-page-buf cxn)
  						(colorize cxn (format nil "~?" fmt args)))))
  	(t
       ;; Normal writing to connection
  	 (unless (or (cxn-need-prompt cxn)
  				 (and (cxn-actor cxn)
  					  (not (autoprompt-p (prefs (cxn-actor cxn))))))
  	   (when (or (null (cxn-account cxn))
  				 (oddp (compact-level-of (cxn-account cxn))))
  		 (setf (cxn-output-buf cxn)
  			   (concatenate '(vector (unsigned-byte 8))
  							(cxn-output-buf cxn)
  							'(#x0d #x0a))))
  	   (when (or (null (cxn-actor cxn))
  				 (autoprompt-p (prefs (cxn-actor cxn))))
  		 (setf (cxn-need-prompt cxn) t)))
  	 (call-next-method cxn "~a"
  					   (colorize cxn (format nil "~?" fmt args))))))
  
  (defmethod handle-accept ((cxn tempus-cxn))
    (mudlog 'info t "New connection received from ~a" (peer-addr cxn))
    (setf (cxn-state cxn) 'login))
  
  (defmethod handle-flush :before ((cxn tempus-cxn))
    (when (cxn-need-prompt cxn)
  	(when (and (eql (cxn-state cxn) 'playing)
  			   (< (compact-level-of (cxn-account cxn)) 2))
  	  (cxn-write cxn "~%"))
      (send-state-prompt cxn (cxn-state cxn))
  	(when (and (eql (cxn-state cxn) 'playing)
  			   (evenp (compact-level-of (cxn-account cxn))))
  	  (cxn-write cxn "~%"))
  	(setf (cxn-need-prompt cxn) nil)))
  
  (defmethod handle-close ((cxn tempus-cxn))
    (cond
  	((null (cxn-account cxn))
  	 (mudlog 'info t "Closing connection without account"))
  	((and (eql (cxn-state cxn) 'playing) (cxn-actor cxn))
  	 (mudlog 'notice t "~a has lost link; ~a logged out"
  			 (name-of (cxn-actor cxn))
  			 (name-of (cxn-account cxn)))
  	 (act (cxn-actor cxn) :place-emit "$n has lost $s link.")
  	 (setf (link (cxn-actor cxn)) nil))
  	(t
  	 (mudlog 'notice t "~a logged out" (name-of (cxn-account cxn))))))
  
  
negative.code:   (input (cxn line)
     (cond
       ((string= line "")
        (setf (state-of cxn) 'main-menu))
       ((player-name-exists line)
        (cxn-write cxn "~%Sorry, that name is already taken.~%"))
       ((validate-name line)
        (setf (actor-of cxn)
              (make-instance 'player
                             :idnum (1+ (max-player-id))
                             :name (string-capitalize line)
                             :prefs (make-player-prefs)))
        (setf (state-of cxn) 'new-player-species))
       (t
        (cxn-write cxn "~%You have entered an invalid name.  Try again.~%")))))
  
  