X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-000.el;h=4506392736ab3a124b06b9471f184ea408325667;hp=2f7c71321492e74df6e242e83f7b51fe096962f3;hb=b9ad16fc8024cd63bf7f9933aceb0cc1c2c88db4;hpb=e3919f8e320115aa694c9738174ea15f059008be diff --git a/lisp/riece-000.el b/lisp/riece-000.el index 2f7c713..4506392 100644 --- a/lisp/riece-000.el +++ b/lisp/riece-000.el @@ -25,11 +25,11 @@ ;;; 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 @@ -42,6 +42,9 @@ (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) @@ -49,12 +52,15 @@ (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))