[Mew-Win32 02332] mew-touch-folder without utime.exe

Shuichi KITAGUCHI ( 北口修一 ) kit at example.com
2000年 1月 3日 (月) 22:06:09 JST


北口です。

あけましておめでとうございます。本年もよろしくお願いします。

さて、Win32 なプログラムを作ろうとすると Windows2000RC2 くんが機嫌を
損ねてしまうようなので(^^;、方向を変えて mew-touch-folder をいじって
みました。これは、不安定の元である utime.exe を使わないようにし、
.mew-cache と同じディレクトリに .mew-touch というファイルを作成して
両者の日付を比較するものです。

Mew2 の時に管理方法が大幅に変わるだろうから、その時にディレクトリの
日付に依存しないようにしようと思っていたのですが、なんだかそのまま
いくような気がするので改造してみました。

どうでしょうか?

# IM の方はいじってませんが、ほとんど支障はないと思います。


--
Shuichi Kitaguchi <kit at example.com>

Index: mew-func.el
===================================================================
RCS file: /usr/local/CVS/mew/mew-func.el,v
retrieving revision 1.1.1.14
diff -u -r1.1.1.14 mew-func.el
--- mew-func.el	1999/12/28 13:08:05	1.1.1.14
+++ mew-func.el	2000/01/03 12:36:43
@@ -603,8 +603,15 @@
       (file-error folders))))
 
 (defun mew-touch-folder (fld)
-  (if (and mew-touch-folder-p (mew-which-exec mew-prog-utime))
-      (call-process mew-prog-utime nil nil nil (mew-expand-folder fld))))
+  (let ((file (concat (mew-expand-folder fld) "/" mew-summary-touch-file)))
+    (if (and mew-touch-folder-p (file-exists-p file))
+	(save-excursion
+	  (delete-file file)
+	  (let ((buf (create-file-buffer file)))
+	    (set-buffer buf)
+	    (write-region (point-min) (point-max) file))
+	  (kill-buffer buf)))))
+
 
 ;;
 ;; Directory
Index: mew-scan.el
===================================================================
RCS file: /usr/local/CVS/mew/mew-scan.el,v
retrieving revision 1.1.1.13
diff -u -r1.1.1.13 mew-scan.el
--- mew-scan.el	1999/12/28 13:08:07	1.1.1.13
+++ mew-scan.el	2000/01/03 12:36:43
@@ -353,7 +353,9 @@
 
 (defun mew-summary-compare-times (type)
   (let* ((dir (file-chase-links (mew-expand-folder (buffer-name))))
-	 (tdir (mew-file-get-time dir))
+	 (tdir (if mew-touch-folder-p
+		   (mew-file-get-time (concat dir "/" mew-summary-touch-file))
+		 (mew-file-get-time dir)))
 	 (cache (expand-file-name mew-summary-cache-file dir))
 	 (tcache (mew-file-get-time cache))
 	 (tbuf mew-summary-buffer-folder-cache-time)
Index: mew-vars.el
===================================================================
RCS file: /usr/local/CVS/mew/mew-vars.el,v
retrieving revision 1.1.1.15
diff -u -r1.1.1.15 mew-vars.el
--- mew-vars.el	1999/12/28 13:08:08	1.1.1.15
+++ mew-vars.el	2000/01/03 12:36:43
@@ -512,6 +512,8 @@
 (defvar mew-summary-cache-file ".mew-cache"
   "*Cache file for Summary mode contents.")
 
+(defvar mew-summary-touch-file ".mew-touch")
+
 (defvar mew-window-home-buffer "*scratch*"
   "*Buffer name to return if window stack is empty.")
 



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