[Date Prev][Date Next][Thread Prev][Thread Next][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/