X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-misc.el;h=eb0de2079ee87cf85d843ae440cd7ffd469253c1;hp=2e2a91215f8baf364c78d118f2e23e3b126abfb2;hb=16490f74b1fd627bd05dd22cb4213bcbe164513b;hpb=c7d1af87eee59d121d3241a60e34520e67fe8f86 diff --git a/lisp/riece-misc.el b/lisp/riece-misc.el index 2e2a912..eb0de20 100644 --- a/lisp/riece-misc.el +++ b/lisp/riece-misc.el @@ -214,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