;; Copyright (C) 1999, 2000 Free Sofware Foundation
;; Author: John Wiegley <johnw@gnu.org>
-;; Keywords: processes
-;; X-URL: http://www.emacs.org/~johnw/emacs.html
+;; Keywords: processes abbrev
;; This file is part of GNU Emacs.
(defgroup pcomplete nil
"Programmable completion."
+ :version "21.1"
:group 'processes)
;;; User Variables:
:type 'function
:group 'pcomplete)
+(defcustom pcomplete-use-paring t
+ "*If t, pare alternatives that have already been used.
+If nil, you will always see the completion set of possible options, no
+matter which of those options have already been used in previous
+command arguments."
+ :type 'boolean
+ :group 'pcomplete)
+
;;; Internal Variables:
;; for cycling completion support
(defsubst pcomplete-dirs-or-entries (&optional regexp predicate)
"Return either directories, or qualified entries."
(append (let ((pcomplete-stub pcomplete-stub))
- (pcomplete-entries regexp predicate))
+ (pcomplete-entries
+ regexp (or predicate
+ (function
+ (lambda (path)
+ (not (file-directory-p path)))))))
(pcomplete-entries nil 'file-directory-p)))
(defun pcomplete-entries (&optional regexp predicate)
(message "No completions of %s" stub)
(message "No completions")))
;; pare it down, if applicable
- (if pcomplete-seen
+ (if (and pcomplete-use-paring pcomplete-seen)
(let* ((arg (pcomplete-arg))
(prefix
(file-name-as-directory