[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:1760]Meadow 1.13 Beta 1 (TANAHASHI:61) release.
- X-ml-count: 1760
- Subject: [MD:1760]Meadow 1.13 Beta 1 (TANAHASHI:61) release.
- From: Shun-ichi GOTO <gotoh@xxxxxxxxxxx>
- Date: Mon, 17 Apr 2000 17:48:00 +0900 (JST)
- X-mailer: Mew version 1.95b3 on Emacs 20.6 / Mule 4.1 (AOI)
file-writable-p<f> の修正の件ですが、これってまだpatch 送ってませんよね?
directory に対する振舞には明確な決着は望めそうもないことが見えたし、いつ
までもほっといてもいいこと無いので、現状にふさわしいパッチとして himi さ
んのpatch を送るということにしませんか?
『現状にふさわしい』とする理由は以下の通り
* elisp manual ではdirectory に対する挙動を規定していない
=> directory に対する操作は想定していないと解釈
* Ffile_writable_p() のcode をみてもdirectory に対する操作の場合の
考慮は読みとれない。
=> directory に対する操作は想定していないと解釈
* directory に対して行なった場合の挙動は、permission を返すという点で
現状の UNIX のemacs と挙動が類似となる。
特に異論がなければ添付の文面で送ろうかと思いますがいかが?
# 送り先は bug-gnu-emacs@xxxxxxx 宛がいいのかな?
## ChangeLog も書いてはおいたけど、このパッチはhimi さんのなんだよね。
## himi さんの名前にしたいところ。。。どぉ? (^^;
--- Regards,
Shun-ichi Goto <gotoh@xxxxxxxxxxx>
R&D Group, TAIYO Corp., Tokyo, JAPAN
Hi, I found a bug about file-writeable-p<f> function on Emacs 20.6 on
Win32 system.
There's patch attached.
Symptom
=======
In NT Emacs 20.6, elisp function file-writable-p<f> returns t although
directory path of specified FILENAME is not exist.
For example, (file-writable-p "/no-such-dir/new-file.txt") always
return t.
Reason
======
Modifications of fileio.c in 2000-02-23 (only for WINDOWSNT defined) is
for writability of files in read-only directory on the Windows
environment. However, as side effect, this modification discarded also
checking existance of parent directory. As result, file-writable-p() for
file in non-existant directory returns t.
Patch
=====
Patch is attached in this mail.
ChangeLog
2000-04-17 Shun-ichi Goto <gotoh@xxxxxxxxxxx>
* fileio.c (Ffile_writable_p) [WINDOWSNT]: Check existance of
parent directory of specified file.
Test Result
===========
For example, in following situation:
* /temp directory, rw permission
* /temp/rwdir directory, rw permission (have two files)
* /temp/rodir directory, ro permission (have two files)
* /temp/rwdir/rw.c file, rw permittion
* /temp/rwdir/ro.c file, ro permittion
* /temp/rodir/rw.c file, rw permittion
* /temp/rodir/ro.c file, ro permittion
This is test result with original Emacs 20.6 (for NT) and patched one
on Windows 2000.
original patched
(file-exists-p "/xxx") nil nil
(file-writable-p "/xxx/a.c") t nil <--- here!
(file-writable-p "/temp/rwdir/rw.c") t t
(file-writable-p "/temp/rwdir/ro.c") nil nil
(file-writable-p "/temp/rwdir/new.c") t t
(file-writable-p "/temp/rodir/rw.c") t t
(file-writable-p "/temp/rodir/ro.c") nil nil
(file-writable-p "/temp/rodir/new.c") t t
--- Regards,
Shun-ichi Goto <gotoh@xxxxxxxxxxx>
R&D Group, TAIYO Corp., Tokyo, JAPAN