* gnus.el: Semi-gnus 6.10.10 is released.
[elisp/gnus.git-] / lisp / pop3-fma.el
index 293efe6..d6ecf68 100644 (file)
@@ -3,7 +3,7 @@
 ;;                                                           Yasuo Okabe
 ;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
 ;;         Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
-;; Version: 1.16
+;; Version: 1.17
 ;; Keywords: mail , gnus , pop3
 ;;
 ;; SPECIAL THANKS
@@ -50,9 +50,6 @@
 ;;     pass means normal authentication USER/PASS.
 ;;     apop means authentication using APOP.
 ;;
-;; When using apop , Please set pop3-fma-movemail-type 'lisp.
-;; movemail.exe does not work on APOP protocol.
-;;
 ;; Variables
 ;;
 ;;  pop3-fma-spool-file-alist      ... Spool file alist of POP3 protocol
@@ -92,7 +89,8 @@
 ;;  "Goodbye Game"             ; 1.12
 ;;  "Love is Gamble"           ; 1.13
 ;;  "Lonely"                   ; 1.14
-  "Feel the wind"              ; 1.16
+;;  "Feel the wind"            ; 1.16
+  "Sadness like snow"          ; 1.17
   )
 (defconst pop3-fma-version (format "Multiple POP3 account utiliy for Gnus v%s - \"%s\""
                                       pop3-fma-version-number
@@ -117,8 +115,7 @@ Type must be pass or apop."
 (defcustom pop3-fma-movemail-type 'lisp
   "*Type of movemail program.
 Lisp means `nnmail-movemail-program' is lisp function.
- Exe means `nnmail-movemail-program' is external program.
- Please do not use exe if you do not use Meadow."
+ Exe means `nnmail-movemail-program' is external program."
   :group 'pop3-fma
   :type '(choice (const lisp)
                 (const exe)))
@@ -198,38 +195,50 @@ If there is any problem , please set this variable to nil(default).
   "Function to move mail from INBOX on a pop3 server to file CRASHBOX."
   (if (string-match "^po:" inbox)
       (progn
+       (if (and pop3-fma-save-password-information
+                (not pop3-fma-password))
+           (pop3-fma-set-pop3-password))
        (let ((pop3-maildrop
               (substring inbox (match-end (string-match "^po:" inbox))
                          (- (match-end (string-match "^.*@" inbox)) 1)))
              (pop3-mailhost
               (substring inbox (match-end (string-match "^.*@" inbox))))
              (pop3-password
-              (if pop3-fma-save-password-information
+              (if (and pop3-fma-save-password-information
+                       pop3-fma-password)
                   (pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox))))
                 (pop3-fma-input-password
                  (substring inbox (match-end (string-match "^.*@" inbox)))
                  (substring inbox (match-end (string-match "^po:" inbox))
                             (- (match-end (string-match "^.*@" inbox)) 1)))))
              (pop3-authentication-scheme
-              (nth 1 (assoc inbox pop3-fma-spool-file-alist)))
-             (pop3-fma-movemail-type (pop3-fma-get-movemail-type inbox)))
+              (nth 1 (assoc inbox pop3-fma-spool-file-alist))))
+;;           (pop3-fma-movemail-type (pop3-fma-get-movemail-type inbox)))
          (if (eq pop3-authentication-scheme 'pass)
              (message "Checking new mail user %s at %s using USER/PASS ..." pop3-maildrop pop3-mailhost)
            (message "Checking new mail user %s at %s using APOP ..." pop3-maildrop pop3-mailhost))
-         (if (and (eq system-type 'windows-nt)
-                  (eq pop3-fma-movemail-type 'exe))
+         (if (eq pop3-fma-movemail-type 'exe)
              (progn
                (setenv "MAILHOST" pop3-mailhost)
                (if (and (not (memq pop3-password pop3-fma-commandline-arguments))
                         (not (memq (concat "po:" pop3-maildrop) pop3-fma-commandline-arguments)))
                    (progn
-                     (setq pop3-fma-commandline-arguments
-                           (append
-                            pop3-fma-movemail-arguments
-                                   (list
-                                    (concat "po:" pop3-maildrop)
-                                    crashbox
-                                    pop3-password)))))
+                     (if (eq pop3-authentication-scheme 'apop)
+                         (setq pop3-fma-commandline-arguments
+                               (append
+                                pop3-fma-movemail-arguments
+                                (list
+                                 "-A"
+                                 (concat "po:" pop3-maildrop)
+                                 crashbox
+                                 pop3-password)))
+                       (setq pop3-fma-commandline-arguments
+                             (append
+                              pop3-fma-movemail-arguments
+                              (list
+                               (concat "po:" pop3-maildrop)
+                               crashbox
+                               pop3-password))))))
                (if (not (get-buffer movemail-output-buffer))
                    (get-buffer-create movemail-output-buffer))
                (set-buffer movemail-output-buffer)