(delete (riece-message-target message) riece-unread-channels))
(add-to-list 'riece-unread-channels
(riece-message-target message))
- (riece-unread-update-channel-list-buffer)))
+ (unless riece-inhibit-update-buffers
+ (riece-unread-update-channel-list-buffer))))
(defun riece-unread-channel-switch-hook ()
(setq riece-unread-channels
(delete riece-current-channel
riece-unread-channels))
- (riece-unread-update-channel-list-buffer))
+ (unless riece-inhibit-update-buffers
+ (riece-unread-update-channel-list-buffer)))
(defun riece-unread-update-channel-list-buffer ()
(if riece-channel-list-buffer-mode
(let ((channel (match-string 3)))
(replace-match
(concat "\\1"
- (if (member channel riece-unread-channels)
+ (if (member (save-match-data
+ (riece-encode-identity channel))
+ riece-unread-channels)
"!"
" ")
"\\3"))))
'riece-unread-display-message-function)
(add-hook 'riece-channel-switch-hook
'riece-unread-channel-switch-hook)
- (add-hook 'riece-update-buffers-hook
- 'riece-unread-update-channel-list-buffer)
+ (add-hook 'riece-update-buffer-functions
+ 'riece-unread-update-channel-list-buffer t)
(define-key riece-command-mode-map
"\C-c\C-u" 'riece-unread-switch-to-channel)
(define-key riece-dialogue-mode-map