[Mew-dist 16713] Re: Autodetecting mew-touch-folder-p.

Tatsuya Kinoshita tatsuyak at example.com
2001年 3月 4日 (日) 11:09:31 JST


In message "[Mew-dist 14097] Autodetecting mew-touch-folder-p."
Shuichi KITAGUCHI (北口修一) <kit at example.com> wrote:

> mew-touch-folder-p を静的で設定するのではなく、起動時に自動判別する
> ようにしてみました(単に ~/Mail/.mew-touch を作成してみて、その前後で
> ~/Mail の時刻を比較するだけですが)。

mew-touch-folder-pをnil固定で運用したいので、「自動判別しない」と
いう選択肢が欲しくなり、パッチを作りました。

Mewを介さずにメールのバックアップ・移動などをしたあと、間を置かずに、
フォルダの状態をMewへ反映させるため「(mew-status-update t)」を実行
すると、mew-touch-folder-pがtになってしまうことが何度かありました。

-- 
木下達也 (Tatsuya Kinoshita)
-------------- next part --------------

 This patch is written by Tatsuya Kinoshita.

 Permission is granted to use, copy, distribute, and/or modify it 
 without restriction.  There is NO WARRANTY.

diff -ur mew-1.95b111/mew-vars.el mew-1.95b111-tats20010304/mew-vars.el
--- mew-1.95b111/mew-vars.el	Sat Mar  3 10:22:47 2001
+++ mew-1.95b111-tats20010304/mew-vars.el	Sun Mar  4 10:29:40 2001
@@ -1348,6 +1348,9 @@
   "*If non-nil, 'mew-summary-touch-file' is used to store
 time-stamp of a directory")
 
+(defvar mew-touch-folder-check-enabled-p t
+  "*If non-nil, 'mew-touch-folder-check' is enabled.")
+
 (defvar mew-dir-list-function (if (or (memq system-type '(OS/2 emx))
 				      (eq system-type 'windows-nt))
 				  'mew-dir-list-without-link-count
diff -ur mew-1.95b111/mew.el mew-1.95b111-tats20010304/mew.el
--- mew-1.95b111/mew.el	Sat Mar  3 13:24:58 2001
+++ mew-1.95b111-tats20010304/mew.el	Sun Mar  4 10:45:57 2001
@@ -195,17 +195,18 @@
 If operating system cannot update directory timestamp,
 set mew-touch-folder-p to t"
   (interactive)
-  (let* ((dir (expand-file-name mew-mail-path))
-	 (file (expand-file-name mew-summary-touch-file dir))
-	 (time1 (mew-file-get-time dir))
-	 time2)
-    (when (file-writable-p file)
-      (write-region "touched by Mew.(test)" nil file nil 'no-msg)
-      (if (file-exists-p file) (delete-file file))
-      (setq time2 (mew-file-get-time dir))
-      (if (equal time1 time2)
-	  ;; this system cannot update directory timestamp.
-	  (setq mew-touch-folder-p t)))))
+  (when mew-touch-folder-check-enabled-p
+    (let* ((dir (expand-file-name mew-mail-path))
+	   (file (expand-file-name mew-summary-touch-file dir))
+	   (time1 (mew-file-get-time dir))
+	   time2)
+      (when (file-writable-p file)
+	(write-region "touched by Mew.(test)" nil file nil 'no-msg)
+	(if (file-exists-p file) (delete-file file))
+	(setq time2 (mew-file-get-time dir))
+	(if (equal time1 time2)
+	    ;; this system cannot update directory timestamp.
+	    (setq mew-touch-folder-p t))))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;


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