-(defun riece-user-list-update-buffer ()
- (if (and riece-user-list-buffer
- (get-buffer riece-user-list-buffer))
- (save-excursion
- (set-buffer riece-user-list-buffer)
- (when (and riece-current-channel
- (riece-channel-p riece-current-channel))
- (let ((inhibit-read-only t)
- buffer-read-only
- (users (riece-channel-get-users riece-current-channel))
- (operators (riece-channel-get-operators riece-current-channel))
- (speakers (riece-channel-get-speakers riece-current-channel)))
- (erase-buffer)
- (while users
- (if (member (car users) operators)
- (insert "@" (car users) "\n")
- (if (member (car users) speakers)
- (insert "+" (car users) "\n")
- (insert " " (car users) "\n")))
- (setq users (cdr users))))))))
-
-(defun riece-channel-list-update-buffer ()
- (if (and riece-channel-list-buffer
- (get-buffer riece-channel-list-buffer))
- (save-excursion
- (set-buffer riece-channel-list-buffer)
+(defun riece-update-user-list-buffer ()
+ (save-excursion
+ (set-buffer riece-user-list-buffer)
+ (when (and riece-redisplay-buffer
+ riece-current-channel
+ (riece-channel-p (riece-identity-prefix riece-current-channel)))
+ (let (users operators speakers)
+ (with-current-buffer (process-buffer (riece-server-process
+ (riece-identity-server
+ riece-current-channel)))
+ (setq users
+ (riece-channel-get-users
+ (riece-identity-prefix riece-current-channel))
+ operators
+ (riece-channel-get-operators
+ (riece-identity-prefix riece-current-channel))
+ speakers
+ (riece-channel-get-speakers
+ (riece-identity-prefix riece-current-channel))))