For older news, see Gnus info node "New Features".
\f
-* New features
+* Installation changes
-** If you have the "tnef" program installed, Gnus will display ms-tnef
- files, aka "winmail.dat".
+** Upgrading from previous (stable) version if you have used No Gnus.
+If you have tried No Gnus (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 the
+`~/News/marks' directory (perhaps selectively), so that flags are read
+from your `~/.newsrc.eld' instead of from the stale marks file, where
+this release will store flags for nntp. See a later entry for more
+information about nntp marks. Note that downgrading isn't safe in
+general.
+
+** Incompatibility when switching from Emacs 23 to Emacs 22 In Emacs 23,
+Gnus uses Emacs' new internal coding system `utf-8-emacs' for saving
+articles drafts and `~/.newsrc.eld'. These files may not be read
+correctly in Emacs 22 and below. If you want to use Gnus across
+different Emacs versions, you may set `mm-auto-save-coding-system' to
+`emacs-mule'.
+
+** 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 using `make remove-installed-shadows'.
+
+** The installation directory name is allowed to have spaces and/or tabs.
+
+\f
+* New packages and libraries within Gnus
+
+** Gnus includes the Emacs Lisp SASL library.
+
+This provides a clean API to SASL mechanisms from within Emacs. The
+user visible aspects of this, compared to the earlier situation, include
+support for DIGEST-MD5 and NTLM. *Note Emacs SASL: (sasl)Top.
+
+** ManageSieve connections uses the SASL library by default.
+
+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-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
+back end, the PGP passphrase is managed by this mechanism. Passwords
+for ManageSieve connections are managed by this mechanism, after
+querying the user about whether to do so.
+
+** Using EasyPG with Gnus When EasyPG, is available, Gnus will use it
+instead of PGG. EasyPG is an Emacs user interface to GNU Privacy Guard.
+ *Note EasyPG Assistant user's manual: (epa)Top. EasyPG is included in
+Emacs 23 and available separately as well.
+
+\f
+* Changes in group mode
+
+** Old intermediate incoming mail files (`Incoming*') are deleted after a
+couple of days, not immediately. *Note Mail Source Customization::.
+(New in Gnus 5.10.10 / No Gnus 0.8)
+
+
+\f
+* Changes in summary and article mode
+
+** Gnus now supports sticky article buffers. Those are article buffers
+that are not reused when you select another article. *Note Sticky
+Articles::.
+
+** Gnus can selectively display `text/html' articles with a WWW browser
+with `K H'. *Note MIME Commands::.
+
+** International host names (IDNA) can now be decoded inside article bodies
+using `W i' (`gnus-summary-idna-message'). This requires that GNU Libidn
+(`http://www.gnu.org/software/libidn/') has been installed.
+
+** The non-ASCII group names handling has been much improved. The back
+ends that fully support non-ASCII group names are now `nntp', `nnml',
+and `nnrss'. Also the agent, the cache, and the marks features work
+with those back ends. *Note Non-ASCII Group Names::.
+
+** Gnus now displays DNS master files sent as text/dns using dns-mode.
+
+** Gnus supports new limiting commands in the Summary buffer: `/ r'
+(`gnus-summary-limit-to-replied') and `/ R'
+(`gnus-summary-limit-to-recipient'). *Note Limiting::.
+
+** You can now fetch all ticked articles from the server using `Y t'
+(`gnus-summary-insert-ticked-articles'). *Note Summary Generation
+Commands::.
+
+** Gnus supports a new sort command in the Summary buffer: `C-c C-s C-t'
+(`gnus-summary-sort-by-recipient'). *Note Summary Sorting::.
+
+** S/MIME now features LDAP user certificate searches. You need to
+configure the server in `smime-ldap-host-list'.
+
+** URLs inside OpenPGP headers are retrieved and imported to your PGP key
+ring when you click on them.
+
+** Picons can be displayed right from the textual address, see
+`gnus-picon-style'. *Note Picons::.
+
+** ANSI SGR control sequences can be transformed using `W A'.
+
+ANSI sequences are used in some Chinese hierarchies for highlighting
+articles (`gnus-article-treat-ansi-sequences').
+
+** Gnus now MIME decodes articles even when they lack "MIME-Version" header.
+This changes the default of `gnus-article-loose-mime'.
+
+** `gnus-decay-scores' can be a regexp matching score files. For example,
+set it to `\\.ADAPT\\'' and only adaptive score files will be decayed.
+ *Note Score Decays::.
+
+** Strings prefixing to the `To' and `Newsgroup' headers in summary lines
+when using `gnus-ignored-from-addresses' can be customized with
+`gnus-summary-to-prefix' and `gnus-summary-newsgroup-prefix'. *Note To
+From Newsgroups::.
+
+** You can replace MIME parts with external bodies. See
+`gnus-mime-replace-part' and `gnus-article-replace-part'. *Note MIME
+Commands::, *note Using MIME::.
+
+** The option `mm-fill-flowed' can be used to disable treatment of
+format=flowed messages. Also, flowed text is disabled when sending
+inline PGP signed messages. *Note Flowed text: (emacs-mime)Flowed text.
+(New in Gnus 5.10.7)
+
+** Now the new command `S W' (`gnus-article-wide-reply-with-original') for
+a wide reply in the article buffer yanks a text that is in the active
+region, if it is set, as well as the `R'
+(`gnus-article-reply-with-original') command. Note that the `R' command
+in the article buffer no longer accepts a prefix argument, which was
+used to make it do a wide reply. *Note Article Keymap::.
+
+** The new command `C-h b' (`gnus-article-describe-bindings') used in the
+article buffer now shows not only the article commands but also the real
+summary commands that are accessible from the article buffer.
+
+
+\f
+* Changes in Message mode
+
+** Gnus now supports the "hashcash" client puzzle anti-spam mechanism. Use
+`(setq message-generate-hashcash t)' to enable. *Note Hashcash::.
+
+** You can now drag and drop attachments to the Message buffer. See
+`mml-dnd-protocol-alist' and `mml-dnd-attach-options'. *Note MIME:
+(message)MIME.
+
+** The option `message-yank-empty-prefix' now controls how empty lines are
+prefixed in cited text. *Note Insertion Variables: (message)Insertion
+Variables.
+
+** Gnus uses narrowing to hide headers in Message buffers. The
+`References' header is hidden by default. To make all headers visible,
+use `(setq message-hidden-headers nil)'. *Note Message Headers:
+(message)Message Headers.
+
+** You can highlight different levels of citations like in the article
+buffer. See `gnus-message-highlight-citation'.
+
+** `auto-fill-mode' is enabled by default in Message mode. See
+`message-fill-column'. *Note Message Headers: (message)Various Message
+Variables.
+
+** You can now store signature files in a special directory named
+`message-signature-directory'.
+
+** The option `message-citation-line-format' controls the format of the
+"Whomever writes:" line. You need to set
+`message-citation-line-function' to
+`message-insert-formatted-citation-line' as well.
+
+\f
+* Changes in back ends
+
+** The nntp back end stores article marks in `~/News/marks'.
+
+The directory can be changed using the (customizable) variable
+`nntp-marks-directory', and marks can be disabled using the (back end)
+variable `nntp-marks-is-evil'. The advantage of this is that you can
+copy `~/News/marks' (using rsync, scp or whatever) to another Gnus
+installation, and it will realize what articles you have read and
+marked. The data in `~/News/marks' has priority over the same data in
+`~/.newsrc.eld'.
+
+** You can import and export your RSS subscriptions from OPML files. *Note
+RSS::.
+
+** IMAP identity (RFC 2971) is supported.
+
+By default, Gnus does not send any information about itself, but you can
+customize it using the variable `nnimap-id'.
+
+** The `nnrss' back end now supports multilingual text. Non-ASCII group
+names for the `nnrss' groups are also supported. *Note RSS::.
+
+** Retrieving mail with POP3 is supported over SSL/TLS and with StartTLS.
+
+** The nnml back end allows other compression programs beside `gzip' for
+compressed message files. *Note Mail Spool::.
+
+** The nnml back end supports group compaction.
+
+This feature, accessible via the functions `gnus-group-compact-group'
+(`G z' in the group buffer) and `gnus-server-compact-server' (`z' in the
+server buffer) renumbers all articles in a group, starting from 1 and
+removing gaps. As a consequence, you get a correct total article count
+(until messages are deleted again).
+
+
+\f
+* Appearance
+
+** The tool bar has been updated to use GNOME icons. You can also
+customize the tool bars: `M-x customize-apropos RET -tool-bar$' should
+get you started. (Only for Emacs, not in XEmacs.)
+
+** 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.
+
+** You can change the location of XEmacs' toolbars in Gnus buffers. See
+`gnus-use-toolbar' and `message-use-toolbar'.
+
+
+\f
+* Miscellaneous changes
+
+** Having edited the select-method for the foreign server in the server
+buffer is immediately reflected to the subscription of the groups which
+use the server in question. For instance, if you change
+`nntp-via-address' into `bar.example.com' from `foo.example.com', Gnus
+will connect to the news host by way of the intermediate host
+`bar.example.com' from next time.
+
+** The `all.SCORE' file can be edited from the group buffer using `W e'.
+
+** You can set `gnus-mark-copied-or-moved-articles-as-expirable' to a
+non-`nil' value so that articles that have been read may be marked as
+expirable automatically when copying or moving them to a group that has
+auto-expire turned on. The default is `nil' and copying and moving of
+articles behave as before; i.e., the expirable marks will be unchanged
+except that the marks will be removed when copying or moving articles to
+a group that has not turned auto-expire on. *Note Expiring Mail::.
+
+
+\f
* For older news, see Gnus info node "New Features".
----------------------------------------------------------------------
-2012-01-31 Lars Ingebrigtsen <larsi@gnus.org>
-
- * mm-decode.el (mm-dissect-singlepart): Check that the decoder exists.
-
- * mm-archive.el: New file.
-
- * mm-decode.el (mm-dissect-singlepart): Use it to decode ms-tnef files.
-
- * mm-util.el (mm-find-buffer-file-coding-system): Comment fix.
-
- * message.el (message-goto-*): Make all the `message-goto-*' commands
- push the mark before moving point. This makes it easier to go back to
- where you came from after editing whatever you jumped to.
-
-2012-01-31 Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
-
- * gnus.el: Ma Gnus v0.1 is released.
-
2012-01-31 Jim Meyering <jim@meyering.net>
* gnus-agent.el (gnus-agent-expire-unagentized-dirs):
Correct a comment (insert "not") and hide nominally-doubled "to".
-2012-01-31 Lars Ingebrigtsen <larsi@gnus.org>
+2012-01-31 Lars Magne Ingebrigtsen <lars@ingebrigtsen.no>
- * gnus.el (gnus-version): Change name to "Ma Gnus".
+ * gnus.el: No Gnus v0.19 is released.
2012-01-30 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change)
(autoload 'gnus-group-make-nnir-group "nnir")
-(defcustom gnus-no-groups-message "No news is good news"
+(defcustom gnus-no-groups-message "No Gnus is good news"
"*Message displayed by Gnus when no groups are available."
:group 'gnus-start
:type 'string)
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.2"
+(defconst gnus-version-number "0.20"
"Version number for this version of Gnus.")
-(defconst gnus-version (format "Ma Gnus v%s" gnus-version-number)
+(defconst gnus-version (format "No Gnus v%s" gnus-version-number)
"Version string for this version of Gnus.")
(defcustom gnus-inhibit-startup-message nil
(defun message-goto-to ()
"Move point to the To header."
(interactive)
- (push-mark)
(message-position-on-field "To"))
(defun message-goto-from ()
"Move point to the From header."
(interactive)
- (push-mark)
(message-position-on-field "From"))
(defun message-goto-subject ()
"Move point to the Subject header."
(interactive)
- (push-mark)
(message-position-on-field "Subject"))
(defun message-goto-cc ()
"Move point to the Cc header."
(interactive)
- (push-mark)
(message-position-on-field "Cc" "To"))
(defun message-goto-bcc ()
"Move point to the Bcc header."
(interactive)
- (push-mark)
(message-position-on-field "Bcc" "Cc" "To"))
(defun message-goto-fcc ()
"Move point to the Fcc header."
(interactive)
- (push-mark)
(message-position-on-field "Fcc" "To" "Newsgroups"))
(defun message-goto-reply-to ()
"Move point to the Reply-To header."
(interactive)
- (push-mark)
(message-position-on-field "Reply-To" "Subject"))
(defun message-goto-newsgroups ()
"Move point to the Newsgroups header."
(interactive)
- (push-mark)
(message-position-on-field "Newsgroups"))
(defun message-goto-distribution ()
"Move point to the Distribution header."
(interactive)
- (push-mark)
(message-position-on-field "Distribution"))
(defun message-goto-followup-to ()
"Move point to the Followup-To header."
(interactive)
- (push-mark)
(message-position-on-field "Followup-To" "Newsgroups"))
(defun message-goto-mail-followup-to ()
"Move point to the Mail-Followup-To header."
(interactive)
- (push-mark)
(message-position-on-field "Mail-Followup-To" "To"))
(defun message-goto-keywords ()
"Move point to the Keywords header."
(interactive)
- (push-mark)
(message-position-on-field "Keywords" "Subject"))
(defun message-goto-summary ()
"Move point to the Summary header."
(interactive)
- (push-mark)
(message-position-on-field "Summary" "Subject"))
(eval-when-compile
(when (and (message-called-interactively-p 'any)
(looking-at "[ \t]*\n"))
(expand-abbrev))
- (push-mark)
(goto-char (point-min))
(or (search-forward (concat "\n" mail-header-separator "\n") nil t)
(search-forward-regexp "[^:]+:\\([^\n]\\|\n[ \t]\\)+\n\n" nil t)))
If there is no signature in the article, go to the end and
return nil."
(interactive)
- (push-mark)
(goto-char (point-min))
(if (re-search-forward message-signature-separator nil t)
(forward-line 1)
+++ /dev/null
-;;; mm-archive.el --- Functions for parsing archive files as MIME
-
-;; Copyright (C) 2012 Free Software Foundation, Inc.
-
-;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;; Code:
-
-(defvar mm-archive-decoders
- '(("application/ms-tnef" "tnef" "-f" "-" "-C")))
-
-(defun mm-dissect-archive (handle)
- (let ((decoder (cdr (assoc (car (mm-handle-type handle))
- mm-archive-decoders)))
- (dir (mm-make-temp-file
- (expand-file-name "emm." mm-tmp-directory) 'dir)))
- (set-file-modes dir #o700)
- (unwind-protect
- (progn
- (mm-with-unibyte-buffer
- (mm-insert-part handle)
- (apply 'call-process-region (point-min) (point-max) (car decoder)
- nil (get-buffer-create "*tnef*")
- nil (append (cdr decoder) (list dir))))
- `("multipart/mixed"
- ,handle
- ,@(mm-archive-list-files dir)))
- (dolist (file (directory-files dir))
- (unless (member file '("." ".."))
- (ignore-errors
- (delete-file (expand-file-name file dir)))))
- (ignore-errors
- (delete-directory dir)))))
-
-(defun mm-archive-list-files (dir)
- (let ((handles nil)
- type)
- (dolist (file (directory-files dir))
- (unless (member file '("." ".."))
- (with-temp-buffer
- (when (string-match "\\.\\([^.]+\\)$" file)
- (setq type (mailcap-extension-to-mime (match-string 1 file))))
- (unless type
- (setq type "application/octet-stream"))
- (insert (format "Content-type: %s\n" type))
- (insert "Content-Transfer-Encoding: 8bit\n\n")
- (insert-file-contents (expand-file-name file dir))
- (push
- (mm-make-handle (mm-copy-to-buffer)
- (list type)
- '8bit nil
- `("attachment" (filename . ,file))
- nil nil nil)
- handles))))
- handles))
-
-(provide 'mm-archive)
-
-;; mm-archive.el ends here
(require 'mail-parse)
(require 'mm-bodies)
-(require 'mm-archive)
(eval-when-compile (require 'cl)
(require 'term))
(if (equal "text/plain" (car ctl))
(assoc 'format ctl)
t))
- (let ((handle
- (mm-make-handle
- (mm-copy-to-buffer) ctl cte nil cdl description nil id))
- (decoder (assoc (car ctl) mm-archive-decoders)))
- (if (and decoder
- (executable-find (cadr decoder)))
- (mm-dissect-archive handle)
- handle))))
+ (mm-make-handle
+ (mm-copy-to-buffer) ctl cte nil cdl description nil id)))
(defun mm-dissect-multipart (ctl from)
(goto-char (point-min))
(unless filename
(setq filename buffer-file-name))
(save-excursion
- (let ((decomp (unless ;; Not worth it to examine charset of tar files.
+ (let ((decomp (unless ;; No worth to examine charset of tar files.
(and filename
(string-match
"\\.\\(?:tar\\.[^.]+\\|tbz\\|tgz\\)\\'"
#!/bin/bash
-name="Ma Gnus"
+name="No Gnus"
if [ `whoami` != "larsi" ]; then
echo "This script is for larsi only"
-2012-01-31 Lars Ingebrigtsen <larsi@gnus.org>
-
- * gnus.texi (Key Index): Change encoding to utf-8.
-
2012-01-30 Philipp Haselwarter <philipp.haselwarter@gmx.de> (tiny change)
* gnus.texi (Agent Basics): Fix outdated description of
@syncodeindex vr cp
@syncodeindex pg cp
-@documentencoding UTF-8
+@documentencoding ISO-8859-1
@copying
Copyright @copyright{} 1995-2012 Free Software Foundation, Inc.
\begin{document}
% Adjust ../Makefile.in if you change the following line:
-\newcommand{\gnusversionname}{Ma Gnus v0.2}
+\newcommand{\gnusversionname}{No Gnus v0.20}
\newcommand{\gnuschaptername}{}
\newcommand{\gnussectionname}{}
luck.
@c Adjust ../Makefile.in if you change the following line:
-This manual corresponds to Ma Gnus v0.2
+This manual corresponds to No Gnus v0.20
@ifnottex
@insertcopying
the program.
@c Adjust ../Makefile.in if you change the following line:
-This manual corresponds to Ma Gnus v0.2
+This manual corresponds to No Gnus v0.20
@heading Other related manuals
@itemize
* Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7.
* Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9.
* Oort Gnus:: It's big. It's far out. Gnus 5.10/5.11.
-* No Gnus:: Very punny. Gnus 5.12/5.13
-* Ma Gnus:: Celebrating 25 years of Gnus.
+* No Gnus:: Very punny.
Customization
@acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}).
This is mostly useful if you're on a terminal that has a limited font
and doesn't show accented characters, ``advanced'' punctuation, and the
-like. For instance, @samp{Ã\82»} is translated into @samp{>>}, and so on.
+like. For instance, @samp{»} is translated into @samp{>>}, and so on.
@item W Y f
@kindex W Y f (Summary)
@item !
@itemx not
-@itemx Ã\82¬
+@itemx ¬
This logical operator only takes a single argument. It returns the
logical negation of the value of its argument.
@samp{hello} mouse-highlighted with @code{gnus-mouse-face-3}.
@cindex %<<, %>>, guillemets
-@c @cindex %<<, %>>, %Ã\82«, %Ã\82», guillemets
+@c @cindex %<<, %>>, %«, %», guillemets
@vindex gnus-balloon-face-0
Text inside the @samp{%<<} and @samp{%>>} specifiers will get the
special @code{balloon-help} property set to
@cindex Pterodactyl Gnus
@cindex Oort Gnus
@cindex No Gnus
-@cindex Ma Gnus
@cindex Gnus versions
The first ``proper'' release of Gnus 5 was done in November 1995 when it
http://git.gnus.org for details (http://www.gnus.org will be updated
with the information when possible).
-On the January 31th 2012, Ma Gnus was begun.
-
If you happen upon a version of Gnus that has a prefixed name --
``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
-``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'', ``Ma Gnus'' -- don't
-panic. Don't let it know that you're frightened. Back away. Slowly.
-Whatever you do, don't run. Walk away, calmly, until you're out of
-its reach. Find a proper released version of Gnus and snuggle up to
-that instead.
+``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'' -- don't panic.
+Don't let it know that you're frightened. Back away. Slowly. Whatever
+you do, don't run. Walk away, calmly, until you're out of its reach.
+Find a proper released version of Gnus and snuggle up to that instead.
@node Why?
* Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7.
* Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9.
* Oort Gnus:: It's big. It's far out. Gnus 5.10/5.11.
-* No Gnus:: Very punny. Gnus 5.12/5.13.
-* Ma Gnus:: Celebrating 25 years of Gnus.
+* No Gnus:: Very punny.
@end menu
These lists are, of course, just @emph{short} overviews of the
@include gnus-news.texi
-@node Ma Gnus
-@subsubsection Ma Gnus
-@cindex Ma Gnus
-
-I'm sure there will be lots of text here. It's really spelled 真
-Gnus.
-
@iftex
@page
@item
Try doing an @kbd{M-x gnus-version}. If you get something that looks
like @c
-@samp{Ma Gnus v0.2} @c Adjust ../Makefile.in if you change this line!
+@samp{No Gnus v0.20} @c Adjust ../Makefile.in if you change this line!
@c
you have the right files loaded. Otherwise you have some old @file{.el}
files lying around. Delete these.
@c Local Variables:
@c mode: texinfo
-@c coding: utf-8
+@c coding: iso-8859-1
@c End:
@c Adjust ../Makefile.in if you change the following lines:
Message is distributed with Gnus. The Gnus distribution
@c
-corresponding to this manual is Ma Gnus v0.2
+corresponding to this manual is No Gnus v0.20
@node Interface