Windows(Meadow)FAQ


Windows上の Emacs で Mew を使うときの FAQ; 特に Meadow 向け

Mew4 になったら scan が遅くなってしまいました。

Meadow(NTEmacs) には w32-pipe-read-delay という変数があり、default は 50 になっています。これは Mew4 の scan の方法でいうと、一通ごとに 50msec の wait が入ることを示すので、値を小さくすれば scan も速くなります。

試しに 700通の folder で scan 時間を実験すると、

  • (setq w32-pipe-read-delay 50) => 65.0秒
  • (setq w32-pipe-read-delay 25) => 41.0秒
  • (setq w32-pipe-read-delay 15) => 27.4秒
  • (setq w32-pipe-read-delay 10) => 13.9秒
  • (setq w32-pipe-read-delay 5) => 13.8秒
  • (setq w32-pipe-read-delay 1) => 14.0秒
  • (setq w32-pipe-read-delay 0) => 5.5秒

となります。

しかし、w32-pipe-read-delay は Meadow が start-process で起動するすべての process で共通の変数なので、値を小さくしすぎると他に悪影響を与えます。そのため OS やマシンスペックを加味していくつにするか決めないとならないため、Mew は設定値を変えません。0 にしたら Win2k で ange-ftp がまったく動かなくなった人も二人ほどいますので、注意!!

POP3で+inboxに取込み中のメールをウィルス対策ソフトが消去するとエラーになる

pop3で+inboxに取込み中のメールがウィルスに感染しており、PC上のウィルス対策ソフトが ウィルス部分だけを除去することができないためにメール1通全体をリアルタイムに消去すると、 mewは

error in process filter: Doing chmod : no such file or directory, d:/cygwin/home/foo/Mail/inbox/3

のような表示を出して止まってしまいます。この場合、以下の操作で回復できます。

  • C-c C-f でメールの取込みを一旦中止する
  • g $inbox でリモートフォルダへ移動する
  • C-u s all でヘッダだけをとってくる
  • 既に読み込んだメール(上記の例では1と2)とウィルスに感染したメール(3)を d する
  • x でPOPサーバから消去する

日本語でメール本文の検索

mew-summary-grep-mark や mew-summary-virtual-with-external により、日本語でメール本文の検索をするための説明をします。

手順の概略は次の通りです。順番に説明します。

  • Perl(Active Perl)のインストール
  • jcode.plのインストール
  • mgの編集とインストール
  • .mew.elの編集

1. Perl(Active Perl)のインストール

まず、mg を使用するために必要な Perl のインストールを行います。
http://www.activestate.com/Products/ActivePerl/ から、Active Perl のインストーラ(MSIファイル)を入手します。 現時点(2005年2月26日)での最新版は、5.8.6.811 と 5.6.1.638 となっています。 インストーラ(MSIファイル)をダブルクリックすると、インストールが始まります。 表示(英語)に従って作業して下さい。 Windows 95などの場合には、ここでPCの再起動が必要かもしれません。

2. Perl のテスト

ここで、正常に Perl がインストールされているかどうかのテストを行います。
正常にインストールされた場合、コマンドPATHも適切に設定されているはずです。 コマンドプロンプトを開いて

perl -v(Enter)

とタイプしてください。バージョンや著作権に関する情報が表示されれば正常 です。

'perl' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と表示されてしまう場合は、なんらかの異常が発生しています。 プログラムファイルがインストールされているか、環境変数PATHは適切か、な どを確認してください。

3. jcode.plのインストール

mgを使用するために必要な jcode.pl という日本語文字コード変換ライブラリーをインストールします。 http://www.srekcah.org/jcode/ から、例えば jcode.pl-2.13(2005年2月26日時点での最新版)を入手します。 入手したファイルの名前を jcode.pl に変えて、Active Perl をインストールしたフォルダの下の site\lib にコピーします。 例えば、Active Perlをインストールしたフォルダが C:\Perl である場合には、C:\Perl\site\lib の中に jcode.pl をおきます。

4. mgの編集とインストール

次に、mgをインストールします。
http://www.srekcah.org/~utashiro/perl/scripts/mg/ から、例えば、 mg-2.26(2005年2月26日時点での安定版の最新版)を入手します。
入手したファイルの名前を mg に変えます。
次に、mgをMeadowで編集し、1行目の

#!/usr/local/bin/perl

#!C:/Perl/bin/perl.exe

などと書き換えます。 『C:\Perl』の部分はActive Perlをインストールしたフォルダ名に置き換えてください。 書き換えた mg を適当なフォルダにコピーします。 PATHが設定してあるフォルダならどこでも良いです。 例えば、C:\Perl\bin でも良いです。 あるいは、Meadow本体があるフォルダ、例えば、C:\Meadow\2.00\bin におくことも可能です。

5. mgのテスト

mgが正常に動作するかどうかをテストします。
コマンドプロンプトを開き、メールのファイルがあるフォルダへ移動します。例えば

c:(Enter)
cd \home\mail\inbox(Enter)

次にオプションを全く指定せずに mg を起動します。

perl c:\meadow\2.00\bin\mg(Enter)

正常な場合、

usage: mg [ -options ] pattern [ file... ]

のように mg の使用方法が表示されます。
次に、日本語検索のテストを行います。

perl c:\meadow\2.00\bin\mg -j jis -l -e -x "&mime" -i -R ほげ .(Enter)

正常な場合、

./13
./6
./66

などと、「ほげ」という文字を含んでいるファイルの名前が出力されます。しかし、ここで

Can't locate jcode.pl

などと表示される場合には、jcode.pl が適切にインストールできていないことを意味しています。確認してやり直して下さい。

6. .mew.elの編集

.mew.elを編集します。.mew.elに以下を追加してください。

; pick with japanese (Perl is required).
(setq mew-prog-grep "mg")
(setq mew-prog-grep-opts '("-j" "jis" "-l" "-e" "-x" "&mime" "-i"))
(setq mew-prog-vgrep mew-prog-grep)
(setq mew-prog-vgrep-opts mew-prog-grep-opts)

以上です。
Mewを起動し、適当なフォルダを開き、' を押して、ほげ(Enter)して下さい。
いくつかのメールに * が付けば正常です。

Mew+GnuPG その1

素のGnuPGを使った場合、署名あるいは復号化しようとすると、パスフレーズの入力で止まってしまいます。
解決方法としてはパッチが当てられた特殊なGnuPGを使うという方法があるのですが、GnuPGがバージョンアップされる度に対応する必要があります。
ここではGnuPGそのものは素のものを使い、GnuPG Agentと呼ばれるツールを用いた別解を説明します。
まず、http://winpt.sourceforge.net/en/download.php より、GPG Agent for Win32を入手してください。現時点(2005年2月27日)での最新版は 0.1.0 です。(上記サイトでは『WinPT Passphrase Agent - 1.0』と書かれているものです)
入手したファイルを展開して得られるプログラムファイル WinGPGA.exe と killagent.exe をPATHの通った適当なフォルダへコピーしてください。例えば、GnuPGのプログラムファイルと同じフォルダに置くのも良いでしょう。
次に、.mew.elを編集します。

(setq mew-prog-pgp "gpg")
(setq mew-prog-pgpd-arg '(("") ("") ("") ("--use-agent" "--decrypt"))
      mew-prog-pgps-arg '(("") ("") ("") ("--use-agent" "--detach-sign" "--armor" "--status-fd" "1")))

Mew上で署名あるいは復号化する場合には、事前に WinGPGA.exe を実行しておく必要があります。パスフレーズの入力が必要な場合には、WinGPGA.exe のダイアログが開きキー入力を求められるのですが、ダイアログが他のウィンドウに隠れて気付かない場合があるので、注意が必要です。
また、必要な時のみ WinGPGA.exe を起動し、不要になれば killagent.exe を実行して WinGPGA.exe を停止するのがセキュリティー上正しい運用です。
推奨しませんが、鍵のかかった個室で常に個人で使用しているPCであるならば、スタートアップを利用して WinPGPA.exe を自動的に起動しておく、という運用も可能です。

(このFAQはNakagawa Yasuharuさんのhttp://www.mew.org/ml/mew-win32-2.0/msg00387.htmlを書き直したものです)

注意 現時点(2006年5月24日)で GnuPG の安定版の最新版は 1.4.3 ですが、このバージョンでは --use-agent オプションが無効になっているようです。少なくとも 1.4.1 なら動作することは確認できていますので、利用時には注意してください。


Mew+GnuPG その2

必要な時だけ WinGPGA.exe を起動し、不要になれば WinGPGA.exe を停止するという mew-win32-gpg-agent Tool Kit もあります。
http://www.meadowy.org/~shirai/elips/mew-win32-gpg-agent.tar.gz を入手して、Readme を読んでください。Windows 版の GnuPG をインストールして、なにか X-Mew: が変とか動かないというときは、GnuPG が日本語でメッセージを出力している可能性が高いのですが、そのときもどうぞ。

Mew+GnuPG その3

Madow 3.00-dev (Revision 4012) + fakecygpty.exe + gnupg-1.4.2 + cygwin-1.5.18 で、GnuPG Agent なしで GnuPG が使えます。
まず、cygwin-1.5.18、Meadow 3.00-dev、fakecygpty.exe をインストールします。
次に、gnupg-1.4.2.tar.bz2 を入手して cygwin-1.5.18 で make します。
configure に指定したオプションは --disable-nls です。
cygwin-1.5.18 の gnupg-1.4.1 でも動きます。
最後に .emacs と .mew.el を編集します。

.emacs

(setq mw32-process-wrapper-alist
     '(("/\\(ssh\\|bash\\|tcsh\\|gpg[esvk]?\\)\\.exe" .
	 (nil . "fakecygpty.exe"))))

.mew.el

(setq mew-prog-pgp "gpg")

"Opening input file: no such file or directory, c:/ほげほげ/Mew.png" というエラー

Q. M-x mew とすると、"Opening input file: no such file or directory, c:/ほげほげ/Mew.png" と怒られて、Mewが起動しませんでした。Meadow 2を使っています。

A. 次のようにしてください。
MEW41W0.ZIPなどを展開して得られるetcフォルダ(中にMew.pngなどが入っているフォルダ)を例えば、C:\Meadow\site-lisp\mew の下にコピーします。
さらに .emacs に次の行を追加します。

(setq mew-icon-directory "c:/meadow/site-lisp/mew/etc")

Mew 4.2およびそれ以降のバージョンでは、etcフォルダのコピーだけで良く .emacs の編集は不要です。

日本語のメニュー、使いたいのですが… (こっそり)

Q. 大変恥ずかしいのですが、コマンドが覚えられません。『クリック猿』と呼ばれても良いです。どうしても日本語のメニューが使いたいのです。すいませんがこっそり教えてください。

A. 「どうしても」とおっしゃるなら次のようにして下さい。
北口さんのmew-menu-ja-2.2.elというのがあります。
ftp://ftp.mew.org/pub/Mew/Win32/old/mew-menu-ja-2.2.el.gz を入手してください。
次に、gunzipして mew-menu-ja-2.2.el に戻して下さい。
mew-menu-ja-2.2.el を C:\Meadow\site-lisp の下にコピーします。(C:\Meadow\site-lisp\mew の下に置くとMewのバージョンが変わるたびに再度コピーしなければならないので、C:\Meadow\site-lisp の下を推奨します)
.emacs に次の行を追加してください。

(load "mew-menu-ja-2.2" t)

注意 mew-menu-ja-2.2.el は Mew 2.2 用に作られているファイルです。他のバージョンでは完璧には動作しませんが、結構使えています。気になる人は自分で編集しましょう。

* Mewのコンテンツ

最新の20件

2020-03-02 2014-10-06 2014-07-25 2014-07-17 2014-07-03 2013-11-23 2009-10-30 2009-06-11 2009-04-10 2009-01-31 2008-12-16 2007-09-18 2006-11-13 2006-05-24
  • Windows(Meadow)FAQ
2005-09-24

人気の10件

  • counter: 49600
  • today: 2
  • yesterday: 0
  • online: 1