[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: emacs-w3m with XEmacs 21.4.15 on Windows (native, not Cygwin)



>>>>> In [emacs-w3m : No.06691] 山岡 wrote:

土> あらゆる所で (let ((directory-sep-char ?/)) ...) すれば
土> [emacs-w3m:04799] は解決ってことになるのでしょうか?

> それが本当に解決になるのかどうか疑問です。

Christian Schmitt さんが指摘した件は、太田さんが今でも困っている
かもしれない問題とは、たぶん関係無いです。

(expand-file-name "baz" "/foo/bar")
 => "d:\\foo\\bar\\baz"

(let ((directory-sep-char ?/))
  (expand-file-name "baz" "/foo/bar"))
 => "d:/foo/bar/baz"

この "d:" は w3m-expand-path-name がとっぱらってくれるんですが、
第2引数が "/" または "\\" で始まっていないとこうなります

(expand-file-name "index.html" "http://www.jpl.org")
 => "d:\\home\\yamaoka\\http:\\www.jpl.org\\index.html"

(let ((directory-sep-char ?/))
  (expand-file-name "index.html" "http://www.jpl.org"))
 => "d:/home/yamaoka/http:/www.jpl.org/index.html"

;; Christian Schmitt さんは困っていないんだろか?

"http:" の次は "\\\\" または "//" は単一の "\\" または "/" になっ
てしまうことにご注意。

それから、file-name 系の関数がいつでも "d:" を付けたり、"/" を
"\\" に変換してしまうかと言うと、そうでもありません。

(file-name-directory "foo/bar/baz")
 => "foo/bar/"

(let ((directory-sep-char ?/))
  (file-name-directory "foo/bar/baz"))
 => "foo/bar/"

(file-name-directory "foo\\bar\\baz")
 => "foo\\bar\\"

(let ((directory-sep-char ?/))
  (file-name-directory "foo\\bar\\baz"))
 => "foo\\bar\\"

この XEmacs 以外の Emacsen を取り上げられてしまったら、ぼくはさっ
さと飲みに行きますね。:-p
ちなみに

ftp://ftp.xemacs.org/binaries/win32/netinstall/xemacs-i586-pc-win32-21.4.13.tar.gz

を持ってきて d: で単に展開したものを使っています。面倒なので、ま
だ XEmacs packages はインストールしていません。

> うーん、Christian Schmitt さんが何か言ってくるたびに少しづつ直す、
> に一票。^^;;;
-- 
Katsumi Yamaoka <yamaoka@jpl.org>