[Mew-dist 694] Re: mew-expand-file-name & reedit/redist

OKUNISHI Fujikazu fuji0924 at example.com
1997年 3月 15日 (土) 22:18:44 JST


>>>>> "Sat, 15 Mar 1997 14:58:58 +0900" に発信されたメッセージ
>>>>> <19970315145858S.fuji0924 at example.com> にて
>>>>> "僕" == OKUNISHI Fujikazu <fuji0924 at example.com> が仰るには..

僕> mew-expand-file-name で rename を展開するまでに予め rename をフルパス
僕> に展開してやれば、(mew-expand-file-name MSG &optional BUFFER-OR-NAME)
僕> の第2引き数を必要としないのですから、この方向で洗練させて戴けないでしょ
僕> うか?
僕> #僕のは不細工ですので。(^^;

またいじってまいました。(^^; 1.64 オリジナルからの差分なので Virtual
mode の OS/2 パッチも入ってます。mew-summary-edit-agein の処理が抜けて
たのも修正してみました。

#make-symbolic-link を defalias するのは副作用が恐いという意見を受け
#まして、OS/2 Mule の開発者も実装方法を暫く保留させて欲しいとの意見で
#したので、copy-file を復活させています。

#それと Mew が MH から完全独立して Meadow でも動作可能になった時の布
#石として(でも msgchk とか folders とか mhpath とか数多くあるコマン
#ドにも互換スクリプトが必要だけど誰が全てを網羅するのだろうか :-)
#	(eq system-type 'OS/2)
#でなく、
#	(memq system-type '(OS/2 windows-nt)) ;; mule-win32 or Meadow
#としておいたほうがいいかもしれませんね。もっとも、今の Win32版は非
#公開のα版みたいな出来映えなのでまだまだ先の話でしょうが。

-------------- next part --------------
--- mew-summary.el.orig	Fri Mar 14 21:16:04 1997
+++ mew-summary.el	Sat Mar 15 21:02:58 1997
@@ -335,7 +335,8 @@
    ((equal major-mode 'mew-virtual-mode)
     (save-excursion
       (beginning-of-line)
-      (if (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\n")
+      (if (or (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\n")
+              (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\r\n")) ;; OS/2
 	  (mew-match 1)
 	nil
 	)))
@@ -369,7 +370,8 @@
    ((equal major-mode 'mew-virtual-mode)
     (save-excursion
       (beginning-of-line)
-      (if (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\n")
+      (if (or (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\n")
+              (looking-at ".*\r \\(\\+.*\\) \\(.*\\)\r\n")) ;; OS/2
 	  (mew-match 2)
 	nil)))
    (t nil)
@@ -1423,12 +1425,14 @@
 	     ((or part (not (equal fld mew-draft-folder)))
 	      (setq rename (mew-draft-get-new)))
 	     (t 
-	      (setq rename msg))
+;	      (setq rename msg))
+	      (setq rename (mew-expand-file-name msg mew-draft-folder))) ;; fuji
 	     )
 	    ;; prepare draft file
 	    (switch-to-buffer 
 	     (find-file-noselect 
-	      (mew-expand-file-name rename mew-draft-folder)))
+;	      (mew-expand-file-name rename mew-draft-folder)))
+	       rename))  ;; fuji
 	    (cond
 	     (part
 	      (insert-buffer-substring
@@ -1489,12 +1493,14 @@
 	     ((not (equal fld mew-draft-folder))
 	      (setq rename (mew-draft-get-new)))
 	     (t 
-	      (setq rename msg))
+;	      (setq rename msg))
+	      (setq rename (mew-expand-file-name msg mew-draft-folder))) ;; fuji
 	     )
 	    ;; prepare draft file
 	    (switch-to-buffer 
 	     (find-file-noselect 
-	      (mew-expand-file-name rename mew-draft-folder)))
+;	      (mew-expand-file-name rename mew-draft-folder)))
+	       rename))  ;; fuji
 	    (cond
 	     ((not (equal fld mew-draft-folder))
 	      (insert-file-contents (mew-expand-file-name msg fld))
@@ -1671,7 +1677,8 @@
 				       (mew-summary-folder-name)))
 	   (to (mew-input-address "Resent-To:"))
 	   (cc (if mew-ask-cc (mew-input-address "Resent-Cc:")))
-	   (draft (mew-expand-file-name (mew-draft-get-new) mew-draft-folder)))
+;	   (draft (mew-expand-file-name (mew-draft-get-new) mew-draft-folder)))
+	   (draft (mew-expand-file-name (mew-draft-get-new) ))) ;; フルパスが入るため by fuji
       (save-excursion
 	(set-buffer (find-file-noselect draft))
 	(if mew-redist-needs-full-contents
@@ -1689,12 +1696,16 @@
 	(save-buffer) 
 	(message "Redistributing ... ")
 	(if mew-redist-needs-full-contents
-	  (call-process "/bin/sh" nil nil nil "-c"
-		         (format "mhdist=1 %s %s"
+;	  (call-process "/bin/sh" nil nil nil "-c"
+	  (call-process "cmd.exe" nil nil nil "/c"
+;		         (format "mhdist=1 %s %s"
+		         (format "set mhdist=1 & %s %s"
 				  mew-prog-send
 				  (buffer-file-name)))
-	  (call-process "/bin/sh" nil nil nil "-c"
-		         (format "mhdist=1 mhaltmsg=%s %s %s"
+;	  (call-process "/bin/sh" nil nil nil "-c"
+	  (call-process "cmd.exe" nil nil nil "/c"
+;		         (format "mhdist=1 mhaltmsg=%s %s %s"
+		         (format "set mhdist=1 & set mhaltmsg=%s & %s %s"
 				  file
 				  mew-prog-send
 				  (buffer-file-name))))
@@ -1719,10 +1730,15 @@
 		(mew-make-directory mimedir))
 	    )))
     (while fld-msg-list
+      (if (eq system-type 'OS/2)
+      (copy-file (mew-expand-file-name
+			   (cdr (car fld-msg-list)) ;; message
+			   (car (car fld-msg-list))) ;; folder
+			  (mew-draft-get-new mimefolder) nil t)
       (make-symbolic-link (mew-expand-file-name
 			   (cdr (car fld-msg-list)) ;; message
 			   (car (car fld-msg-list))) ;; folder
-			  (mew-draft-get-new mimefolder))
+			  (mew-draft-get-new mimefolder)))
       (setq fld-msg-list (cdr fld-msg-list)))
     ))
 


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