[mew-dist 27459] Re: mewest for Windows
KIMURA Yasuhiro
yasu at example.com
2006年 11月 4日 (土) 13:05:30 JST
From: KIMURA Yasuhiro <yasu at example.com>
Subject: [mew-dist 27458] mewest for Windows
Date: Fri, 03 Nov 2006 22:02:24 +0900 (JST)
> ところが日本語キーワードで検索すると、どんなキーワードを指定しても何も
> 引っかかってきません。UnixやMacだと日本語キーワードでもちゃんと検索で
> きているようなのに、Windowsだと駄目というのは悲しいです。
> なんとなく文字コードの問題のように思えるのですが、EmacsLispもperlも
> Hyper Estraierも詳しくないので、どこに問題があるのか切り分けが出来ず、
> お手上げ状態になってしまいました。
これですが、meadow-users-jp MLで以下のような話を見付けました。
http://www.ysnb.net/meadow/meadow-users-jp/2006/msg00055.html
試しにmew-search.elを以下のように変更してみたところ、日本語キーワード
でも検索できるようになりました。
しかしながら、UTF8での引数渡しで正常に検索できている、UnixやMacの環境
では、この変更は機能のdegradeになってしまいます。
そこで、
* デフォルトは引数をUTF8で渡す
* フラグがtに設定されていたら、引数をShift JISで渡す
というふうにして頂けないでしょうか。
--- mew-search.el.orig 2006-10-24 16:31:50.000000000 +0900
+++ mew-search.el 2006-11-04 07:41:45.600272600 +0900
@@ -537,10 +537,10 @@
(defvar mew-prog-est-update "mewest")
(defun mew-search-est (pattern path filter)
- (setq pattern (mew-cs-encode-string pattern 'utf-8))
+ (setq pattern (mew-cs-encode-string pattern 'shift_jis))
(if (string= filter "")
(setq filter nil)
- (setq filter (mew-cs-encode-string filter 'utf-8))
+ (setq filter (mew-cs-encode-string filter 'shift_jis))
(setq filter (mew-pick-parse (mew-pick-lex filter)))
(setq filter (mapcar 'mew-pick-filter-est-kyvl filter)))
(let* ((ent (mew-search-get-ent mew-search-method))
@@ -556,7 +556,7 @@
(setq attr (format "@uri STRINC %s" (mew-q-encode-string path ?%)))
(if (string-match "^ *ANDNOT " pattern)
(setq pattern (concat "[UVSET] " pattern)))
- (setq args (list "-vu" "-max" "-1" "-ord" "@cdate NUMA" casket pattern))
+ (setq args (list "-ic" "SJIS" "-vu" "-max" "-1" "-ord" "@cdate NUMA" casket pattern))
(setq filter (nreverse filter))
(while filter
(setq args (cons "-attr" (cons (car filter) args)))
---
木村 康浩
Mew-dist メーリングリストの案内