1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Merge changes made in Gnus trunk.

shr.el: Start implementation.
shr.el: Continue implementation.
gnus-gravatar.el (gnus-gravatar-insert): Adjust character where we should go backward.
shr.el: Minimally useful state achieved.
mm-decode.el (mm-text-html-renderer): Switch to using shr.el for HTML rendering.
shr.el: (shr-insert): Add a newline after every picture before text.
gnus.texi (Splitting Mail): Really fix the @ref syntax.
shr.el (shr-add-font): Use overlays for combining faces.
shr.el (shr-add-font): Use overlays for combining faces.
shr.el (shr-insert): Pass upwards the text start point.
gnus-util.el: Reintroduce multiple completion functions.
This commit is contained in:
Gnus developers 2010-10-03 00:33:27 +00:00 committed by Katsumi Yamaoka
parent 2a847524ab
commit 870409d4fb
8 changed files with 317 additions and 26 deletions

View file

@ -44,11 +44,19 @@
(defmacro with-no-warnings (&rest body)
`(progn ,@body))))
(defcustom gnus-use-ido nil
"Whether to use `ido' for `completing-read'."
(defcustom gnus-completing-read-function 'gnus-emacs-completing-read
"Function use to do completing read."
:version "24.1"
:group 'gnus-meta
:type 'boolean)
:type '(radio (function-item
:doc "Use Emacs standard `completing-read' function."
gnus-emacs-completing-read)
(function-item
:doc "Use `ido-completing-read' function."
gnus-ido-completing-read)
(function-item
:doc "Use iswitchb based completing-read function."
gnus-iswitchb-completing-read)))
(defcustom gnus-completion-styles
(if (and (boundp 'completion-styles-alist)
@ -1585,17 +1593,46 @@ SPEC is a predicate specifier that contains stuff like `or', `and',
(defun gnus-completing-read (prompt collection &optional require-match
initial-input history def)
"Call `completing-read' or `ido-completing-read'.
Depends on `gnus-use-ido'."
"Call `gnus-completing-read-function'."
(funcall gnus-completing-read-function
(concat prompt (when def
(concat " (default " def ")"))
": ")
collection require-match initial-input history def))
(defun gnus-emacs-completing-read (prompt collection &optional require-match
initial-input history def)
"Call standard `completing-read-function'."
(let ((completion-styles gnus-completion-styles))
(funcall
(if gnus-use-ido
'ido-completing-read
'completing-read)
(concat prompt (when def
(concat " (default " def ")"))
": ")
collection nil require-match initial-input history def)))
(completing-read prompt collection nil require-match initial-input history def)))
(defun gnus-ido-completing-read (prompt collection &optional require-match
initial-input history def)
"Call `ido-completing-read-function'."
(require 'ido)
(ido-completing-read prompt collection nil require-match initial-input history def))
(defun gnus-iswitchb-completing-read (prompt collection &optional require-match
initial-input history def)
"`iswitchb' based completing-read function."
(require 'iswitchb)
(let ((iswitchb-make-buflist-hook
(lambda ()
(setq iswitchb-temp-buflist
(let ((choices (append
(when initial-input (list initial-input))
(symbol-value history) collection))
filtered-choices)
(dolist (x choices)
(setq filtered-choices (adjoin x filtered-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-graphic-display-p ()
(if (featurep 'xemacs)