* riece-identity.el (riece-completing-read-identity): Don't signal
[riece] / lisp / riece-message.el
index f9d3740..c943e50 100644 (file)
                  (riece-message-target message))))
     (unless (riece-identity-member target riece-current-channels)
       (riece-join-channel target)
-      ;; If you are not joined any channel,
+      ;; If you are not joined to any channel,
       ;; switch to the target immediately.
       (unless riece-current-channel
        (riece-switch-to-channel target)))
@@ -174,13 +174,14 @@ Normally they are *Dialogue* and/or *Others*."
     (setq parent-buffers (riece-message-parent-buffers message buffer))
     (riece-insert buffer (riece-format-message message))
     (riece-insert parent-buffers (riece-format-message message t))
-    (run-hook-with-args 'riece-after-display-message-functions message)))
+    (with-current-buffer buffer
+      (run-hook-with-args 'riece-after-display-message-functions message))))
 
 (defun riece-display-message (message)
   "Display MESSAGE object."
   (let ((functions riece-message-filter-functions))
     (setq message (copy-sequence message))
-    (while functions
+    (while (and functions message)
       (setq message (funcall (car functions) message)
            functions (cdr functions)))
     (if message