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

Re: use 'dirlist.cgi' when local directory



中川です。OS/2 / Windows 固有の話題はこれで最後でしょう、多分。

中川>   例によって改ページ継承。

From: NAKAGAWA Takayuki <tknakaga@kanagawa.hitachi.co.jp>
Subject: [emacs-w3m:01040] Re: use 'dirlist.cgi' when local directory
Date: Fri, 01 Jun 2001 15:19:59 +0900 (JST)
Message-ID: <200106010619.PAA23702@kanagw970.kanagawa.hitachi.co.jp>

白井>  (dos-to-unix-filename
白井>   (encode-coding-string "ddd表\\ddd表" 'japanese-shift-jis))
白井> "ddd\225\\/ddd\225\\"
中川>   "ddd\225//ddd\225/" になりませんか? src/w32.c 見る限りでは SJIS に
中川> ついての考慮がなされているとは思えないのですが。

  すみません。Meadow の方の normalize_filename() には手が入っていまし
て、私が懸念した問題はおこらないようです。CharNext() という関数は code
;; page によって多バイト文字の文字種を決めて、文字列から取り出す
らしいですが(google で検索して Microsoft のサイトの Character Sets 
の解説を読んだから多分まちがいない)、ここで code page を使うと
file-name-coding-system の意味がないような気がします。
default-file-name-coding-system を code page から設定するコードがどこ
かにあるのかと思って探しましたが、残念ながら無いようです。

;;   Windows 系と OS/2 で codepage がどの程度共通なのか不明。

;;   Meadow 1.14 の src/w32.c って Vfile_name_coding_system だけ見て 
;; Vdefault_file_name_coding_system を見ていないところがたくさんありま
;; せんか。{EN,DE}CODE_FILE 使えばすっきりするのに、は余計なお世話。

中川>> 	(file-directory-p "e:") 		nil	t
中川>> 	(expand-file-name "e:")			e:/TMP	e: ???
中川>>   と挙動が違うのが問題かも。
中川>>   Meadow ではどのドライブ(c:, Meadow を置いたd:, HOME にした j: だけ
中川>> しかチェックしてませんが)でも常にそのドライブの "/" を返すようですね。
白井> うむ? よくわからないのですが、上記の "e:" のテストした環境は
白井> Meadow も HOME も "c:" に入っています。
中川>   Meadow ではその場合でも "c:/" になるようです。私はてっきり 
中川> "c:/WINDOWS" か "c:/win32app/Meadow/1.14/bin" となるものだと思い込んで
中川> いました。

  src/s/ms-w32.h に getdefdir() のマクロ定義がありました。常にそのドラ
イブの "/" を返すようになっています。この方が良いかもしれませんね。

ではでは。

--
  中川貴之  (株)日立製作所 エンタープライズサーバ事業部 Nセ2G