[Mew-dist 15374] Re: Multi vs. Review

Shun-ichi GOTO gotoh at example.com
2000年 12月 12日 (火) 03:55:50 JST


>>>>> at Tue, 12 Dec 2000 02:16:24 +0900
>>>>> 木下 == Tatsuya Kinoshita <tatsuyak at example.com> said,

木下> mdなどの処理の対象にならない、長期的なreview用マークが必要なら、そ
木下> のためのマーク、たとえば重要マーク(`$')を新設してほしい。

同意見です。
'@'や'*' の意味を変えても使い勝手はあまり上がらないような気がしています。
それよりは新しいマークを、と思う。

ところで、マークを新設する/しないにかかわらず、review以外のマークを
渡り歩く術を考えてみます。

現在の 'N' や 'P' の動作をちょっと変えてみるというのはどうでしょうか。通
常、'N'と'P'はreview マーク'*'を渡り歩きますが、ある手順で、その渡り歩く
マークを切り替えるというもの。たとえば'@'を指定すれば'@'を渡り歩き、'D'
を指定すれば'D'を、'o'を指定すれば'o'を、'N'や'P'で渡り歩けるようにする。
つまり、基本的にマークのカラムのものであればなんでも指定可能とする。

切り替え操作の例としては操作としては C-u N や C-u P で着目するマークを問
い合わせ、切り替えが行われると同時に、ジャンプする。そして以降はそのマー
クを'N'や'P'で渡り歩くというもの。 具体的なキー操作は C-u N * や C-u N @
などとなる。

そういうパッチを作ってみましたので、操作感を試してみてはいかがでしょうか。
C-u N あるいは C-u P をお試しください。
現在のマークは 変数mew-mark-to-walk にグローバルに保持されます。

マーク新設の際にも有効かと。

# というか、ある意味、マークは任意でも良いとも考える。
# さすがに '1', '2', '3' とかはダメだけど、重要度に応じて'A','B','C' 
# とかいうのもアリでしょう。Mewにおいて意味を持つもの以外を許容しても
# よさげに思う。

### できればmode-lineに現在の着目マークを表示したいところだが。。。


Index: mew-mark.el
===================================================================
RCS file: /Master/mew-1.95/mew-mark.el,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 mew-mark.el
--- mew-mark.el	2000/12/06 04:20:58	1.1.1.4
+++ mew-mark.el	2000/12/11 18:33:38
@@ -630,6 +630,15 @@
 ;;; Reviewing
 ;;;
 
+(defvar mew-mark-to-walk ?*)
+
+(defun mew-ask-walk-mark ()
+  (let ((mark (read-char "Enter mark character to walk over: ")))
+    (if (null (assq mark mew-mark-spec))
+	(error "Unknown mark")
+      (setq mew-mark-to-walk mark)
+      (message "Walking over '%c' mark" mark))))
+
 (defun mew-summary-down-mark (mark)
   (forward-line)
   (cond 
@@ -641,10 +650,11 @@
     (message "No more marked message")
     nil)))
 
-(defun mew-summary-display-review-down ()
+(defun mew-summary-display-review-down (arg)
   "Jump to the message marked with '*' below."
-  (interactive)
-  (if (mew-summary-down-mark mew-mark-review)
+  (interactive "P")
+  (if arg (mew-ask-walk-mark))
+  (if (mew-summary-down-mark mew-mark-to-walk)
       (mew-summary-display nil)))
 
 (defun mew-summary-up-mark (mark)
@@ -655,10 +665,11 @@
     (message "No more marked message")
     nil)))
 
-(defun mew-summary-display-review-up ()
+(defun mew-summary-display-review-up (arg)
   "Jump to the message marked with '*' above."
-  (interactive)
-  (if (mew-summary-up-mark mew-mark-review)
+  (interactive "P")
+  (if arg (mew-ask-walk-mark))
+  (if (mew-summary-up-mark mew-mark-to-walk)
       (mew-summary-display nil)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


--- Regards,
 Shun-ichi Goto  <gotoh at example.com>
   R&D Group, TAIYO Corp., Tokyo, JAPAN



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