* riece-channel.el (riece-channel-toggle-operator): Don't add ?o
authorDaiki Ueno <ueno@unixuser.org>
Wed, 1 Sep 2004 05:31:19 +0000 (05:31 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Wed, 1 Sep 2004 05:31:19 +0000 (05:31 +0000)
if it already appears in user's mode.
(riece-channel-toggle-speaker): Don't add ?v if it already appears
in user's mode.

lisp/ChangeLog
lisp/riece-channel.el

index e95770e..54feb4b 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-01  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-channel.el (riece-channel-toggle-operator): Don't add ?o
+       if it already appears in user's mode.
+       (riece-channel-toggle-speaker): Don't add ?v if it already appears
+       in user's mode.
+
 2004-08-31  Daiki Ueno  <ueno@unixuser.org>
 
        * riece.el (riece-command-mode): Set truncate-lines to nil.
index da4b75d..a59b7ed 100644 (file)
@@ -204,7 +204,8 @@ respectively."
     (setq user (riece-identity-assoc user users t))
     (if flag
        (if user
-           (setcdr user (cons ?o (cdr user)))
+           (unless (memq ?o (cdr user))
+             (setcdr user (cons ?o (cdr user))))
          (riece-channel-set-users channel (cons (list user ?o) users)))
       (if user
          (setcdr user (delq ?o (cdr user)))))))
@@ -216,7 +217,8 @@ respectively."
     (setq user (riece-identity-assoc user users t))
     (if flag
        (if user
-           (setcdr user (cons ?v (cdr user)))
+           (unless (memq ?v (cdr user))
+             (setcdr user (cons ?v (cdr user))))
          (riece-channel-set-users channel (cons (list user ?v) users)))
       (if user
          (setcdr user (delq ?v (cdr user)))))))