X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-channel.el;fp=lisp%2Friece-channel.el;h=da4b75db88f71f65a92bd528185e20f31240f5be;hb=ce31ecd481aadab99d158271dc360dc4d33d8af8;hp=1f0c2936e01aa2f549430b0b1b9150c9957b927c;hpb=4660d6d552470b0a2c5bbb33323026b6ec32a772;p=riece diff --git a/lisp/riece-channel.el b/lisp/riece-channel.el index 1f0c293..da4b75d 100644 --- a/lisp/riece-channel.el +++ b/lisp/riece-channel.el @@ -27,6 +27,7 @@ (require 'riece-options) (require 'riece-globals) (require 'riece-identity) +(require 'riece-mode) ;;; Channel object: (defun riece-find-channel (name) @@ -147,12 +148,13 @@ respectively." (defun riece-channel-toggle-mode (name mode flag) "Add or remove channel MODE of channel." (let* ((channel (riece-get-channel name)) - (modes (riece-channel-modes channel))) + (modes (riece-channel-modes channel)) + (old (riece-mode-assoc (riece-mode-flag mode) modes))) (if flag - (unless (memq mode modes) + (unless old (riece-channel-set-modes channel (cons mode modes))) - (if (memq mode modes) - (riece-channel-set-modes channel (delq mode modes)))))) + (if old + (riece-channel-set-modes channel (delq old modes)))))) (defun riece-channel-toggle-banned (name pattern flag) "Add or remove banned PATTERN of channel."