diff options
| author | Miles Bader | 2009-02-23 05:06:26 +0000 |
|---|---|---|
| committer | Miles Bader | 2009-02-23 05:06:26 +0000 |
| commit | 0038d4781b4a25175cd85a5bddb5c845f1d89ef2 (patch) | |
| tree | f2fd0fbf90ab3a4ce50ff639b96502c42ba4b1c7 | |
| parent | a485d4f774626b44efb1ccb8ec94d7f3f7415311 (diff) | |
| download | emacs-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/ChangeLog | 9 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 47 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/gnus/gnus-nocem.el | 81 |
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 @@ | |||
| 1 | 2009-02-23 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus.texi (NoCeM): Fix description of gnus-use-nocem. | ||
| 4 | |||
| 5 | 2009-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 | |||
| 1 | 2009-02-20 Juanma Barranquero <lekktu@gmail.com> | 10 | 2009-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. | |||
| 23833 | What use are these NoCeM messages if the articles are canceled anyway? | 23833 | What use are these NoCeM messages if the articles are canceled anyway? |
| 23834 | Some sites do not honor cancel messages and some sites just honor cancels | 23834 | Some sites do not honor cancel messages and some sites just honor cancels |
| 23835 | from a select few people. Then you may wish to make use of the NoCeM | 23835 | from a select few people. Then you may wish to make use of the NoCeM |
| 23836 | messages, which are distributed in the @samp{alt.nocem.misc} newsgroup. | 23836 | messages, which are distributed in the newsgroups |
| 23837 | @samp{news.lists.filters}, @samp{alt.nocem.misc}, etc. | ||
| 23837 | 23838 | ||
| 23838 | Gnus can read and parse the messages in this group automatically, and | 23839 | Gnus can read and parse the messages in this group automatically, and |
| 23839 | this will make spam disappear. | 23840 | this will make spam disappear. |
| @@ -23851,28 +23852,34 @@ In that case, Gnus scans NoCeM messages when checking new news if this | |||
| 23851 | value is not exceeding a group level that you specify as the prefix | 23852 | value is not exceeding a group level that you specify as the prefix |
| 23852 | argument to some commands, e.g. @code{gnus}, | 23853 | argument 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 |
| 23854 | NoCeM messages if you specify a group level to those commands. For | 23855 | NoCeM messages if you specify a group level that is smaller than this |
| 23855 | example, if you use 1 or 2 on the mail groups and the levels on the news | 23856 | value to those commands. For example, if you use 1 or 2 on the mail |
| 23856 | groups remain the default, 3 is the best choice. | 23857 | groups and the levels on the news groups remain the default, 3 is the |
| 23858 | best choice. | ||
| 23857 | 23859 | ||
| 23858 | @item gnus-nocem-groups | 23860 | @item gnus-nocem-groups |
| 23859 | @vindex gnus-nocem-groups | 23861 | @vindex gnus-nocem-groups |
| 23860 | Gnus will look for NoCeM messages in the groups in this list. The | 23862 | Gnus will look for NoCeM messages in the groups in this list. The |
| 23861 | default is | 23863 | default 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 |
| 23869 | There are many people issuing NoCeM messages. This list says what | 23870 | There are many people issuing NoCeM messages. This list says what |
| 23870 | people you want to listen to. The default is | 23871 | people 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 |
| 23875 | fine, upstanding citizens all of them. | ||
| 23876 | 23883 | ||
| 23877 | Known despammers that you can put in this list are listed at@* | 23884 | Known 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 |
| 23911 | This should be a function for verifying that the NoCeM issuer is who she | 23919 | This should be a function for verifying that the NoCeM issuer is who she |
| 23912 | says she is. The default is @code{pgg-verify}, which returns | 23920 | says she is. This variable defaults to @code{gnus-nocem-epg-verify} if |
| 23913 | non-@code{nil} if the verification is successful, otherwise (including | 23921 | EasyPG is available, otherwise defaults to @code{pgg-verify}. The |
| 23914 | the case the NoCeM message was not signed) returns @code{nil}. If this | 23922 | function should return non-@code{nil} if the verification is successful, |
| 23915 | is too slow and you don't care for verification (which may be dangerous), | 23923 | otherwise (including the case the NoCeM message was not signed) should |
| 23916 | you can set this variable to @code{nil}. | 23924 | return @code{nil}. If this is too slow and you don't care for |
| 23925 | verification (which may be dangerous), you can set this variable to | ||
| 23926 | @code{nil}. | ||
| 23917 | 23927 | ||
| 23918 | Formerly the default was @code{mc-verify}, which is a Mailcrypt | 23928 | Formerly the default was @code{mc-verify}, which is a Mailcrypt |
| 23919 | function. While you can still use it, you can change it into | 23929 | function. 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. | 23931 | you 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 |
| 23943 | If non-@code{nil}, the maximum number of articles to check in any NoCeM | 23953 | If non-@code{nil}, the maximum number of articles to check in any NoCeM |
| 23944 | group. NoCeM groups can be huge and very slow to process. | 23954 | group. @code{nil} means no restriction. NoCeM groups can be huge and |
| 23955 | very 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 @@ | |||
| 1 | 2009-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 | |||
| 1 | 2009-02-15 Reiner Steib <Reiner.Steib@gmx.de> | 9 | 2009-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 | ||
| 55 | This can also be a list of `(ISSUER CONDITION ...)' elements. | 58 | This 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 | |||
| 58 | issuer registry." | 61 | issuer 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. |
| 76 | One likely value is `pgg-verify'. If the function in this variable | 108 | If the function in this variable isn't bound, the message will be used |
| 77 | isn't bound, the message will be used unconditionally." | 109 | unconditionally." |
| 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 |