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

Re: w3m-view-next-page



>> On 13 Mar 2001 21:56:35 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> 最近の w3m の全貌がわかっているわけではないのですが、大和さんの
山> FIXME 宣言を引き受けようと思っています。面白そうなので。:-)

有難うございます。

山> たぶん `w3m-url-yrotsih' は廃止して `w3m-url-history' に一本化で
山> きるでしょう。そこで皆さんに教えて頂きたいのですが:

山> 現在 `w3m-url-history' は "*w3m*", "*w3m*<2>", "*w3m*<3>" のよう
山> な各バッファでローカルな値を持つ一次元のリストですが、

山> Q1. それらが多次元または木構造になるような使い方は無いですよね?

A → B → C と順に閲覧した後で B に一旦戻り、その後 D に移動した、とい
うようなヒストリを完全に保存しておくためには、木構造が必要になるだろう、
と考えていました。


>> On 14 Mar 2001 08:25:51 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> 同じ Emacs で動作している w3m の history 全体が木構造になって、
山> どこでも双方向で行き来できるようにするべきなんですね。

こういう問題もありますから、やはり一般解は木構造になるでしょう。


山> そこで質問を少し変えますが、その木の幹は一本でしょうか?
山> ぼくはまだ M-n キー (w3m-copy-buffer) で枝分かれする以外の方法を
山> 知らないのですが。

単純に M-x w3m RET M-x renama-uniquely RET M-x w3m RET と複数の w3m を
起動すれば、幹が複数になってしまうと思います。

しかし、双方向リンク(親子の両方に移動できなければいけないので)を持つ木
構造を表現するのはかなり面倒なので、ちょっと考えてしまうところです。

# 山岡さんの頭の体操には丁度いいかも知れませんが ^_^;


山> Q2. `w3m-url-history' の default-value は何に使うのですか?

上記のような方法で複数の w3m が起動された場合に、後から起動された w3m 
が、先に起動されている w3m のヒストリを継承できるようにしておこう、と
いう程度の考えで default-value を設定していました。…しかし、全く機能
してませんね。

で、コードを検討するために、古いコードを見直していて、とんでもないこと
に気が付きました。history の実装って revision 1.2 の頃の ad-hoc な実装
からほとんど変化していないんですね。

これでは、破綻して当然と言うものでしょう。

検討してみたのですが、history の実装に関する私の wishlist は以下の通り
です。

(1) history を操作する界面が混乱している。前に進む場合は w3m-exec で処
    理されているのに、戻るときは w3m-view-previous-page で処理されてい
    る。w3m-exec は、w3m を呼び出し、その結果の fontify などを行う関数
    だから、ヒストリの操作はより上位の層で行うように実装するべきでした。

(2) arrived / history をきちんと分離したい。現実装では、カーソル位置の
    保存は w3m-arrived-* で、URL は w3m-url-history で管理するという奇
    妙な構造になってしまっています。カーソル位置の保存も history で管
    理するように変更するべきでしょう。

    それが出来たら、w3m-arrived-* はより簡潔な実装になります。

(3) ページのタイトルも記憶しておいてください。w3m-about-history が参照
    するのに必要になりますから。

では、よろしくお願いします。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/