;;; gnus-ofsetup.el --- Setup advisor for Offline reading for Mail/News.
;;;
-;;; $Id: gnus-ofsetup.el,v 1.1.2.9 1999-01-31 23:14:36 yamaoka Exp $
+;;; $Id: gnus-ofsetup.el,v 1.1.2.15 1999-02-15 06:24:21 ichikawa Exp $
;;;
;;; Copyright (C) 1998 Tatsuya Ichikawa
;;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
;; Use mail-source.el
(setq mail-source nil)
(while (> i 0)
- (setq user (read-from-minibuffer "Mail Account name : "))
- (setq server (read-from-minibuffer "Mail server : "))
- (setq auth (completing-read
+ (let ((user (read-from-minibuffer "Mail Account name : "))
+ (server (read-from-minibuffer "Mail server : "))
+ (auth (completing-read
"Authentification Method (TAB to completion): "
'(("pop" 1) ("apop" 2)) nil t nil))
- (setq mail-source
- (append mail-source
- (list
- (list
- auth :user user :server server))))
+ (islisp (y-or-n-p "Do you use pop3.el to fetch mail? ")))
+ (if (not islisp)
+ (let ((prog (read-file-name "movemail program name: "
+ exec-directory "movemail"))
+ (args (read-from-minibuffer "movemail options: " "-pf")))
+ (setq mail-source
+ (append mail-source
+ (list
+ (list
+ 'pop
+ :user user
+ :server server
+ :program
+ (format "%s %s %s %s %s"
+ prog
+ args
+ "po:%u"
+ "%t"
+ "%p")
+ :authentication auth)))))
+ (setq mail-source
+ (append mail-source
+ (list
+ (list
+ 'pop
+ :user user
+ :server server
+ :authentication auth))))))
(setq i (- i 1)))
;; Replace "hoge" -> 'hoge
(mapcar
(lambda (x)
- (if (string-equal (nth 0 x) "pop")
- (setcar x 'pop)
- (setcar x 'apop)))
+ (if (string-equal (car (last x)) "pop")
+ (setcar (last x) (quote 'pop))
+ (setcar (last x) (quote 'apop))))
mail-source)
(setq gnus-offline-mail-source mail-source)))
+
+ (setq save-passwd
+ (y-or-n-p "Do you save password information to newsrc file? "))
+
;; Write to setting file.
(setq tmp-buffer (get-buffer-create "* Setting"))
(set-buffer "* Setting")
(insert "(add-hook 'gnus-after-getting-new-news-hook 'gnus-offline-after-get-new-news)\n")
(insert "(add-hook 'gnus-after-getting-news-hook 'gnus-offline-after-get-new-news)\n")
(if (eq gnus-offline-news-fetch-method 'nnspool)
- (insert "(add-hook 'after-getting-news-hook 'gnus-offline-nnspool-hangup-line)\n"))
+ (progn
+ (insert "(add-hook 'after-getting-news-hook 'gnus-offline-nnspool-hangup-line)\n")
+ (insert "(add-hook 'gnus-before-startup-hook (lambda () (setq nnmail-spool-file nil)))\n")))
(insert "(add-hook 'message-send-hook 'gnus-offline-message-add-header)\n")
(insert "(autoload 'gnus-offline-setup \"gnus-offline\")\n")
(insert "(add-hook 'gnus-load-hook 'gnus-offline-setup)\n")
(if (not (locate-library "mail-source"))
(progn
;; Write setting about pop3-fma.
- (insert "(setq nnmail-spool-file nil)\n")
(insert "(require 'pop3-fma)\n")
(insert "(add-hook 'message-send-hook 'pop3-fma-message-add-header)\n")
(insert "(setq pop3-fma-spool-file-alist '")
(insert "(setq pop3-fma-movemail-type '")
(insert (prin1-to-string pop3-fma-movemail-type))
(insert ")\n")
+ (if save-passwd
+ (insert "(add-hook 'gnus-setup-news-hook \n (lambda ()\n (add-to-list 'gnus-variable-list 'pop3-fma-password)))\n"))
(if (eq pop3-fma-movemail-type 'exe)
(progn
(insert "(setq pop3-fma-movemail-arguments '")
(insert "(setq nnmail-spool-file gnus-offline-mail-source)\n")
(insert "(require 'read-passwd)\n")
(insert "(setq mail-source-read-passwd 'read-pw-read-passwd)\n")
- (insert "(add-hook 'gnus-before-startup-hook 'read-pw-set-mail-source-passwd-cache)\n");
+ (insert "(add-hook 'gnus-setup-news-hook 'read-pw-set-mail-source-passwd-cache)\n")
+ (if save-passwd
+ (insert "(add-hook 'gnus-setup-news-hook \n (lambda ()\n (add-to-list 'gnus-variable-list 'mail-source-password-cache)))\n"))
)
(write-region (point-min) (point-max) gnus-offline-setting-file)
(kill-buffer "* Setting"))