(defun gnus-add-buffer ()
"Add the current buffer to the list of Gnus buffers."
+ (gnus-prune-buffers)
(push (current-buffer) gnus-buffers))
(defmacro gnus-kill-buffer (buffer)
"Kill BUFFER and remove from the list of Gnus buffers."
`(let ((buf ,buffer))
(when (gnus-buffer-exists-p buf)
- (setq gnus-buffers (delete (get-buffer buf) gnus-buffers))
- (kill-buffer buf))))
+ (kill-buffer buf)
+ (gnus-prune-buffers))))
+
+(defun gnus-prune-buffers ()
+ (dolist (buf gnus-buffers)
+ (unless (buffer-live-p buf)
+ (setq gnus-buffers (delete buf gnus-buffers)))))
(defun gnus-buffers ()
"Return a list of live Gnus buffers."
"Color alist used for the Gnus logo.")
(defcustom gnus-logo-color-style 'ma
- "*Color styles used for the Gnus logo."
+ "Color styles used for the Gnus logo."
:type `(choice ,@(mapcar (lambda (elem) (list 'const (car elem)))
gnus-logo-color-alist))
:group 'gnus-xmas)
(defcustom gnus-directory (or (getenv "SAVEDIR")
(nnheader-concat gnus-home-directory "News/"))
- "*Directory variable from which all other Gnus file variables are derived.
+ "Directory variable from which all other Gnus file variables are derived.
Note that Gnus is mostly loaded when the `.gnus.el' file is read.
This means that other directory variables that are initialized from
:type 'directory)
(defcustom gnus-default-directory nil
- "*Default directory for all Gnus buffers."
+ "Default directory for all Gnus buffers."
:group 'gnus-files
:type '(choice (const :tag "current" nil)
directory))
:type 'gnus-select-method)
(defcustom gnus-message-archive-method "archive"
- "*Method used for archiving messages you've sent.
+ "Method used for archiving messages you've sent.
This should be a mail method.
See also `gnus-update-message-archive-method'."
:type 'boolean)
(defcustom gnus-message-archive-group '((format-time-string "sent.%Y-%m"))
- "*Name of the group in which to save the messages you've written.
+ "Name of the group in which to save the messages you've written.
This can either be a string; a list of strings; or an alist
of regexps/functions/forms to be evaluated to return a string (or a list
of strings). The functions are called with the name of the current
gnus-select-method))))
(defcustom gnus-use-cross-reference t
- "*Non-nil means that cross referenced articles will be marked as read.
+ "Non-nil means that cross referenced articles will be marked as read.
If nil, ignore cross references. If t, mark articles as read in
subscribed newsgroups. If neither t nor nil, mark as read in all
newsgroups."
:value always)))
(defcustom gnus-process-mark ?#
- "*Process mark."
+ "Process mark."
:group 'gnus-group-visual
:group 'gnus-summary-marks
:type 'character)
(defcustom gnus-large-newsgroup 200
- "*The number of articles which indicates a large newsgroup.
+ "The number of articles which indicates a large newsgroup.
If the number of articles in a newsgroup is greater than this value,
confirmation is required for selecting the newsgroup.
If it is nil, no confirmation is required.
(const not-kill))))
(defcustom gnus-kill-files-directory gnus-directory
- "*Name of the directory where kill files will be stored (default \"~/News\")."
+ "Name of the directory where kill files will be stored (default \"~/News\")."
:group 'gnus-score-files
:group 'gnus-score-kill
:type 'directory)
(defcustom gnus-save-score nil
- "*If non-nil, save group scoring info."
+ "If non-nil, save group scoring info."
:group 'gnus-score-various
:group 'gnus-start
:type 'boolean)
(defcustom gnus-use-undo t
- "*If non-nil, allow undoing in Gnus group mode buffers."
+ "If non-nil, allow undoing in Gnus group mode buffers."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-use-adaptive-scoring nil
- "*If non-nil, use some adaptive scoring scheme.
+ "If non-nil, use some adaptive scoring scheme.
If a list, then the values `word' and `line' are meaningful. The
former will perform adaption on individual words in the subject
header while `line' will perform adaption on several headers."
:type '(set (const word) (const line)))
(defcustom gnus-use-cache 'passive
- "*If nil, Gnus will ignore the article cache.
+ "If nil, Gnus will ignore the article cache.
If `passive', it will allow entering (and reading) articles
explicitly entered into the cache. If anything else, use the
cache to the full extent of the law."
(const :tag "active" t)))
(defcustom gnus-use-trees nil
- "*If non-nil, display a thread tree buffer."
+ "If non-nil, display a thread tree buffer."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-keep-backlog 20
- "*If non-nil, Gnus will keep read articles for later re-retrieval.
+ "If non-nil, Gnus will keep read articles for later re-retrieval.
If it is a number N, then Gnus will only keep the last N articles
read. If it is neither nil nor a number, Gnus will keep all read
articles. This is not a good idea."
:value t)))
(defcustom gnus-suppress-duplicates nil
- "*If non-nil, Gnus will mark duplicate copies of the same article as read."
+ "If non-nil, Gnus will mark duplicate copies of the same article as read."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-use-scoring t
- "*If non-nil, enable scoring."
+ "If non-nil, enable scoring."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-summary-prepare-exit-hook
'(gnus-summary-expire-articles)
- "*A hook called when preparing to exit from the summary buffer.
+ "A hook called when preparing to exit from the summary buffer.
It calls `gnus-summary-expire-articles' by default."
:group 'gnus-summary-exit
:type 'hook)
(defcustom gnus-novice-user t
- "*Non-nil means that you are a Usenet novice.
+ "Non-nil means that you are a Usenet novice.
If non-nil, verbose messages may be displayed and confirmations may be
required."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-expert-user nil
- "*Non-nil means that you will never be asked for confirmation about anything.
+ "Non-nil means that you will never be asked for confirmation about anything.
That doesn't mean *anything* anything; particularly destructive
commands will still require prompting."
:group 'gnus-meta
:type 'boolean)
(defcustom gnus-interactive-catchup t
- "*If non-nil, require your confirmation when catching up a group."
+ "If non-nil, require your confirmation when catching up a group."
:group 'gnus-group-select
:type 'boolean)
(defcustom gnus-interactive-exit t
- "*If non-nil, require your confirmation when exiting Gnus.
+ "If non-nil, require your confirmation when exiting Gnus.
If `quiet', update any active summary buffers automatically
first before exiting."
:group 'gnus-exit
(const quiet)))
(defcustom gnus-extract-address-components 'gnus-extract-address-components
- "*Function for extracting address components from a From header.
+ "Function for extracting address components from a From header.
Two pre-defined function exist: `gnus-extract-address-components',
which is the default, quite fast, and too simplistic solution, and
`mail-extract-address-components', which works much better, but is
server-marks cloud)
("nnmaildir" mail respool address server-marks)
("nnnil" none))
- "*An alist of valid select methods.
+ "An alist of valid select methods.
The first element of each list lists should be a string with the name
of the select method. The other elements may be the category of
this method (i. e., `post', `mail', `none' or whatever) or other
(const tree)))
(defcustom gnus-mode-non-string-length 30
- "*Max length of mode-line non-string contents.
+ "Max length of mode-line non-string contents.
If this is nil, Gnus will take space as is needed, leaving the rest
of the mode line intact."
:version "24.1"
:function-document
"Return GROUP's to-address."
:variable-document
- "*Alist of group regexps and correspondent to-addresses."
+ "Alist of group regexps and correspondent to-addresses."
:variable-group gnus-group-parameter
:parameter-type '(gnus-email-address :tag "To Address")
:parameter-document "\
:function-document
"Return GROUP's to-list."
:variable-document
- "*Alist of group regexps and correspondent to-lists."
+ "Alist of group regexps and correspondent to-lists."
:variable-group gnus-group-parameter
:parameter-type '(gnus-email-address :tag "To List")
:parameter-document "\
:function-document
"Return GROUP's subscription status."
:variable-document
- "*Groups which are automatically considered subscribed."
+ "Groups which are automatically considered subscribed."
:variable-group gnus-group-parameter
:parameter-type '(const :tag "Subscribed" t)
:parameter-document "\
:variable gnus-auto-expirable-newsgroups
:variable-default nil
:variable-document
- "*Groups in which to automatically mark read articles as expirable.
+ "Groups in which to automatically mark read articles as expirable.
If non-nil, this should be a regexp that should match all groups in
which to perform auto-expiry. This only makes sense for mail groups."
:variable-group nnmail-expire
:variable gnus-total-expirable-newsgroups
:variable-default nil
:variable-document
- "*Groups in which to perform expiry of all read articles.
+ "Groups in which to perform expiry of all read articles.
Use with extreme caution. All groups that match this regexp will be
expiring - which means that all read articles will be deleted after
\(say) one week. (This only goes for mail groups and the like, of
:function-document
"Return GROUP's initial input of the number of articles."
:variable-document
- "*Alist of group regexps and its initial input of the number of articles."
+ "Alist of group regexps and its initial input of the number of articles."
:variable-group gnus-group-parameter
:parameter-type '(choice :tag "Initial Input for Large Newsgroup"
(const :tag "All" nil)
'("delayed$" "drafts$" "queue$" "INBOX$"
"^nnmairix:" "^nnir:" "archive"))
:variable-document
- "*Groups in which the registry should be turned off."
+ "Groups in which the registry should be turned off."
:variable-group gnus-registry
:variable-type '(repeat
(list
;; group parameters for spam processing added by Ted Zlatanov <tzz@lifelogs.com>
(defcustom gnus-install-group-spam-parameters t
- "*Disable the group parameters for spam detection.
+ "Disable the group parameters for spam detection.
Enable if `G c' in XEmacs is giving you trouble, and make sure to submit a bug report."
:version "22.1"
:type 'boolean
:variable gnus-spam-newsgroup-contents
:variable-default nil
:variable-document
- "*Group classification (spam, ham, or neither). Only
+ "Group classification (spam, ham, or neither). Only
meaningful when spam.el is loaded. If non-nil, this should be a
list of group name regexps associated with a classification for
each one. In spam groups, new articles are marked as spam on
:variable gnus-spam-process-newsgroups
:variable-default nil
:variable-document
- "*Groups in which to automatically process spam or ham articles with
+ "Groups in which to automatically process spam or ham articles with
a backend on summary exit. If non-nil, this should be a list of group
name regexps that should match all groups in which to do automatic
spam processing, associated with the appropriate processor."
:variable gnus-spam-autodetect
:variable-default nil
:variable-document
- "*Groups in which spam should be autodetected when they are entered.
+ "Groups in which spam should be autodetected when they are entered.
Only unseen articles will be examined, unless
spam-autodetect-recheck-messages is set."
:variable-group spam
:variable gnus-spam-autodetect-methods
:variable-default nil
:variable-document
- "*Methods for autodetecting spam per group.
+ "Methods for autodetecting spam per group.
Requires the spam-autodetect parameter. Only unseen articles
will be examined, unless spam-autodetect-recheck-messages is
set."
:variable gnus-spam-process-destinations
:variable-default nil
:variable-document
- "*Groups in which to explicitly send spam-processed articles to
+ "Groups in which to explicitly send spam-processed articles to
another group, or expire them (the default). If non-nil, this should
be a list of group name regexps that should match all groups in which
to do spam-processed article moving, associated with the destination
:variable gnus-ham-process-destinations
:variable-default nil
:variable-document
- "*Groups in which to explicitly send ham articles to
+ "Groups in which to explicitly send ham articles to
another group, or do nothing (the default). If non-nil, this should
be a list of group name regexps that should match all groups in which
to do ham article moving, associated with the destination
gnus-low-score-mark))))
:variable-group spam
:variable-document
- "*Groups in which to explicitly set the ham marks to some value.")
+ "Groups in which to explicitly set the ham marks to some value.")
(gnus-define-group-parameter
spam-marks
:variable-default '((".*" ((gnus-spam-mark))))
:variable-group spam
:variable-document
- "*Groups in which to explicitly set the spam marks to some value."))
+ "Groups in which to explicitly set the spam marks to some value."))
(defcustom gnus-group-uncollapsed-levels 1
"Number of group name elements to leave alone when making a short group name."
:type 'integer)
(defcustom gnus-group-use-permanent-levels nil
- "*If non-nil, once you set a level, Gnus will use this level."
+ "If non-nil, once you set a level, Gnus will use this level."
:group 'gnus-group-levels
:type 'boolean)
tree-highlight menu highlight
browse-menu server-menu
page-marker tree-menu binary-menu pick-menu)
- "*Enable visual features.
+ "Enable visual features.
If `visual' is disabled, there will be no menus and few faces. Most of
the visual customization options below will be ignored. Gnus will use
less space and be faster as a result.
'highlight)
'default)
(error 'highlight))
- "*Face used for group or summary buffer mouse highlighting.
+ "Face used for group or summary buffer mouse highlighting.
The line beneath the mouse pointer will be highlighted with this
face."
:group 'gnus-visual
:type 'face)
(defcustom gnus-article-save-directory gnus-directory
- "*Name of the directory articles will be saved in (default \"~/News\")."
+ "Name of the directory articles will be saved in (default \"~/News\")."
:group 'gnus-article-saving
:type 'directory)
(defcustom gnus-cache-directory
(nnheader-concat gnus-directory "cache/")
- "*The directory where cached articles will be stored."
+ "The directory where cached articles will be stored."
:group 'gnus-cache
:type 'directory)
(defcustom gnus-summary-line-format "%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n"
- "*The format specification of the lines in the summary buffer.
+ "The format specification of the lines in the summary buffer.
It works along the same lines as a normal formatting string,
with some simple extensions.