- "\n"))
- (riece-redisplay-buffers))))
-
-(defsubst riece-parse-channel-modes (string channel)
- (while (string-match "^[-+]\\([^ ]*\\) *" string)
- (let ((toggle (aref string 0))
- (modes (string-to-list (match-string 1 string))))
- (setq string (substring string (match-end 0)))
- (while modes
- (if (and (memq (car modes) '(?O ?o ?v ?k ?l ?b ?e ?I))
- (string-match "\\([^-+][^ ]*\\) *" string))
- (let ((parameter (match-string 1 string)))
- (setq string (substring string (match-end 0)))
- (cond
- ((eq (car modes) ?o)
- (riece-channel-toggle-operator channel parameter
- (eq toggle ?+)))
- ((eq (car modes) ?v)
- (riece-channel-toggle-speaker channel parameter
- (eq toggle ?+)))
- ((eq (car modes) ?b)
- (riece-channel-toggle-banned channel parameter
- (eq toggle ?+)))
- ((eq (car modes) ?e)
- (riece-channel-toggle-uninvited channel parameter
- (eq toggle ?+)))
- ((eq (car modes) ?I)
- (riece-channel-toggle-invited channel parameter
- (eq toggle ?+)))))
- (riece-channel-toggle-mode channel (car modes)
- (eq toggle ?+)))
- (setq modes (cdr modes))))))