[mew-dist 27425] Re: Hyper Estraier

Tatsuya Kinoshita tats at example.com
2006年 10月 24日 (火) 00:30:45 JST


On October 23, 2006, [mew-dist 27424],
kazu (at iij.ad.jp) wrote:

> Hyperestraier のみ 2 回訊くようにしました。
> 
> 1) キーワードを入れる
> 	「キーワード」
> 2) 絞り込みの条件を入れる
> 	「from=kazu subject=foo」
> 	絞り込まない場合は、単に RET

ありがとうございました。概ね良さそうです。

[mew-dist 27259](2006-08-27)からの残りをパッチにしておきます。

* "=", "!="では大文字小文字を区別しないように
* "==", "!=="対応
* head対応 (mew-pick-filter-est-head-fields)
* キーワード先頭での"!"対応 ("ANDNOT mew-dist" -> "[UVSET] ANDNOT mew-dist")

あと、パッチにはしていませんが、field=valueの形になっていないと、
mew-pick-filter-est-kyvlの(nth 0 kyvl)でwrong-type-argumentエラーになる
ことに気づきました。

----
--- mew.orig/mew-pick.el
+++ mew/mew-pick.el
@@ -652,16 +652,22 @@
 (defun mew-pick-pattern-est-kyvl  (kyvl)
   (error "'%s' is not supported" kyvl))
 
+(defvar mew-pick-filter-est-head-fields "date,subject,from,to,cc,resent-from,resent-to,resent-cc,reply-to,mail-followup-to,x-mail-count,x-ml-count,x-ml-name,x-seqno,x-sequence,mailinglist-id,message-id,in-reply-to,references,newsgroups,followup-to")
+
 (defun mew-pick-filter-est-kyvl (kyvl)
   (let ((op (nth 0 kyvl))
  	(ky (nth 1 kyvl))
-	(vl (nth 2 kyvl))
-	ret)
-    (setq ret (cons vl ret))
+	(vl (nth 2 kyvl)))
+    (if (string= ky "head")
+	(setq ky mew-pick-filter-est-head-fields))
     (cond
      ((string= op "=")
+      (setq op "ISTRINC"))
+     ((string= op "==")
       (setq op "STRINC"))
      ((string= op "!=")
+      (setq op "!ISTRINC"))
+     ((string= op "!==")
       (setq op "!STRINC"))
      (t
       (error "'%s' is not supported" op)))
--- mew.orig/mew-search.el
+++ mew/mew-search.el
@@ -550,6 +550,8 @@
       (setq path (substring path len))
       (setq path (file-name-as-directory path))
       (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 filter (nreverse filter))
       (while filter
----

-- 
木下達也



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