Oort Gnus
New features in Gnus 5.10:
Installation changes
Upgrading from previous (stable) version if you have used Oort.
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.eldinstead of from the.marks/.mrkfile where this release store flags. See a later entry for more information about marks. Note that downgrading isn’t save in general.Lisp files are now installed in
.../site-lisp/gnus/by default. It defaulted to.../site-lisp/formerly. In addition to this, the new installer issues a warning if other Gnus installations which will shadow the latest one are detected. You can then remove those shadows manually or remove them usingmake remove-installed-shadows.~/News/overview/not used.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~/.emacsafter adding the Gnus lisp directory into load-path.File
gnus-load.elcontains autoload commands, functions and variables, some of which may not be included in distributions of Emacsen.
New packages and libraries within Gnus
The revised Gnus FAQ is included in the manual, See Frequently Asked Questions.
TLS wrapper shipped with Gnus
TLS/SSL is now supported in IMAP and NNTP via GnuTLS.
Improved anti-spam features.
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.
Gnus supports server-side mail filtering using Sieve.
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.
Changes in group mode
gnus-group-read-ephemeral-groupcan be called interactively, using G M.Retrieval of charters and control messages
There are new commands for fetching newsgroup charters (H c) and control messages (H C).
The new variable
gnus-parameterscan 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.elinstead of~/.newsrc.eld. The variable maps regular expressions matching group names to group parameters, a’la:emacs-lisp(setq gnus-parameters '(("mail\\..*" (gnus-show-threads nil) (gnus-use-scoring nil)) ("^nnimap:\\(foo.bar\\)$" (to-group . "\\1"))))Unread count correct in nnimap groups.
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-newsfrom thegnus-setup-news-hook(called on startup) andgnus-after-getting-new-news-hook(called after getting new mail). If you have modified those variables from the default, you may want to addnnimap-fixup-unread-after-getting-new-newsagain. If you were happy with the estimate and want to save some (minimal) time when getting new mail, remove the function.Group names are treated as UTF-8 by default.
This is supposedly what USEFOR wanted to migrate to. See
gnus-group-name-charset-group-alistandgnus-group-name-charset-method-alistfor customization.gnus-group-charset-alistandgnus-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:
emacs-lisp("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)Old intermediate incoming mail files (
Incoming*) are deleted after a couple of days, not immediately. See Mail Source Customization. (New in Gnus 5.10.10 / Emacs 22.2)
Changes in summary and article mode
F (
gnus-article-followup-with-original) and R (gnus-article-reply-with-original) only yank the text in the region if the region is active.In draft groups, e is now bound to
gnus-draft-edit-message. Use B w forgnus-summary-edit-articleinstead.Article Buttons
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-*-levelcan be used to control the appearance of all article buttons. See Article button levels.Single-part yenc encoded attachments can be decoded.
Picons
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.
If the new option
gnus-treat-body-boundaryis non-nil, a boundary line is drawn at the end of the headers.Signed article headers (X-PGP-Sig) can be verified with W p.
The Summary Buffer uses an arrow in the fringe to indicate the current article. Use
(setq gnus-summary-display-arrow nil)to disable it.Warn about email replies to news
Do you often find yourself replying to news by email by mistake? Then the new option
gnus-confirm-mail-reply-to-newsis just the thing for you.If the new option
gnus-summary-display-while-buildingis non-nil, the summary buffer is shown and updated as it’s being built.Gnus supports RFC 2369 mailing list headers, and adds a number of related commands in mailing list groups. See Mailing List.
The Date header can be displayed in a format that can be read aloud in English. See Article Date.
diffs are automatically highlighted in groups matching
mm-uu-diff-groups-regexpBetter handling of Microsoft citation styles
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-regexpmatches the start of these citations.The new command W Y f (
gnus-article-outlook-deuglify-article) allows deuglifying broken Outlook (Express) articles.If you set
gnus-article-skip-boringtot, 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 usinggnus-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.
Smileys (‘
:-)’, ‘;-)’ etc.) are now displayed graphically in Emacs too.Put
(setq gnus-treat-display-smileys nil)in~/.gnus.elto disable it.Face headers handling. See Face.
In the summary buffer, the new command / N inserts new messages and / o inserts old messages.
Gnus decodes morse encoded messages if you press W m.
The default value changed to ‘
%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n’. Moreovergnus-extra-headers,nnmail-extra-headersandgnus-ignored-from-addresseschanged their default so that the users name will be replaced by the recipient’s name or the group name posting to for NNTP groups.Deleting of attachments.
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.The default value is determined from the
current-language-environmentvariable, instead ofiso-8859-1. Also the ‘.*’ item ingnus-group-charset-alistis removed.Printing capabilities are enhanced.
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.
Extended format specs.
Format spec ‘
%&user-date;’ is added intognus-summary-line-format-alist. Also, user defined extended format specs are supported. The extended format specs look like ‘%u&foo;’, which invokes functiongnus-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.Some limiting commands accept a C-u prefix to negate the match.
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.Gnus inlines external parts (message/external).
Changes in Message mode and related Gnus features
Delayed articles
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.
If the new option
nnml-use-compressed-filesis non-nil, the nnml back end allows compressed message files.The new option
gnus-gcc-mark-as-readautomatically marks Gcc articles as read.Externalizing of attachments
If
gnus-gcc-externalize-attachmentsormessage-fcc-externalize-attachmentsis non-nil, attach local files as external parts.The envelope sender address can be customized when using Sendmail. See Mail Variables in Message Manual.
Gnus no longer generate the Sender: header automatically.
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, andmessage-required-mail-headers.Features from third party
message-utils.eladded tomessage.el.Message now asks if you wish to remove ‘
(was: <old subject>)’ from subject lines (seemessage-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 variablesmessage-cross-post-*).References and X-Draft-From headers are no longer generated when you start composing messages and
message-generate-headers-firstisnil.Easy inclusion of X-Faces headers. See X-Face.
Group Carbon Copy (GCC) quoting
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-groupshould 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.Adding
(message-insinuate-rmail)and(setq mail-user-agent 'gnus-user-agent)in.emacsconvinces Rmail to compose, reply and forward messages in message-mode, where you can enjoy the power of MML.The line below enables BBDB in resending a message:
emacs-lisp(define-key message-minibuffer-local-map [(tab)] 'bbdb-complete-name)Add a new format of match like
emacs-lisp((header "to" "larsi.*org") (Organization "Somewhere, Inc."))The old format like the lines below is obsolete, but still accepted.
emacs-lisp(header "to" "larsi.*org" (Organization "Somewhere, Inc."))message-ignored-news-headersandmessage-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.Gnus supports the “format=flowed” (RFC 2646) parameter. On composing messages, it is enabled by
use-hard-newlines. Decoding format=flowed was present but not documented in earlier versions.The option
mm-fill-flowedcan 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)Gnus supports the generation of RFC 2298 Disposition Notification requests.
This is invoked with the C-c M-n key binding from message mode.
Message supports the Importance: (RFC 2156) header.
In the message buffer, C-c C-f C-i or C-c C-u cycles through the valid values.
Gnus supports Cancel Locks in News.
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~/.emacsusing the Custom system. While the variable is calledcanlock-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 customizingmessage-insert-canlock.Gnus supports PGP (RFC 1991/2440), PGP/MIME (RFC 2015/3156) and S/MIME (RFC 2630–2633).
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.MML (Mime compose) prefix changed from M-m to C-c C-m.
This change was made to avoid conflict with the standard binding of
back-to-indentation, which is also useful in message mode.The default for
message-forward-show-mmlchanged to the symbolbest.The behavior for the
bestvalue 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.If
auto-compression-modeis enabled, attachments are automatically decompressed when activated.Support for non-ASCII domain names
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-idnacontrols this. Gnus will also decode non-ASCII domain names in From:, To: and Cc: when you view a message. The variablegnus-use-idnacontrols this.You can now drag and drop attachments to the Message buffer. See
mml-dnd-protocol-alistandmml-dnd-attach-options. See MIME in Message Manual.auto-fill-modeis enabled by default in Message mode. Seemessage-fill-column. See Message Headers in Message Manual.
Changes in back ends
Gnus can display RSS newsfeeds as a newsgroup. See RSS.
The nndoc back end now supports mailman digests and exim bounces.
Gnus supports Maildir groups.
Gnus includes a new back end
nnmaildir.el. See Maildir.The nnml and nnfolder back ends store marks for each groups.
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.eldfile) within, e.g., a department. It works by storing the marks stored in~/.newsrc.eldin a per-group file.marks(for nnml) andgroupname.mrk(for nnfolder, namedgroupname). If the nnml/nnfolder is moved to another machine, Gnus will automatically use the.marksor.mrkfile instead of the information in~/.newsrc.eld. The new server variablesnnml-marks-is-evilandnnfolder-marks-is-evilcan be used to disable this feature.
Appearance
- The menu bar item (in Group and Summary buffer) named “Misc” has been renamed to “Gnus”.
- The menu bar item (in Message mode) named “MML” has been renamed to “Attachments”. Note that this menu also contains security related stuff, like signing and encryption (see Security in Message Manual).
- The tool bars have been updated to use GNOME icons in Group, Summary and Message mode. You can also customize the tool bars: M-x customize-apropos RET -tool-bar$ should get you started. This is a new feature in Gnus 5.10.10.
- The tool bar icons are now (de)activated correctly in the group buffer, see the variable
gnus-group-update-tool-bar. Its default value depends on your Emacs version. This is a new feature in Gnus 5.10.9.
Miscellaneous changes
The Gnus Agent has seen a major updated and is now enabled by default, and all nntp and nnimap servers from
gnus-select-methodandgnus-secondary-select-methodare agentized by default. Earlier only the server ingnus-select-methodwas 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.elis not needed any more.Gnus reads the NOV and articles in the Agent if plugged.
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.Dired integration
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.The format spec
%Cfor positioning point has changed to%*.A new command which starts Gnus offline in child mode.