[mew-dist 27518] Re: Mew 5.2 release candidate 2

INOUE Tomohiro ml at example.com
2006年 12月 24日 (日) 09:23:46 JST


こんにちは、井上です。

Release の前にとりいそぎ、、

Mew の検索 (k /) で、あるべき数より少ないファイル数しか引っかからないこ
とがあったので調べてみたところ、サーチコマンドが ^[0-9]+ 以外の名前のファ
イルを拾ってしまうと、そこで検索scanが終了してしまい、結果として検索件
数が少なくなってしまうようです。

例えばサーチコマンド (wdsgrep) が +draft の #1(.mew) などを拾ってしまう
と、それ以降のファイルがコマンドでは探せているのにもかかわらず、Mew の
インタフェースでは検索できない結果になります。

添付パッチで WDS (Windows Desktop Search) 関係に関しては直したつもりで
すが、その他のいくつかの mew-search-virtual-with-* についても同じ問題が
ありそうです。

ついでに、WDS で AND 検索がうまくいっていなかったのでそれもちょっと修正
しました。


P.S.

wdsgrep.exe を WDS 3.0 (on Windows XP) に対応させました。
残念ながら同じ WDS 3 のはずの Vista ではエラーが出て動きません。。
http://ext.noue.org/ext/wdsgrep/

-- 井上 知洋

-------------- next part --------------
--- mew-pick.el.orig	2006-12-05 14:36:03.000000000 +0900
+++ mew-pick.el	2006-12-24 01:02:30.162625000 +0900
@@ -767,7 +767,7 @@
 (defun mew-pick-native-text-wds (token)
   (mew-pick-native-text "mew-pick-pattern-wds-" token))
 
-(defun mew-pick-pattern-wds-and   (sym) "and")
+(defun mew-pick-pattern-wds-and   (sym) "")
 (defun mew-pick-pattern-wds-or    (sym) "or")
 (defun mew-pick-pattern-wds-open  (sym) (error "'(' is not supported"))
 (defun mew-pick-pattern-wds-close (sym) (error "')' is not supported"))
--- mew-search.el.orig	2006-11-07 15:14:46.000000000 +0900
+++ mew-search.el	2006-12-24 01:03:10.756375000 +0900
@@ -477,14 +477,15 @@
 	 crnt)
     (mew-search-wds pattern path)
     (goto-char (point-min))
-    (while (looking-at regex)
-      (setq rttl (1+ rttl))
-      (setq crnt (match-string 1))
-      (delete-region (match-beginning 0) (match-beginning 2))
-      (when (not (string= crnt prev))
-	(beginning-of-line)
-	(insert "CD:" mew-folder-local crnt "\n"))
-      (setq prev crnt)
+    (while (not (eobp))
+      (when (looking-at regex)
+	(setq rttl (1+ rttl))
+	(setq crnt (match-string 1))
+	(delete-region (match-beginning 0) (match-beginning 2))
+	(when (not (string= crnt prev))
+	  (beginning-of-line)
+	  (insert "CD:" mew-folder-local crnt "\n"))
+	(setq prev crnt))
       (forward-line))
     (mew-frwlet
      mew-cs-text-for-read mew-cs-text-for-write


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