X-Git-Url: http://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-300.el;h=4ec44e81d12ee9c0dc47dd77112ea03be2deacef;hp=499a98f3cf4078fbcac86d82ddb6a07828944d3a;hb=dc31997f34aea7b2fa4dc918640ea19178c7f3bb;hpb=005a2a7642c9f43d699922799801124a77d56f5d diff --git a/lisp/riece-300.el b/lisp/riece-300.el index 499a98f..4ec44e8 100644 --- a/lisp/riece-300.el +++ b/lisp/riece-300.el @@ -25,7 +25,6 @@ ;;; Code: (require 'riece-misc) -(require 'riece-commands) (require 'riece-filter) ;riece-default-handle-message @@ -176,6 +175,34 @@ idle)) "\n"))))) +(defun riece-handle-319-message (prefix number name string) + (if (string-match (concat "^\\(" riece-user-regexp "\\) :") string) + (let ((user (match-string 1 string)) + (channels + (mapconcat + (lambda (channel) + (if (string-match + (concat "^\\([@+]?\\)\\(" riece-channel-regexp "\\)") + channel) + (concat + (match-string 1 channel) + (riece-format-identity + (riece-make-identity (match-string 2 channel) + riece-server-name) + t)))) + (split-string (substring string (match-end 0)) " ") + " "))) + (riece-insert-info + (list riece-dialogue-buffer riece-others-buffer) + (concat + (riece-concat-server-name + (format "%s: %s" + (riece-format-identity + (riece-make-identity user riece-server-name) + t) + channels)) + "\n"))))) + (defun riece-handle-351-message (prefix number name string) (if (string-match "\\([^ ]+\\.[^ ]+\\) \\([^ ]+\\) :" string) (riece-insert-info @@ -220,7 +247,7 @@ (riece-channel-set-topic (riece-get-channel channel) topic) (let* ((channel-identity (riece-make-identity channel riece-server-name)) - (buffer (riece-channel-buffer-name channel-identity))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-info buffer (concat visible " users, topic: " topic "\n")) (riece-insert-info @@ -230,8 +257,8 @@ riece-dialogue-buffer) (concat (riece-concat-server-name - (format "%s users on %s, topic: %s" visible - (riece-format-identity channel-identity t) topic)) + (format "%s: %s users, topic: %s" + (riece-format-identity channel-identity t) visible topic)) "\n")))))) (defun riece-handle-324-message (prefix number name string) @@ -246,7 +273,7 @@ (setq modes (cdr modes))) (let* ((channel-identity (riece-make-identity channel riece-server-name)) - (buffer (riece-channel-buffer-name channel-identity))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-info buffer (concat "Mode: " mode-string "\n")) (riece-insert-info (if (and riece-channel-buffer-mode @@ -267,7 +294,7 @@ (let* ((channel (match-string 1 string)) (message (substring string (match-end 0))) (channel-identity (riece-make-identity channel riece-server-name)) - (buffer (riece-channel-buffer-name channel-identity))) + (buffer (riece-channel-buffer channel-identity))) (if remove (riece-channel-set-topic (riece-get-channel channel) nil) (riece-channel-set-topic (riece-get-channel channel) message) @@ -296,7 +323,7 @@ (let* ((channel (match-string 1 string)) (user (substring string (match-end 0))) (channel-identity (riece-make-identity channel riece-server-name)) - (buffer (riece-channel-buffer-name channel-identity))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-info buffer (concat "Inviting " user "\n")) (riece-insert-info (if (and riece-channel-buffer-mode @@ -321,8 +348,8 @@ (flag (match-string 8 string)) (hops (match-string 9 string)) (name (substring string (match-end 0))) - (buffer (riece-channel-buffer-name - (riece-make-identity channel riece-server-name))) + (buffer (riece-channel-buffer (riece-make-identity + channel riece-server-name))) (info (format "%10s = %s (%s) [%s, %s, %s hops, on %s]" (concat (if (memq flag '(?@ ?+))