;;; Code:
-(eval-when-compile (require 'riece-inlines))
-
(require 'riece-globals)
(require 'riece-misc)
(eval-when-compile
- (autoload 'riece-default-handle-numeric-reply "riece-filter"))
+ (autoload 'riece-default-handle-numeric-reply "riece-handle"))
(defun riece-handle-default-400-message (prefix number name string)
(riece-default-handle-numeric-reply
riece-error-prefix prefix number name string))
+(defun riece-handle-read-string (prompt)
+ (condition-case nil
+ (let (inhibit-quit)
+ (read-string prompt))
+ (quit
+ (ignore (message "%s" (concat prompt "Quit"))))))
+
(defun riece-handle-432-message (prefix number name string)
"ERR_ERRONEUSNICKNAME \"<nick> :Erroneous nickname\"."
- (riece-send-string
- (format "NICK %s\r\n"
- (read-string
- (format "Erroneous nickname \"%s\". Choose a new one: "
- (car (riece-split-parameters string)))))))
+ (let ((nickname
+ (riece-handle-read-string
+ (format "Erroneous nickname \"%s\". Choose a new one: "
+ (car (riece-split-parameters string))))))
+ (if nickname
+ (riece-send-string (format "NICK %s\r\n" nickname)))))
(defun riece-handle-433-message (prefix number name string)
"ERR_NICKNAMEINUSE \"<nick> :Nickname is already in use\"."
- (riece-send-string
- (format "NICK %s\r\n"
- (read-string
- (format "Nickname \"%s\" already in use. Choose a new one: "
- (car (riece-split-parameters string)))))))
+ (let ((nickname
+ (riece-handle-read-string
+ (format "Nickname \"%s\" already in use. Choose a new one: "
+ (car (riece-split-parameters string))))))
+ (if nickname
+ (riece-send-string (format "NICK %s\r\n" nickname)))))
(defun riece-handle-464-message (prefix number name string)
"ERR_PASSWDMISMATCH \":Password incorrect\"."