X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-000.el;h=0894b10e6945358e878c79c6bd62699a6d9940e5;hb=2fe762b60d989788d373772dce4fc9f02f7105a1;hp=2d6eab611c1e618511d4ca268d139f13866a4d35;hpb=fe7ce5e9a344721b1ecdd4d9ec1adce5dc908a49;p=riece diff --git a/lisp/riece-000.el b/lisp/riece-000.el index 2d6eab6..0894b10 100644 --- a/lisp/riece-000.el +++ b/lisp/riece-000.el @@ -24,14 +24,12 @@ ;;; Code: -(eval-when-compile (require 'riece-inlines)) - (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 @@ -39,13 +37,32 @@ (defun riece-handle-001-message (prefix number name string) "RPL_WELCOME \"Welcome to the Internet Relay Network !@\"" + (if riece-real-server-name + (error "Already registered")) (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) - (concat (substring string 1) "\n"))) + (concat (substring string 1) "\n")) + (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) + entry identity) + (while 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 identity (nth 1 entry))) + (setq channel-list (cdr channel-list)))) + (run-hooks 'riece-after-login-hook)) (defun riece-handle-004-message (prefix number name string) "RPL_MYINFO \" \""