2000-11-22 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
authorShengHuo ZHU <zsh@cs.rochester.edu>
Wed, 22 Nov 2000 18:34:27 +0000 (18:34 +0000)
committerShengHuo ZHU <zsh@cs.rochester.edu>
Wed, 22 Nov 2000 18:34:27 +0000 (18:34 +0000)
* gnus-ml.el (gnus-mailing-list-insinuate): New function.

lisp/ChangeLog
lisp/gnus-ml.el
lisp/gnus-sum.el
lisp/lpath.el

index 171ec65..6a0d640 100644 (file)
@@ -1,3 +1,7 @@
+2000-11-22 14:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-ml.el (gnus-mailing-list-insinuate): New function.
+
 2000-11-22 13:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * gnus-ml.el (gnus-mailing-list-archive): Find the real url.
index 31bb7d9..7938fec 100644 (file)
   (when (gnus-group-get-parameter gnus-newsgroup-name 'to-list)
     (gnus-mailing-list-mode 1)))
 
+;;;###autoload
+(defun gnus-mailing-list-insinuate (&optional force)
+  "Setup group parameters from List-Post header.
+If FORCE is non-nil, replace the old ones."
+  (interactive "P")
+  (let ((list-post 
+        (with-current-buffer gnus-original-article-buffer
+          (gnus-fetch-field "list-post"))))
+    (if list-post
+       (if (and (not force)
+                (gnus-group-get-parameter gnus-newsgroup-name 'to-list))
+           (gnus-message 1 "to-list is non-nil.")
+         (if (string-match "<mailto:\\([^>]*\\)>" list-post)
+             (setq list-post (match-string 1 list-post)))
+         (gnus-group-add-parameter gnus-newsgroup-name 
+                                   (cons 'to-list list-post))
+         (gnus-mailing-list-mode 1))
+      (gnus-message 1 "no list-post in this message."))))
+
 ;;;###autoload
 (defun gnus-mailing-list-mode (&optional arg)
   "Minor mode for providing mailing-list commands.
index 0d8701a..e762b18 100644 (file)
@@ -38,6 +38,7 @@
 (require 'mm-decode)
 (autoload 'gnus-summary-limit-include-cached "gnus-cache" nil t)
 (autoload 'gnus-cache-write-active "gnus-cache")
+(autoload 'gnus-mailing-list-insinuate "gnus-ml" nil t)
 
 (defcustom gnus-kill-summary-on-exit t
   "*If non-nil, kill the summary buffer when you exit from it.
@@ -1546,6 +1547,7 @@ increase the score of each group you read."
     "g" gnus-summary-show-article
     "s" gnus-summary-isearch-article
     "P" gnus-summary-print-article
+    "M" gnus-mailing-list-insinuate
     "t" gnus-article-babel)
 
   (gnus-define-keys (gnus-summary-wash-map "W" gnus-summary-mode-map)
@@ -1808,6 +1810,7 @@ increase the score of each group you read."
              ["Fetch referenced articles" gnus-summary-refer-references t]
              ["Fetch current thread" gnus-summary-refer-thread t]
              ["Fetch article with id..." gnus-summary-refer-article t]
+             ["Setup Mailing List Params" gnus-mailing-list-insinuate t]
              ["Redisplay" gnus-summary-show-article t])))
       (easy-menu-define
        gnus-summary-article-menu gnus-summary-mode-map ""
index ef6d0a1..f5103ec 100644 (file)
@@ -30,6 +30,7 @@
              adaptive-fill-regexp babel-history babel-translations
              display-time-mail-function imap-password mail-mode-hook
              mc-pgp-always-sign
+             nnoo-definition-alist
              url-current-callback-func url-be-asynchronous 
              url-current-callback-data url-working-buffer
              url-current-mime-headers w3-meta-charset-content-type-regexp