inline PGP signed messages.
** You can now drag and drop attachments to the Message buffer. See
-`mml-dnd-protocol-alist' and `mml-dnd-attach-options' *Note MIME:
+`mml-dnd-protocol-alist' and `mml-dnd-attach-options'. *Note MIME:
(message)MIME.
** The option `message-yank-empty-prefix' now controls how empty lines
** International host names (IDNA) can now be decoded inside article
bodies using `W i' (`gnus-summary-idna-message'). This require that
-GNU Libidn (`http://www.gnu.org/software/libidn/') has been installed.
+GNU Libidn (<http://www.gnu.org/software/libidn/>) has been installed.
** Gnus includes an Emacs Lisp SASL library.
`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::.
+
\f
* For older news, see Gnus info node "New Features".
+2005-09-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-agent.el (gnus-agent-synchronize-flags): Switch the
+ default to nil, to be able to use Gnus at all. If the default
+ switches to something else, then the function should be fixed not
+ be exceedingly slow.
+
+2005-09-20 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnus-start.el (gnus-activate-group): if the server is nil, don't
+ fail hard
+
+ * spam-report.el: better Keywords line
+
+ * spam.el: added Maintainer and better Keywords line
+
2005-09-19 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-article-replace-part)
:type '(choice (const nil)
(integer :tag "Number")))
-(defcustom gnus-agent-synchronize-flags t
+(defcustom gnus-agent-synchronize-flags nil
"Indicate if flags are synchronized when you plug in.
If this is `ask' the hook will query the user."
:version "21.1"
;; command may have responded with the `(0 . 0)'. We
;; ignore this if we already have an active entry
;; for the group.
- (if (and (zerop (car active))
- (zerop (cdr active))
+ (if (and (zerop (or (car active) 0))
+ (zerop (or (cdr active) 0))
(gnus-active group))
(gnus-active group)
;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-;; Author: Teodor Zlatanov <tzz@lifelogs.com>
-;; Keywords: network
+;; Author: Ted Zlatanov <tzz@lifelogs.com>
+;; Keywords: network, spam, mail, gmane, report
;; This file is part of GNU Emacs.
;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; Keywords: network
+;; Maintainer: Ted Zlatanov <tzz@lifelogs.com>
+;; Keywords: network, spam, mail, bogofilter, BBDB, dspam, dig, whitelist, blacklist, gmane, hashcash, spamassassin, bsfilter, ifile, stat, crm114, spamoracle
;; This file is part of GNU Emacs.
+2005-09-20 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus.texi (MIME Commands): Add gnus-article-save-part-and-strip,
+ gnus-article-delete-part and gnus-article-replace-part.
+ (Using MIME): Add gnus-mime-replace-part.
+
+ * gnus-news.texi: Add gnus-mime-replace-part and
+ gnus-article-replace-part. Use @xref.
+
+2005-09-20 Simon Josefsson <jas@extundo.com>
+
+ * gnus-coding.texi: New file, from Reiner Steib
+ <reiner.steib@gmx.de>.
+
2005-09-17 Romain Francoise <romain@orebokech.com>
Update all files to specify GFDL version 1.2.
--- /dev/null
+\input texinfo
+
+@setfilename gnus-coding
+@settitle Gnus Coding Style and Maintainance Guide
+@syncodeindex fn cp
+@syncodeindex vr cp
+@syncodeindex pg cp
+
+@copying
+Copyright (c) 2004 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software. Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License. If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+@end quotation
+@end copying
+
+
+@titlepage
+@title Gnus Coding Style and Maintainance Guide
+
+@c @author by
+
+@insertcopying
+@end titlepage
+
+@node Top
+
+@section Gnus Coding Style
+@subsection Dependencies
+
+@c message / gnus
+@c
+@c nn*
+@c
+@c mm*
+@c
+@c rfc*
+@c
+@c tla netrc pop3 dig dns ...
+@c format-spec.el
+
+@subsection Compatibility
+
+@c Compatibility with XEmacs and older Emacs versions in v5-10 and in the
+@c trunk.
+
+@c @table
+@c x
+@c @end table
+
+@section Gnus Maintainance Guide
+
+@subsection Stable and development versions
+
+The CVS trunk is developed quite actively.
+
+@c Most of the time Gnus is developed on the trunk.
+
+@c Exeption: several month of feature freeze after a release,
+@c e.g. 5.10.1
+
+
+@subsection Syncing
+
+@c <v9eklyke6b.fsf@marauder.physik.uni-ulm.de>
+@c <buovfd71nkk.fsf@mctpc71.ucom.lsi.nec.co.jp>
+
+I do Emacs->Gnus less often (than Gnus->Emacs) because it tends to
+require more manual work.
+
+By default I sync about once a week. I also try to follow any Gnus
+threads on the mailing lists and make sure any changes being discussed
+are kept more up-to-date (so say 1-2 days delay for "topical" changes).
+
+
+@c <buovfd71nkk.fsf@mctpc71.ucom.lsi.nec.co.jp>
+
+BTW, just to add even more verbose explanation about the syncing thing:
+
+Basically my idea is that the Emacs-Gnus gateway will cause all common
+files in Emacs and Gnus v5-10 to be identical except when there's a very
+good reason (e.g., the Gnus version string in Emacs says "5.11", but the
+v5-10 version string remains "5.10.whatever"). Furthermore, all changes
+in these files in either Emacs or the v5-10 branch will be installed
+into the Gnus CVS trunk, again except where there's a good reason
+(typically so far the only exception has been that the changes already
+exist in the trunk in modified form). Because of this, when the next
+Emacs Gnus upgrade comes, it should be very easy -- just plonk in the
+files from the Gnus trunk without worrying about lost changes from the
+Emacs tree.
+
+The effect of this is that as hacker, you should generally only have to
+make changes in one place:
+
+ 1) If it's a file which is thought of as being outside of Gnus (e.g.,
+ the new "encrypt.el"), you should probably make the change in the
+ Emacs tree, and it will show up in the Gnus tree a few days later.
+
+ If you don't have Emacs CVS access (or it's inconvenient), you can
+ change such a file in the v5-10 branch, and it should propagate to
+ Emacs CVS -- however, it will get some extra scrutiny (by me) to see
+ if the changes are possibly controversial and need discussion on the
+ mailing list. [Many changes are obvious bug-fixes however, so often
+ there won't be any problem.]
+
+ 2) If it's to a Gnus file, and it's important enough that it should be
+ part of Emacs/v5-10, then you can make the change on the v5-10
+ branch, and it will go into Emacs CVS and the Gnus CVS trunk (a few
+ days later).
+
+ If you know that there will be conflicts (perhaps because the
+ affected source code is different in v5-10 and the Gnus CVS trunk),
+ then you can install your change in both places, and when I try to
+ sync them, there will be a conflict -- however, since in most such
+ cases there would be a conflict _anyway_, it's often easier for me
+ to resolve it simply if I see two "identical" changes, and can just
+ choose the proper one, rather than having to actually fix the code.
+
+ 3) For general Gnus development changes, of course you just make the
+ change on the Gnus CVS trunk and it goes into Emacs a few years
+ later... :-)
+
+Of course in any case, if you just can't wait for me to sync your
+change, you can commit it in more than one place and probably there will
+be no problem; usually the changes are textually identical anyway, so
+can be easily resolved automatically (sometimes I notice silly things in
+such multiple commits, like whitespace differences, and unify those ;-).
+
+
+@subsection Miscellanea
+
+Starting from No Gnus, the @file{GNUS-NEWS} is created from
+@file{texi/gnus-news.texi}. Don't edit @file{GNUS-NEWS}. Edit
+@file{texi/gnus-news.texi}, type @command{make GNUS-NEWS} in the
+@file{texi} directory and commit @file{GNUS-NEWS} and
+@file{texi/gnus-news.texi}.
+
+
+@c Local Variables:
+@c mode: texinfo
+@c coding: iso-8859-1
+@c End:
@item
Picons can be displayed right from the textual address, see
-@code{gnus-picon-style}. @ref{Picons}.
+@code{gnus-picon-style}. @xref{Picons}.
@item
You can import and export your @acronym{RSS} subscriptions from
inline @acronym{PGP} signed messages.
@item You can now drag and drop attachments to the Message buffer.
-See @code{mml-dnd-protocol-alist} and @code{mml-dnd-attach-options}
+See @code{mml-dnd-protocol-alist} and @code{mml-dnd-attach-options}.
@xref{MIME, ,MIME, message, Message Manual}.
@item The option @code{message-yank-empty-prefix} now controls how
@item Gnus supports new limiting commands in the Summary buffer:
@kbd{/ r} (@code{gnus-summary-limit-to-replied}) and @kbd{/ R}
-(@code{gnus-summary-limit-to-recipient}). @ref{Limiting}.
+(@code{gnus-summary-limit-to-recipient}). @xref{Limiting}.
@item Gnus supports a new sort command in the Summary buffer:
-@kbd{C-c C-s C-t} (@code{gnus-summary-sort-by-recipient}). @ref{Summary
+@kbd{C-c C-s C-t} (@code{gnus-summary-sort-by-recipient}). @xref{Summary
Sorting}.
@item The @code{nnrss} back end now supports multilingual text.
headers visible, use @code{(setq message-hidden-headers nil)}.
@item @code{gnus-decay-scores} can be a regexp matching score files.
-This allows to decay only adaptive score files. @ref{Score Decays}.
+This allows to decay only adaptive score files. @xref{Score Decays}.
@item @acronym{S/MIME} now feature @acronym{LDAP} user certificate searches.
You need to configure the server in @code{smime-ldap-host-list}.
@item Strings prefixed to the @code{To} and @code{Newsgroup} headers in
summary lines when using @code{gnus-ignored-from-addresses} can be
customized with @code{gnus-summary-to-prefix} and
-@code{gnus-summary-newsgroup-prefix}. @ref{To From Newsgroups}.
+@code{gnus-summary-newsgroup-prefix}. @xref{To From Newsgroups}.
+
+@item You can replace @acronym{MIME} parts with external bodies.
+See @code{gnus-mime-replace-part} and @code{gnus-article-replace-part}.
+@xref{MIME Commands}, @ref{Using MIME}.
@end itemize
@c gnus-news.texi ends here.
@cindex viewing attachments
The following commands all understand the numerical prefix. For
-instance, @kbd{3 b} means ``view the third @acronym{MIME} part''.
+instance, @kbd{3 K v} means ``view the third @acronym{MIME} part''.
@table @kbd
@item b
@kindex K o (Summary)
Save the @acronym{MIME} part.
+@item K O
+@kindex K O (Summary)
+Prompt for a file name, then save the @acronym{MIME} part and strip it
+from the article. The stripped @acronym{MIME} object will be referred
+via the message/external-body @acronym{MIME} type.
+
+@item K r
+@kindex K r (Summary)
+Replace the @acronym{MIME} part with an external body.
+
+@item K d
+@kindex K d (Summary)
+Delete the @acronym{MIME} part and add some information about the
+removed part.
+
@item K c
@kindex K c (Summary)
Copy the @acronym{MIME} part.