mew-prog-grepとしてのgrepleの使い方

258 views
Skip to first unread message

Toshihide SAITOU

unread,
Jan 26, 2017, 3:45:23 AM1/26/17
to Mew ユーザ
こんにちは.

mew-prog-grepとしてmgを使っていたのですが,perlのバージョンの関係か動かなくなったのでgreple(*1)を使ってみました.

  (setq mew-prog-grep "~/Bin/greple-master/greple")
  (setq mew-prog-grep-opts '("--icode=guess" "-l" "-i" "-e"))

ただ,メールの検索では,入力フィルタとして別のプログラムと連携しないと充分ではないようです.既にmew-prog-grep用にgrepleを使われている方がみえれば,どのようにお使いか教えていただけるでしょうか?

(*1) https://github.com/kaz-utashiro/greple/blob/master/README.md

mikihiko

unread,
Mar 22, 2017, 1:47:02 AM3/22/17
to Mew ユーザ

greple (7.1 2017/03/06 03:29:33) を ubuntu 16.04.2 LTS の mew (ただし自分で build した emacs 25.1.1 と mew 6.7) から使うために greple のセットアップをしてみました。

    (setq mew-prog-grep "/usr/local/bin/greple")
    (setq mew-prog-grep-opts '("-i" "--nocolor" "--icode=guess"))

で動くと思ったらそのままでは動かなかったのですが、
  1. mew が greple を呼びだすときの検索パターンを eucJP で出しているのでシェルスクリプトを一段かまして utf8 にしてから本物の greple に渡す
  2. greple は --nocolor をつけていてもファイル名を緑で表示するエスケープシーケンスがついてしまうので、--nocolor の時にはやめるようにする

ようにしたら使えるようになりました。1 つ目は mew が utf8 で出す方法か greple が eucJP で受ける方法がわかればシェルスクリプトは不要なのですが、すぐにはわかりませんでした (どなたかわかりますでしょうか?)


2 つ目は、greple 本体に以下のように追加してます。


my %colormap = (
    FILE     => "G",
    LINE     => "Y",
    BLOCKEND => "",
    );


のあとに


#+ begin
if ($opt_color eq 'never') {
  $colormap{FILE} = "";
  $colormap{LINE} = "";
}
#+ end


他には、push on reference is experimental at ... というメッセージが出てくるのですが、これは問題にならないようです。


Reply all
Reply to author
Forward
0 new messages