Commit 229b59da authored by Gnus developers's avatar Gnus developers Committed by Katsumi Yamaoka

Merge changes made in Gnus trunk.

nndraft.el (nndraft-request-expire-articles): Use the group name instead if "nndraft".
gnus.texi (Using IMAP): Remove the @acronyms from the headings.
nnregistry.el: Added.
nnimap.el (nnimap-insert-partial-structure): Be way more permissive when interpreting the structures.
GNUS-NEWS: Minor error in GNUS-NEWS - password-cache.el.
nnimap.el (nnimap-request-accept-article): Add \r\n to the lines to make this work with Cyrus.
gnus-registry.el: Don't prompt on load, which makes it impossible to build Gnus.
gnus-gravatar.el: Add gnus-gravatar-properties.
gnus-agent.el, gnus-art.el, gnus-bookmark.el, gnus-dired.el, gnus-group.el,\
 gnus-int.el, gnus-msg.el, gnus-registry.el, gnus-score.el, gnus-srvr.el,\
 gnus-sum.el, gnus-topic.el, gnus-util.el, gnus.el, mm-decode.el, mm-util.el,\
 mm-view.el, mml-smime.el, mml.el, nnmairix.el, nnrss.el, smime.el:\
 Introduce gnus-completing-read.
gnus-util.el: Make completing-read function configurable.
gnus-util.el: Add requires and fix history for iswitchb.
webmail.el: Remove netscape/my-deja, since they no longer exist.
gnus.el (gnus-local-domain): Declare variable obsolete.
nnimap.el (nnimap-insert-partial-structure): Get the type from the correct slot, too.
pop3.el (pop3-send-streaming-command, pop3-stream-length): New variable.
nnimap.el (nnimap-open-connection): Revert the auto-network->starttls code.
nnimap.el (nnimap-request-set-mark): Erase the buffer before issuing commands.
nnimap.el (nnimap-split-rule): Mark as obsolete.
gnus-sum.el (gnus-valid-move-group-p): Make sure that `group' is a symbol.
nnimap.el (nnimap-split-incoming-mail): Allow `default' as nnimap-split-methods value.
nnimap.el (nnimap-request-article): Downcase the NILs so that they are nil.
nndoc.el (nndoc-retrieve-groups): New function.
gnus.texi: Fix Gravatar documentation.
parent 968ef9b4
......@@ -629,7 +629,7 @@ Select Methods
* Server Buffer:: Making and editing virtual servers.
* Getting News:: Reading USENET news with Gnus.
* Using @acronym{IMAP}:: Reading mail from @acronym{IMAP}.
* Using IMAP:: Reading mail from @acronym{IMAP}.
* Getting Mail:: Reading your personal mail with Gnus.
* Browsing the Web:: Getting messages from a plethora of Web sources.
* Other Sources:: Reading directories, files.
......@@ -10797,7 +10797,7 @@ article is to use Muttprint (@pxref{Saving Articles}).
@item A C
@vindex gnus-fetch-partial-articles
@findex gnus-summary-show-complete-article
If @code{gnus-fetch-partial-articles} is non-@code{nil}, Gnus will
If @code{<backend>-fetch-partial-articles} is non-@code{nil}, Gnus will
fetch partial articles, if the backend it fetches them from supports
it. Currently only @code{nnimap} does. If you're looking at a
partial article, and want to see the complete article instead, then
......@@ -13700,7 +13700,7 @@ The different methods all have their peculiarities, of course.
@menu
* Server Buffer:: Making and editing virtual servers.
* Getting News:: Reading USENET news with Gnus.
* Using @acronym{IMAP}:: Reading mail from @acronym{IMAP}.
* Using IMAP:: Reading mail from @acronym{IMAP}.
* Getting Mail:: Reading your personal mail with Gnus.
* Browsing the Web:: Getting messages from a plethora of Web sources.
* Other Sources:: Reading directories, files.
......@@ -14787,8 +14787,8 @@ there.
@end table
@node Using @acronym{IMAP}
@section Using @acronym{IMAP}
@node Using IMAP
@section Using IMAP
@cindex imap
The most popular mail backend is probably @code{nnimap}, which
......@@ -14798,14 +14798,14 @@ This means that it's a convenient choice when you're reading your mail
from different locations, or with different user agents.
@menu
* Connecting to an @acronym{IMAP} Server:: Getting started with @acronym{IMAP}.
* Customizing the @acronym{IMAP} Connection:: Variables for @acronym{IMAP} connection.
* Client-Side @acronym{IMAP} Splitting:: Put mail in the correct mail box.
* Connecting to an IMAP Server:: Getting started with @acronym{IMAP}.
* Customizing the IMAP Connection:: Variables for @acronym{IMAP} connection.
* Client-Side IMAP Splitting:: Put mail in the correct mail box.
@end menu
@node Connecting to an @acronym{IMAP} Server
@subsection Connecting to an @acronym{IMAP} Server
@node Connecting to an IMAP Server
@subsection Connecting to an IMAP Server
Connecting to an @acronym{IMAP} can be very easy. Type @kbd{B} in the
group buffer, or (if your primary interest is reading email), say
......@@ -14826,15 +14826,15 @@ machine imap.gmail.com login <username> password <password> port imap
That should basically be it for most users.
@node Customizing the @acronym{IMAP} Connection
@subsection Customizing the @acronym{IMAP} Connection
@node Customizing the IMAP Connection
@subsection Customizing the IMAP Connection
Here's an example method that's more complex:
@example
(nnimap "imap.gmail.com"
(nnimap-inbox "INBOX")
(nnimap-split-methods ,nnmail-split-methods)
(nnimap-split-methods default)
(nnimap-expunge t)
(nnimap-stream 'ssl)
(nnir-search-engine imap)
......@@ -14878,11 +14878,17 @@ this should be set to @code{anonymous}.
Virtually all @code{IMAP} server support fast streaming of data. If
you have problems connecting to the server, try setting this to @code{nil}.
@item nnimap-fetch-partial-articles
If non-@code{nil}, fetch partial articles from the server. If set to
a string, then it's interpreted as a regexp, and parts that have
matching types will be fetched. For instance, @samp{"text/"} will
fetch all textual parts, while leaving the rest on the server.
@end table
@node Client-Side @acronym{IMAP} Splitting
@subsection Client-Side @acronym{IMAP} Splitting
@node Client-Side IMAP Splitting
@subsection Client-Side IMAP Splitting
Many people prefer to do the sorting/splitting of mail into their mail
boxes on the @acronym{IMAP} server. That way they don't have to
......@@ -14897,7 +14903,8 @@ This is the @acronym{IMAP} mail box that will be scanned for new mail.
@item nnimap-split-methods
Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting
Mail}).
Mail}), except the symbol @code{default}, which means that it should
use the value of the @code{nnmail-split-methods} variable.
@end table
......@@ -15460,7 +15467,7 @@ Get mail from a @acronym{IMAP} server. If you don't want to use
@acronym{IMAP} as intended, as a network mail reading protocol (ie
with nnimap), for some reason or other, Gnus let you treat it similar
to a @acronym{POP} server and fetches articles from a given
@acronym{IMAP} mailbox. @xref{Using @acronym{IMAP}}, for more information.
@acronym{IMAP} mailbox. @xref{Using IMAP}, for more information.
Keywords:
......@@ -15929,7 +15936,7 @@ after @code{save-excursion} and @code{save-restriction} in the example
above. Also note that with the nnimap backend, message bodies will
not be downloaded by default. You need to set
@code{nnimap-split-download-body} to @code{t} to do that
(@pxref{Client-Side @acronym{IMAP} Splitting}).
(@pxref{Client-Side IMAP Splitting}).
@item (! @var{func} @var{split})
If the split is a list, and the first element is @code{!}, then
......@@ -23263,12 +23270,9 @@ The following variables offer control over how things are displayed.
The size in pixels of gravatars. Gravatars are always square, so one
number for the size is enough.
@item gnus-gravatar-relief
@vindex gnus-gravatar-relief
If non-nil, adds a shadow rectangle around the image. The value,
relief, specifies the width of the shadow lines, in pixels. If relief
is negative, shadows are drawn so that the image appears as a pressed
button; otherwise, it appears as an unpressed button.
@item gnus-gravatar-properties
@vindex gnus-gravatar-properties
List of image properties applied to Gravatar images.
@end table
......@@ -23618,7 +23622,7 @@ call the external tools during splitting. Example fancy split method:
Note that with the nnimap back end, message bodies will not be
downloaded by default. You need to set
@code{nnimap-split-download-body} to @code{t} to do that
(@pxref{Client-Side @acronym{IMAP} Splitting}).
(@pxref{Client-Side IMAP Splitting}).
That is about it. As some spam is likely to get through anyway, you
might want to have a nifty function to call when you happen to read
......@@ -23907,7 +23911,7 @@ the message headers; @code{nnimap-split-download-body} tells it to
retrieve the message bodies as well. We don't set this by default
because it will slow @acronym{IMAP} down, and that is not an
appropriate decision to make on behalf of the user. @xref{Client-Side
@acronym{IMAP} Splitting}.
IMAP Splitting}.
You have to specify one or more spam back ends for @code{spam-split}
to use, by setting the @code{spam-use-*} variables. @xref{Spam Back
......@@ -50,7 +50,7 @@ support for DIGEST-MD5 and NTLM. *Note Emacs SASL: (sasl)Top.
The primary change this brings is support for DIGEST-MD5 and NTLM, when
the server supports it.
** Gnus includes a password cache mechanism in password.el.
** Gnus includes a password cache mechanism in password-cache.el.
It is enabled by default (see `password-cache'), with a short timeout of
16 seconds (see `password-cache-expiry'). If PGG is used as the PGP
......
......@@ -459,10 +459,7 @@ manipulated as follows:
(let ((def (or (gnus-group-group-name) gnus-newsgroup-name)))
(when def
(setq def (gnus-group-decoded-name def)))
(gnus-group-completing-read (if def
(concat "Group Name (" def "): ")
"Group Name: ")
nil nil t nil nil def)))
(gnus-group-completing-read nil nil t nil nil def)))
;;; Fetching setup functions.
......@@ -816,9 +813,9 @@ be a select method."
(interactive
(list
(intern
(completing-read
"Add to category: "
(mapcar (lambda (cat) (list (symbol-name (car cat))))
(gnus-completing-read
"Add to category"
(mapcar (lambda (cat) (symbol-name (car cat)))
gnus-category-alist)
nil t))
current-prefix-arg))
......
......@@ -5131,11 +5131,10 @@ available media-types."
(unless mime-type
(setq mime-type
(let ((default (gnus-mime-view-part-as-type-internal)))
(completing-read
(format "View as MIME type (default %s): "
(car default))
(mapcar #'list (mailcap-mime-types))
pred nil nil nil
(gnus-completing-read
"View as MIME type"
(remove-if-not pred (mailcap-mime-types))
nil nil nil
(car default)))))
(gnus-article-check-buffer)
(let ((handle (get-text-property (point) 'gnus-data)))
......@@ -5404,7 +5403,7 @@ If no internal viewer is available, use an external viewer."
(defun gnus-mime-action-on-part (&optional action)
"Do something with the MIME attachment at \(point\)."
(interactive
(list (completing-read "Action: " gnus-mime-action-alist nil t)))
(list (gnus-completing-read "Action" (mapcar 'car gnus-mime-action-alist) t)))
(gnus-article-check-buffer)
(let ((action-pair (assoc action gnus-mime-action-alist)))
(if action-pair
......@@ -8370,9 +8369,9 @@ For example:
(interactive
(list
(or gnus-article-encrypt-protocol
(completing-read "Encrypt protocol: "
gnus-article-encrypt-protocol-alist
nil t))
(gnus-completing-read "Encrypt protocol"
(mapcar 'car gnus-article-encrypt-protocol-alist)
t))
current-prefix-arg))
;; User might hit `K E' instead of `K e', so prompt once.
(when (and gnus-article-encrypt-protocol
......
......@@ -289,8 +289,8 @@ So the cdr of each bookmark is an alist too.")
(interactive)
(gnus-bookmark-maybe-load-default-file)
(let* ((bookmark (or bmk-name
(completing-read "Jump to bookmarked article: "
gnus-bookmark-alist)))
(gnus-completing-read "Jump to bookmarked article"
(mapcar 'car gnus-bookmark-alist))))
(bmk-record (cadr (assoc bookmark gnus-bookmark-alist)))
(group (cdr (assoc 'group bmk-record)))
(message-id (cdr (assoc 'message-id bmk-record))))
......
......@@ -368,11 +368,11 @@ If ARG (or prefix) is non-nil, force prompting for all fields."
header ": ")))
(setq value
(if (listp (nth 1 head))
(completing-read prompt (cons '("*" nil) (nth 1 head))
nil t value
gnus-diary-header-value-history)
(gnus-completing-read prompt (cons '("*" nil) (nth 1 head))
t value
'gnus-diary-header-value-history)
(read-string prompt value
gnus-diary-header-value-history))))
'gnus-diary-header-value-history))))
(setq ask nil)
(setq invalid nil)
(condition-case ()
......
......@@ -152,12 +152,8 @@ filenames."
(setq destination
(if (= (length bufs) 1)
(get-buffer (car bufs))
(completing-read "Attach to which mail composition buffer: "
(mapcar
(lambda (b)
(cons b (get-buffer b)))
bufs)
nil t)))
(gnus-completing-read "Attach to which mail composition buffer"
bufs t)))
;; setup a new mail composition buffer
(let ((mail-user-agent gnus-dired-mail-mode)
;; A workaround to prevent Gnus from displaying the Gnus
......
......@@ -33,14 +33,13 @@
(defcustom gnus-gravatar-size 32
"How big should gravatars be displayed."
:type 'integer
:version "24.1"
:group 'gnus-gravatar)
(defcustom gnus-gravatar-relief 1
"If non-nil, adds a shadow rectangle around the image. The
value, relief, specifies the width of the shadow lines, in
pixels. If relief is negative, shadows are drawn so that the
image appears as a pressed button; otherwise, it appears as an
unpressed button."
(defcustom gnus-gravatar-properties '(:ascent center :relief 1)
"List of image properties applied to Gravatar images."
:type 'list
:version "24.1"
:group 'gnus-gravatar)
(defun gnus-gravatar-transform-address (header category)
......@@ -88,7 +87,7 @@ Set image category to CATEGORY."
(point (point))
(gravatar (append
gravatar
`(:ascent center :relief ,gnus-gravatar-relief))))
gnus-gravatar-properties)))
(gnus-put-image gravatar nil category)
(put-text-property point (point) 'gnus-gravatar address)
(gnus-add-wash-type category)
......
......@@ -2164,44 +2164,35 @@ be permanent."
group)))
(goto-char start)))))
(defun gnus-group-completing-read (prompt &optional collection predicate
require-match initial-input hist def
&rest args)
(defun gnus-group-completing-read (&optional prompt collection
require-match initial-input hist def)
"Read a group name with completion. Non-ASCII group names are allowed.
The arguments are the same as `completing-read' except that COLLECTION
and HIST default to `gnus-active-hashtb' and `gnus-group-history'
respectively if they are omitted."
(let ((completion-styles (and (boundp 'completion-styles)
completion-styles))
group)
(push 'substring completion-styles)
(mapatoms (lambda (symbol)
(setq group (symbol-name symbol))
(set (intern (if (string-match "[^\000-\177]" group)
(gnus-group-decoded-name group)
group)
collection)
group))
(prog1
(or collection
(setq collection (or gnus-active-hashtb [0])))
(setq collection (gnus-make-hashtable (length collection)))))
(setq group (apply 'completing-read prompt collection predicate
require-match initial-input
(or hist 'gnus-group-history)
def args))
(or (prog1
(symbol-value (intern-soft group collection))
(setq collection nil))
(mm-encode-coding-string group (gnus-group-name-charset nil group)))))
(let* ((choices (mapcar (lambda (symbol)
(let ((group (symbol-name symbol)))
(if (string-match "[^\000-\177]" group)
(gnus-group-decoded-name group)
group)))
(remove-if-not
'symbolp
(or collection (or gnus-active-hashtb [0])))))
(group
(gnus-completing-read (or prompt "Group") choices
require-match initial-input
(or hist 'gnus-group-history)
def)))
(or (symbol-value (intern-soft group collection))
(mm-encode-coding-string group (gnus-group-name-charset nil group)))))
;;;###autoload
(defun gnus-fetch-group (group &optional articles)
"Start Gnus if necessary and enter GROUP.
If ARTICLES, display those articles.
Returns whether the fetching was successful or not."
(interactive (list (gnus-group-completing-read "Group name: "
nil nil nil
(interactive (list (gnus-group-completing-read nil
nil nil
(gnus-group-name-at-point))))
(unless (gnus-alive-p)
(gnus-no-server))
......@@ -2261,7 +2252,7 @@ Return the name of the group if selection was successful."
(interactive
(list
;; (gnus-read-group "Group name: ")
(gnus-group-completing-read "Group: ")
(gnus-group-completing-read)
(gnus-read-method "From method: ")))
;; Transform the select method into a unique server.
(when (stringp method)
......@@ -2328,7 +2319,7 @@ specified by `gnus-gmane-group-download-format'."
;; See <http://gmane.org/export.php> for more information.
(interactive
(list
(gnus-group-completing-read "Gmane group: ")
(gnus-group-completing-read "Gmane group")
(read-number "Start article number: ")
(read-number "How many articles: ")))
(unless range (setq range 500))
......@@ -2362,7 +2353,7 @@ Valid input formats include:
;; prompt the user to decide: "View via `browse-url' or in Gnus? "
;; (`gnus-read-ephemeral-gmane-group-url')
(interactive
(list (gnus-group-completing-read "Gmane URL: ")))
(list (gnus-group-completing-read "Gmane URL")))
(let (group start range)
(cond
;; URLs providing `group', `start' and `range':
......@@ -2456,13 +2447,13 @@ If PROMPT (the prefix) is a number, use the prompt specified in
`gnus-group-jump-to-group-prompt'."
(interactive
(list (gnus-group-completing-read
"Group: " nil nil (gnus-read-active-file-p)
(if current-prefix-arg
(cdr (assq current-prefix-arg gnus-group-jump-to-group-prompt))
(or (and (stringp gnus-group-jump-to-group-prompt)
gnus-group-jump-to-group-prompt)
(let ((p (cdr (assq 0 gnus-group-jump-to-group-prompt))))
(and (stringp p) p)))))))
nil nil (gnus-read-active-file-p)
(if current-prefix-arg
(cdr (assq current-prefix-arg gnus-group-jump-to-group-prompt))
(or (and (stringp gnus-group-jump-to-group-prompt)
gnus-group-jump-to-group-prompt)
(let ((p (cdr (assq 0 gnus-group-jump-to-group-prompt))))
(and (stringp p) p)))))))
(when (equal group "")
(error "Empty group name"))
......@@ -2653,7 +2644,7 @@ If EXCLUDE-GROUP, do not go to that group."
(defun gnus-group-make-group-simple (&optional group)
"Add a new newsgroup.
The user will be prompted for GROUP."
(interactive (list (gnus-group-completing-read "Group: ")))
(interactive (list (gnus-group-completing-read)))
(gnus-group-make-group (gnus-group-real-name group)
(gnus-group-server group)
nil nil t))
......@@ -2912,8 +2903,9 @@ and NEW-NAME will be prompted for."
(defun gnus-group-make-useful-group (group method)
"Create one of the groups described in `gnus-useful-groups'."
(interactive
(let ((entry (assoc (completing-read "Create group: " gnus-useful-groups
nil t)
(let ((entry (assoc (gnus-completing-read "Create group"
(mapcar 'car gnus-useful-groups)
t)
gnus-useful-groups)))
(list (cadr entry)
;; Don't use `caddr' here since macros within the `interactive'
......@@ -3005,11 +2997,11 @@ If SOLID (the prefix), create a solid group."
(symbol-name (caar nnweb-type-definition))))
(type
(gnus-string-or
(completing-read
(format "Search engine type (default %s): " default-type)
(mapcar (lambda (elem) (list (symbol-name (car elem))))
(gnus-completing-read
"Search engine type"
(mapcar (lambda (elem) (symbol-name (car elem)))
nnweb-type-definition)
nil t nil 'gnus-group-web-type-history)
t nil 'gnus-group-web-type-history)
default-type))
(search
(read-string
......@@ -3100,8 +3092,8 @@ mail messages or news articles in files that have numeric names."
"Add the current group to a virtual group."
(interactive
(list current-prefix-arg
(completing-read "Add to virtual group: " gnus-newsrc-hashtb nil t
"nnvirtual:")))
(gnus-group-completing-read "Add to virtual group"
nil t "nnvirtual:")))
(unless (eq (car (gnus-find-method-for-group vgroup)) 'nnvirtual)
(error "%s is not an nnvirtual group" vgroup))
(gnus-close-group vgroup)
......@@ -3672,7 +3664,7 @@ If given numerical prefix, toggle the N next groups."
Killed newsgroups are subscribed. If SILENT, don't try to update the
group line."
(interactive (list (gnus-group-completing-read
"Group: " nil nil (gnus-read-active-file-p))))
nil (gnus-read-active-file-p))))
(let ((newsrc (gnus-group-entry group)))
(cond
((string-match "^[ \t]*$" group)
......@@ -4013,7 +4005,7 @@ If DONT-SCAN is non-nil, scan non-activated groups as well."
If given a prefix argument, prompt for a group."
(interactive
(list (or (when current-prefix-arg
(gnus-group-completing-read "Group: "))
(gnus-group-completing-read))
(gnus-group-group-name)
gnus-newsgroup-name)))
(unless group
......@@ -4314,18 +4306,18 @@ If called interactively, this function will ask for a select method
If not, METHOD should be a list where the first element is the method
and the second element is the address."
(interactive
(list (let ((how (completing-read
"Which back end: "
(append gnus-valid-select-methods gnus-server-alist)
nil t (cons "nntp" 0) 'gnus-method-history)))
(list (let ((how (gnus-completing-read
"Which back end"
(mapcar 'car (append gnus-valid-select-methods gnus-server-alist))
t (cons "nntp" 0) 'gnus-method-history)))
;; We either got a back end name or a virtual server name.
;; If the first, we also need an address.
(if (assoc how gnus-valid-select-methods)
(list (intern how)
;; Suggested by mapjph@bath.ac.uk.
(completing-read
"Address: "
(mapcar 'list gnus-secondary-servers)))
(gnus-completing-read
"Address"
gnus-secondary-servers))
;; We got a server name.
how))))
(gnus-browse-foreign-server method))
......
......@@ -94,11 +94,10 @@ If CONFIRM is non-nil, the user will be asked for an NNTP server."
(when confirm
;; Read server name with completion.
(setq gnus-nntp-server
(completing-read "NNTP server: "
(mapcar 'list
(cons (list gnus-nntp-server)
gnus-secondary-servers))
nil nil gnus-nntp-server)))
(gnus-completing-read "NNTP server"
(cons gnus-nntp-server
gnus-secondary-servers)
nil gnus-nntp-server)))
(when (and gnus-nntp-server
(stringp gnus-nntp-server)
......
......@@ -578,8 +578,8 @@ If ARG is 1, prompt for a group name to find the posting style."
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read
"Use posting style of group: "
nil nil (gnus-read-active-file-p))
"Use posting style of group"
nil (gnus-read-active-file-p))
(gnus-group-group-name))
""))
;; #### see comment in gnus-setup-message -- drv
......@@ -607,8 +607,8 @@ network. The corresponding back end must have a 'request-post method."
(setq gnus-newsgroup-name
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read "Use group: "
nil nil
(gnus-group-completing-read "Use group"
nil
(gnus-read-active-file-p))
(gnus-group-group-name))
""))
......@@ -628,7 +628,7 @@ a news."
(let ((gnus-newsgroup-name
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read "Newsgroup: " nil nil
(gnus-group-completing-read "Newsgroup" nil
(gnus-read-active-file-p))
(gnus-group-group-name))
""))
......@@ -654,8 +654,8 @@ posting style."
(setq gnus-newsgroup-name
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read "Use group: "
nil nil
(gnus-group-completing-read "Use group"
nil
(gnus-read-active-file-p))
"")
gnus-newsgroup-name))
......@@ -684,8 +684,8 @@ network. The corresponding back end must have a 'request-post method."
(setq gnus-newsgroup-name
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read "Use group: "
nil nil
(gnus-group-completing-read "Use group"
nil
(gnus-read-active-file-p))
"")
gnus-newsgroup-name))
......@@ -710,7 +710,7 @@ a news."
(let ((gnus-newsgroup-name
(if arg
(if (= 1 (prefix-numeric-value arg))
(gnus-group-completing-read "Newsgroup: " nil nil
(gnus-group-completing-read "Newsgroup" nil
(gnus-read-active-file-p))
"")
gnus-newsgroup-name))
......@@ -1028,8 +1028,8 @@ If SILENT, don't prompt the user."
gnus-last-posting-server)
;; Just use the last value.
gnus-last-posting-server
(completing-read
"Posting method: " method-alist nil t
(gnus-completing-read
"Posting method" (mapcar 'car method-alist) t
(cons (or gnus-last-posting-server "") 0))))
method-alist))))
;; Override normal method.
......@@ -1487,7 +1487,7 @@ If YANK is non-nil, include the original article."
(defun gnus-summary-yank-message (buffer n)
"Yank the current article into a composed message."
(interactive
(list (completing-read "Buffer: " (mapcar 'list (message-buffers)) nil t)
(list (gnus-completing-read "Buffer" (message-buffers) t)
current-prefix-arg))
(gnus-summary-iterate n
(let ((gnus-inhibit-treatment t))
......
......@@ -857,12 +857,11 @@ Uses `gnus-registry-marks' to find what shortcuts to install."
(defun gnus-registry-read-mark ()
"Read a mark name from the user with completion."
(let ((mark (gnus-completing-read-with-default
(symbol-name gnus-registry-default-mark)
"Label"
(mapcar (lambda (x) ; completion list
(cons (symbol-name (car-safe x)) (car-safe x)))
gnus-registry-marks))))
(let ((mark (gnus-completing-read
"Label"
(mapcar 'symbol-name (mapcar 'car gnus-registry-marks))
nil nil nil
(symbol-name gnus-registry-default-mark))))
(when (stringp mark)
(intern mark))))
......@@ -1173,10 +1172,6 @@ Returns the first place where the trail finds a group name."
;;; we could call it here: (customize-variable 'gnus-registry-install)
gnus-registry-install)
(when (or (eq gnus-registry-install t)
(gnus-registry-install-p))
(gnus-registry-initialize))
;; TODO: a few things
(provide 'gnus-registry)
......
......@@ -680,14 +680,14 @@ file for the command instead of the current score file."
(and gnus-extra-headers