[Mew-Win32 01094] mew-cmail-cnv (Re: How to convert a cmail file to Mew files)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
1998年 12月 15日 (火) 19:11:54 JST
白井です。
From: 小関 吉則 (KOSEKI Yoshinori) <kose at example.com> さん曰く
Subject: [Mew-Win32 01091] Re: How to convert a cmail file to Mew files
Message-ID: <1998Dec15af0pluhw.kose at example.com>
Date: 15 Dec 1998 16:44:27 +0900
白井> # そのときは、ダイレクトメールで cmail の folder をいただけると
白井> # ありがたいです。(あたりさわりの無いどこぞの ML でそんなにでか
白井> # くないものを)
小関> 送りましょうか?
小関さん、どうもです。m(__)m
From: Shuichi Kitaguchi <shuuic-k at example.com> さん曰く
Subject: [Mew-Win32 01093] Re: How to convert a cmail file to Mew files
Message-ID: <19981215170829B.shuuic-k at example.com>
Date: Tue, 15 Dec 1998 17:08:29 +0900 (JST)
白井> いつもお世話になっていながら、たいへん申し訳ないのですが、
白井> http://www.mew.org/Win32 の mew-win32-mvm を Ver.0.08 に変えてお
白井> いて貰えないでしょうか?
北口> ちょうどやっていたところでした(^^;
北口> http://www.mew.org/Win32/mew-win32-mvm-0.08.tar.gz
北口> からどうぞ。
北口さん、どうもです。m(__)m
というわけで、現実から逃げたかったので cmail -> mew の converter
をでっちあげました。
# だって、仕事が辛かったんだもん ;_;
mew が立ち上がった状態で、
M-x load-library mew-cmail-cnv
M-x mew-cmail-cnv
で、cmail の folder を入力する。
と、普通は "+inbox" に追加されます。
+inbox や cmail の folder を壊すことはないと思いますが、安全のた
め backup してからお願いします。実験した cmail の folder はちょっ
と小さいので、本番(?)でなにかあったら教えて下さいね。^^;;;
-------------- next part --------------
;; -*- emacs-lisp -*-
;; mew-cmail-cnv.el Ver.0.01
;;
;; cmail-folder -> mew/mh converter.
;;
;; M-x mew
;; M-x load-library mew-cmail-cnv
;; M-x mew-cmail-cnv
;; input cmail-folder
;;
(defvar mew-cmail-cnv-imstore mew-use-imap)
(cond
((boundp 'MULE)
(setq mew-cs-cmail-cnv-crash '*noconv*)
(setq mew-cs-cmail-cnv '*noconv*))
(t
(setq mew-cs-cmail-cnv-crash 'raw-text)
(setq mew-cs-cmail-cnv 'raw-text)))
(defun mew-cmail-cnv (crashbox)
"cmail folder to mew inbox."
(interactive "fcmail folder: ") ;; for Debug.
(let ((buf (get-buffer-create "*mew crashbox*"))
(folder mew-inbox-folder)
(count 0)
(cmail-folder (file-name-nondirectory crashbox))
beg filenum dstfile)
(unwind-protect
(progn
(set-buffer buf)
(erase-buffer)
;; (condition-case nil
;; (progn
(setq filenum (string-to-int
(mew-folder-new-message folder t)))
(mew-frwlet mew-cs-cmail-cnv-crash mew-cs-cmail-cnv-crash
(insert-file-contents crashbox))
(if (boundp 'MULE)
(progn
(goto-char (point-min))
;; 13 = \015 = ^M
(while (re-search-forward (concat (char-to-string ?\015) "$") nil t)
(replace-match ""))))
(goto-char (point-min))
;; 12 = \014 = ^L
(while (re-search-forward (concat (char-to-string ?\014) "\n") nil t)
(setq count (1+ count))
(setq beg (point))
;; 31 = \037 = ^_
(if (re-search-forward (concat "\n" (char-to-string ?\037)) nil t)
(progn
(forward-line -1)
(end-of-line)
(message "Getting mail from %s to %s/%d (%d)..."
cmail-folder folder filenum count)
(if mew-cmail-cnv-imstore
(mew-piolet
mew-cs-cmail-cnv-crash mew-cs-cmail-cnv
(call-process-region beg (point)
mew-prog-imstore
nil nil nil
(format "--dst=%s" folder)))
(setq dstfile
(mew-expand-folder
folder (int-to-string filenum)))
(mew-frwlet mew-cs-cmail-cnv mew-cs-cmail-cnv
(write-region beg (point) dstfile)))
(message "Getting mail from %s to %s/%d (%d)...done."
cmail-folder folder filenum count)
(setq filenum (1+ filenum))))))
(kill-buffer buf))))
(provide 'mew-cmail-cnv)
;;; end.
-------------- next part --------------
--
白井秀行 (Hideyuki SHIRAI)
Mew-win32 メーリングリストの案内