* riece-message.el (riece-message-parent-buffers): Regard message's
authorueno <ueno>
Wed, 11 Jun 2003 02:20:00 +0000 (02:20 +0000)
committerueno <ueno>
Wed, 11 Jun 2003 02:20:00 +0000 (02:20 +0000)
speaker as target when priv mode.

* riece-display.el (riece-update-channel-indicator): Decode
riece-current-channel even in priv mode.

* riece-identity.el (riece-decode-identity): Respect prefix-only.
(riece-completing-read-identity): Check if illegal characters in
channel name.

lisp/ChangeLog
lisp/riece-display.el
lisp/riece-identity.el
lisp/riece-message.el

index 6c4ae6a..322f883 100644 (file)
@@ -1,3 +1,23 @@
+2003-06-11  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-message.el (riece-message-parent-buffers): Regard message's
+       speaker as target when priv mode.
+
+       * riece-display.el (riece-update-channel-indicator): Decode
+       riece-current-channel even in priv mode.
+
+       * riece-identity.el (riece-decode-identity): Respect prefix-only.
+       (riece-completing-read-identity): Check if illegal characters in
+       channel name.
+
+2003-06-08  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece.el (riece-buffer-mode-alist): Add riece-user-list-buffer.
+       * riece-globals.el (riece-user-buffer-format): Abolish.
+       (riece-user-list-buffer): Default to " *Users*".
+       * riece-display.el (riece-user-list-buffer-name): Abolish.
+       (riece-user-list-buffer-create): Abolish.
+
 2003-06-08  Daiki Ueno  <ueno@unixuser.org>
 
        * riece-filter.el (riece-handle-numeric-reply): Don't decode messages.
index e234796..8dbea3c 100644 (file)
                 (riece-concat-channel-topic
                  riece-current-channel
                  (riece-decode-identity riece-current-channel)))
-             riece-current-channel)
+             (riece-decode-identity riece-current-channel))
          "None")))
 
 (defun riece-update-short-channel-indicator ()
index 1f58e02..672d1b0 100644 (file)
@@ -141,7 +141,7 @@ take server names into account."
     (let ((prefix (riece-decode-coding-string
                   (riece-identity-prefix identity)))
          (server (riece-identity-server identity)))
-      (if (equal server "")
+      (if (or prefix-only (equal server ""))
          prefix
        (concat prefix " " server)))))
 
@@ -157,13 +157,21 @@ take server names into account."
 
 (defun riece-completing-read-identity (prompt table
                                              &optional predicate must-match)
-  (riece-encode-identity
-   (completing-read
-    prompt
-    (mapcar (lambda (channel)
-             (list (riece-decode-identity channel)))
-           table)
-    predicate must-match)))
+  (let* ((decoded
+         (completing-read
+          prompt
+          (mapcar (lambda (channel)
+                    (list (riece-decode-identity channel)))
+                  table)
+          predicate must-match))
+        (encoded
+         (riece-encode-identity decoded)))
+    (if (and (not (string-match "[ ,]" decoded))
+            (string-match "[ ,]" encoded)
+            (not (y-or-n-p (format "The encoded channel name contains illegal character \"%s\".  continue? "
+                                   (match-string 0 encoded)))))
+       (error "Invalid channel name!"))
+    encoded))
 
 (provide 'riece-identity)
 
index 661909c..cb5f3ef 100644 (file)
 Normally they are *Dialogue* and/or *Others*."
   (if (or (and buffer (riece-frozen buffer))
          (and riece-current-channel
-              (not (riece-identity-equal
-                    (riece-message-target message)
-                    riece-current-channel))))
+              (if (riece-message-private-p message)
+                  (not (riece-identity-equal
+                        (riece-message-speaker message)
+                        riece-current-channel))
+                (not (riece-identity-equal
+                      (riece-message-target message)
+                      riece-current-channel)))))
       (list riece-dialogue-buffer riece-others-buffer)
     riece-dialogue-buffer))