[Mew-dist 13921] Re: mew-dir-list2
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2000年 8月 24日 (木) 12:38:00 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 13920] Re: mew-dir-list2
Message-ID: <20000824.120420.82038906.kazu at example.com>
Date: Thu, 24 Aug 2000 12:05:04 +0900
kazu> ちょっとばたばたしておりまして、きちんと考えていませんが、脊髄で反応し
kazu> ます。
kazu>
kazu> > UNIX + XEmacs でも試したのですが、ほぼ Meadow と同等の時間差が生
kazu> > じました(約 5 倍速い!!)。ただし、directory ではない symlink が存
kazu> > 在するとエラーになるので、以下のように directory-p にした方が良
kazu> > いと思います。
kazu>
kazu> mew-file-chase-links でシンボリックリンクの実体を得ているつもりですが、
kazu> 本当にエラーになりますか?
『directory ではないシンボリックリンク』という表現は不正確でした。
うまく説明できないので、例をあげると、
白井> # 例: もう一つの Mew で mail を書いていると
白井> # /home/shirai/Mail/draft:
白井> # 49 Aug 23 17:45 .#1 -> shirai at example.com:962767257
白井> # をたどってエラーになったなど。
というリンク(Emacs の lock用?)があると、
Opening directory: No such file or directory, /home/shirai/Mail/draft/.#1/
というエラーになりました。
kazu> file-directory-p に変えることは、やぶさかではありませんが、念のため確
kazu> 認です。
(directory-files "~/Mail/draft")
=> ("#1#" "." ".#1" ".." ".mew-cache" ".mew-touch" "1" "1~" "mime")
と、".#1" は含まれていて、
(mew-file-chase-links (expand-file-name "~/Mail/draft/.1#"))
=> "/home/shirai/Mail/draft/.1#"
(file-regular-p (expand-file-name "~/Mail/draft/.1#")) => nil
(file-directory-p (expand-file-name "~/Mail/draft/.1#")) => nil
となるので、再帰的の条件を regular-p から directory-p に変更すれ
ば大丈夫なのでした。
# メールを書いているのが Emacs 20.7 で、実験したのが XEmacs 21.2.35
kazu> (defun mew-dir-list2 (dir)
OK.
--
白井秀行@相変わらず目黒
Mew-dist メーリングリストの案内