aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2009-02-23 05:06:26 +0000
committerMiles Bader2009-02-23 05:06:26 +0000
commit0038d4781b4a25175cd85a5bddb5c845f1d89ef2 (patch)
treef2fd0fbf90ab3a4ce50ff639b96502c42ba4b1c7
parenta485d4f774626b44efb1ccb8ec94d7f3f7415311 (diff)
downloademacs-0038d4781b4a25175cd85a5bddb5c845f1d89ef2.tar.gz
emacs-0038d4781b4a25175cd85a5bddb5c845f1d89ef2.zip
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1552
-rw-r--r--doc/misc/ChangeLog9
-rw-r--r--doc/misc/gnus.texi47
-rw-r--r--lisp/gnus/ChangeLog8
-rw-r--r--lisp/gnus/gnus-nocem.el81
4 files changed, 114 insertions, 31 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 4b234b85bb2..0917c0d96ba 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,12 @@
12009-02-23 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus.texi (NoCeM): Fix description of gnus-use-nocem.
4
52009-02-23 Katsumi Yamaoka <yamaoka@jpl.org>
6
7 * gnus.texi (NoCeM): Update default values for gnus-nocem-groups,
8 gnus-nocem-issuers, and gnus-nocem-verifyer.
9
12009-02-20 Juanma Barranquero <lekktu@gmail.com> 102009-02-20 Juanma Barranquero <lekktu@gmail.com>
2 11
3 * ada-mode.texi (Project files, Automatic Casing): 12 * ada-mode.texi (Project files, Automatic Casing):
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 9d2faf02509..102d049e883 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -23833,7 +23833,8 @@ away.
23833What use are these NoCeM messages if the articles are canceled anyway? 23833What use are these NoCeM messages if the articles are canceled anyway?
23834Some sites do not honor cancel messages and some sites just honor cancels 23834Some sites do not honor cancel messages and some sites just honor cancels
23835from a select few people. Then you may wish to make use of the NoCeM 23835from a select few people. Then you may wish to make use of the NoCeM
23836messages, which are distributed in the @samp{alt.nocem.misc} newsgroup. 23836messages, which are distributed in the newsgroups
23837@samp{news.lists.filters}, @samp{alt.nocem.misc}, etc.
23837 23838
23838Gnus can read and parse the messages in this group automatically, and 23839Gnus can read and parse the messages in this group automatically, and
23839this will make spam disappear. 23840this will make spam disappear.
@@ -23851,28 +23852,34 @@ In that case, Gnus scans NoCeM messages when checking new news if this
23851value is not exceeding a group level that you specify as the prefix 23852value is not exceeding a group level that you specify as the prefix
23852argument to some commands, e.g. @code{gnus}, 23853argument to some commands, e.g. @code{gnus},
23853@code{gnus-group-get-new-news}, etc. Otherwise, Gnus does not scan 23854@code{gnus-group-get-new-news}, etc. Otherwise, Gnus does not scan
23854NoCeM messages if you specify a group level to those commands. For 23855NoCeM messages if you specify a group level that is smaller than this
23855example, if you use 1 or 2 on the mail groups and the levels on the news 23856value to those commands. For example, if you use 1 or 2 on the mail
23856groups remain the default, 3 is the best choice. 23857groups and the levels on the news groups remain the default, 3 is the
23858best choice.
23857 23859
23858@item gnus-nocem-groups 23860@item gnus-nocem-groups
23859@vindex gnus-nocem-groups 23861@vindex gnus-nocem-groups
23860Gnus will look for NoCeM messages in the groups in this list. The 23862Gnus will look for NoCeM messages in the groups in this list. The
23861default is 23863default is
23862@lisp 23864@lisp
23863("news.lists.filters" "news.admin.net-abuse.bulletins" 23865("news.lists.filters" "alt.nocem.misc")
23864 "alt.nocem.misc" "news.admin.net-abuse.announce")
23865@end lisp 23866@end lisp
23866 23867
23867@item gnus-nocem-issuers 23868@item gnus-nocem-issuers
23868@vindex gnus-nocem-issuers 23869@vindex gnus-nocem-issuers
23869There are many people issuing NoCeM messages. This list says what 23870There are many people issuing NoCeM messages. This list says what
23870people you want to listen to. The default is 23871people you want to listen to. The default is:
23872
23871@lisp 23873@lisp
23872("Automoose-1" "clewis@@ferret.ocunix.on.ca" 23874("Adri Verhoef"
23873 "cosmo.roadkill" "SpamHippo" "hweede@@snafu.de") 23875 "alba-nocem@@albasani.net"
23876 "bleachbot@@httrack.com"
23877 "news@@arcor-online.net"
23878 "news@@uni-berlin.de"
23879 "nocem@@arcor.de"
23880 "pgpmoose@@killfile.org"
23881 "xjsppl@@gmx.de")
23874@end lisp 23882@end lisp
23875fine, upstanding citizens all of them.
23876 23883
23877Known despammers that you can put in this list are listed at@* 23884Known despammers that you can put in this list are listed at@*
23878@uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html}. 23885@uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html}.
@@ -23907,18 +23914,21 @@ The specs are applied left-to-right.
23907 23914
23908@item gnus-nocem-verifyer 23915@item gnus-nocem-verifyer
23909@vindex gnus-nocem-verifyer 23916@vindex gnus-nocem-verifyer
23917@findex gnus-nocem-epg-verify
23910@findex pgg-verify 23918@findex pgg-verify
23911This should be a function for verifying that the NoCeM issuer is who she 23919This should be a function for verifying that the NoCeM issuer is who she
23912says she is. The default is @code{pgg-verify}, which returns 23920says she is. This variable defaults to @code{gnus-nocem-epg-verify} if
23913non-@code{nil} if the verification is successful, otherwise (including 23921EasyPG is available, otherwise defaults to @code{pgg-verify}. The
23914the case the NoCeM message was not signed) returns @code{nil}. If this 23922function should return non-@code{nil} if the verification is successful,
23915is too slow and you don't care for verification (which may be dangerous), 23923otherwise (including the case the NoCeM message was not signed) should
23916you can set this variable to @code{nil}. 23924return @code{nil}. If this is too slow and you don't care for
23925verification (which may be dangerous), you can set this variable to
23926@code{nil}.
23917 23927
23918Formerly the default was @code{mc-verify}, which is a Mailcrypt 23928Formerly the default was @code{mc-verify}, which is a Mailcrypt
23919function. While you can still use it, you can change it into 23929function. While you can still use it, you can change it into
23920@code{pgg-verify} running with GnuPG if you are willing to add the 23930@code{gnus-nocem-epg-verify} or @code{pgg-verify} running with GnuPG if
23921@acronym{PGP} public keys to GnuPG's keyring. 23931you are willing to add the @acronym{PGP} public keys to GnuPG's keyring.
23922 23932
23923@item gnus-nocem-directory 23933@item gnus-nocem-directory
23924@vindex gnus-nocem-directory 23934@vindex gnus-nocem-directory
@@ -23941,7 +23951,8 @@ issuers.
23941@item gnus-nocem-check-article-limit 23951@item gnus-nocem-check-article-limit
23942@vindex gnus-nocem-check-article-limit 23952@vindex gnus-nocem-check-article-limit
23943If non-@code{nil}, the maximum number of articles to check in any NoCeM 23953If non-@code{nil}, the maximum number of articles to check in any NoCeM
23944group. NoCeM groups can be huge and very slow to process. 23954group. @code{nil} means no restriction. NoCeM groups can be huge and
23955very slow to process.
23945 23956
23946@end table 23957@end table
23947 23958
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 0488b23ae6b..57239349d51 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,11 @@
12009-02-18 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-nocem.el (gnus-nocem-groups): Remove invalid NoCeM groups.
4 (gnus-nocem-issuers): List currently active issuers; fix custom type.
5 (gnus-nocem-verifyer): Default to gnus-nocem-epg-verify if EasyPG is
6 available.
7 (gnus-nocem-epg-verify): New function.
8
12009-02-15 Reiner Steib <Reiner.Steib@gmx.de> 92009-02-15 Reiner Steib <Reiner.Steib@gmx.de>
2 10
3 * gnus-art.el (gnus-button-alist): Recognize Konqueror info links. 11 * gnus-art.el (gnus-button-alist): Recognize Konqueror info links.
diff --git a/lisp/gnus/gnus-nocem.el b/lisp/gnus/gnus-nocem.el
index 709ca538493..ba7d167315e 100644
--- a/lisp/gnus/gnus-nocem.el
+++ b/lisp/gnus/gnus-nocem.el
@@ -38,18 +38,21 @@
38 :group 'gnus-score) 38 :group 'gnus-score)
39 39
40(defcustom gnus-nocem-groups 40(defcustom gnus-nocem-groups
41 '("news.lists.filters" "news.admin.net-abuse.bulletins" 41 '("news.lists.filters" "alt.nocem.misc")
42 "alt.nocem.misc" "news.admin.net-abuse.announce")
43 "*List of groups that will be searched for NoCeM messages." 42 "*List of groups that will be searched for NoCeM messages."
44 :group 'gnus-nocem 43 :group 'gnus-nocem
44 :version "23.1"
45 :type '(repeat (string :tag "Group"))) 45 :type '(repeat (string :tag "Group")))
46 46
47(defcustom gnus-nocem-issuers 47(defcustom gnus-nocem-issuers
48 '("AutoMoose-1" ; CancelMoose[tm] 48 '("Adri Verhoef"
49 "clewis@ferret.ocunix" ; Chris Lewis 49 "alba-nocem@albasani.net"
50 "cosmo.roadkill" 50 "bleachbot@httrack.com"
51 "SpamHippo" 51 "news@arcor-online.net"
52 "hweede@snafu.de") 52 "news@uni-berlin.de"
53 "nocem@arcor.de"
54 "pgpmoose@killfile.org"
55 "xjsppl@gmx.de")
53 "*List of NoCeM issuers to pay attention to. 56 "*List of NoCeM issuers to pay attention to.
54 57
55This can also be a list of `(ISSUER CONDITION ...)' elements. 58This can also be a list of `(ISSUER CONDITION ...)' elements.
@@ -58,7 +61,34 @@ See <URL:http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html> for an
58issuer registry." 61issuer registry."
59 :group 'gnus-nocem 62 :group 'gnus-nocem
60 :link '(url-link "http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html") 63 :link '(url-link "http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html")
61 :type '(repeat (choice string sexp))) 64 :version "23.1"
65 :type '(repeat (cons :format "%v" (string :tag "Issuer")
66 (repeat :tag "Condition"
67 (group (checklist :inline t (const not))
68 (regexp :tag "Type" :value ".*")))))
69 :get (lambda (symbol)
70 (mapcar (lambda (elem)
71 (if (consp elem)
72 (cons (car elem)
73 (mapcar (lambda (elt)
74 (if (consp elt) elt (list elt)))
75 (cdr elem)))
76 (list elem)))
77 (default-value symbol)))
78 :set (lambda (symbol value)
79 (custom-set-default
80 symbol
81 (mapcar (lambda (elem)
82 (if (consp elem)
83 (if (cdr elem)
84 (mapcar (lambda (elt)
85 (if (consp elt)
86 (if (cdr elt) elt (car elt))
87 elt))
88 elem)
89 (car elem))
90 elem))
91 value))))
62 92
63(defcustom gnus-nocem-directory 93(defcustom gnus-nocem-directory
64 (nnheader-concat gnus-article-save-directory "NoCeM/") 94 (nnheader-concat gnus-article-save-directory "NoCeM/")
@@ -71,14 +101,24 @@ issuer registry."
71 :group 'gnus-nocem 101 :group 'gnus-nocem
72 :type 'integer) 102 :type 'integer)
73 103
74(defcustom gnus-nocem-verifyer 'pgg-verify 104(defcustom gnus-nocem-verifyer (if (locate-library "epg")
105 'gnus-nocem-epg-verify
106 'pgg-verify)
75 "*Function called to verify that the NoCeM message is valid. 107 "*Function called to verify that the NoCeM message is valid.
76One likely value is `pgg-verify'. If the function in this variable 108If the function in this variable isn't bound, the message will be used
77isn't bound, the message will be used unconditionally." 109unconditionally."
78 :group 'gnus-nocem 110 :group 'gnus-nocem
79 :type '(radio (function-item pgg-verify) 111 :version "23.1"
112 :type '(radio (function-item gnus-nocem-epg-verify)
113 (function-item pgg-verify)
80 (function-item mc-verify) 114 (function-item mc-verify)
81 (function :tag "other"))) 115 (function :tag "other"))
116 :set (lambda (symbol value)
117 (custom-set-default symbol
118 (if (and (eq value 'gnus-nocem-epg-verify)
119 (not (locate-library "epg")))
120 'pgg-verify
121 value))))
82 122
83(defcustom gnus-nocem-liberal-fetch nil 123(defcustom gnus-nocem-liberal-fetch nil
84 "*If t try to fetch all messages which have @@NCM in the subject. 124 "*If t try to fetch all messages which have @@NCM in the subject.
@@ -392,6 +432,21 @@ valid issuer, which is much faster if you are selective about the issuers."
392 (and gnus-nocem-hashtb 432 (and gnus-nocem-hashtb
393 (gethash id gnus-nocem-hashtb))) 433 (gethash id gnus-nocem-hashtb)))
394 434
435(autoload 'epg-make-context "epg")
436(eval-when-compile
437 (autoload 'epg-verify-string "epg")
438 (autoload 'epg-context-result-for "epg")
439 (autoload 'epg-signature-status "epg"))
440
441(defun gnus-nocem-epg-verify ()
442 "Return t if EasyPG verifies a signed message in the current buffer."
443 (let ((context (epg-make-context 'OpenPGP))
444 result)
445 (epg-verify-string context (buffer-string))
446 (and (setq result (epg-context-result-for context 'verify))
447 (not (cdr result))
448 (eq (epg-signature-status (car result)) 'good))))
449
395(provide 'gnus-nocem) 450(provide 'gnus-nocem)
396 451
397;; arch-tag: 0e0c74ea-2f8e-4f3e-8fff-09f767c1adef 452;; arch-tag: 0e0c74ea-2f8e-4f3e-8fff-09f767c1adef