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

Re: w3m-dtree falls into an infinite recursion



中川です。

From: Hideyuki SHIRAI (白井秀行) <shirai@rdmg.mgcs.mei.co.jp>
Subject: [emacs-w3m:00945] Re: w3m-dtree falls into an infinite recursion
Date: Fri, 25 May 2001 18:36:44 +0900 (JST)
Message-ID: <20010525.183644.125125311.shirai@rdmg.mgcs.mei.co.jp>

白> From: NAKAGAWA Takayuki <tknakaga@kanagawa.hitachi.co.jp> さん曰く
白> Subject: [emacs-w3m:00943] Re: w3m-dtree falls into an infinite recursion (was: Re: Re: use 'dirlist.cgi' when local directory)
白> Message-ID: <200105250857.RAA11140@kanagw970.kanagawa.hitachi.co.jp>
白> Date: Fri, 25 May 2001 17:57:44 +0900 (JST)
白> 
中>   w3m-dtree を一応直してみました。"." と ".." の取り除き方が美しくない
中> ですけど。私のぐちゃぐちゃの home dir でちゃんと directory tree が表示
中> されました。
白> ありがとうございます。大丈夫のようです。
白> # って、わたしごときが中川さんにいう言葉じゃないですね。(^^;;;

  わー、ごめんなさい、ごめんなさい。多分私の方が実力・経験共に大分落ち
ます。

白> ## よろしかったら、ChangeLog 下さいませ。:-)

	To avoid infinite recusion, directory-files now returns
	absolute file names and expand-file-name is omitted.

  何か英語が無茶苦茶です。適当に入れておいて下さるようお願い致します。

中>   やはり、深さ方向に制限がほしいのと、子ディレクトリがない時はファイル
中> 一覧を見せて欲しいような。って元の dirlist.cgi が良いと言ってるのと余
中> り変わらないかも。
白> 深さ制限は作りました。とりあえず、'8' にしましたが、default はい
白> くつぐらいがいいでしょうかねぇ? nil で制限なしです。また、子ディ
白> レクトリがないときのファイル一覧は
白> な風につなぎを示す文字を変えました。

  すみません。週明けに見てみます。

白> P.S.
白> ;;   ~ で始まるファイルの扱いが Meadow でどうなっているか、どなたかご
白> ;; 教示いただけると幸いです。
白> 良くわからないですが、
白> (expand-file-name "~shirai/www.foo_site.com/~shirai/")
白> "c:/home/shirai/www.foo_site.com/~shirai/"
白> (expand-file-name "~foo/www.foo_site.com/~foo/")
白> "c:/home/shirai/~foo/www.foo_site.com/~foo/"
白> な感じになりました。

  ご教示ありがとうございます。結局、第一引数が `~' で始まっている場合
の処理が OS/2 版ではタコで、~/ と ~user/ なら home directory、それ以外
は普通のファイル名だと思えば良いのですね。ここら辺元の 20.7 のDOS_NT 
に揃えた積もりで、ソースを読むとそうなってるはずなのですが、何故か
	(expand-file-name "~foo/www.foo_site.com/~foo/")
	"h:/user/takayuki/www.foo_site.com/~foo/"
  となってしまいます。emx(OS/2 の Unix エミュレーションライブラリ)の
 getpwnam が user 引き数に関係なく HOME を帰すようなので、src/sysdep.c 
の VMS 用あたりを参考にして自前で用意します(emacs for OS/2 のメンテナ
(代理)が本業(もちろん仕事(生業)は別)です、一応)。

  19.x の頃は // や /~ があると 最初の / 以前を捨てる処理が
expand-file-name に入っていたので(現在は substitute-in-file-name)、
さらにややこしかったのだと思います。やっと仕様が変わった理由がわかった
ような。src/ChangeLog の 1996-10-13 の最後の項目です。

白> P.P.S.
白> direlist.cgi は w3m 経由じゃなくて、Emacs から直接動かすのでもい
白> いかも。

  dirlist.cgi は w3m 経由で動いたのですが(私の設定ミス)、中でディレ
クトリ/ファイルに飛ぼうとするとたまに飛び損ねたり、変な所(w3m のデフォ
ルトのディレクトリ等)に飛んだりです。これは裸の w3m でも同じらしい。
	+-<a href="E:/ACROBAT3"><nobr>ACROBAT3</nobr></a>
  なんていうのを
	+-<a href="file:///E|/ACROBAT3"><nobr>ACROBAT3</nobr></a>
  に直せば良いのだと思うのですが、どうしたものか。スクリプト書き替えて
しまった方が楽だと思うので。とりあえず
	+-<a href="file:///E:/ACROBAT3"><nobr>ACROBAT3</nobr></a>
  でも良いので(: を | にするのがめんどい)、dirlist.cgi の
	$AFMT = '<a href="%s"><nobr>%s</nobr></a>';
  を
	$AFMT = '<a href="file:///%s"><nobr>%s</nobr></a>';
  にしたら上手くいっている、のかな。週明けにもっとちゃんとテストしてみ
ます。これってドライブレターなしの OS だと / が一個余計になってしまい
ますが。

白> P.P.P.S.
中> ;;   手を入れると急に態度がでかくなります。
白> ## あれ、いつもデカイ様な ^^;;; & (_ _)

  むぎゅ(へこんだ音)。

  マイナー OS のユーザは黙ってると無視されるので… じゃなくて、元から
態度はでかいです。[emacs-w3m:00746] は特に図々しかったですね。失礼しま
した。

  これからもよろしくお願い致します。

ではでは。

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