From 982b0763e48948aed74e865f40d015aabc27639c Mon Sep 17 00:00:00 2001 From: ueno Date: Wed, 11 Jun 2003 02:20:00 +0000 Subject: [PATCH] * 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. --- lisp/ChangeLog | 20 ++++++++++++++++++++ lisp/riece-display.el | 2 +- lisp/riece-identity.el | 24 ++++++++++++++++-------- lisp/riece-message.el | 10 +++++++--- 4 files changed, 44 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6c4ae6a..322f883 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,23 @@ +2003-06-11 Daiki Ueno + + * 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 + + * 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 * riece-filter.el (riece-handle-numeric-reply): Don't decode messages. diff --git a/lisp/riece-display.el b/lisp/riece-display.el index e234796..8dbea3c 100644 --- a/lisp/riece-display.el +++ b/lisp/riece-display.el @@ -162,7 +162,7 @@ (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 () diff --git a/lisp/riece-identity.el b/lisp/riece-identity.el index 1f58e02..672d1b0 100644 --- a/lisp/riece-identity.el +++ b/lisp/riece-identity.el @@ -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) diff --git a/lisp/riece-message.el b/lisp/riece-message.el index 661909c..cb5f3ef 100644 --- a/lisp/riece-message.el +++ b/lisp/riece-message.el @@ -121,9 +121,13 @@ 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)) -- 1.7.10.4