* riece-naming.el (riece-naming-assert-join): Rename signal 'join
[elisp/riece.git] / lisp / riece-handle.el
index 17d4b09..ee2b73f 100644 (file)
                           (format "%s -> %s"
                                 (riece-format-identity old-identity t)
                                 (riece-format-identity new-identity t)))
-                         "\n"))
-    (riece-redisplay-buffers)))
+                         "\n"))))
 
 (defun riece-handle-privmsg-message (prefix string)
   (let* ((user (riece-prefix-nickname prefix))
         (parameters (riece-split-parameters string))
         (targets (split-string (car parameters) ","))
-        (message (nth 1 parameters))
-        (speaker (riece-make-identity user riece-server-name)))
+        (message (nth 1 parameters)))
     (riece-display-message
-     (riece-make-message speaker
+     (riece-make-message (riece-make-identity user
+                                             riece-server-name)
                         (riece-make-identity (car targets)
                                              riece-server-name)
-                        message
-                        nil
-                        (riece-identity-equal
-                         speaker (riece-current-nickname))))))
+                        message nil
+                        (riece-identity-equal-no-server
+                         user riece-real-nickname)))))
 
 (defun riece-handle-notice-message (prefix string)
   (let* ((user (if prefix
@@ -90,7 +88,9 @@
                                                  riece-server-name)
                             (riece-make-identity (car targets)
                                                  riece-server-name)
-                            message 'notice))
+                            message 'notice
+                            (riece-identity-equal-no-server
+                             user riece-real-nickname)))
       ;; message from server
       (riece-insert-notice
        (list riece-dialogue-buffer riece-others-buffer)
                   (riece-user-get-user-at-host user)
                   (riece-format-identity channel-identity t)))
          "\n")))
-      (setq channels (cdr channels)))
-    (riece-redisplay-buffers)))
+      (setq channels (cdr channels)))))
 
 (defun riece-handle-part-message (prefix string)
   (let* ((user (riece-prefix-nickname prefix))
                    (riece-format-identity channel-identity t))
            message))
          "\n")))
-      (setq channels (cdr channels)))
-    (riece-redisplay-buffers)))
+      (setq channels (cdr channels)))))
 
 (defun riece-handle-kick-message (prefix string)
   (let* ((kicker (riece-prefix-nickname prefix))
                 (riece-format-identity user-identity t)
                 (riece-format-identity channel-identity t))
          message))
-       "\n")))
-    (riece-redisplay-buffers)))
+       "\n")))))
 
 (defun riece-handle-quit-message (prefix string)
   (let* ((user (riece-prefix-nickname prefix))
          (format "%s has left IRC"
                  (riece-format-identity user-identity t))
          message))
-       "\n"))))
-  (riece-redisplay-buffers))
+       "\n")))))
 
 (defun riece-handle-kill-message (prefix string)
   (let* ((killer (riece-prefix-nickname prefix))
                 (riece-format-identity killer-identity t)
                 (riece-format-identity user-identity t))
          message))
-       "\n")))
-    (riece-redisplay-buffers)))
+       "\n")))))
 
 (defun riece-handle-invite-message (prefix string)
   (let* ((user (riece-prefix-nickname prefix))
         (user-identity (riece-make-identity user riece-server-name))
         (channel-identity (riece-make-identity channel riece-server-name)))
     (riece-channel-set-topic (riece-get-channel channel) topic)
+    (riece-emit-signal (riece-make-signal
+                       'riece-channel-set-topic
+                       channel-identity
+                       topic))
     (let ((buffer (riece-channel-buffer channel-identity)))
       (riece-insert-change
        buffer
                 (riece-format-identity channel-identity t)
                 (riece-format-identity user-identity t)
                 topic))
-       "\n"))
-      (riece-redisplay-buffers))))
+       "\n")))))
 
 (defsubst riece-parse-channel-modes (string channel)
   (while (string-match "^[-+]\\([^ ]*\\) *" string)
              (cond
               ((eq (car modes) ?o)
                (riece-channel-toggle-operator channel parameter
-                                              (eq toggle ?+)))
+                                              (eq toggle ?+))
+               (riece-emit-signal (riece-make-signal
+                                   'riece-channel-toggle-operator
+                                   (riece-make-identity
+                                    channel
+                                    riece-server-name)
+                                   (riece-make-identity
+                                    parameter
+                                    riece-server-name)
+                                   (eq toggle ?+))))
               ((eq (car modes) ?v)
                (riece-channel-toggle-speaker channel parameter
-                                             (eq toggle ?+)))
+                                             (eq toggle ?+))
+               (riece-emit-signal (riece-make-signal
+                                   'riece-channel-toggle-speaker
+                                   (riece-make-identity
+                                    channel
+                                    riece-server-name)
+                                   (riece-make-identity
+                                    parameter
+                                    riece-server-name)
+                                   (eq toggle ?+))))
               ((eq (car modes) ?b)
                (riece-channel-toggle-banned channel parameter
                                             (eq toggle ?+)))
                                              (eq toggle ?+)))))
          (riece-channel-toggle-mode channel (car modes)
                                     (eq toggle ?+)))
-       (setq modes (cdr modes))))))
+       (setq modes (cdr modes)))
+      (riece-emit-signal (riece-make-signal
+                         'riece-channel-toggle-modes
+                         (riece-make-identity
+                          channel
+                          riece-server-name)
+                         modes toggle)))))
 
 (defun riece-handle-mode-message (prefix string)
   (let* ((user (riece-prefix-nickname prefix))
                   (riece-format-identity channel-identity t)
                   (riece-format-identity user-identity t)
                   string))
-         "\n"))
-       (riece-redisplay-buffers)))))
+         "\n"))))))
 
 (provide 'riece-handle)