[Mew-dist 1287] Re: mew-1.86 & im-46 beta release

Hironori Hironori
1997年 7月 23日 (水) 02:59:55 JST


伊倉です。

In the message...
>> From: Kazu Yamamoto (山本和彦) <Kazu at example.com>
>> Subject: [Mew-dist 1271] mew-1.86 & im-46 beta release
>> Date: Mon, 21 Jul 1997 22:51:50 +0900
>> Message-ID: <19970721225150A.kazu at example.com>

Kazu> (1) mew-sort.el を im-46 に合わせて頂けないでしょうか? > 加藤さん

加藤さんには、確認をとっていないのですが、
とりあえず、簡単にパッチしてみました。

一応、
  mew-1.86/mew.el への patch
  mew-1.86/mew-summary.el への patch
  mew-sort-0.06 の mew-sort.el への patch
という構成にして、送ります。


imsort が  --field=* と、--mode=* の指定に変わったので、
現状では、
  今まで --datefield に渡していたもの
    →  --mode=date
  今まで --textfield に渡していたもの
    →  --mode=text
と、固定でやってます。

現状でも、--mode=num がありますし、将来、
Subject の特殊な取り扱いなどの拡張があったときの
為に、--mode を指定する方法があった方がいいと思うのですが、

  * いつでも、mode も聞いてくる

  * optional-argument で、mode も指定できる

  * field名の後に、例えば、':' や、'/' で区切って、
    modeも指定できる
    (ex.)  subject/text
           x-sequence:num

個人的には、最後の案(':'などで区切って続ける)が気にいってます。
勿論、オプショナルとしておいて、デフォルトでは、
  date は --mode=date に
  それ以外は、--mode=text に
とかしておくのがベターだと思います。
# assoc で 指定できると、もっとベター?

とりあえず、すぐに必要な方は、このパッチを使ってやってください。
--
Hironori Ikura <hikura at example.com>
-------------- next part --------------
--- ../mew-1.86/mew.el	Mon Jul 21 22:28:22 1997
+++ mew.el	Wed Jul 23 01:07:31 1997
@@ -949,6 +949,7 @@
 (require 'mew-refile)
 (require 'mew-ext)
 (require 'mew-fib)
+(require 'mew-sort)
 ;;;
 ;;; End of Mew
 ;;;
-------------- next part --------------
--- ../mew-1.86/mew-summary.el	Mon Jul 21 22:30:43 1997
+++ mew-summary.el	Wed Jul 23 01:06:57 1997
@@ -34,6 +34,7 @@
     ["Refile" mew-summary-refile (equal major-mode 'mew-summary-mode)]
     ["Mark mark" mew-summary-mark-mark t]
     ["Mark hop" mew-summary-mark-hop t]
+    ["Sort marked msgs" mew-summary-mark-sort t]
     ["Undo" mew-summary-undo t]
     ["Undo all" mew-summary-undo-all t]
     ["Execute" mew-summary-exec (equal major-mode 'mew-summary-mode)]
@@ -160,6 +161,7 @@
   (define-key mew-summary-mode-map "mr"   'mew-summary-mark-regexp)
   (define-key mew-summary-mode-map "ma"   'mew-summary-mark-all)
   (define-key mew-summary-mode-map "mu"   'mew-summary-mark-undo-all)
+  (define-key mew-summary-mode-map "mS"   'mew-summary-mark-sort)
   (define-key mew-summary-mode-map "\C-c\C-k" 'mew-summary-kill-subprocess)
   ;;
   (if mew-xemacs-p
@@ -284,6 +286,7 @@
 m*	Change mark \"@\" into mark \"*\".
 m@	Change mark \"*\" into mark \"@\".
 ms	Swap mark \"@\" and \"*\".
+mS	Sort messages whose marks are \"*\".
 
 C-cC-s	Incremental search forward on the message buffer.
 C-cC-r	Incremental search backward on the message buffer.
@@ -1504,28 +1507,28 @@
 ;;; Sorting and Packing
 ;;;
 
-(defun mew-summary-sort ()    
-  (interactive)
-  (let ((folder (buffer-name)))
-    (if (not (mew-summary-exclusive-p))
-	(message "Try later")
-      (mew-mark-clean-up)
-      (if (not (mew-y-or-n-p "Sort %s ? " folder))
-	  ()
-	(setq mew-summary-buffer-process t)
-	(message "Sorting %s ... " folder)
-	(call-process mew-prog-imsort nil nil nil 
-		      (concat "--src=" folder))
-	(message "Sorting %s ... done" folder)
-	(setq mew-summary-buffer-process nil)
-	(let ((buffer-read-only nil)) (erase-buffer))  ;; for update
-	(mew-summary-scan-body mew-prog-imls
-			       'mew-summary-mode
-			       folder
-			       mew-cs-scan
-			       (mew-input-range folder))
-	))
-    ))
+;(defun mew-summary-sort ()    
+;  (interactive)
+;  (let ((folder (buffer-name)))
+;    (if (not (mew-summary-exclusive-p))
+;	(message "Try later")
+;      (mew-mark-clean-up)
+;      (if (not (mew-y-or-n-p "Sort %s ? " folder))
+;	  ()
+;	(setq mew-summary-buffer-process t)
+;	(message "Sorting %s ... " folder)
+;	(call-process mew-prog-imsort nil nil nil 
+;		      (concat "--src=" folder))
+;	(message "Sorting %s ... done" folder)
+;	(setq mew-summary-buffer-process nil)
+;	(let ((buffer-read-only nil)) (erase-buffer))  ;; for update
+;	(mew-summary-scan-body mew-prog-imls
+;			       'mew-summary-mode
+;			       folder
+;			       mew-cs-scan
+;			       (mew-input-range folder))
+;	))
+;    ))
 
 (defun mew-summary-pack ()    
   (interactive)
-------------- next part --------------
--- ../mew-1.85/mew-sort.el	Sat Jul  5 00:41:44 1997
+++ mew-sort.el	Wed Jul 23 02:07:49 1997
@@ -47,14 +47,16 @@
 	  (apply 'call-process mew-prog-imsort nil nil nil
 		 (append
 		  (list (concat "--src=" folder)
-			(concat "--datefield="
-				(if (equal field "date") "date:" field)))
+			(concat "--field="
+				(if (equal field "date") "date:" field))
+			"--mode=date")
 		  msgs))
 	;; textfield
 	(apply 'call-process mew-prog-imsort nil nil nil
 	       (append
 		(list (concat "--src=" folder)
-		      (concat "--textfield=" field))
+		      (concat "--field=" field)
+			  "--mode=text")
 		msgs)))
       (message "Sorting %s by %s ... done" folder field)
       (setq mew-summary-buffer-process nil)


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