New features in Gnus 5.10:
If you have tried Oort (the unstable Gnus branch leading to this release) but went back to a stable version, be careful when upgrading to this version. In particular, you will probably want to remove all .marks (nnml) and .mrk (nnfolder) files, so that flags are read from your .newsrc.eld instead of from the .marks/.mrk file where this release store flags. See a later entry for more information about marks. Note that downgrading isn’t save in general.
make
remove-installed-shadows
.
As a result of the following change, the ~/News/overview/ directory is not used any more. You can safely delete the entire hierarchy.
(require 'gnus-load)
If you use a stand-alone Gnus distribution, you’d better add
(require 'gnus-load)
into your ~/.emacs after adding the Gnus
lisp directory into load-path.
File gnus-load.el contains autoload commands, functions and variables, some of which may not be included in distributions of Emacsen.
TLS/SSL is now supported in IMAP and NNTP via GnuTLS.
Gnus is now able to take out spam from your mail and news streams using a wide variety of programs and filter rules. Among the supported methods are RBL blocklists, bogofilter and white/blacklists. Hooks for easy use of external packages such as SpamAssassin and Hashcash are also new. Thwarting Email Spam and Spam Package.
Sieve rules can be added as Group Parameters for groups, and the complete Sieve script is generated using D g from the Group buffer, and then uploaded to the server using C-c C-l in the generated Sieve buffer. See Sieve Commands, and the new Sieve manual Top in Emacs Sieve.
gnus-group-read-ephemeral-group
can be called interactively,
using G M.
There are new commands for fetching newsgroup charters (H c) and control messages (H C).
gnus-parameters
can be used to set group parameters.
Earlier this was done only via G p (or G c), which stored the parameters in ~/.newsrc.eld, but via this variable you can enjoy the powers of customize, and simplified backups since you set the variable in ~/.gnus.el instead of ~/.newsrc.eld. The variable maps regular expressions matching group names to group parameters, a’la:
(setq gnus-parameters '(("mail\\..*" (gnus-show-threads nil) (gnus-use-scoring nil)) ("^nnimap:\\(foo.bar\\)$" (to-group . "\\1"))))
The estimated number of unread articles in the group buffer should now
be correct for nnimap groups. This is achieved by calling
nnimap-fixup-unread-after-getting-new-news
from the
gnus-setup-news-hook
(called on startup) and
gnus-after-getting-new-news-hook
(called after getting new
mail). If you have modified those variables from the default, you may
want to add nnimap-fixup-unread-after-getting-new-news
again. If
you were happy with the estimate and want to save some (minimal) time
when getting new mail, remove the function.
This is supposedly what USEFOR wanted to migrate to. See
gnus-group-name-charset-group-alist
and
gnus-group-name-charset-method-alist
for customization.
gnus-group-charset-alist
and
gnus-group-ignored-charsets-alist
.
The regexps in these variables are compared with full group names instead of real group names in 5.8. Users who customize these variables should change those regexps accordingly. For example:
("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)
gnus-article-followup-with-original
) and R
(gnus-article-reply-with-original
) only yank the text in the
region if the region is active.
gnus-draft-edit-message
.
Use B w for gnus-summary-edit-article
instead.
More buttons for URLs, mail addresses, Message-IDs, Info links, man
pages and Emacs or Gnus related references. See Article Buttons. The
variables gnus-button-*-level
can be used to control the
appearance of all article buttons. See Article button levels.
The picons code has been reimplemented to work in GNU Emacs—some of the previous options have been removed or renamed.
Picons are small “personal icons” representing users, domain and newsgroups, which can be displayed in the Article buffer. See Picons.
gnus-treat-body-boundary
is non-nil
, a
boundary line is drawn at the end of the headers.
(setq gnus-summary-display-arrow nil)
to disable it.
Do you often find yourself replying to news by email by mistake? Then
the new option gnus-confirm-mail-reply-to-news
is just the thing for
you.
gnus-summary-display-while-building
is
non-nil
, the summary buffer is shown and updated as it’s being
built.
mm-uu-diff-groups-regexp
Gnus now tries to recognize the mangled header block that some Microsoft
mailers use to indicate that the rest of the message is a citation, even
though it is not quoted in any way. The variable
gnus-cite-unsightly-citation-regexp
matches the start of these
citations.
The new command W Y f
(gnus-article-outlook-deuglify-article
) allows deuglifying broken
Outlook (Express) articles.
gnus-article-skip-boring
If you set gnus-article-skip-boring
to t
, then Gnus will
not scroll down to show you a page that contains only boring text,
which by default means cited text and signature. You can customize
what is skippable using gnus-article-boring-faces
.
This feature is especially useful if you read many articles that consist of a little new content at the top with a long, untrimmed message cited below.
Put (setq gnus-treat-display-smileys nil)
in ~/.gnus.el to
disable it.
gnus-summary-line-format
The default value changed to ‘%U%R%z%I%(%[%4L: %-23,23f%]%)
%s\n’. Moreover gnus-extra-headers
,
nnmail-extra-headers
and gnus-ignored-from-addresses
changed their default so that the users name will be replaced by the
recipient’s name or the group name posting to for NNTP
groups.
The command gnus-mime-save-part-and-strip
(bound to C-o
on MIME buttons) saves a part and replaces the part with an
external one. gnus-mime-delete-part
(bound to d on
MIME buttons) removes a part. It works only on back ends
that support editing.
gnus-default-charset
The default value is determined from the
current-language-environment
variable, instead of
iso-8859-1
. Also the ‘.*’ item in
gnus-group-charset-alist
is removed.
Gnus supports Muttprint natively with O P from the Summary and Article buffers. Also, each individual MIME part can be printed using p on the MIME button.
Format spec ‘%&user-date;’ is added into
gnus-summary-line-format-alist
. Also, user defined extended
format specs are supported. The extended format specs look like
‘%u&foo;’, which invokes function
gnus-user-format-function-foo
. Because ‘&’ is used as the
escape character, old user defined format ‘%u&’ is no longer supported.
gnus-summary-limit-include-cached
) is rewritten.
It was aliased to Y c
(gnus-summary-insert-cached-articles
). The new function filters
out other articles.
If C-u is used on subject, author or extra headers, i.e., /
s, / a, and / x
(gnus-summary-limit-to-{subject,author,extra}
) respectively, the
result will be to display all articles that do not match the expression.
You can delay the sending of a message with C-c C-j in the Message buffer. The messages are delivered at specified time. This is useful for sending yourself reminders. See Delayed Articles.
nnml-use-compressed-files
is non-nil
,
the nnml back end allows compressed message files.
gnus-gcc-mark-as-read
automatically marks
Gcc articles as read.
If gnus-gcc-externalize-attachments
or
message-fcc-externalize-attachments
is non-nil
, attach
local files as external parts.
Earlier it was generated when the user configurable email address was
different from the Gnus guessed default user address. As the guessing
algorithm is rarely correct these days, and (more controversially) the
only use of the Sender: header was to check if you are entitled to
cancel/supersede news (which is now solved by Cancel Locks instead,
see another entry), generation of the header has been disabled by
default. See the variables message-required-headers
,
message-required-news-headers
, and
message-required-mail-headers
.
Message now asks if you wish to remove ‘(was: <old subject>)’ from
subject lines (see message-subject-trailing-was-query
). C-c
M-m and C-c M-f inserts markers indicating included text.
C-c C-f a adds a X-No-Archive: header. C-c C-f x inserts
appropriate headers and a note in the body for cross-postings and
followups (see the variables message-cross-post-*
).
message-generate-headers-first
is
nil
.
To support groups that contains SPC and other weird characters, groups
are quoted before they are placed in the Gcc: header. This means
variables such as gnus-message-archive-group
should no longer
contain quote characters to make groups containing SPC work. Also, if
you are using the string ‘nnml:foo, nnml:bar’ (indicating Gcc
into two groups) you must change it to return the list
("nnml:foo" "nnml:bar")
, otherwise the Gcc: line will be quoted
incorrectly. Note that returning the string ‘nnml:foo, nnml:bar’
was incorrect earlier, it just didn’t generate any problems since it
was inserted directly.
message-insinuate-rmail
Adding (message-insinuate-rmail)
and (setq
mail-user-agent 'gnus-user-agent)
in .emacs convinces Rmail to
compose, reply and forward messages in message-mode, where you can
enjoy the power of MML.
message-minibuffer-local-map
The line below enables BBDB in resending a message:
(define-key message-minibuffer-local-map [(tab)] 'bbdb-complete-name)
gnus-posting-styles
Add a new format of match like
((header "to" "larsi.*org") (Organization "Somewhere, Inc."))
The old format like the lines below is obsolete, but still accepted.
(header "to" "larsi.*org" (Organization "Somewhere, Inc."))
message-ignored-news-headers
and message-ignored-mail-headers
‘X-Draft-From’ and ‘X-Gnus-Agent-Meta-Information’ have been added into these two variables. If you customized those, perhaps you need add those two headers too.
use-hard-newlines
.
Decoding format=flowed was present but not documented in earlier
versions.
mm-fill-flowed
can be used to disable treatment of
“format=flowed” messages. Also, flowed text is disabled when sending
inline PGP signed messages. See Flowed text in The Emacs MIME Manual. (New in Gnus 5.10.7)
This is invoked with the C-c M-n key binding from message mode.
In the message buffer, C-c C-f C-i or C-c C-u cycles through the valid values.
This means a header ‘Cancel-Lock’ is inserted in news posting. It is
used to determine if you wrote an article or not (for canceling and
superseding). Gnus generates a random password string the first time
you post a message, and saves it in your ~/.emacs using the Custom
system. While the variable is called canlock-password
, it is not
security sensitive data. Publishing your canlock string on the web
will not allow anyone to be able to anything she could not already do.
The behavior can be changed by customizing message-insert-canlock
.
It needs an external S/MIME and OpenPGP implementation, but no
additional Lisp libraries. This add several menu items to the
Attachments menu, and C-c RET key bindings, when composing
messages. This also obsoletes gnus-article-hide-pgp-hook
.
This change was made to avoid conflict with the standard binding of
back-to-indentation
, which is also useful in message mode.
message-forward-show-mml
changed to the symbol
best
.
The behavior for the best
value is to show MML (i.e.,
convert to MIME) when appropriate. MML will not be
used when forwarding signed or encrypted messages, as the conversion
invalidate the digital signature.
auto-compression-mode
is enabled, attachments are automatically
decompressed when activated.
Message supports non-ASCII domain names in From:, To: and
Cc: and will query you whether to perform encoding when you try to
send a message. The variable message-use-idna
controls this.
Gnus will also decode non-ASCII domain names in From:, To:
and Cc: when you view a message. The variable gnus-use-idna
controls this.
mml-dnd-protocol-alist
and mml-dnd-attach-options
.
See MIME in Message Manual.
auto-fill-mode
is enabled by default in Message mode.
See message-fill-column
. See Message Headers in Message Manual.
Gnus includes a new back end nnmaildir.el. See Maildir.
This makes it possible to take backup of nnml/nnfolder servers/groups
separately of ~/.newsrc.eld, while preserving marks. It also
makes it possible to share articles and marks between users (without
sharing the ~/.newsrc.eld file) within, e.g., a department. It
works by storing the marks stored in ~/.newsrc.eld in a per-group
file .marks (for nnml) and groupname.mrk (for
nnfolder, named groupname). If the nnml/nnfolder is moved to
another machine, Gnus will automatically use the .marks or
.mrk file instead of the information in ~/.newsrc.eld.
The new server variables nnml-marks-is-evil
and
nnfolder-marks-is-evil
can be used to disable this feature.
gnus-group-update-tool-bar
.
Its default value depends on your Emacs version. This is a new feature
in Gnus 5.10.9.
gnus-agent
The Gnus Agent has seen a major updated and is now enabled by default,
and all nntp and nnimap servers from gnus-select-method
and
gnus-secondary-select-method
are agentized by default. Earlier
only the server in gnus-select-method
was agentized by the
default, and the agent was disabled by default. When the agent is
enabled, headers are now also retrieved from the Agent cache instead
of the back ends when possible. Earlier this only happened in the
unplugged state. You can enroll or remove servers with J a and
J r in the server buffer. Gnus will not download articles into
the Agent cache, unless you instruct it to do so, though, by using
J u or J s from the Group buffer. You revert to the old
behavior of having the Agent disabled with (setq gnus-agent
nil)
. Note that putting (gnus-agentize)
in ~/.gnus.el
is not needed any more.
If one reads an article while plugged, and the article already exists
in the Agent, it won’t get downloaded once more. (setq
gnus-agent-cache nil)
reverts to the old behavior.
gnus-dired-minor-mode
(see Interaction with other modes) installs key
bindings in dired buffers to send a file as an attachment, open a file
using the appropriate mailcap entry, and print a file using the mailcap
entry.
%C
for positioning point has changed to %*
.
gnus-child-unplugged
A new command which starts Gnus offline in child mode.