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

Re: latest version problem?



From: "M.Fujii" <boochang@xxxxxxxxxxxx> さん曰く
Subject: Re: latest version problem?
Message-ID: <20040219.221040.01365230.boochang@xxxxxxxxxxxx>
Date: Thu, 19 Feb 2004 22:10:40 +0900 (JST)

> > (expand-file-name "../index.html" "c:/foo/bar/")
> > => "c:/foo/index.html"
> > 
> > でしょうか?
> 
> はい、そうです。

ついでにもうちょっと教えてください。(_ _)

この *壊れた* ような挙動(偏見度 120%)って、

expand-file-name FILENAME &optional DIRECTORY

の DIRECTORY が "/" ではじまるときだけ発動される、ということでよ
いのでしょうか?

(expand-file-name "/foo/bar/baz.txt") => "c:/foo/bar/baz.txt"
(expand-file-name "baz.txt" "\\foo\\bar\\") => "c:/foo/bar/baz.txt"
(expand-file-name "bar/baz.txt" "foo") => "c:/home/shirai/foo/bar/baz.txt"
(expand-file-name "bar/baz.txt" "../foo") => "c:/home/foo/bar/baz.txt"

うーん、あとなんだろう?

> 一応こんなのも可能ですが、やりたくなさ加減は改善されてないですね。(^^;;;
> 
> (let ((inhibit-file-name-handlers '(cygwin-mount-name-hook-function
> 				    cygwin-mount-map-drive-hook-function))
>       (inhibit-file-name-operation 'expand-file-name))

ありがとうございます。

# やっぱり、藤井さんは *その筋* の人だよ :-)

これだと cygwin-mount-name-hook-function とか、
cygwin-mount-map-drive-hook-function とかの名前が変わるのが怖
いですねぇ。"c:/" を頭につけるのだと、ミス/もれが怖いし。

どっちにしろ、w3m.el の w3m-expand-path-name() という関数を変え
ればよいだけだと思うなので、"c:/" するか、inhibit-file-name-* を
束縛するかは、考えときます。let の方が簡単だな。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxx)