- (save-excursion
- (set-buffer riece-channel-list-buffer)
- (let ((inhibit-read-only t)
- buffer-read-only
- (index 1)
- (channels riece-current-channels))
- (erase-buffer)
- (while channels
- (if (car channels)
- (let ((point (point)))
- (insert (format "%2d:%c%s\n" index
- (if (riece-identity-equal
- (car channels)
- riece-current-channel)
- ?*
- ?\ )
- (riece-format-identity (car channels))))
- (put-text-property point (point) 'riece-identity
- (car channels))))
- (setq index (1+ index)
- channels (cdr channels))))))
+ (if riece-channel-list-changed
+ (save-excursion
+ (set-buffer riece-channel-list-buffer)
+ (let ((inhibit-read-only t)
+ buffer-read-only
+ (index 1)
+ (channels riece-current-channels))
+ (erase-buffer)
+ (while channels
+ (if (car channels)
+ (let ((point (point)))
+ (insert (format "%2d: %s\n" index
+ (riece-format-identity (car channels))))
+ (put-text-property point (point) 'riece-identity
+ (car channels))))
+ (setq index (1+ index)
+ channels (cdr channels))))
+ (setq riece-channel-list-changed nil))))