>>>>> In [emacs-w3m : No.00415] >>>>> Katsumi Yamaoka <yamaoka@jpl.org> wrote: 土屋さん> ところで、w3m-view-previous-page が数値前置引数を受け取って、 土屋さん> 一度に何段階か前の履歴に戻ることが出来るようになっていますか 土屋さん> ら、w3m-history-forward / w3m-history-backward もそのように 土屋さん> して頂けないでしょうか。 これに対応させました。以下は現在の w3m-hist.el の変数と関数の概要です。
`w3m-history' 木構造の history を保持する buffer-local 変数です。各要素は URL の 文字列と付帯情報の plist を持ちます。詳細は doc-string をご覧下さい。 `w3m-history-flat' `w3m-history' の各要素を平らに並べたもので buffer-local 変数です。 主に URL の文字列が木構造のどこに存在しているかを高速で知るための 補助手段として用います。各要素の URL の文字列と付帯情報の plist は `w3m-history' と資源を共有しています。 `w3m-history-previous-link-available-p' history の現在位置より一つ前の要素が存在するとき non-nil を返します。 `w3m-history-next-link-available-p' history の現在位置より一つ後の要素が存在するとき non-nil を返します。 これらの関数↑は toolbar の Forward/Back ボタンを活かすかどうかの 判定に使われることを想定しているため高速です。 `w3m-history-current' history の現在位置の情報を返します。 `w3m-history-forward' history の位置を指定した数だけ進めて、その位置の情報を返します。 `w3m-history-backward' history の位置を指定した数だけ戻って、その位置の情報を返します。 `w3m-history-flat' 木構造の `w3m-history' を並べ換えて `w3m-history-flat' の値を生成す るための関数です。通常この関数を使う必要はありません。例えばファイル に保存された木構造の history を元に `w3m-history-flat' を復元するよ うな使い方を想定しています。 `w3m-history-assoc' history を URL の文字列で検索します。現在位置を木構造のその場所に 移動させることもできます。 `w3m-history-push' history に新しい要素を追加して、それを現在位置とします。すでに同じ ものが存在していたら、それを現在位置とします。追加が行なわれた場合は `w3m-history' と `w3m-history-flat' 両方の値が変化します。 `w3m-history-copy' buffer-local 変数である `w3m-history' と `w3m-history-flat' のコピー を、別のバッファに作ります。コピーの内容を変更しても、オリジナルの 内容は変化しません。 `w3m-history-plist-get' history の要素が持っている付帯情報の plist から、指定した一つの情報 を取り出します。デフォルトは現在位置の要素が対象です。 `w3m-history-plist-put' history の要素が持っている付帯情報の plist に、指定した一つの情報を 追加または変更します。デフォルトは現在位置の要素が対象です。 `w3m-history-add-properties' history の要素が持っている付帯情報の plist に、指定した複数の情報を 追加または変更します。デフォルトは現在位置の要素が対象です。 `w3m-history-remove-properties' history の要素が持っている付帯情報の plist から、指定した複数の情報 を削除します。デフォルトは現在位置の要素が対象です。 `w3m-history-rename-url' history の要素が持っている URL の文字列を変更します。デフォルトは 現在位置の要素が対象です。
もう一つおまけ。以下は `w3m-history' の doc-string にある例と同じ木構 造の history を作る実験用のプログラムです。
Attachment:
w3m-history.el
Description: Binary data
-- Katsumi Yamaoka <yamaoka@jpl.org>