X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=inline;f=lisp%2Fgnus-ofsetup.el;h=a3e8be1606ebdc33d360734ed5e761ab67bc3574;hb=4c6769d9da96b949627f7518279fc8a85141cb0a;hp=0b7e96fef35bc847d0aee36e1b72bd720a67cd45;hpb=3f1c81eabdd3dcbe6389a8da5af49886204d64e5;p=elisp%2Fgnus.git- diff --git a/lisp/gnus-ofsetup.el b/lisp/gnus-ofsetup.el index 0b7e96f..a3e8be1 100644 --- a/lisp/gnus-ofsetup.el +++ b/lisp/gnus-ofsetup.el @@ -1,6 +1,6 @@ ;;; gnus-ofsetup.el --- Setup advisor for Offline reading for Mail/News. ;;; -;;; $Id: gnus-ofsetup.el,v 1.1.2.6 1998-11-19 05:47:29 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 @@ -41,8 +41,9 @@ (defvar pop3-fma-movemail-type nil) (defvar pop3-fma-movemail-arguments nil) (defvar use-miee nil) -(defvar address) -(defvar options) +(defvar address nil) +(defvar mail-source nil) +(defvar options nil) ;;; To silence byte compiler (and @@ -172,42 +173,91 @@ ;; Set E-Mail Address and pop3 movemail type. (setq i (string-to-int num-of-address)) (setq address nil) - (while (> i 0) - (setq address - (append address - (list - (list - (concat "po:" - (read-from-minibuffer - "Email address (user@mailhost): ")) - (completing-read - "Authentification Method (TAB to completion): " - '(("pass" 1) ("apop" 2)) nil t nil))))) - (setq i (- i 1))) - - ;; Replace "hoge" -> 'hoge - (mapcar - (lambda (x) - (if (string-equal (nth 1 x) "pass") - (setcar (cdr x) 'pass) - (setcar (cdr x) 'apop))) - address) - (setq pop3-fma-spool-file-alist address) - - ;; Set movemail type. - (let ((movemail-type - (completing-read - "Select movemail type for retreave mail (TAB to completion): " - '(("exe" 1) ("lisp" 2)) - nil t nil)) - ) - (if (string-equal movemail-type "exe") - (let ((options - (read-from-minibuffer "movemail options: "))) - (setq pop3-fma-movemail-arguments (split-string options "[\t ]+")))) - (if (string-equal movemail-type "exe") - (setq pop3-fma-movemail-type 'exe) - (setq pop3-fma-movemail-type 'lisp)))) + (if (not (locate-library "mail-source")) + (progn + (while (> i 0) + (setq address + (append address + (list + (list + (concat "po:" + (read-from-minibuffer + "Email address (user@mailhost): ")) + (completing-read + "Authentification Method (TAB to completion): " + '(("pass" 1) ("apop" 2)) nil t nil))))) + (setq i (- i 1))) + ;; Replace "hoge" -> 'hoge + (mapcar + (lambda (x) + (if (string-equal (nth 1 x) "pass") + (setcar (cdr x) 'pass) + (setcar (cdr x) 'apop))) + address) + (setq pop3-fma-spool-file-alist address) + ;; Set movemail type. + (let ((movemail-type + (completing-read + "Select movemail type for retreave mail (TAB to completion): " + '(("exe" 1) ("lisp" 2)) + nil t nil)) + ) + (if (string-equal movemail-type "exe") + (let ((options + (read-from-minibuffer "movemail options: "))) + (setq pop3-fma-movemail-arguments (split-string options "[\t ]+")))) + (if (string-equal movemail-type "exe") + (setq pop3-fma-movemail-type 'exe) + (setq pop3-fma-movemail-type 'lisp)))) + ;; + ;; Use mail-source.el + (setq mail-source nil) + (while (> i 0) + (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)) + (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 (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")) @@ -260,7 +310,10 @@ (insert ")\n") (insert "(setq sendmail-to-spool-directory gnus-offline-mail-spool-directory)\n") (insert "(setq news-spool-request-post-directory gnus-offline-news-spool-directory)\n") - (insert "(load \"miee\")\n"))) + (insert "(load \"miee\")\n") + (insert "(setq message-send-news-function '") + (insert (prin1-to-string message-send-news-function)) + (insert ")\n"))) ;; write setting about nnspool and gnus-agent. (if (equal gnus-offline-news-fetch-method 'nnspool) @@ -280,7 +333,6 @@ ;; Offline setting for gnus-nntp-* (insert "(setq gnus-nntp-service nil)\n") (insert "(setq gnus-nntp-server nil)\n") - (insert "(setq nnmail-spool-file nil)\n") ;; Write setting about hooks. (insert "(add-hook 'gnus-group-mode-hook 'gnus-offline-processed-by-timer t)\n") @@ -288,27 +340,44 @@ (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") - ;; Write setting about pop3-fma. - (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 (prin1-to-string pop3-fma-spool-file-alist)) - (insert ")\n") - (insert "(setq pop3-fma-movemail-type '") - (insert (prin1-to-string pop3-fma-movemail-type)) - (insert ")\n") - (if (eq pop3-fma-movemail-type 'exe) + (if (not (locate-library "mail-source")) (progn - (insert "(setq pop3-fma-movemail-arguments '") - (insert (prin1-to-string pop3-fma-movemail-arguments)) - (insert ")\n"))) + ;; Write setting about pop3-fma. + (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 (prin1-to-string pop3-fma-spool-file-alist)) + (insert ")\n") + (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 (prin1-to-string pop3-fma-movemail-arguments)) + (insert ")\n")))) + ;; Write stting about mail-source.el + (insert "(setq gnus-offline-mail-source '") + (insert (prin1-to-string gnus-offline-mail-source)) + (insert ")\n") + (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-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")) ) (load gnus-offline-setting-file)) -;; gnus-ofsetup.el Ends here. \ No newline at end of file +;; gnus-ofsetup.el Ends here.