[Mew-Win32 02338] Re: mew-touch-folder without utime.exe

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2000年 1月 5日 (水) 13:04:15 JST


From: Shuichi KITAGUCHI (北口修一) <kit at example.com> さん曰く
Subject: [Mew-Win32 02332] mew-touch-folder without utime.exe
Message-ID: <20000103.220609.01368036.kit at example.com>
Date: Mon, 03 Jan 2000 22:06:09 +0900 (LMT)

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

こちらこそよろしくお願いします。

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

# う〜ん、Windows2000 に乗り換えるのは止めようかな?

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

そうですね。UNIX だと全然今のままでも困らないので、きっとこのま
までしょうね。

# NTFS でも困らなかったりするし。^^;;;

北口> どうでしょうか?

後述。

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

いやいやそんなことをいわずに IM も是非是非。:-)

# そういえば、以前、後藤さんのパッチがありましたよね。お世話にな
# りました。

北口> +  (let ((file (concat (mew-expand-folder fld) "/" mew-summary-touch-file)))

何か所か見当たりますが、こういうことをやるときは、

(concat (mew-expand-folder fld) mew-path-separator mew-summary-touch-file)

がいいです。だけどもっといいのは

(expand-file-name mew-summary-touch-file (mew-expand-folder fld))

です。(と、かずさんに同じことを言われたことがある私 ^^;)

北口> +    (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)))))

事前にその folder に '.mew-touch' が無いと動かないんですけど。。。

'.mew-touch' が書ければいいんだから、手を抜いてこんな感じでは如
何でしょう。message が出るのもいやだし。

(defun mew-touch-folder (fld)
  (if (and mew-touch-folder-p (stringp mew-summary-touch-file))
      (let ((file (expand-file-name
		   mew-summary-touch-file (mew-expand-folder fld))))
	(if (file-writable-p file)
	    (write-region (point-min) (point-min) file nil 'no-msg)))))

-- 
白井秀行@さぁ、仕事をしよう。



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