- (if password
- (riece-process-send-string process
- (format "PASS %s\r\n" password)))
- (riece-process-send-string process
- (format "USER %s * * :%s\r\n"
- (user-real-login-name)
- (or username
- "No information given")))
- (riece-process-send-string process (format "NICK %s\r\n" nickname))
- (with-current-buffer (process-buffer process)
- (setq riece-last-nickname riece-real-nickname
- riece-nick-accepted 'sent
- riece-coding-system coding))
- (setq riece-server-process-alist
- (cons (cons server-name process)
- riece-server-process-alist)))))
+ (if (eq password 'quit)
+ (progn
+ (riece-close-server-process process)
+ ;; If no server process is available, exit.
+ (unless riece-server-process-alist
+ (riece-exit)))
+ (if password
+ (riece-process-send-string process
+ (format "PASS %s\r\n" password)))
+ (riece-process-send-string process
+ (format "USER %s * * :%s\r\n"
+ (user-real-login-name)
+ (or username
+ "No information given")))
+ (riece-process-send-string process (format "NICK %s\r\n" nickname))
+ (with-current-buffer (process-buffer process)
+ (setq riece-last-nickname riece-real-nickname
+ riece-nick-accepted 'sent
+ riece-coding-system coding))
+ (setq riece-server-process-alist
+ (cons (cons server-name process)
+ riece-server-process-alist))))))