Sync up with gnus-5.6.39 gnus-6_8_15
authorichikawa <ichikawa>
Sun, 23 Aug 1998 02:02:07 +0000 (02:02 +0000)
committerichikawa <ichikawa>
Sun, 23 Aug 1998 02:02:07 +0000 (02:02 +0000)
14 files changed:
ChangeLog
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-group.el
lisp/gnus-msg.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-uu.el
lisp/gnus.el
lisp/nnmail.el
lisp/nnweb.el
lisp/pop3-fma.el
texi/gnus.texi

index 93cec82..94ad9bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+1998-08-23  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.8.15.
+
+       * Sync up with Gnus 5.6.39.
+
+       * lisp/pop3-fma.el (pop3-fma-movemail): Enable to get from APOP server.
+       (pop3-fma-set-pop3-password) Enable to get from APOP server.
+
 1998-08-20  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.8.14.
index 9b31bb0..5fe208e 100644 (file)
@@ -1,3 +1,44 @@
+Sat Aug 22 10:28:25 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.39 is released.
+
+1998-08-22 10:06:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-art.el (gnus-ignored-headers): Added more headers.
+
+1998-08-21 02:49:56  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnweb.el (nnweb-type): Doc fix.
+
+       * gnus-sum.el (gnus-summary-set-process-mark): Move to the right
+       article. 
+
+1998-08-20 23:10:01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnmail.el (nnmail-spool-file): Allow lists of files.
+
+1998-08-20  Per Starback  <starback@update.uu.se>
+
+       * gnus/gnus-start.el (gnus-check-first-time-used): Change current
+       buffer before creating help group.
+
+1998-08-20 01:33:08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-msg.el (gnus-message-style-insertions): New variable.
+       (gnus-message-insert-stylings): New function.
+       (gnus-configure-posting-styles): Use them.
+
+       * gnus-topic.el (gnus-topic-mode): Don't alter summary-exit-hook. 
+
+       * gnus-sum.el (gnus-select-newsgroup): Don't update group.
+
+       * gnus-msg.el (gnus-setup-message): Bind message-mode-hook.
+       (gnus-inhibit-posting-styles): New variable.
+       (gnus-summary-reply): Use it.
+       (gnus-configure-posting-styles): Ditto.
+
+       * gnus-group.el (gnus-group-suspend): Don't kill dribble buffer. 
+
 Thu Aug 20 00:28:35 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.38 is released.
index 6f4d9bf..957c13b 100644 (file)
   :group 'gnus-article)
 
 (defcustom gnus-ignored-headers
-  '("^Path:" "^Posting-Version:" "^Article-I.D.:" "^Expires:"
-    "^Date-Received:" "^References:" "^Control:" "^Xref:" "^Lines:"
-    "^Posted:" "^Relay-Version:" "^Message-ID:" "^Nf-ID:" "^Nf-From:"
-    "^Approved:" "^Sender:" "^Received:" "^Mail-from:")
+  '("^Path:" "^Expires:" "^Date-Received:" "^References:" "^Xref:" "^Lines:"
+    "^Relay-Version:" "^Message-ID:" "^Approved:" "^Sender:" "^Received:" 
+    "^X-UIDL:" "^MIME-Version:" "^Return-Path:" "^In-Reply-To:"
+    "^Content-Type:" "^Content-Transfer-Encoding:" "^X-WebTV-Signature:"
+    "^X-MimeOLE:" "^X-MSMail-Priority:" "^X-Priority:" "^X-Loop:"
+    "^X-Authentication-Warning:" "^X-MIME-Autoconverted:" "^X-Face:"
+    "^X-Attribution:" "^X-Originating-IP:" "^Delivered-To:"
+    "^NNTP-[-A-Za-z]*:" "^Distribution:" "^X-no-archive:" "^X-Trace:"
+    "^X-Complaints-To:" "^X-NNTP-Posting-Host:" "^X-Orig.*:"
+    "^Abuse-Reports-To:" "^Cache-Post-Path:" "^X-Article-Creation-Date:"
+    "^X-Poster:" "^X-Mail2News-Path:" "^X-Server-Date:" "^X-Cache:"
+    "^Originator:" "^X-Problems-To:" "^X-Auth-User:" "^X-Post-Time:" 
+    "^X-Admin:" "^X-UID:")
   "*All headers that start with this regexp will be hidden.
 This variable can also be a list of regexps of headers to be ignored.
 If `gnus-visible-headers' is non-nil, this variable will be ignored."
index 66ffb0c..03ec6d9 100644 (file)
@@ -3167,7 +3167,7 @@ The hook gnus-suspend-gnus-hook is called before actually suspending."
   ;; Kill Gnus buffers except for group mode buffer.
   (let ((group-buf (get-buffer gnus-group-buffer)))
     (mapcar (lambda (buf)
-             (unless (equal buf group-buf)
+             (unless (member buf (list group-buf gnus-dribble-buffer))
                (kill-buffer buf)))
            (gnus-buffers))
     (gnus-kill-gnus-frames)
index c7bc00d..9ac0582 100644 (file)
@@ -111,6 +111,9 @@ the second with the current group name.")
 
 ;;; Internal variables.
 
+(defvar gnus-inhibit-posting-styles nil
+  "Inhibit the use of posting styles.")
+
 (defvar gnus-message-buffer "*Mail Gnus*")
 (defvar gnus-article-copy nil)
 (defvar gnus-last-posting-server nil)
@@ -186,7 +189,8 @@ Thank you for your help in stamping out bugs.
           (,article (and gnus-article-reply (gnus-summary-article-number)))
           (,group gnus-newsgroup-name)
           (message-header-setup-hook
-           (copy-sequence message-header-setup-hook)))
+           (copy-sequence message-header-setup-hook))
+          (message-mode-hook (copy-sequence message-mode-hook)))
        (add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc)
        (add-hook 'message-header-setup-hook 'gnus-inews-insert-archive-gcc)
        (add-hook 'message-mode-hook 'gnus-configure-posting-styles)
@@ -551,7 +555,8 @@ automatically."
   ;; Stripping headers should be specified with mail-yank-ignored-headers.
   (when yank
     (gnus-summary-goto-subject (car yank)))
-  (let ((gnus-article-reply t))
+  (let ((gnus-article-reply t)
+       (gnus-inhibit-posting-styles t))
     (gnus-setup-message (if yank 'reply-yank 'reply)
       (gnus-summary-select-article)
       (set-buffer (gnus-copy-article-buffer))
@@ -1019,73 +1024,86 @@ this is a reply."
 
 ;;; Posting styles.
 
+(defvar gnus-message-style-insertions nil)
+
 (defun gnus-configure-posting-styles ()
   "Configure posting styles according to `gnus-posting-styles'."
-  (let ((styles gnus-posting-styles)
-       (gnus-newsgroup-name (or gnus-newsgroup-name ""))
-       style match variable attribute value value-value)
-    ;; Go through all styles and look for matches.
-    (while styles
-      (setq style (pop styles)
-           match (pop style))
-      (when (cond ((stringp match)
-                  ;; Regexp string match on the group name.
-                  (string-match match gnus-newsgroup-name))
-                 ((or (symbolp match)
-                      (gnus-functionp match))
-                  (cond ((gnus-functionp match)
-                         ;; Function to be called.
-                         (funcall match))
-                        ((boundp match)
-                         ;; Variable to be checked.
-                         (symbol-value match))))
-                 ((listp match)
-                  ;; This is a form to be evaled.
-                  (eval match)))
-       ;; We have a match, so we set the variables.
-       (while style
-         (setq attribute (pop style)
-               value (cadr attribute)
-               variable nil)
-         ;; We find the variable that is to be modified.
-         (if (and (not (stringp (car attribute)))
-                   (not (eq 'body (car attribute)))
-                  (not (setq variable (cdr (assq (car attribute) 
-                                                 gnus-posting-style-alist)))))
-             (message "Couldn't find attribute %s" (car attribute))
-           ;; We get the value.
-           (setq value-value
-                 (cond ((stringp value)
-                        value)
-                       ((or (symbolp value)
-                            (gnus-functionp value))
-                        (cond ((gnus-functionp value)
-                               (funcall value))
-                              ((boundp value)
-                               (symbol-value value))))
-                       ((listp value)
-                        (eval value))))
-           (if variable
-               ;; This is an ordinary variable.
-               (set (make-local-variable variable) value-value)
-              ;; This is either a body or a header to be inserted in the
-              ;; message.
-             (when value-value
-               (let ((attr (car attribute)))
-                 (make-local-variable 'message-setup-hook)
-                  (if (eq 'body attr)
+  (unless gnus-inhibit-posting-styles
+    (let ((styles gnus-posting-styles)
+         (gnus-newsgroup-name (or gnus-newsgroup-name ""))
+         style match variable attribute value value-value)
+      (make-local-variable 'gnus-message-style-insertions)
+      ;; Go through all styles and look for matches.
+      (while styles
+       (setq style (pop styles)
+             match (pop style))
+       (when (cond ((stringp match)
+                    ;; Regexp string match on the group name.
+                    (string-match match gnus-newsgroup-name))
+                   ((or (symbolp match)
+                        (gnus-functionp match))
+                    (cond ((gnus-functionp match)
+                           ;; Function to be called.
+                           (funcall match))
+                          ((boundp match)
+                           ;; Variable to be checked.
+                           (symbol-value match))))
+                   ((listp match)
+                    ;; This is a form to be evaled.
+                    (eval match)))
+         ;; We have a match, so we set the variables.
+         (while style
+           (setq attribute (pop style)
+                 value (cadr attribute)
+                 variable nil)
+           ;; We find the variable that is to be modified.
+           (if (and (not (stringp (car attribute)))
+                    (not (eq 'body (car attribute)))
+                    (not (setq variable
+                               (cdr (assq (car attribute) 
+                                          gnus-posting-style-alist)))))
+               (message "Couldn't find attribute %s" (car attribute))
+             ;; We get the value.
+             (setq value-value
+                   (cond ((stringp value)
+                          value)
+                         ((or (symbolp value)
+                              (gnus-functionp value))
+                          (cond ((gnus-functionp value)
+                                 (funcall value))
+                                ((boundp value)
+                                 (symbol-value value))))
+                         ((listp value)
+                          (eval value))))
+             (if variable
+                 ;; This is an ordinary variable.
+                 (set (make-local-variable variable) value-value)
+               ;; This is either a body or a header to be inserted in the
+               ;; message.
+               (when value-value
+                 (let ((attr (car attribute)))
+                   (make-local-variable 'message-setup-hook)
+                   (if (eq 'body attr)
+                       (add-hook 'message-setup-hook
+                                 `(lambda ()
+                                    (save-excursion
+                                      (message-goto-body)
+                                      (insert ,value-value))))
                      (add-hook 'message-setup-hook
-                               `(lambda ()
-                                  (save-excursion
-                                    (message-goto-body)
-                                    (insert ,value-value))))
-                   (add-hook
-                    'message-setup-hook
-                    `(lambda ()
-                       (save-excursion
-                         (message-goto-eoh)
-                         (insert ,(if (stringp attr) attr (symbol-name attr))
-                                 ": " ,value-value "\n"))))))))))))))
+                               'gnus-message-insert-stylings)
+                     (push (cons (if (stringp attr) attr
+                                   (symbol-name attr))
+                                 value-value)
+                           gnus-message-style-insertions))))))))))))
+
+(defun gnus-message-insert-stylings ()
+  (let (val)
+    (save-excursion
+      (message-goto-eoh)
+      (while (setq val (pop gnus-message-style-insertions))
+       (when (cdr val)
+         (insert (car val) ": " (cdr val) "\n"))
+       (gnus-pull (car val) gnus-message-style-insertions)))))
 
 ;;; Allow redefinition of functions.
 
index 60c936d..95a3527 100644 (file)
@@ -254,8 +254,6 @@ for your decision; `gnus-subscribe-killed' kills all new groups;
                (function-item gnus-subscribe-zombies)
                function))
 
-;; Suggested by a bug report by Hallvard B Furuseth.
-;; <h.b.furuseth@usit.uio.no>.
 (defcustom gnus-subscribe-options-newsgroup-method
   'gnus-subscribe-alphabetically
   "*This function is called to subscribe newsgroups mentioned on \"options -n\" lines.
@@ -1052,13 +1050,13 @@ for new groups, and subscribe the new groups as zombies."
     ;; Go through both primary and secondary select methods and
     ;; request new newsgroups.
     (while (setq method (gnus-server-get-method nil (pop methods)))
-      (setq new-newsgroups nil)
-      (setq gnus-override-subscribe-method method)
+      (setq new-newsgroups nil
+           gnus-override-subscribe-method method)
       (when (and (gnus-check-server method)
                 (gnus-request-newgroups date method))
        (save-excursion
-         (setq got-new t)
-         (setq hashtb (gnus-make-hashtable 100))
+         (setq got-new t
+               hashtb (gnus-make-hashtable 100))
          (set-buffer nntp-server-buffer)
          ;; Enter all the new groups into a hashtable.
          (gnus-active-to-gnus-format method hashtb 'ignore))
@@ -1137,7 +1135,9 @@ for new groups, and subscribe the new groups as zombies."
            (gnus-group-change-level
             (car groups) gnus-level-default-subscribed gnus-level-killed))
          (setq groups (cdr groups)))
-       (gnus-group-make-help-group)
+       (save-excursion
+         (set-buffer gnus-group-buffer)
+         (gnus-group-make-help-group))
        (when gnus-novice-user
          (gnus-message 7 "`A k' to list killed groups"))))))
 
index 1bd7981..e054214 100644 (file)
@@ -3887,8 +3887,6 @@ If SELECT-ARTICLES, only select those articles from GROUP."
     (setq gnus-newsgroup-processable nil)
 
     (gnus-update-read-articles group gnus-newsgroup-unreads)
-    (unless (gnus-ephemeral-group-p gnus-newsgroup-name)
-      (gnus-group-update-group group))
 
     (if (setq articles select-articles)
        (setq gnus-newsgroup-unselected
@@ -7609,6 +7607,7 @@ the actual number of articles marked is returned."
              (delq article gnus-newsgroup-processable)))
   (when (gnus-summary-goto-subject article)
     (gnus-summary-show-thread)
+    (gnus-summary-goto-subject article)
     (gnus-summary-update-secondary-mark article)))
 
 (defun gnus-summary-remove-process-mark (article)
@@ -7616,6 +7615,7 @@ the actual number of articles marked is returned."
   (setq gnus-newsgroup-processable (delq article gnus-newsgroup-processable))
   (when (gnus-summary-goto-subject article)
     (gnus-summary-show-thread)
+    (gnus-summary-goto-subject article)
     (gnus-summary-update-secondary-mark article)))
 
 (defun gnus-summary-set-saved-mark (article)
index cd211a7..3f2b2af 100644 (file)
@@ -627,7 +627,7 @@ articles in the topic and its subtopics."
         (parent (gnus-topic-parent-topic topic-name))
         (all-entries entries)
         (unread 0)
-        old-unread entry)
+        old-unread entry new-unread)
     (when (gnus-topic-goto-topic (car type))
       ;; Tally all the groups that belong in this topic.
       (if reads
@@ -643,12 +643,14 @@ articles in the topic and its subtopics."
        (car type) (gnus-topic-visible-p)
        (not (eq (nth 2 type) 'hidden))
        (gnus-group-topic-level) all-entries unread)
-      (gnus-delete-line))
+      (gnus-delete-line)
+      (forward-line -1)
+      (setq new-unread (gnus-group-topic-unread)))
     (when parent
       (forward-line -1)
       (gnus-topic-update-topic-line
        parent
-       (max 0 (- (or old-unread 0) (or (gnus-group-topic-unread) 0)))))
+       (- (or old-unread 0) (or new-unread 0))))
     unread))
 
 (defun gnus-topic-group-indentation ()
@@ -984,7 +986,6 @@ articles in the topic and its subtopics."
        (gnus-topic-make-menu-bar))
       (gnus-set-format 'topic t)
       (gnus-add-minor-mode 'gnus-topic-mode " Topic" gnus-topic-mode-map)
-      (add-hook 'gnus-summary-exit-hook 'gnus-topic-update-topic)
       (add-hook 'gnus-group-catchup-group-hook 'gnus-topic-update-topic)
       (set (make-local-variable 'gnus-group-prepare-function)
           'gnus-group-prepare-topics)
index f937bbe..dee2d04 100644 (file)
@@ -1090,8 +1090,7 @@ didn't work, and overwrite existing files.  Otherwise, ask each time."
                     (gnus-uu-reginize-string (gnus-summary-article-subject))))
        list-of-subjects)
     (save-excursion
-      (if (not subject)
-         ()
+      (when subject
        ;; Collect all subjects matching subject.
        (let ((case-fold-search t)
              (data gnus-newsgroup-data)
index 1241c18..d910aeb 100644 (file)
@@ -250,11 +250,11 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "6.8.14"
+(defconst gnus-version-number "6.8.15"
   "Version number for this version of gnus.")
 
 (defconst gnus-version
-  (format "Semi-gnus %s (based on Gnus 5.6.38; for SEMI 1.8, FLIM 1.8/1.9)"
+  (format "Semi-gnus %s (based on Gnus 5.6.39; for SEMI 1.8, FLIM 1.8/1.9)"
           gnus-version-number)
   "Version string for this version of gnus.")
 
@@ -2271,9 +2271,11 @@ that that variable is buffer-local to the summary buffers."
         (gnus-server-to-method method))
        ((equal method gnus-select-method)
         gnus-select-method)
-       ((and (stringp (car method)) group)
+       ((and (stringp (car method))
+             group)
         (gnus-server-extend-method group method))
-       ((and method (not group)
+       ((and method
+             (not group)
              (equal (cadr method) ""))
         method)
        (t
index c40f62c..bc8d1f5 100644 (file)
@@ -182,7 +182,8 @@ used as incoming mailboxes.
 If this variable is a directory (i. e., it's name ends with a \"/\"),
 treat all files in that directory as incoming spool files."
   :group 'nnmail-files
-  :type 'file)
+  :type '(choice (file :tag "File")
+                (repeat :tag "Files" file)))
 
 (defcustom nnmail-crash-box "~/.gnus-crash-box"
   "File where Gnus will store mail while processing it."
index 321508c..5a673cd 100644 (file)
@@ -46,7 +46,9 @@
   "Where nnweb will save its files.")
 
 (defvoo nnweb-type 'dejanews
-  "What search engine type is being used.")
+  "What search engine type is being used.
+Valid types include `dejanews', `dejanewsold', `reference',
+and `altavista'.")
 
 (defvoo nnweb-type-definition
   '((dejanews
index d2b3e83..6326010 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.00
+;; Version: 1.10
 ;; Keywords: mail , gnus , pop3
 ;;
 ;; SPECIAL THANKS
 ;;  (require 'pop3-fma)
 ;;  (setq pop3-fma-spool-file-alist
 ;;        '(
-;;         "po:username0@mailhost0.your.domain0"
-;;         "po:username1@mailhost1.your.domain1"
+;;         ("po:username0@mailhost0.your.domain0" pass)
+;;         ("po:username1@mailhost1.your.domain1" apop)
 ;;                         :
 ;;                         :
 ;;        ))
 ;;
+;;     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
@@ -84,7 +90,7 @@
   :group 'mail
   :group 'news)
 
-(defconst pop3-fma-version-number "1.00")
+(defconst pop3-fma-version-number "1.10")
 (defconst pop3-fma-codename
 ;;  "Feel the wind"            ; 0.10
 ;;  "My home town"             ; 0.11
@@ -92,8 +98,8 @@
 ;;  "Rock'n Roll city"         ; 0.13
 ;;  "Money"                    ; 0.20
 ;;  "Still 19"                 ; 0.21
-  "J boy"                      ; 1.00
-;;  "Blood line"               ; 0.xx
+;;  "J boy"                    ; 1.00
+  "Blood line"                 ; 1.10
 ;;  "Star ring"                        ; 0.xx
 ;;  "Goodbye Game"             ; 0.xx
   )
   "*Spool file to get mail using pop3 protocol.
 You should specify this variable like
  '(
-   \"po:user1@mailhost1\"
-   \"po:user2@mailhost2\"
-  )"
+   (\"po:user1@mailhost1\" type)
+   (\"po:user2@mailhost2\" type)
+  )
+Type must be pass or apop."
   :group 'pop3-fma
   :type 'alist)
 
@@ -134,7 +141,7 @@ Lisp means `nnmail-movemail-program' is lisp function.
 (defvar pop3-fma-password nil
   "*POP3 password , user , mailhost information for Gnus.")
 
-(defvar pop3-fma-movemail-program "movemail"
+(defvar pop3-fma-movemail-program "movemail.exe"
   "*External program name your movemail.
 Please do not set this valiable non-nil if you do not use Meadow.")
 
@@ -167,30 +174,35 @@ Please do not set this valiable non-nil if you do not use Meadow.")
               (substring inbox (match-end (string-match "^po:" inbox))
                          (- (match-end (string-match "^.*@" inbox)) 1)))
              (pop3-mailhost
-              (substring inbox (match-end (string-match "^.*@" inbox)))))
-         (let ((pop3-password
-                (pop3-fma-read-passwd pop3-mailhost)))
-           (message "Checking new mail user %s at %s..." pop3-maildrop pop3-mailhost)
-           (if (and (eq system-type 'windows-nt)
-                    (eq pop3-fma-movemail-type 'exe))
-               (progn
-                 (setenv "MAILHOST" pop3-mailhost)
-                 (if (and (not (memq pop3-password pop3-fma-movemail-arguments))
-                          (not (memq (concat "po:" pop3-maildrop) pop3-fma-movemail-arguments)))
-                     (progn
-                       (setq pop3-fma-movemail-arguments nil)
-                       (setq pop3-fma-movemail-arguments
-                             (append pop3-fma-movemail-options
-                                     (list
-                                      (concat "po:" pop3-maildrop)
-                                      crashbox
-                                      pop3-password)))))
-                 (apply 'call-process (concat
-                                       exec-directory
-                                       pop3-fma-movemail-program)
-                        nil nil nil
-                        pop3-fma-movemail-arguments))
-             (pop3-movemail crashbox)))))
+              (substring inbox (match-end (string-match "^.*@" inbox))))
+             (pop3-password
+              (pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox)))))
+             (pop3-authentication-scheme
+              (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))
+             (progn
+               (setenv "MAILHOST" pop3-mailhost)
+               (if (and (not (memq pop3-password pop3-fma-movemail-arguments))
+                        (not (memq (concat "po:" pop3-maildrop) pop3-fma-movemail-arguments)))
+                   (progn
+                     (setq pop3-fma-movemail-arguments nil)
+                     (setq pop3-fma-movemail-arguments
+                           (append pop3-fma-movemail-options
+                                   (list
+                                    (concat "po:" pop3-maildrop)
+                                    crashbox
+                                    pop3-password)))))
+               (apply 'call-process (concat
+                                     exec-directory
+                                     pop3-fma-movemail-program)
+                      nil nil nil
+                      pop3-fma-movemail-arguments))
+           (pop3-movemail crashbox))))
     (message "Checking new mail at %s ... " inbox)
     (call-process (concat exec-directory pop3-fma-movemail-program)
                  nil
@@ -231,17 +243,20 @@ Please do not set this valiable non-nil if you do not use Meadow.")
   (mapcar
    (lambda (x)
      (let ((pop3-maildrop
-           (substring x (match-end (string-match "^po:" x))
-                      (- (match-end (string-match "^.*@" x)) 1)))
+           (substring (car x) (match-end (string-match "^po:" (car x)))
+                      (- (match-end (string-match "^.*@" (car x))) 1)))
           (pop3-mailhost
-           (substring x (match-end (string-match "^.*@" x)))))
+           (substring (car x) (match-end (string-match "^.*@" (car x))))))
        (call-interactively 'pop3-fma-store-password)))
    pop3-fma-spool-file-alist)
   (setq nnmail-movemail-program 'pop3-fma-movemail)
 ;;  (setq nnmail-spool-file pop3-fma-spool-file-alist))
   (setq nnmail-spool-file (append
                           pop3-fma-local-spool-file-alist
-                          pop3-fma-spool-file-alist)))
+                          (mapcar
+                           (lambda (spool)
+                             (car spool))
+                           pop3-fma-spool-file-alist))))
 ;;
 (defun pop3-fma-read-noecho (prompt &optional stars)
   "Read a single line of text from user without echoing, and return it.
@@ -288,7 +303,6 @@ Argument PROMPT ."
   
 ;;
 ;; Add your custom header.
-;;
 (defun pop3-fma-add-custom-header (header string)
   (let ((delimline
         (progn (goto-char (point-min))
@@ -306,6 +320,12 @@ Argument PROMPT ."
          (setq hdr (concat str "\n"))
          (insert-string hdr)))))
 ;;
+;;
+(defun pop3-fma-get-movemail-type (inbox)
+  (if (eq (nth 1 (assoc inbox pop3-fma-spool-file-alist)) 'apop)
+      lisp
+    pop3-fma-movemail-type))
+;;
 (provide 'pop3-fma)
 ;;
 ;; pop3-fma.el ends here.
index 22d365b..5b8a226 100644 (file)
@@ -15840,13 +15840,16 @@ Rajappa Iyer,
 Andreas Jaeger,
 Randell Jesup,
 Fred Johansen,
+Gareth Jones,
 Simon Josefsson,
 Greg Klanderman,
 Karl Kleinpaste,
 Peter Skov Knudsen,
 Shuhei Kobayashi, @c Kobayashi
+Koseki Yoshinori, @c Koseki
 Thor Kristoffersen,
 Jens Lautenbacher,
+Martin Larose,
 Seokchan Lee, @c Lee
 Carsten Leonhardt,
 James LewisMoss,
@@ -15878,7 +15881,9 @@ William Perry,
 Stephen Peters,
 Jens-Ulrik Holger Petersen,
 Ulrich Pfeifer,
+Matt Pharr,
 John McClary Prevost,
+Bill Pringlemeir,
 Mike Pullen,
 Jim Radford,
 Colin Rafferty,
@@ -15917,6 +15922,7 @@ Teddy,
 Chuck Thompson,
 Philippe Troin,
 James Troup,
+Trung Tran-Duc,
 Aaron M. Ucko,
 Aki Vehtari,
 Didier Verna,