summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-util.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/gnus-util.el')
-rw-r--r--lisp/gnus/gnus-util.el66
1 files changed, 10 insertions, 56 deletions
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 3451cde6730..d188ebab734 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -44,21 +44,11 @@
(defmacro with-no-warnings (&rest body)
`(progn ,@body))))
-(defcustom gnus-completing-read-function
- #'gnus-std-completing-read
- "Function to do a completing read."
+(defcustom gnus-use-ido nil
+ "Whether to use `ido' for `completing-read'."
+ :version "24.1"
:group 'gnus-meta
- :type `(radio (function-item
- :doc "Use Emacs' standard `completing-read' function."
- gnus-std-completing-read)
- ,@(unless (featurep 'xemacs)
- '((function-item
- :doc "Use iswitchb's completing-read function."
- gnus-icompleting-read)
- (function-item
- :doc "Use ido's completing-read function."
- gnus-ido-completing-read)))
- (function)))
+ :type 'boolean)
(defcustom gnus-completion-styles
(if (and (boundp 'completion-styles-alist)
@@ -1593,55 +1583,19 @@ SPEC is a predicate specifier that contains stuff like `or', `and',
`(,(car spec) ,@(mapcar 'gnus-make-predicate-1 (cdr spec)))
(error "Invalid predicate specifier: %s" spec)))))
-(defun gnus-std-completing-read (prompt collection &optional require-match
- initial-input history def)
- (completing-read prompt collection nil require-match
- initial-input history def))
-
-(defvar iswitchb-mode)
-(defvar iswitchb-temp-buflist)
-(declare-function iswitchb-read-buffer "iswitchb"
- (prompt &optional default require-match start matches-set))
-
-(defun gnus-icompleting-read (prompt collection &optional require-match
- initial-input history def)
- (require 'iswitchb)
- (let ((iswitchb-make-buflist-hook
- (lambda ()
- (setq iswitchb-temp-buflist
- (let ((choices (append (list)
- (when initial-input (list initial-input))
- (symbol-value history) collection))
- filtered-choices)
- (while choices
- (when (and (car choices) (not (member (car choices) filtered-choices)))
- (setq filtered-choices (cons (car choices) filtered-choices)))
- (setq choices (cdr choices)))
- (nreverse filtered-choices))))))
- (unwind-protect
- (progn
- (when (not iswitchb-mode)
- (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup))
- (iswitchb-read-buffer prompt def require-match))
- (when (not iswitchb-mode)
- (remove-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup)))))
-
-(defun gnus-ido-completing-read (prompt collection &optional require-match
- initial-input history def)
- (require 'ido)
- (ido-completing-read prompt collection nil require-match
- initial-input history def))
-
(defun gnus-completing-read (prompt collection &optional require-match
initial-input history def)
- "Do a completing read with the configured `gnus-completing-read-function'."
+ "Call `completing-read' or `ido-completing-read'.
+Depends on `gnus-use-ido'."
(let ((completion-styles gnus-completion-styles))
(funcall
- gnus-completing-read-function
+ (if gnus-use-ido
+ 'ido-completing-read
+ 'completing-read)
(concat prompt (when def
(concat " (default " def ")"))
": ")
- collection require-match initial-input history def)))
+ collection nil require-match initial-input history def)))
(defun gnus-graphic-display-p ()
(if (featurep 'xemacs)