Do not use pop3-fma.el. (Thank you, Tsukamoto Tetsuo <czkmt@remus.dti.ne.jp>)
[elisp/gnus.git-] / lisp / gnus-offline.el
index b573c30..43f4e5e 100644 (file)
@@ -1,5 +1,5 @@
 ;;; gnus-offline.el --- To process mail & news at offline environment.
-;;; $Id: gnus-offline.el,v 1.1.6.2 1999-02-05 02:59:06 keiichi Exp $
+;;; $Id: gnus-offline.el,v 1.1.6.5 1999-08-09 05:07:13 keiichi Exp $
 
 ;;; Copyright (C) 1998 Tatsuya Ichikawa
 ;;;                    Yukihiro Ito
@@ -12,7 +12,7 @@
 ;;; Keywords: news , mail , offline , gnus
 ;;;
 ;;; SPECIAL THANKS
-;;;    Keiichi Suzuki <kei-suzu@mail.wbs.or.jp>
+;;;    Keiichi Suzuki <keiichi@nanap.org>
 ;;;    KORIYAMA Naohiro <kory@ba2.so-net.or.jp>
 ;;;    Katsumi Yamaoka <yamaoka@jpl.org>
 
 ;;; In Gnus group buffer , type g to get all news and mail.
 ;;; Then send mail and news in spool directory.
 ;;;
-;;; Security Notice. (This is available before version 2.02)
-;;;
-;;; You can set the variable gnus-offline-pop-password-file to save your POP
-;;; passwords. But TAKE CARE. Use it at your own risk.
-;;; If you decide to use it, then write in .emacs or .gnus-offline.el 
-;;; something like:
-;;;
-;;;  (setq gnus-offline-pop-password-file "~/.pop.passwd")
-;;;
-;;; and write in this file something like:
-;;;
-;;;  (setq pop3-fma-password
-;;;     '(("SERVER1" "ACCOUNT1" "PASSWORD1")
-;;;       ("SERVER2" "ACCOUNT2" "PASSWORD2")
-;;;        ............................
-;;;        ))
-;;;
-;;; If you want to encode the file with base64, try:
-;;;
-;;;    M-: (base64-encode-region (point-min) (point-max))
-;;;
 ;;; Variables.
 ;;;  gnus-offline-dialup-program-arguments
 ;;;                                   ... List of dialup program arguments.
@@ -95,9 +74,6 @@
 ;;;                                        (minutes)
 ;;;  gnus-offline-dialup-function     ... Function to diualup.
 ;;;  gnus-offline-hangup-function     ... Function to hangup.
-;;;  gnus-offline-pop-password-file   ... File to keep the POP password info.
-;;;  gnus-offline-pop-password-decoding-function
-;;;                                   ... Function to decode the password info.
 
 ;;; Code:
 
@@ -384,26 +360,7 @@ If value is nil , dialup line is disconnected status.")
   (if (functionp gnus-offline-dialup-function)
       (funcall gnus-offline-dialup-function))
   (gnus-offline-get-new-news-function)
-  (if (null gnus-offline-pop-password-file)
-      (gnus-group-get-new-news arg)
-    (let ((buffer (get-buffer-create "*offline-temp*")))
-      (unwind-protect
-         (progn
-           (if (boundp 'pop3-fma-password)
-               (setq pop3-fma-save-password-information t))
-           (save-excursion
-             (set-buffer buffer)
-             (erase-buffer)
-             (insert-file-contents-as-binary gnus-offline-pop-password-file)
-             (and gnus-offline-pop-password-decoding-function
-                  (funcall gnus-offline-pop-password-decoding-function))
-             (eval-buffer))
-           (gnus-group-get-new-news arg))
-       (if (boundp 'pop3-fma-password)
-           (setq pop3-fma-password nil
-                 pop3-fma-save-password-information nil)
-         (setq mail-source-password-cache nil))
-       (kill-buffer buffer)))))
+  (gnus-group-get-new-news arg))
 
 ;;
 ;; dialup...
@@ -540,16 +497,7 @@ If value is nil , dialup line is disconnected status.")
 (defun gnus-offline-enable-fetch-mail ()
   "*Set to fetch mail."
   (setq gnus-offline-mail-fetch-method 'nnmail)
-  (if (not (featurep 'running-pterodactyl-gnus-0_73-or-later))
-      (progn
-       (setq nnmail-movemail-program 'pop3-fma-movemail)
-       (setq nnmail-spool-file (append
-                                pop3-fma-local-spool-file-alist
-                                (mapcar
-                                 (lambda (spool)
-                                   (car spool))
-                                 pop3-fma-spool-file-alist))))
-    (setq nnmail-spool-file gnus-offline-mail-source)))
+    (setq nnmail-spool-file gnus-offline-mail-source))
 ;;
 ;; Enable fetch news
 ;;
@@ -719,11 +667,11 @@ If value is nil , dialup line is disconnected status.")
   "*Toggle movemail program movemail -> pop3.el -> movemail ->..."
   (interactive)
   (setq string "Set nnmail-movemail-program")
-  (cond ((eq pop3-fma-movemail-type 'lisp)
-        (setq pop3-fma-movemail-type 'exe
+  (cond ((eq nnmail-movemail-program 'nnmail-pop3-movemail)
+        (setq nnmail-movemail-program "movemail"
               str "to movemail"))
        (t
-        (setq pop3-fma-movemail-type 'lisp
+        (setq nnmail-movemail-program 'nnmail-pop3-movemail
               str "to pop3.el")))
   (message (format "%s %s" string str)))
 ;;
@@ -822,12 +770,12 @@ If value is nil , dialup line is disconnected status.")
       ;; Overwrite the toolbar spec for gnus-group-mode.
       (add-hook 'gnus-startup-hook
                (lambda ()
-                 (let ((i 0) (stat t) but)
-                   (while (and stat (setq but (nth i gnus-group-toolbar)))
-                     (and (equal 'gnus-group-get-new-news (aref but 1))
-                          (aset but 1 'gnus-offline-gnus-get-new-news)
-                          (setq stat nil))
-                     (setq i (1+ i))))))))
+                 (catch 'tag
+                   (mapcar (lambda (but)
+                             (when (eq 'gnus-group-get-new-news (aref but 1))
+                               (aset but 1 'gnus-offline-gnus-get-new-news)
+                               (throw 'tag nil)))
+                           gnus-group-toolbar))))))
 ;;
 ;;
 (defun gnus-offline-define-menu-on-miee ()
@@ -917,16 +865,30 @@ If value is nil , dialup line is disconnected status.")
 ;;
 ;; Popup menu within the group buffer (under Emacs).
 ;;
+(defvar gnus-offline-popup-menu nil)
 (defun gnus-offline-popup-menu (event)
   "Popup menu for Gnus offline."
   (interactive "e")
-  (let* ((menu (if (boundp 'miee-popup-menu)
-                  (or (assoc 'keymap
-                             (assoc 'Miee (assoc 'menu-bar global-map)))
-                      miee-popup-menu)
-                gnus-offline-menu-on-agent))
-        (pop (x-popup-menu t menu))
-        (func (and pop (lookup-key menu (apply 'vector pop)))))
+  (unless gnus-offline-popup-menu
+    (setq gnus-offline-popup-menu
+         (let ((menu
+                (if (boundp 'miee-popup-menu)
+                    (or (assoc 'keymap
+                               (assoc 'Miee (assoc 'menu-bar global-map)))
+                        miee-popup-menu)
+                  gnus-offline-menu-on-agent)))
+           (if (string< emacs-version "20")
+               (append (list 'keymap
+                             (if (boundp 'miee-popup-menu)
+                                 '(nil "Miee")
+                               '(nil "Offline"))
+                             '(nil "")
+                             '(nil ""))
+                       (cdr menu))
+             menu))))
+  (let* ((pop (x-popup-menu t gnus-offline-popup-menu))
+        (func (and pop (lookup-key gnus-offline-popup-menu
+                                   (apply 'vector pop)))))
     (and pop func (funcall func))))
 \f
 ;;