X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ab422c4d6899b1442cb6954c1829c1fb656b006c..1a9cec16fe8d805dbb9f3a082bebcdefb878cf13:/lisp/erc/erc-pcomplete.el diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index 212ad50a63..cf3f51ba3f 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el @@ -1,9 +1,9 @@ ;;; erc-pcomplete.el --- Provides programmable completion for ERC -;; Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc. +;; Copyright (C) 2002-2004, 2006-2016 Free Software Foundation, Inc. ;; Author: Sacha Chua -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; Keywords: comm, convenience ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcCompletion @@ -33,7 +33,7 @@ ;; ;; If you want nickname completions ordered such that the most recent ;; speakers are listed first, set -;; `erc-pcomplete-order-nickname-completions' to `t'. +;; `erc-pcomplete-order-nickname-completions' to t. ;; ;; See CREDITS for other contributors. ;; @@ -43,7 +43,6 @@ (require 'erc) (require 'erc-compat) (require 'time-date) -(eval-when-compile (require 'cl)) (defgroup erc-pcomplete nil "Programmable completion for ERC" @@ -81,13 +80,11 @@ for use on `completion-at-point-function'." (defun erc-pcomplete () "Complete the nick before point." + (declare (obsolete completion-at-point "25.1")) (interactive) (when (> (point) (erc-beg-of-input-line)) - (let ((last-command (if (eq last-command 'erc-complete-word) - 'pcomplete - last-command))) - (call-interactively 'pcomplete)) - t)) + (let ((completion-at-point-functions '(erc-pcompletions-at-point))) + (completion-at-point)))) ;;; Setup function @@ -228,9 +225,10 @@ If optional argument IGNORE-SELF is non-nil, don't return the current nick." (erc-get-channel-user-list))) (nicks nil)) (dolist (user users) - (unless (and ignore-self - (string= (erc-server-user-nickname (car user)) - (erc-current-nick))) + (unless (or (not user) + (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)))) @@ -240,7 +238,7 @@ If optional argument IGNORE-SELF is non-nil, don't return the current nick." "Returns a list of all nicks on the current server." (let (nicks) (erc-with-server-buffer - (maphash (lambda (nick user) + (maphash (lambda (nick _user) (setq nicks (cons (concat nick postfix) nicks))) erc-server-users)) nicks))