[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: file-modes, set-file-modes



07/05/04 に Seika Abe<abeseika@xxxxxxxxx> さんは書きました:
>
> Meadow-2.10 でファイルを作成すると、ファイルモードの x が立ってしまいますが,
> これは仕様なのでしょうか?

新規にMeadow 2.10 をnetinstall でインストールして試してみましたが、
そのような挙動は見られませんでした。
どのような手順で確認しましたか?

たとえば私は c:/abc.txt というファイルを新規に編集/保存して、
*scratch*バッファにて以下を実行してみました。
(format "%o" (file-modes "c:/abc.txt"))
=> "666"
(set-file-modes "/abc.txt" ?\444)
=> nil
(format "%o" (file-modes "c:/abc.txt"))
=> "444"
(set-file-modes "/abc.txt" ?\644)
=> nil
(format "%o" (file-modes "/abc.txt"))
=> "666"


> また、write-file-hooks で正しく設定しなおそうとしても、そもそも set-file-modes
> が
> 正しくモードをセットしませんし、file-modes の返す値も正しくありません。
> これは Windows からみの都合でこのようになっているのでしょうか?

Windowsの都合は多分に入ってます。
644や755にセットしようとしても666になるのはその手の事情です。

777になるのは *.exe *.com *.bat などのいわゆる実行可能ファイル、
つまり (executable-p file) がnon-nilなファイルです。拡張子で
決まってしまいます。
Windowsやcygwin的には *.py や *.doc などのようなものも実行可能
ファイルですが、meadowはDOSの頃の慣わしにしたがってか、それらは
非実行ファイルとしています。

で、件の 'x' ビットのことですが、どのように確認されましたかね。
たとえばcygwin の ls などで確認してしまうと、cygwinの事情も
入ってきた結果ということになってしまいますので、そこんところが
重要です。

-- Shun-ichi GOTO