このセクションでは、ewocとnodeは上述(抽象的なディスプレーを参照)の構造体を、dataはデータ要素として使用される任意のLispオブジェクトを意味します。
これはノード(とデータ要素)をもたない新たなewocを構築してリターンする。pretty-printerは1つの引数を受け取る関数であること。この引数は当該ewoc内で使用を計画する類のデータ要素であり、insert
を使用してポイント位置にそのテキスト記述を挿入する(Ewocパッケージの内部的メカニズムと干渉するためにinsert-before-markers
は決して使用しない)。
ヘッダー、フッター、およびすべてのノードのテキスト記述の後には、通常は自動的に改行が挿入される。nosepが非nil
なら改行は何も挿入されない。これはewoc全体を単一行に表示したり、これらのノードにたいして何も行わないようにpretty-printerをアレンジすることによりノードを不可視にするために有用かもしれない。
ewocは作成時にカレントだったバッファー内のテキストを保守するので、ewoc-create
呼び出し前に意図するバッファーへ切り替えること。
これは、ewocがそのテキストを保守するバッファーをリターンする。
これはewocのヘッダーとフッターから作成されたコンスセル(header
. footer)
をリターンする。
これはewocのヘッダーとフッターに文字列headerとfooterをセットする。
これらはそれぞれdataを新たなノードにカプセル化して、それをewocのチェーンノードの先頭または終端に配置する。
これらはそれぞれdataを新たなノードにカプセル化して、それをewocのnodeの前または後に追加する。
これらはそれぞれewoc内のnodeの前または次のノードをリターンする。
これはewoc内で0基準のインデックスnで見つかったノードをリターンする。負のnは終端から数えることを意味する。nが範囲外ならewoc-nth
はnil
をリターンする。
これはnodeにカプセル化されたデータを抽出してリターンする。
これはnodeにカプセル化されるデータとしてdataをセットする。
これはポイント(指定された場合はpos)を含むewoc内のノードを判断して、そのノードをリターンする。ewocがノードをもたなければ、nil
をリターンする。posが最初のノードの前なら最初のノード、最後のノードの後なら最後のノードをリターンする。オプションの3つ目の引数guessは、pos近傍にあると思われるノードであること。これは結果を変更しないが、関数の実行を高速にする。
これはnodeの開始位置をリターンする。
これらはそれぞれewoc内の前または次のarg番目のノードにポイントを移動する。すでに最初のノードにポイントがある場合、またはewocが空の場合にはewoc-goto-prev
は移動しない。またewoc-goto-next
が最後のノードを超えて移動すると結果はnil
。この特殊なケースを除き、これらの関数は移動先のノードをリターンする。
これはewoc内のnodeの開始にポイントを移動する。
この関数はewocのテキストを再生成する。これはヘッダーとフッターの間のテキスト、すなわちすべてのデータ要素の表現を削除して、各ノードにたいして1つずつ順にpretty-printer関数を呼び出すことによりすることにより機能する。
これはewoc-refresh
と似ているが、ewoc内のノードセット全体ではなくnodesだけを対象とする点が異なる。
これはewocからnodes内の各要素を削除する。
これはewoc内の各データ要素にたいしてpredicateを呼び出して、predicateがnil
をリターンしたノードを削除する。任意のargsをpredicateに渡すことができる。
これはewoc内の各データ要素にたいしてpredicateを呼び出して、predicateが非nil
をリターンしたノードのリストをリターンする。リスト内の要素はバッファー内での順序になる。任意のargsをpredicateに渡すことができる。
これはewoc内の各データ要素にたいしてmap-functionを呼び出して、map-functionが非nil
をリターンしたノードを更新する。任意のargsをmap-functionに渡すことができる。