X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-misc.el;h=eb0de2079ee87cf85d843ae440cd7ffd469253c1;hp=363e45f9b91ba0d12fe768af462f77738faa715c;hb=16490f74b1fd627bd05dd22cb4213bcbe164513b;hpb=cdc31c5bd4f8abcef284cf0ed1a338eda2638e9c diff --git a/lisp/riece-misc.el b/lisp/riece-misc.el index 363e45f..eb0de20 100644 --- a/lisp/riece-misc.el +++ b/lisp/riece-misc.el @@ -84,9 +84,7 @@ (goto-char point) ;select-window changes current point (recenter riece-window-center-line)))) (run-hook-with-args 'riece-after-insert-functions start (point)))) - (setq buffers (cdr buffers))) - ;; This triggers forced redisplay under GNU Emacs. - (sit-for 0)) + (setq buffers (cdr buffers)))) (defun riece-insert-change (buffer message) (riece-insert buffer (concat riece-change-prefix message))) @@ -216,22 +214,31 @@ user-at-host)) (defun riece-get-users-on-server (server-name) - (delq nil (mapcar (lambda (identity) - (if (riece-user-p (riece-identity-prefix identity)) - identity)) - (riece-get-identities-on-server server-name)))) + (riece-with-server-buffer server-name + (let (identities) + (mapatoms + (lambda (user) + (setq identities + (cons (riece-make-identity (symbol-name user) server-name) + identities))) + riece-user-obarray) + identities))) -(defun riece-get-identities-on-server (server-name) +(defun riece-get-channels-on-server (server-name) (riece-with-server-buffer server-name (let (identities) (mapatoms - (lambda (atom) + (lambda (channel) (setq identities - (cons (riece-make-identity (symbol-name atom) server-name) + (cons (riece-make-identity (symbol-name channel) server-name) identities))) - riece-obarray) + riece-channel-obarray) identities))) +(defun riece-get-identities-on-server (server-name) + (nconc (riece-get-channels-on-server server-name) + (riece-get-users-on-server server-name))) + (defun riece-check-channel-commands-are-usable (&optional channel) (unless riece-current-channel (error (substitute-command-keys