[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-view-this-url-new-session
すみません、遅くなりました。
;; 寺西さんのメールが届く前に書いたものをそのまま送ります。変な
;; ところは、そういう理由だということでご理解を。:)
>>>>> In [emacs-w3m : No.05356] 土屋さん wrote:
山> http://www2u.biglobe.ne.jp/%7Ehsaka/w3m/index-ja.html
山> で「マルチリンガル化(M17N) w3m」などのリンクを SHIFT-RET
山> (w3m-view-this-url-new-session) で辿ることができません。対策してあっ
山> たような記憶があるんですが、こんなものでしたっけ?
> 理由が分かったと思います.w3m-goto-url() は実際に retrieve する前に,
[...]
> と w3m-current-url の値を調べて,同一ならば,同一ページ内の移動と見な
> して retrieve を行わずに手抜きするようになっています.
はい、理解しました。
> それに対して,w3m-view-this-url-1() は何故か w3m-current-url を元の
> ページと同一になるように代入を行っているので,
これですね:
2002-11-12 Katsumi Yamaoka <yamaoka@jpl.org>
* w3.el (w3m-view-this-url-1): Copy `w3m-current-url' into a
copied buffer.
うーん、何の目的でこういうことを行なったのか、わからなくなってし
まいました。ChangeLog でもコメントでも、もっと書いておくべきでし
たね。もう少し調べます。
> 実際には empty なのに同一ページと判定されて失敗する,ということのよ
> うです.ですから,添付のパッチで一応は動くようになります.
はい、動きました。ただ、前記のぼくの変更に意味があるのなら、弊害
がでるかもしれないので、、、調べます。
> しかし,問題の本質は別の個所にありそうな気がして調べてみたのですが,こ
> れらの session 管理周辺の処理は非常に謎が多くて,よく理解できませんで
> した.まず,
> ;; When new URL has `name' portion, we have to goto the base url
> ;; because generated buffer has no content at this moment.
> このコメントはどういう意味なんでしょうか?
URL 文字列の末尾に #name があったら、そのベース URL を持ってこ
なければならない。このときバッファが空だから。
goto じゃなくて visit ですね。いや、そんなことより、ともかくバッ
ファは空なんだから、書く意味がありません。と今は言えるんですが、
当時はたまたま edebug か何かで行き着いた先のバッファが空だったの
で、前後の見境無しにそう書いたのかもしれません。(その 2ヶ月前に
も見てるのに何も理解してなかったのか、って言わないで ^^;;)
> w3m-view-this-url-new-session() は,煎じ詰めれば,
> (defun simple-w3m-view-this-url-new-session ()
[...]
> という処理(生成元になったバッファでの refontify が抜けてますが)だと
> 思うのですが,実際にはわざと empty な複製ページを作成したりしていま
> す.w3m-goto-url-new-session() も同じように empty な複製ページを作っ
> ています.
うーん、普通 new-session では違うページに行くので、元のページの
内容をコピーするのは無駄、でも #name がある場合は例外処理として
中身を空にしない方が合理的かもしれません。
> どうしてこういうコードになっているのか,少し説明をお願いできないでしょ
> うか.
ちゃんと説明できなかったかもしれません。ともかくもう少し追いかけ
ます。
--
Katsumi Yamaoka <yamaoka@jpl.org>