gnus-art: allow to specify list-identifier as agroup-parameter
authorJulien Danjou <julien@danjou.info>
Tue, 1 Mar 2011 11:22:45 +0000 (12:22 +0100)
committerJulien Danjou <julien@danjou.info>
Tue, 1 Mar 2011 12:45:33 +0000 (13:45 +0100)
Signed-off-by: Julien Danjou <julien@danjou.info>
lisp/ChangeLog
lisp/gnus-art.el

index 1632895..80d601b 100644 (file)
@@ -1,3 +1,9 @@
+2011-03-01  Julien Danjou  <julien@danjou.info>
+
+       * gnus-art.el (list-identifier): Add list-identifier as a parameter
+       group.
+       (article-hide-list-identifiers): Use list-identifier group parameter.
+
 2011-02-28  Julien Danjou  <julien@danjou.info>
 
        * sieve.el (sieve-buffer-script-name): New local variable to store
index 250ebaf..7469c44 100644 (file)
@@ -1253,6 +1253,24 @@ predicate.  See Info node `(gnus)Customizing Articles'."
   :link '(custom-manual "(gnus)Customizing Articles")
   :type gnus-article-treat-custom)
 
+(gnus-define-group-parameter
+ list-identifier
+ :variable-document
+ "Alist of regexps and correspondent identifiers."
+ :variable-group gnus-article-washing
+ :parameter-type
+ '(choice :tag "Identifier"
+         :value nil
+         (symbol :tag "Item in `gnus-list-identifiers'" none)
+         regexp
+         (const :tag "None" nil))
+ :parameter-document
+ "If non-nil, specify how to remove `identifiers' from articles' subject.
+
+Any symbol is used to look up a regular expression to match the
+banner in `gnus-list-identifiers'.  A string is used as a regular
+expression to match the identifier directly.")
+
 (make-obsolete-variable 'gnus-treat-strip-pgp nil
                        "Gnus 5.10 (Emacs 22.1)")
 
@@ -3056,10 +3074,11 @@ images if any to the browser, and deletes them when exiting the group
 The `gnus-list-identifiers' variable specifies what to do."
   (interactive)
   (let ((inhibit-point-motion-hooks t)
-       (regexp (if (consp gnus-list-identifiers)
-                   (mapconcat 'identity gnus-list-identifiers " *\\|")
-                 gnus-list-identifiers))
-       (inhibit-read-only t))
+        (regexp (or (gnus-parameter-list-identifier gnus-newsgroup-name)
+                    (if (consp gnus-list-identifiers)
+                        (mapconcat 'identity gnus-list-identifiers " *\\|")
+                      gnus-list-identifiers)))
+        (inhibit-read-only t))
     (when regexp
       (save-excursion
        (save-restriction