[Mew-dist 14364] Re: b64

utashiro at example.com utashiro at example.com
2000年 10月 3日 (火) 21:29:35 JST


From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
Subject: [Mew-dist 14352] Re: b64
Date: Tue, 3 Oct 2000 14:31:37 +0900

> > * "C-u ?" で外部コマンドが呼べる。デフォルトは grep。
> >   以下のようにすれば、日本語の検索も OK。
> > 	(setq mew-prog-grep "mg")
> > 	(setq mew-prog-grep-opts '("-j" "jis" "-l" "-e"))
> >   augments は mew-cs-database-for-encoding をもとに符号化するので、
> >   このコマンドは文字コードには依存していません。
> 
> 手持ちの Emacs で
> 
> (setq mew-prog-grep "mg")
> (setq mew-prog-grep-opts '("-j" "jis" "-l" "-x" "&mime" "-e"))
> 
> としてみたときの日本語検索の結果です。関係ないと思うのですが、()
> の中は default-coding-system です。

> という風に文字コードには依存しないのですが、OS や Emacsen には依
> 存してしまいます。^^;;;

に対する回答ではありませんが、効率を考えると EUC で検索した方が多分速
いのではないかと思います。

mg に、たとえば -z 'nkf -e' とオプションを与えると、検索する前に nkf 
で EUC にコード変換をします。(windoze は知りません)

# おっと、こうすると -x '&mime' の方が後で評価されるので、そこだけ JIS 
# になってしまう。この場合は、そこまで外部コマンドで面倒みてもらいましょ
# う。-m でできる nkf もあるみたいですね。

JIS で検索するときには、特に長い文字列を与えると非常に複雑な正規表現に
変換されます。それに比べると nkf の負荷の方がかなり小さいと思います。

どういう表現に変換されるかを見たい時には -dm を指定してください。

改行に関係なく単純に文字列として検索するのであれば、-E を指定します。
この場合、指定した文字列は正規表現として解釈されてしまうので、メタ文字
はエスケープする必要があります。mew での検索では、どうせ改行は意識しな
いので、こちらの方が動作の一貫性はある。

--utashiro



Mew-dist メーリングリストの案内