* riece-300.el (riece-handle-319-message): New handler.
authorDaiki Ueno <ueno@unixuser.org>
Sun, 24 Aug 2003 01:40:00 +0000 (01:40 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Sun, 24 Aug 2003 01:40:00 +0000 (01:40 +0000)
lisp/ChangeLog
lisp/riece-300.el

index b26804e..595e47a 100644 (file)
@@ -1,3 +1,11 @@
+2003-08-24  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-300.el (riece-handle-319-message): New handler.
+
+       * riece.el (riece-buffer-mode-alist): Add riece-command-buffer.
+       (riece): Signal an error when a server is opened;
+       No need to initialize riece-command-buffer specially.
+
 2003-08-22  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * riece-display.el (riece-configure-windows-top): Set
 2003-08-22  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * riece-display.el (riece-configure-windows-top): Set
index 499a98f..4d8b1b0 100644 (file)
                   idle))
          "\n")))))
 
                   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
 (defun riece-handle-351-message (prefix number name string)
   (if (string-match "\\([^ ]+\\.[^ ]+\\) \\([^ ]+\\) :" string)
       (riece-insert-info