[mew-win32 4384] Re: 拡張子
INOUE Tomohiro
ml at example.com
2006年 4月 21日 (金) 10:55:29 JST
井上です。
Kazu Yamamoto (山本和彦) <kazu at example.com> wrote:
> WDS 用の関数を定義しておきました。
>
> wdsgrep.exe のみインストールされていれば、自動的にそれが選ばれます。
> 明示的に選びたい場合は、"kc" で 'wds とするか、
> (setq mew-search-method 'wds)
> として下さい。
ありがとうございます!
現状の wdsgrep にあうように、関数を少し修正しました(添付パッチ)。
wdsgrep の方も、"kM" が働くように更新しています。
http://ext.noue.org/ext/src/wdsgrep-latest.zip
これで Mew の中だけで一通りの動作が完結するようになったと思います。
ここで改めて手順を書いおきます。
- Windows Desktop Search, .NET Framework, wdsgrep.exe をそれぞれインストール
- Mew の設定で (setq mew-use-suffix t) とする
場合によっては (setq mew-search-method 'wds) も
- Mew から "kM" (一度だけ) → バックグラウンドでインデックス作成
- "k/" や "k?" で検索
ただし、新規ではないメールを検索対象にするには、各フォルダ上で "s all"
してメールに ".mew" を付けてやる必要があります。
ほんとはこれをやってくれるスクリプトが欲しいところが、Windows の
コマンドプロンプト (cmd.exe) でやろうとすると、結構面倒ですね。
> > また、現状だと "k?" が +folder では動くんですが、%folder だと動かない
> > ようです。これは後で調べてみて修正します。
>
> 僕の環境では、%folder でも、なぜかちゃんと動いています。:-)
その後、私の環境でも動きました。
どうやらインデックスが不完全な状態で試していたようです。
-- 井上 知洋
-------------- next part --------------
Index: mew-search.el
===================================================================
RCS file: /cvsmew/mew/mew-search.el,v
retrieving revision 1.19
diff -u -r1.19 mew-search.el
--- mew-search.el 18 Apr 2006 04:59:18 -0000 1.19
+++ mew-search.el 20 Apr 2006 11:28:44 -0000
@@ -422,11 +422,11 @@
;;;
(defun mew-search-wds (pattern path)
- (setq pattern (mew-cs-encode-string pattern 'shift_jis))
+ (setq pattern (mew-cs-encode-string pattern w32-system-coding-system))
(let* ((ent (mew-search-get-ent mew-search-method))
(prog (mew-search-get-prog ent)))
(mew-plet
- (call-process prog nil t nil "-m" "-p" path "-s" "-q" pattern))))
+ (call-process prog nil t nil "-e" mew-suffix "-p" path "-s" pattern))))
(defun mew-search-with-wds (pattern folder)
(let* ((path (mew-expand-folder folder))
@@ -467,34 +467,29 @@
(list file rttl)))
(defun mew-wds-index-folder (folder)
- "Make WDS index for this folder."
+ "Make WDS index for all folders."
(interactive)
- (let* ((ent (mew-search-get-ent mew-search-method))
- (prog (mew-search-get-prog ent)))
- (start-process prog nil prog "-m" "-i" (mew-expand-folder folder))
- (message "WDS indexing for %s in background..." folder)))
+ (mew-wds-index-all))
(defun mew-wds-index-all ()
"Make WDS index for all folders."
(interactive)
(let* ((ent (mew-search-get-ent mew-search-method))
(prog (mew-search-get-prog ent)))
- (start-process prog nil prog "-m" "-r" "-i" (mew-expand-folder "+"))
+ (start-process prog nil prog "-R" (format "%s=%s" mew-suffix ".eml"))
(message "WDS indexing for all folders in background...")))
(defun mew-wds-register ()
- "Register WDS component"
+ "Register '.mew' to WDS"
(interactive)
- (message "Registering WDS component...")
- (call-process mew-prog-wds nil nil nil "-R")
- (message "Registering WDS component...done"))
+ (message "Registering suffix '%s' to WDS..." mew-suffix)
+ (call-process mew-prog-wds nil nil nil "-R" (format "%s=%s" mew-suffix ".eml"))
+ (message "Registering suffix '%s' to WDS...done" mew-suffix))
(defun mew-wds-unregister ()
- "Unregister WDS component"
+ "Unregister '.mew' from WDS"
(interactive)
- (message "Unregistering WDS component...")
- (call-process mew-prog-wds nil nil nil "-U")
- (message "Unregistering WDS component...done"))
+ (message "This command cannot be used"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
Mew-win32 メーリングリストの案内