Update.
[riece] / lisp / riece-message.el
index 2bef9f6..bf28310 100644 (file)
 
 (defun riece-message-buffer (message)
   "Return the buffer where MESSAGE should appear."
-  (let* ((target (if (riece-identity-equal-no-server
+  (let* ((target (if (riece-identity-equal
                      (riece-message-target message)
                      (riece-current-nickname))
                     (riece-message-speaker message)
                   (riece-message-target message)))
-        (entry (riece-identity-assoc-no-server
-                target riece-channel-buffer-alist)))
+        (entry (riece-identity-assoc target riece-channel-buffer-alist)))
     (unless entry
       (riece-join-channel target)
       ;; If you are not joined any channel,
       (unless riece-current-channel
        (riece-switch-to-channel target))
       (riece-redisplay-buffers)
-      (setq entry (riece-identity-assoc-no-server
-                  target riece-channel-buffer-alist)))
+      (setq entry (riece-identity-assoc target riece-channel-buffer-alist)))
     (cdr entry)))
 
 (defun riece-message-parent-buffers (message buffer)
 Normally they are *Dialogue* and/or *Others*."
   (if (or (and buffer (riece-frozen buffer))
          (and riece-current-channel
-              (not (riece-identity-equal-no-server
+              (not (riece-identity-equal
                     (riece-message-target message)
                     riece-current-channel))))
       (list riece-dialogue-buffer riece-others-buffer)
@@ -135,16 +133,23 @@ Normally they are *Dialogue* and/or *Others*."
 
 (defun riece-display-message (message)
   "Display MESSAGE object."
-  (let* ((open-bracket
-         (funcall riece-message-make-open-bracket-function message))
-        (close-bracket
-         (funcall riece-message-make-close-bracket-function message))
-        (name
-         (funcall riece-message-make-name-function message))
-        (global-name
-         (funcall riece-message-make-global-name-function message))
-        (buffer (riece-message-buffer message))
-        (parent-buffers (riece-message-parent-buffers message buffer)))
+  (let ((open-bracket
+        (funcall riece-message-make-open-bracket-function message))
+       (close-bracket
+        (funcall riece-message-make-close-bracket-function message))
+       (name
+        (funcall riece-message-make-name-function message))
+       (global-name
+        (funcall riece-message-make-global-name-function message))
+       (buffer (riece-message-buffer message))
+       parent-buffers)
+    (when (and buffer
+              (riece-message-own-p message)
+              (riece-own-frozen buffer))
+      (with-current-buffer buffer
+       (setq riece-freeze nil))
+      (riece-update-status-indicators))
+    (setq parent-buffers (riece-message-parent-buffers message buffer))
     (riece-insert buffer
                  (concat open-bracket name close-bracket
                          " " (riece-message-text message) "\n"))
@@ -191,13 +196,13 @@ Currently possible values are `action' and `notice'."
   "Return t if MESSAGE is a private message."
   (if (riece-message-own-p message)
       (not (riece-channel-p (riece-message-target message)))
-    (riece-identity-equal-no-server
+    (riece-identity-equal
      (riece-message-target message)
      (riece-current-nickname))))
 
 (defun riece-message-external-p (message)
   "Return t if MESSAGE is from outside the channel."
-  (not (riece-identity-member-no-server
+  (not (riece-identity-member
        (riece-message-target message)
        (mapcar #'riece-make-identity
                (riece-user-get-channels (riece-message-speaker message))))))