diff lisp/erc/erc-pcomplete.el @ 71883:3d0d6e217db9

Update for ERC 5.1.3. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-348 Creator: Michael Olson <mwolson@gnu.org>
author Miles Bader <miles@gnu.org>
date Fri, 14 Jul 2006 02:29:50 +0000
parents 7010bb070445
children 7a3f13e2dd57
line wrap: on
line diff
--- a/lisp/erc/erc-pcomplete.el	Thu Jul 13 23:43:20 2006 +0000
+++ b/lisp/erc/erc-pcomplete.el	Fri Jul 14 02:29:50 2006 +0000
@@ -106,7 +106,7 @@
   (pcomplete-here
    (append
     (pcomplete-erc-commands)
-    (pcomplete-erc-nicks erc-pcomplete-nick-postfix))))
+    (pcomplete-erc-nicks erc-pcomplete-nick-postfix t))))
 
 (defvar erc-pcomplete-ctcp-commands
   '("ACTION" "CLIENTINFO" "ECHO" "FINGER" "PING" "TIME" "USERINFO" "VERSION"))
@@ -212,14 +212,23 @@
     not-ops))
 
 
-(defun pcomplete-erc-nicks (&optional postfix)
-  "Returns a list of nicks in the current channel."
-  (let ((users (erc-get-channel-user-list)))
-    (if erc-pcomplete-order-nickname-completions
-        (setq users (erc-sort-channel-users-by-activity users)))
-  (mapcar (lambda (x)
-              (concat (erc-server-user-nickname (car x)) postfix))
-            users)))
+(defun pcomplete-erc-nicks (&optional postfix ignore-self)
+  "Returns a list of nicks in the current channel.
+Optional argument POSTFIX is something to append to the nickname.
+If optional argument IGNORE-SELF is non-nil, don't return the current nick."
+  (let ((users (if erc-pcomplete-order-nickname-completions
+                   (erc-sort-channel-users-by-activity
+                    (erc-get-channel-user-list))
+                 (erc-get-channel-user-list)))
+        (nicks nil))
+    (dolist (user users)
+      (unless (and ignore-self
+                   (string= (erc-server-user-nickname (car user))
+                            (erc-current-nick)))
+        (setq nicks (cons (concat (erc-server-user-nickname (car user))
+                                  postfix)
+                          nicks))))
+    (nreverse nicks)))
 
 (defun pcomplete-erc-all-nicks (&optional postfix)
   "Returns a list of all nicks on the current server."