[Mew-dist 14334] Re: b64

Ninomiya Hideyuki nin at example.com
2000年 9月 30日 (土) 21:21:47 JST


こんばんは	二宮@お四国 です

二宮 秀幸 は Sat, 30 Sep 2000 09:33:04 +0900 頃に
    Subject:    [Mew-dist 14332] Re: b64
    Message-Id: <20000930.093207.71089344.nin at example.com>
れお> 山本 和彦 様 は Thu, 28 Sep 2000 12:52:03 +0900 頃に
れお>     Subject:    [Mew-dist 14297] utashiro special
れお>     Message-Id: <20000928.125000.78749282.kazu at example.com>
れお> かず> (3) Summary モードで M-n を押すと、"*" のついているメールを
れお> かず>     ASIS で表示し、keyword をハイライトします。M-n と押し
れお> かず>     続けると、次々に希望の箇所が読めるようになっています。
れお> かず> 
れお> かず>     keyword には、pick&grep の引数が利用されます。明示的に
れお> かず>     変えたい場合は、C-u M-n して下さい。
れお> 
れお> この、M-n の機能について疑問点が有ります。
れお> 
れお> (1) '?' --> pick pattern: to=mew-dist
れお>     としてから 'M-n' すると、keyword に "to=mew-dist" と
れお>     いうのが入ります。

れお>	  pick pattern を keyword に入れる際に(上記例の場合)
れお>     "to=" を削除して "mew-dist" だけを入れるようにした方が
れお>     良いと思います。

れお> (2) いったん * mark を消し、pick or grep しなおした際。
れお>     keyword に新しい pick or grep pattern が入らずに、
れお>     以前の keyword のままである。
れお>     pick or grep しなおした際には、keyword を新しい
れお>     pattern に変更すべきだと思います。

上記2点についてちょっとやってみました。最後にパッチ附けときます。

おまけとして

れお>     出来れば、pick 後には 'M-n' で(上記の例の場合) To: の
れお>     mew-dist だけがハイライトされたりする方が良いように思い
れお>     ますが、ちょっと大変そうですねっ、

こっちもちょっとやってみました。変数のセットで動作を切替えられます。

(setq mew-pick-pattern-conv-type-regexp t) すると、

pick pattern "to=mew-dist" --> mew-summary-buffer-find-keyword "^to:.*mew-dist"
                                                                ↑ちょっと
となり、 						          不十分...

(setq mew-pick-pattern-conv-type-regexp nil) だと、

pick pattern "to=mew-dist" --> mew-summary-buffer-find-keyword "mew-dist"

となります。default は nil としています。

# keyword として regexp 指定した場合のハイライト表示がマッチした範囲と
# 一致しないですねぇ ... regexp 指定自体が反則でしょうか ?
---
ICQ UIN:57442553                          二宮 秀幸@愛媛 鬼北 広見町
PGP-Fingerprint:  6C59 EC08 5B23 6490 44D0  7CD3 DA40 219F 7114 8553
PGP-Public-Key:    http://user.shikoku.ne.jp/~nin/pgp/public-key.txt
mailto:nin at example.com   http://user.shikoku.ne.jp/~nin/index.html
mailto:nin at example.com http://home.jp.freebsd.org/~nin/index.html

Index: mew-pick.el
===================================================================
RCS file: /tmp/am/od/cvs/mew/mew-pick.el,v
retrieving revision 0.2
diff -c -r0.2 mew-pick.el
*** mew-pick.el	2000/09/29 14:09:39	0.2
--- mew-pick.el	2000/09/30 11:40:50
***************
*** 23,30 ****
  	 msgs)
       (message "Picking messages in %s ..." folder)
       (if arg
! 	 (setq msgs (mew-summary-pick-with-external folder pattern))
!        (setq msgs (mew-summary-pick-with-imls folder pattern)))
       (message "Picking messages in %s ... done" folder)
       (if (null msgs)
  	 (message "No message to be marked.")
--- 23,34 ----
  	 msgs)
       (message "Picking messages in %s ..." folder)
       (if arg
! 	 (progn
! 	   (setq msgs (mew-summary-pick-with-external folder pattern))
! 	   (setq mew-summary-buffer-find-keyword pattern))
!        (setq msgs (mew-summary-pick-with-imls folder pattern))
!        (setq mew-summary-buffer-find-keyword
! 	     (mew-pick-pattern-to-keyword pattern)))
       (message "Picking messages in %s ... done" folder)
       (if (null msgs)
  	 (message "No message to be marked.")
***************
*** 39,44 ****
--- 43,56 ----
         (set-buffer-modified-p nil)
         (message "Marking messages ... done")))))
  
+ (defvar mew-pick-pattern-conv-type-regexp nil)
+ 
+ (defun mew-pick-pattern-to-keyword (pattern)
+   (let ((split-pattern (split-string pattern "=")))
+     (if mew-pick-pattern-conv-type-regexp
+ 	(concat "^" (nth 0 split-pattern) ":.*" (nth 1 split-pattern))
+       (nth 1 split-pattern))))
+ 
  (defun mew-summary-pick-with-imls (folder pattern)
    "A function to pick messages matched to PATTERN wigh 'mewls'."
    (let (msgs)
***************
*** 118,124 ****
      (if (or arg (not (stringp key)))
  	(progn
  	  (setq key (read-string
! 		     "Keyword: " (or (car mew-input-pick-pattern-hist) key)))
  	  (setq mew-summary-buffer-find-keyword key)))
      (cond
       ((and (equal mew-mark-review mark)
--- 130,138 ----
      (if (or arg (not (stringp key)))
  	(progn
  	  (setq key (read-string
! 		     "Keyword: "
! 		     (or (mew-pick-pattern-to-keyword (car mew-input-pick-pattern-hist))
! 			 key)))
  	  (setq mew-summary-buffer-find-keyword key)))
      (cond
       ((and (equal mew-mark-review mark)



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