Next: Internals of Kill Ring, Previous: Yank Commands, Up: The Kill Ring [Contents][Index]
以下の関数と変数はkillリングにたいして低レベルなアクセスを提供しますが、それらはウィンドウシステムの選択(Window System Selectionsを参照)との相互作用にも留意するので、Lispプログラム内での使用に関しても依然として有用です。
関数current-kill
は、killリングの“先頭”を指すyankポインターを、(新しいkillから古いkillに)n個転回して、リング内のその箇所のテキストをリターンする。
オプションの第2引数do-not-moveが非nil
なら、current-kill
はyankポインターを変更しない。カレントyankポインターからn個目のkillを単にリターンする。
nが0ならそれは最新のkillの要求を意味しており、current-kill
はkillリング照会前にinterprogram-paste-function
(以下参照)の値を呼び出す。その値が関数であり、かつそれが文字列か複数の文字列からなるリストをリターンすると、current-kill
はその文字列をkillリング上にpushして最初の文字列をリターンする。これはdo-not-moveの値に関わらず、interprogram-paste-function
がリターンする最初の文字列のkillリングエントリーを指すようにyankポインターのセットも行う。それ以外ではcurrent-kill
はnにたいする0値を特別に扱うことはなく、yankポインターが指すエントリーをリターンしてyankポインターの移動は行わない。
この関数はテキストstringをkillリング上にpushして、yankポインターがそれを指すようにセットする。それが適切ならもっとも古いエントリーを破棄する。interprogram-cut-function
(以下参照)の呼び出しも行う。
replaceが非nil
ならkill-new
はkillリング上にstringをpushせずに、killリングの1つ目の要素をstringに置き換える。
この関数はkillリング内の最初のエントリーにテキストstringを追加して、その結合されたエントリーを指すようにyankポインターをセットする。通常はそのエントリーの終端にstringが追加されるが、before-pが非nil
ならエントリーの先頭に追加される。この関数はinterprogram-cut-function
(以下参照)の呼び出しも行う。
この変数は他のプログラムからkillリングへkillされたテキストを転送する方法を提供する。値はnil
、または引数のない関数であること。
値が関数なら、“もっとも最近のkill”を取得するために、current-kill
はそれを呼び出す。その関数が非nil
値をリターンした場合は、その値が“もっとも最近のkill”として使用される。nil
をリターンした場合は、killリングの先頭が使用される。
複数選択をサポートするウィンドウシステムのサポートを容易にするために、この関数は文字列のリストもリターンするかもしれない。その場合、1つ目の文字列が“もっとも最近のkill”として使用され、その他の文字列はすべてyank-pop
によるアクセスを容易にするために、killリング上にpushされる。
この関数の通常の用途は、たとえそれが他アプリケーションに属する選択であっても、もっとも最近のkillとしてウィンドウシステムのクリップボードからそれを取得することである。しかしクリップボードのコンテンツがカレントEmacsセッションに由来するなら、この関数はnil
をリターンする筈である。
この変数はウィンドウシステム使用時に、他のプログラムにkillされたテキストを転送する方法を提供する。値はnil
、または1つの引数を要求する関数であること。
値が関数ならkill-new
とkill-append
はkillリングの新たな1つ目要素を引数としてそれを呼び出す。
この関数の通常の用途は、新たにkillされたテキストをウィンドウシステムのクリップボードに配置することである。Window System Selectionsを参照のこと。