[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 メーリングリストの案内