;;; Code:
(require 'riece-misc)
-(require 'riece-filter) ;riece-default-handle-message
(require 'riece-version)
+(require 'riece-commands) ;riece-command-join
(eval-when-compile
- (autoload 'riece-default-handle-numeric-reply "riece-filter"))
+ (autoload 'riece-default-handle-numeric-reply "riece-handle"))
(defun riece-handle-default-000-message (prefix number name string)
(setq riece-nick-accepted 'ok)
(riece-default-handle-numeric-reply
(setq riece-real-server-name prefix
riece-real-nickname name
riece-real-userhost nil)
+ ;; Before sending USERHOST, register myself with riece-obarray
+ ;; because it may take some time.
+ (riece-get-user name)
(riece-send-string (format "USERHOST %s\r\n" riece-real-nickname))
(riece-insert-info
(list riece-dialogue-buffer riece-others-buffer)
(if (equal riece-server-name "")
(message "Logging in to IRC server...done")
(message "Logging in to %s...done" riece-server-name))
- (let ((channel-list riece-startup-channel-list))
+ (let ((channel-list riece-startup-channel-list)
+ entry identity)
(while channel-list
- (if (listp (car channel-list))
- (riece-command-join (car (car channel-list))
- (nth 1 (car channel-list)))
- (riece-command-join (car channel-list)))
+ (unless (listp (setq entry (car channel-list)))
+ (setq entry (list (car channel-list))))
+ (if (equal (riece-identity-server
+ (setq identity (riece-parse-identity (car entry))))
+ riece-server-name)
+ (riece-command-join-channel identity (nth 1 entry)))
(setq channel-list (cdr channel-list))))
(run-hooks 'riece-after-login-hook))