Checkdoc fixes in gnus/*.el

* lisp/gnus/gnus-agent.el (gnus-agent-enable-expiration)
(gnus-agent-with-refreshed-group, gnus-agentize)
(gnus-agent-fetch-headers, gnus-agent-update-files-total-fetched-for)
(gnus-agent-update-view-total-fetched-for):
* lisp/gnus/gnus-art.el (gnus-article-address-banner-alist)
(gnus-default-article-saver, gnus-mime-view-part-as-charset)
(gnus-block-private-groups, gnus-article-edit-mode):
* lisp/gnus/gnus-dired.el (gnus-dired-mode, gnus-dired-attach)
(gnus-dired-find-file-mailcap, gnus-dired-print):
* lisp/gnus/gnus-msg.el (gnus-summary-attach-article):
* lisp/gnus/gnus-score.el (gnus-home-score-file):
* lisp/gnus/gnus-search.el (gnus-search-ignored-newsgroups)
(gnus-search-mu-switches, gnus-search-mu-remove-prefix)
(gnus-search-thread):
* lisp/gnus/gnus-sieve.el (gnus-sieve-string-list):
* lisp/gnus/message.el (message-beginning-of-line):
* lisp/gnus/mm-url.el:
* lisp/gnus/mm-view.el (mm-w3m-setup, mm-setup-w3m):
* lisp/gnus/mml-sec.el (mml-signencrypt-style):
* lisp/gnus/nndiary.el:
* lisp/gnus/nnimap.el (nnimap-server-port, nnimap-use-namespaces)
(nnimap-expunge):
* lisp/gnus/nnmail.el (nnmail-incoming-coding-system):
(nnmail-ignore-broken-references):
* lisp/gnus/nnmairix.el (nnmairix-default-group):
* lisp/gnus/nntp.el (nntp-report):
* lisp/gnus/nnvirtual.el (nnvirtual-update-read-and-marked):
(nnvirtual-partition-sequence):
* lisp/gnus/spam-stat.el (spam-stat-process-directory-age)
(spam-stat-last-saved-at, spam-stat-save):
* lisp/gnus/spam.el (spam-enter-ham-BBDB, spam-check-BBDB):
Checkdoc fixes.
This commit is contained in:
Stefan Kangas 2024-07-08 17:07:03 +02:00
parent 7350457c79
commit e19fd6a22d
19 changed files with 84 additions and 88 deletions

View file

@ -153,7 +153,7 @@ this limit."
When set to ENABLE, the default, `gnus-agent-expire' will expire old
contents from a group's local storage. This value may be overridden
to disable expiration in specific categories, topics, and groups. Of
course, you could change gnus-agent-enable-expiration to DISABLE then
course, you could change `gnus-agent-enable-expiration' to DISABLE then
enable expiration per categories, topics, and groups."
:version "22.1"
:group 'gnus-agent
@ -275,14 +275,14 @@ Actually a hash table holding subjects mapped to t.")
;;;
(defmacro gnus-agent-with-refreshed-group (group &rest body)
"Performs the body then updates the group's line in the group
buffer. Automatically blocks multiple updates due to recursion."
"Perform the body then update the group's line in the group buffer.
Automatically block multiple updates due to recursion."
`(prog1 (let ((gnus-agent-inhibit-update-total-fetched-for t)) ,@body)
(when (and gnus-agent-need-update-total-fetched-for
(not gnus-agent-inhibit-update-total-fetched-for))
(with-current-buffer gnus-group-buffer
(setq gnus-agent-need-update-total-fetched-for nil)
(gnus-group-update-group ,group t)))))
(with-current-buffer gnus-group-buffer
(setq gnus-agent-need-update-total-fetched-for nil)
(gnus-group-update-group ,group t)))))
(defun gnus-agent-read-file (file)
"Load FILE and do a `read' there."
@ -618,8 +618,8 @@ manipulated as follows:
(defun gnus-agentize ()
"Allow Gnus to be an offline newsreader.
The gnus-agentize function is now called internally by gnus when
gnus-agent is set. If you wish to avoid calling gnus-agentize,
The `gnus-agentize' function is now called internally by gnus when
`gnus-agent' is set. If you wish to avoid calling `gnus-agentize',
customize `gnus-agent' to nil.
This will modify the `gnus-setup-news-hook', and
@ -1785,9 +1785,9 @@ variables. Returns the first non-nil value found."
(agent-predicate . gnus-agent-predicate)))))))
(defun gnus-agent-fetch-headers (group)
"Fetch interesting headers into the agent. The group's overview
file will be updated to include the headers while a list of available
article numbers will be returned."
"Fetch interesting headers into the agent.
The group's overview file will be updated to include the headers while a
list of available article numbers will be returned."
(let* ((fetch-all (and gnus-agent-consider-all-articles
;; Do not fetch all headers if the predicate
;; implies that we only consider unread articles.
@ -4059,8 +4059,7 @@ CLEAN is obsolete and ignored."
(defun gnus-agent-update-files-total-fetched-for (group delta
&optional method path)
"Update, or set, the total disk space used by the articles that the
agent has fetched."
"Update or set total disk space used by articles that the agent has fetched."
(when gnus-agent-total-fetched-hashtb
(gnus-agent-with-refreshed-group
group
@ -4099,9 +4098,8 @@ agent has fetched."
(defun gnus-agent-update-view-total-fetched-for
(group agent-over &optional method path)
"Update, or set, the total disk space used by the .agentview and
.overview files. These files are calculated separately as they can be
modified."
"Update or set the total disk space used by the .agentview and .overview files.
These files are calculated separately as they can be modified."
(when gnus-agent-total-fetched-hashtb
(gnus-agent-with-refreshed-group
group

View file

@ -330,8 +330,7 @@ to match a mail address in the From: header, BANNER is one of a symbol
If ADDRESS matches author's mail address, it will remove things like
advertisements. For example:
\((\"@yoo-hoo\\\\.co\\\\.jp\\\\\\='\" . \"\\n_+\\nDo You Yoo-hoo!\\\\?\\n.*\\n.*\\n\"))
"
\((\"@yoo-hoo\\\\.co\\\\.jp\\\\\\='\" . \"\\n_+\\nDo You Yoo-hoo!\\\\?\\n.*\\n.*\\n\"))"
:type '(repeat
(cons
(regexp :tag "Address")
@ -557,15 +556,15 @@ command, and friends such as `gnus-summary-save-article-rmail'.
Gnus provides the following functions:
* gnus-summary-save-in-rmail (Rmail format)
* gnus-summary-save-in-mail (Unix mail format)
* gnus-summary-save-in-folder (MH folder)
* gnus-summary-save-in-file (article format)
* gnus-summary-save-body-in-file (article body)
* gnus-summary-save-in-vm (use VM's folder format)
* gnus-summary-write-to-file (article format -- overwrite)
* gnus-summary-write-body-to-file (article body -- overwrite)
* gnus-summary-save-in-pipe (article format)
* `gnus-summary-save-in-rmail' (Rmail format)
* `gnus-summary-save-in-mail' (Unix mail format)
* `gnus-summary-save-in-folder' (MH folder)
* `gnus-summary-save-in-file' (article format)
* `gnus-summary-save-body-in-file' (article body)
* `gnus-summary-save-in-vm' (use VM's folder format)
* `gnus-summary-write-to-file' (article format -- overwrite)
* `gnus-summary-write-body-to-file' (article body -- overwrite)
* `gnus-summary-save-in-pipe' (article format)
The symbol of each function may have the following properties:
@ -5519,8 +5518,7 @@ CHARSET may either be a string or a symbol."
(setcdr type (cons (cons 'charset charset) (cdr type)))))))
(defun gnus-mime-view-part-as-charset (&optional handle arg event)
"Insert the MIME part under point into the current buffer using the
specified charset."
"Insert MIME part under point into current buffer using specified charset."
(interactive (list nil current-prefix-arg last-nonmenu-event)
gnus-article-mode)
(save-excursion
@ -7304,8 +7302,7 @@ If given a prefix, show the hidden text instead."
(point)))))))
(defun gnus-block-private-groups (group)
"Allows images in newsgroups to be shown, blocks images in all
other groups."
"Allows images in newsgroups to be shown, blocks images in all other groups."
(if (or (gnus-news-group-p group)
(gnus-member-of-valid 'global group)
(member group gnus-global-groups))
@ -7389,7 +7386,7 @@ other groups."
(define-derived-mode gnus-article-edit-mode message-mode "Article Edit"
"Major mode for editing articles.
This is an extended text-mode.
This is an extended `text-mode'.
\\{gnus-article-edit-mode-map}"
(make-local-variable 'gnus-article-edit-done-function)

View file

@ -24,15 +24,15 @@
;;; Commentary:
;; This package provides utility functions for intersections of gnus
;; and dired. To enable the gnus-dired-mode minor mode which will
;; and Dired. To enable the gnus-dired-mode minor mode which will
;; have the effect of installing keybindings in dired-mode, place the
;; following in your ~/.gnus:
;; (require 'gnus-dired) ;, isn't needed due to autoload cookies
;; (add-hook 'dired-mode-hook #'turn-on-gnus-dired-mode)
;; Note that if you visit dired buffers before your ~/.gnus file has
;; been read, those dired buffers won't have the keybindings in
;; Note that if you visit Dired buffers before your ~/.gnus file has
;; been read, those Dired buffers won't have the keybindings in
;; effect. To get around that problem, you may want to add the above
;; statements to your ~/.emacs instead.
@ -81,7 +81,7 @@ See `mail-user-agent' for more information."
(function :tag "Other")))
(define-minor-mode gnus-dired-mode
"Minor mode for intersections of gnus and dired.
"Minor mode for intersections of gnus and Dired.
\\{gnus-dired-mode-map}"
:keymap gnus-dired-mode-map
@ -119,7 +119,7 @@ See `mail-user-agent' for more information."
;; Method to attach files to a mail composition.
(defun gnus-dired-attach (files-to-attach)
"Attach dired's marked files to a gnus message composition.
"Attach Dired's marked files to a gnus message composition.
If called non-interactively, FILES-TO-ATTACH should be a list of
filenames."
(interactive
@ -180,7 +180,7 @@ filenames."
(autoload 'mailcap-parse-mailcaps "mailcap" "" t)
(defun gnus-dired-find-file-mailcap (&optional file-name arg)
"In dired, visit FILE-NAME according to the mailcap file.
"In Dired, visit FILE-NAME according to the mailcap file.
If ARG is non-nil, open it in a new buffer."
(interactive (list
(file-name-sans-versions (dired-get-filename) t)
@ -215,7 +215,7 @@ If ARG is non-nil, open it in a new buffer."
"File no longer exists; type \\`g' to update Dired buffer")))))
(defun gnus-dired-print (&optional file-name print-to)
"In dired, print FILE-NAME according to the mailcap file.
"In Dired, print FILE-NAME according to the mailcap file.
If there is no print command, print in a PostScript image. If the
optional argument PRINT-TO is nil, send the image to the printer.

View file

@ -1918,7 +1918,7 @@ can be attached to them. If not, a new Message buffer is
created.
This command uses the process/prefix convention, so if you
process-mark several articles, they will all be attached."
`process-mark' several articles, they will all be attached."
(interactive "P" gnus-summary-mode)
(let ((buffers (message-buffers))
destination)

View file

@ -190,7 +190,7 @@ It can be:
* `(regexp file-name ...)'
If the `regexp' matches the group name, the first `file-name'
will be used as the home score file. (Multiple filenames are
allowed so that one may use gnus-score-file-single-match-alist to
allowed so that one may use `gnus-score-file-single-match-alist' to
set this variable.)
* A function.

View file

@ -135,8 +135,7 @@ transformed."
'gnus-search-ignored-newsgroups "28.1")
(defcustom gnus-search-ignored-newsgroups ""
"A regexp to match newsgroups in the active file that should
be skipped when searching."
"Regexp matching newsgroups in the active file to skip when searching."
:version "24.1"
:type 'regexp)
@ -357,7 +356,7 @@ This can also be set per-server."
(defcustom gnus-search-mu-switches nil
"A list of strings, to be given as additional arguments to mu.
Note that this should be a list. I.e., do NOT use the following:
Note that this should be a list. I.e., do NOT use the following:
(setq gnus-search-mu-switches \"-u -r\")
Instead, use this:
(setq gnus-search-mu-switches \\='(\"-u\" \"-r\"))
@ -367,7 +366,7 @@ This can also be set per-server."
(defcustom gnus-search-mu-remove-prefix (expand-file-name "~/Mail/")
"A prefix to remove from the mu results to get a group name.
Usually this will be set to the path to your mail directory. This
Usually this will be set to the path to your mail directory. This
can also be set per-server."
:version "29.1"
:type 'directory)
@ -2186,7 +2185,7 @@ remaining string, then adds all that to the top-level spec."
(defun gnus-search-thread (header &optional group server)
"Find articles in the thread containing HEADER from GROUP on SERVER.
If gnus-refer-thread-use-search is nil only the current group is
If `gnus-refer-thread-use-search' is nil only the current group is
checked for articles; if t all groups on the server containing
the article's group will be searched; if a list then all servers
in this list will be searched. If possible the newly found

View file

@ -133,8 +133,7 @@ Return nil if no rule could be guessed."
For example:
\(gnus-sieve-string-list \\='(\"to\" \"cc\"))
=> \"[\\\"to\\\", \\\"cc\\\"]\"
"
=> \"[\\\"to\\\", \\\"cc\\\"]\""
(concat "[\"" (mapconcat #'identity list "\", \"") "\"]"))
(defun gnus-sieve-test-list (list)

View file

@ -6605,8 +6605,7 @@ they are."
(sit-for 0))
(defcustom message-beginning-of-line t
"Whether \\<message-mode-map>\\[message-beginning-of-line]\
goes to beginning of header values."
"Whether \\<message-mode-map>\\[message-beginning-of-line] goes to beginning of header values."
:version "22.1"
:group 'message-buffers
:link '(custom-manual "(message)Movement")
@ -6668,7 +6667,7 @@ beginning of line.
When called without a prefix argument, header value spanning
multiple lines is treated as a single line. Otherwise, even if
N is 1, when point is on a continuation header line, it will be
moved to the beginning "
moved to the beginning."
(interactive "^p" message-mode)
(cond
;; Go to beginning of header or beginning of line.

View file

@ -21,7 +21,7 @@
;;; Commentary:
;; Some code is stolen from w3 and url packages. Some are moved from
;; Some code is stolen from w3 and url packages. Some are moved from
;; nnweb.
;; TODO: Support POST, cookie.

View file

@ -108,14 +108,14 @@ This is only used if `mm-inline-large-images' is set to
(delete-region b (+ b 2)))))))
(defvar mm-w3m-setup nil
"Whether gnus-article-mode has been setup to use emacs-w3m.")
"Whether `gnus-article-mode' has been setup to use emacs-w3m.")
;; External.
(declare-function w3m-detect-meta-charset "ext:w3m" ())
(declare-function w3m-region "ext:w3m" (start end &optional url charset))
(defun mm-setup-w3m ()
"Setup gnus-article-mode to use emacs-w3m."
"Setup `gnus-article-mode' to use emacs-w3m."
(unless mm-w3m-setup
(require 'w3m)
(unless (assq 'gnus-article-mode w3m-cid-retrieve-function-alist)

View file

@ -151,9 +151,10 @@ you use Bcc headers to encrypt e-mails to yourself."
;;; Configuration/helper functions
(defun mml-signencrypt-style (method &optional style)
"Function for setting/getting the signencrypt-style used. Takes two
arguments, the method (e.g. \"pgp\") and optionally the mode
\(e.g. combined). If the mode is omitted, the current value is returned.
"Function for setting/getting the signencrypt-style used.
Takes two arguments, the method (e.g. \"pgp\") and optionally the mode
\(e.g. combined). If the mode is omitted, the current value is
returned.
For example, if you prefer to use combined sign & encrypt with
smime, putting the following in your Gnus startup file will

View file

@ -30,7 +30,7 @@
;; ===========
;; nndiary is a mail back end designed to handle mails as diary event
;; reminders. It is now fully documented in the Gnus manual.
;; reminders. It is now fully documented in the Gnus manual.
;; Bugs / Todo:
@ -43,19 +43,19 @@
;; * We could allow a keyword like `ask' in X-Diary-* headers, that would mean
;; "ask for value upon reception of the message".
;; * We could add an optional header X-Diary-Reminders to specify a special
;; reminders value for this message. Suggested by Jody Klymak.
;; reminders value for this message. Suggested by Jody Klymak.
;; * We should check messages validity in other circumstances than just
;; moving an article from somewhere else (request-accept). For instance,
;; moving an article from somewhere else (request-accept). For instance,
;; when editing / saving and so on.
;; Remarks:
;; =======
;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo
;; (to derive nndiary from nnml) natural. However, my experience with nnoo
;; * nnoo. NNDiary is very similar to nnml. This makes the idea of using nnoo
;; (to derive nndiary from nnml) natural. However, my experience with nnoo
;; is that for reasonably complex back ends like this one, nnoo is a burden
;; rather than an help. It's tricky to use, not everything can be inherited,
;; rather than an help. It's tricky to use, not everything can be inherited,
;; what can be inherited and when is not very clear, and you've got to be
;; very careful because a little mistake can fuck up your other back ends,
;; especially because their variables will be use instead of your real ones.
@ -64,16 +64,16 @@
;; IMHO, nnoo is actually badly designed. A much simpler, and yet more
;; powerful one would be to make *real* functions and variables for a new
;; back end based on another. Lisp is a reflexive language so that's a very
;; back end based on another. Lisp is a reflexive language so that's a very
;; easy thing to do: inspect the function's form, replace occurrences of
;; <nnfrom> (even in strings) with <nnto>, and you're done.
;; * nndiary-get-new-mail, nndiary-mail-source and nndiary-split-methods:
;; NNDiary has some experimental parts, in the sense Gnus normally uses only
;; one mail back ends for mail retrieval and splitting. This back end is
;; also an attempt to make it behave differently. For Gnus developers: as
;; one mail back ends for mail retrieval and splitting. This back end is
;; also an attempt to make it behave differently. For Gnus developers: as
;; you can see if you snarf into the code, that was not a very difficult
;; thing to do. Something should be done about the respooling breakage
;; thing to do. Something should be done about the respooling breakage
;; though.

View file

@ -51,7 +51,7 @@
(defvoo nnimap-server-port nil
"The IMAP port used.
If nnimap-stream is `ssl', this will default to `imaps'. If not,
If `nnimap-stream' is `ssl', this will default to `imaps'. If not,
it will default to `imap'.")
(defvoo nnimap-use-namespaces nil
@ -59,7 +59,7 @@ it will default to `imap'.")
If in Gnus your folder names in all start with (e.g.) `INBOX',
you probably want to set this to t. The effects of this are
purely cosmetic, but changing this variable will affect the
names of your nnimap groups. ")
names of your nnimap groups.")
(defvoo nnimap-stream 'undecided
"How nnimap talks to the IMAP server.
@ -102,15 +102,15 @@ Possible choices are nil (use default methods), `anonymous',
(defvoo nnimap-expunge 'on-exit
"When to expunge deleted messages.
If `never', deleted articles are marked with the IMAP \\Delete
flag but not automatically expunged. If `immediately', deleted
flag but not automatically expunged. If `immediately', deleted
articles are immediately expunged (this requires the server to
support the UID EXPUNGE command). If `on-exit', deleted articles
support the UID EXPUNGE command). If `on-exit', deleted articles
are flagged, and all flagged articles are expunged when the group
is closed.
For backwards compatibility, this variable may also be set to t
or nil. If the server supports UID EXPUNGE, both t and nil are
equivalent to `immediately'. If the server does not support UID
or nil. If the server supports UID EXPUNGE, both t and nil are
equivalent to `immediately'. If the server does not support UID
EXPUNGE nil is equivalent to `never', while t will immediately
expunge ALL articles that are currently flagged as deleted
(i.e., potentially not only the article that was just deleted).")

View file

@ -602,7 +602,7 @@ These will be logged to the \"*nnmail split*\" buffer."
(defvar nnmail-incoming-coding-system
mm-text-coding-system
"Coding system used in reading inbox")
"Coding system used in reading inbox.")
(defcustom nnmail-pathname-coding-system nil
"Coding system for file name."
@ -1306,7 +1306,7 @@ See `nnmail-ignore-broken-references'."
:type 'regexp)
(defun nnmail-ignore-broken-references ()
"Ignore the References line and use In-Reply-To
"Ignore the References line and use In-Reply-To.
Eudora has a broken References line, but an OK In-Reply-To."
(goto-char (point-min))

View file

@ -35,7 +35,7 @@
;; Commentary on the code: nnmairix sits between Gnus and the "real"
;; back end which handles the mail (currently nnml, nnimap and
;; nnmaildir were tested). I know this is all a bit hacky, but so far
;; nnmaildir were tested). I know this is all a bit hacky, but so far
;; it works for me. This is the first back end I've written for Gnus,
;; so I'd appreciate any comments, suggestions, bug reports (and, of
;; course, patches) for improving nnmairix.
@ -368,8 +368,9 @@ wrong count of total articles shown by Gnus.")
its maildir mail folders (e.g. the Dovecot IMAP server or mutt).")
(defvoo nnmairix-default-group nil
"Default search group. This is the group which is used for all
temporary searches, e.g. nnmairix-search.")
"Default search group.
This is the group which is used for all temporary searches,
e.g. nnmairix-search.")
;;; === Internal variables

View file

@ -300,9 +300,10 @@ backend doesn't catch this error.")
(defvar nntp--report-1 nil)
(defun nntp-report (&rest args)
"Report an error from the nntp backend. The first string in ARGS
can be a format string. For some commands, the failed command may be
retried once before actually displaying the error report."
"Report an error from the nntp backend.
The first string in ARGS can be a format string. For some commands, the
failed command may be retried once before actually displaying the error
report."
(if nntp--report-1
(progn
;; Throw out to nntp-with-open-group-error so that the connection may

View file

@ -436,7 +436,8 @@ lines have the correct component server prefix."
(defun nnvirtual-update-read-and-marked (read-p update-p)
"Copy marks from the virtual group to the component groups.
If READ-P is not nil, update the (un)read status of the components.
If UPDATE-P is not nil, call gnus-group-update-group on the components."
If UPDATE-P is not nil, call `gnus-group-update-group' on the
components."
(when nnvirtual-current-group
(let ((unreads (and read-p
(nnvirtual-partition-sequence
@ -642,7 +643,7 @@ then it is left out of the result."
(defun nnvirtual-partition-sequence (articles)
"Return an association list of component article numbers.
These are indexed by elements of nnvirtual-component-groups, based on
These are indexed by elements of `nnvirtual-component-groups', based on
the sequence ARTICLES of virtual article numbers. ARTICLES should be
sorted, and can be a compressed sequence. If any of the article
numbers has no corresponding component article, then it is left out of

View file

@ -183,7 +183,7 @@ say, `with-spam-stat-max-buffer-size'."
:type '(repeat sexp))
(defcustom spam-stat-process-directory-age 90
"Max. age of files to be processed in directory, in days.
"Maximum age of files to be processed in directory, in days.
When using `spam-stat-process-spam-directory' or
`spam-stat-process-non-spam-directory', only files that have
been touched in this many days will be considered. Without
@ -192,7 +192,7 @@ will start to take a very long time."
:type 'integer)
(defvar spam-stat-last-saved-at nil
"Time stamp of last change of spam-stat-file on this run")
"Time stamp of last change of `spam-stat-file' on this run.")
(defvar spam-stat-syntax-table
(let ((table (copy-syntax-table text-mode-syntax-table)))
@ -394,7 +394,7 @@ Use `spam-stat-ngood', `spam-stat-nbad', `spam-stat-good',
;; Saving and Loading
(defun spam-stat-save (&optional force)
"Save the `spam-stat' hash table as lisp file.
"Save the `spam-stat' hash table as Lisp file.
With a prefix argument save unconditionally."
(interactive "P")
(when (or force spam-stat-dirty)

View file

@ -2053,7 +2053,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
(add-hook 'bbdb-change-hook #'spam-clear-cache-BBDB))
(defun spam-enter-ham-BBDB (addresses &optional remove)
"Enter an address into the BBDB; implies ham (non-spam) sender"
"Enter an address into the BBDB; implies ham (non-spam) sender."
(dolist (from addresses)
(when (stringp from)
(let* ((parsed-address (gnus-extract-address-components from))
@ -2091,7 +2091,7 @@ See the Info node `(gnus)Fancy Mail Splitting' for more details."
(bbdb-gethash (downcase net))))
(defun spam-check-BBDB ()
"Mail from people in the BBDB is classified as ham or non-spam"
"Mail from people in the BBDB is classified as ham or non-spam."
(let ((net (message-fetch-field "from")))
(when net
(setq net (nth 1 (gnus-extract-address-components net)))