[mew-win32 4589] Re: Haskell 版 cmew の差分更新
Shuichi KITAGUCHI
ki at example.com
2011年 9月 9日 (金) 22:43:17 JST
北口です。
細田さん、ありがとうございます。
ちょうど、まずいことを思い出してやろうと思っていたところでした。
>> 本来は、他の OS の動作も考えると、
>> getChangeTime が Nothing を返したときだけ、
>> getModificationTime を使うようにする、とかすべきかと思いますが、
>> どうやって書けばいいのか分からず、力尽きました…。
>
> ですが、以下のように書けば良さそうな気がしてきました。
> とりあえず Windows では差分更新も含めて動いています。
ちょっと方向性を変えて、getChangeTimeがNothingを返すのが問題
かなと思って、MewではなくEasyFile側を以下のように変えてみました。
これでcmewの動きとしては問題なさそうなのですが、どうでしょうか?
>かずさん
--- a/System/EasyFile/Missing.hs
+++ b/System/EasyFile/Missing.hs
@@ -73,7 +73,7 @@ MacOS's rename() does.
-}
getChangeTime :: FilePath -> IO (Maybe UTCTime)
#if defined(mingw32_HOST_OS) || defined(__MINGW32__)
-getChangeTime _ = return Nothing
+getChangeTime file = Just . writeTime <$> fileTime file
#else
getChangeTime file = Just . epochTimeToUTCTime . statusChangeTime <$> getFileStatus file
#endif
以上です。
--
Shuichi KITAGUCHI // kit at example.com / ki at example.com
Mew-win32 メーリングリストの案内