[Mew-dist 1436] Re: Range (update): (Mule for Win32)

Shunichi Gotoh gotoh at example.com
1997年 8月 5日 (火) 00:28:52 JST


後藤@太陽計測です

From: Shuichi Kitaguchi <shuuic-k at example.com>
Date: Mon, 04 Aug 1997 23:29:26 +0900
> そのあたりを調べていたのですが、ActiveWare の Perl for Win32 (中身は
> 5.003_07) ではファイルに対しては utime が作用するのですが(でも 9 時間
> ずれるのは何か設定がいるのかな?)、ディレクトリに対しては作用しません
> でした。また、Cygnus の GNU-Win32 の touch をディレクトリに対して
> 使っても作用しませんでした。

私も試してみましたが、だめでした。

> という風にディレクトリの日付を変えるのは難儀なようで、最終手段として
> 外部コマンドを作るしかないのかなぁ、と思ったりもしています。
> # できるかはやってみないとわかりせんけど。

というわけで、しょうがないので、
touch_folder()にて ".mew-update" なるファイルを作り、なおかつ
アップデートする方法を試してみました。
いちおうアップデートしてくれます。
IMにmewの要素が入ってしまいますし、
非常にクサイやりかたですが、1案として。

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

-------------- next part --------------
--- Folder.pm.in.orig	Tue Aug 05 00:08:07 1997
+++ Folder.pm.in	Tue Aug 05 00:13:41 1997
@@ -375,10 +375,16 @@
 }
 
 sub touch_folder {
-	return unless(&os2p);
+        return unless(&os2p || &win95p || &wntp );
 	my ($dir) = shift;
 	$dir =~ s/\/\d+$//;
 	$dir = &expand_path($dir);
 	$now = time;	# XXX
-	utime ($now, $now, $dir);
+	my($file) = ($dir . "/.mew-update");
+	if ( ! -f $file ) {
+	    open(OF,">$file");
+	    close(OF);
+	} else {
+	    utime ($now, $now, $file);
+	}
 }
-------------- next part --------------
--- /usr/local/site-lisp/mew.el	Fri Aug 01 20:59:15 1997
+++ mew.el	Tue Aug 05 00:27:03 1997
@@ -95,6 +95,9 @@
 when the summary mode is visited and it does not exist in buffer. 
 mew-summary-cache-file is automatically saved on inc and scan.")
 
+(defvar mew-summary-update-file ".mew-update"
+  "*Cache update time-stamp holder.")
+
 (defvar mew-window-use-full nil
   "*Dynamic window configuration when nil. This variable will be obsolated
 because mew will support mew-window-percent(e.g 50, 100, etc.).")
-------------- next part --------------
--- /usr/local/site-lisp/mew-summary.el	Fri Aug 01 20:59:17 1997
+++ mew-summary.el	Tue Aug 05 00:22:27 1997
@@ -502,7 +502,14 @@
 	 (cache (expand-file-name mew-summary-cache-file dir))
 	 (tcache (nth 5 (file-attributes cache)))
 	 (fa (car tcache))
-	 (fb (car (cdr tcache))))
+	 (fb (car (cdr tcache)))
+	 (update (expand-file-name mew-summary-update-file dir))
+	 (tupdate (nth 5 (file-attributes update)))
+	 (ua (car tupdate))
+	 (ub (car (cdr tupdate))))
+    (if tupdate
+	;; force to use time stamp of mew-summary-update-file
+	(setq da ua db ub))
     (cond
      ((null tdir) nil)
      ((null tcache) t) ;; no cache, do update!


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