Revision: emacs@sv.gnu.org/gnus--devo--0--patch-25
[gnus] / lisp / gnus-ml.el
index eff1b77..75ed4f4 100644 (file)
@@ -1,9 +1,10 @@
 ;;; gnus-ml.el --- Mailing list minor mode for Gnus
 
-;; Copyright (C) 2000 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Julien Gilles  <jgilles@free.fr>
-;; Keywords: news
+;; Keywords: news, mail
 
 ;; This file is part of GNU Emacs.
 
@@ -19,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
   (setq gnus-mailing-list-mode-map (make-sparse-keymap))
 
   (gnus-define-keys gnus-mailing-list-mode-map
-    "\C-nh" gnus-mailing-list-help
-    "\C-ns" gnus-mailing-list-subscribe
-    "\C-nu" gnus-mailing-list-unsubscribe
-    "\C-np" gnus-mailing-list-post
-    "\C-no" gnus-mailing-list-owner
-    "\C-na" gnus-mailing-list-archive
+    "\C-c\C-nh" gnus-mailing-list-help
+    "\C-c\C-ns" gnus-mailing-list-subscribe
+    "\C-c\C-nu" gnus-mailing-list-unsubscribe
+    "\C-c\C-np" gnus-mailing-list-post
+    "\C-c\C-no" gnus-mailing-list-owner
+    "\C-c\C-na" gnus-mailing-list-archive
     ))
 
 (defun gnus-mailing-list-make-menu-bar ()
@@ -67,7 +68,7 @@
 
 ;;;###autoload
 (defun turn-on-gnus-mailing-list-mode ()
-  (when (gnus-group-get-parameter gnus-newsgroup-name 'to-list)
+  (when (gnus-group-find-parameter gnus-newsgroup-name 'to-list)
     (gnus-mailing-list-mode 1)))
 
 ;;;###autoload
@@ -75,7 +76,7 @@
   "Setup group parameters from List-Post header.
 If FORCE is non-nil, replace the old ones."
   (interactive "P")
-  (let ((list-post 
+  (let ((list-post
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-post"))))
     (if list-post
@@ -84,7 +85,7 @@ If FORCE is non-nil, replace the old ones."
            (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 
+         (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."))))
@@ -102,33 +103,33 @@ If FORCE is non-nil, replace the old ones."
       ;; Set up the menu.
       (when (gnus-visual-p 'mailing-list-menu 'menu)
        (gnus-mailing-list-make-menu-bar))
-      (gnus-add-minor-mode 'gnus-mailing-list-mode " Mailing-List" gnus-mailing-list-mode-map)
+      (add-minor-mode 'gnus-mailing-list-mode " Mailing-List" gnus-mailing-list-mode-map)
       (gnus-run-hooks 'gnus-mailing-list-mode-hook))))
 
 ;;; Commands
 
 (defun gnus-mailing-list-help ()
   "Get help from mailing list server."
-  (interactive)  
-  (let ((list-help 
+  (interactive)
+  (let ((list-help
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-help"))))
     (cond (list-help (gnus-mailing-list-message list-help))
          (t (gnus-message 1 "no list-help in this group")))))
 
 (defun gnus-mailing-list-subscribe ()
-  "Subscribe"
+  "Subscribe."
   (interactive)
-  (let ((list-subscribe 
+  (let ((list-subscribe
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-subscribe"))))
     (cond (list-subscribe (gnus-mailing-list-message list-subscribe))
          (t (gnus-message 1 "no list-subscribe in this group")))))
 
 (defun gnus-mailing-list-unsubscribe ()
-  "Unsubscribe"
+  "Unsubscribe."
   (interactive)
-  (let ((list-unsubscribe 
+  (let ((list-unsubscribe
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-unsubscribe"))))
     (cond (list-unsubscribe (gnus-mailing-list-message list-unsubscribe))
@@ -137,29 +138,29 @@ If FORCE is non-nil, replace the old ones."
 (defun gnus-mailing-list-post ()
   "Post message (really useful ?)"
   (interactive)
-  (let ((list-post 
+  (let ((list-post
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-post"))))
     (cond (list-post (gnus-mailing-list-message list-post))
          (t (gnus-message 1 "no list-post in this group")))))
 
 (defun gnus-mailing-list-owner ()
-  "Mail to the owner"
+  "Mail to the owner."
   (interactive)
-  (let ((list-owner 
+  (let ((list-owner
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-owner"))))
     (cond (list-owner (gnus-mailing-list-message list-owner))
          (t (gnus-message 1 "no list-owner in this group")))))
 
 (defun gnus-mailing-list-archive ()
-  "Browse archive"
+  "Browse archive."
   (interactive)
   (require 'browse-url)
-  (let ((list-archive 
+  (let ((list-archive
         (with-current-buffer gnus-original-article-buffer
           (gnus-fetch-field "list-archive"))))
-    (cond (list-archive 
+    (cond (list-archive
           (if (string-match "<\\(http:[^>]*\\)>" list-archive)
               (browse-url (match-string 1 list-archive))
             (browse-url list-archive)))
@@ -174,10 +175,10 @@ If FORCE is non-nil, replace the old ones."
        (subject "None")
        (body "")
        )
-    (cond 
+    (cond
      ((string-match "<mailto:\\([^>]*\\)>" address)
       (let ((args (match-string 1 address)))
-       (cond                                   ; with param
+       (cond                           ; with param
         ((string-match "\\(.*\\)\\?\\(.*\\)" args)
          (setq mailto (match-string 1 args))
          (let ((param (match-string 2 args)))
@@ -187,9 +188,9 @@ If FORCE is non-nil, replace the old ones."
                (setq body (match-string 1 param)))
            (if (string-match "to=\\([^&]*\\)" param)
                (push (match-string 1 param) to))
-           ))   
-        (t (setq mailto args)))))                      ; without param
-     
+           ))
+        (t (setq mailto args)))))      ; without param
+
      ; other case <http://... to be done.
      (t nil))
     (gnus-setup-message 'message (message-mail mailto subject))
@@ -198,4 +199,5 @@ If FORCE is non-nil, replace the old ones."
 
 (provide 'gnus-ml)
 
+;;; arch-tag: 936c0fe6-acce-4c16-87d0-eded88078896
 ;;; gnus-ml.el ends here