Low-Level Kill Ring
-------------------
These functions and variables provide access to the kill ring at a
lower level, but still convenient for use in Lisp programs, because they
take care of interaction with window system selections (Note:Window
System Selections).
- Function: current-kill n &optional do-not-move
The function `current-kill' rotates the yanking pointer, which
designates the "front" of the kill ring, by N places (from newer
kills to older ones), and returns the text at that place in the
ring.
If the optional second argument DO-NOT-MOVE is non-`nil', then
`current-kill' doesn't alter the yanking pointer; it just returns
the Nth kill, counting from the current yanking pointer.
If N is zero, indicating a request for the latest kill,
`current-kill' calls the value of `interprogram-paste-function'
(documented below) before consulting the kill ring.
- Function: kill-new string
This function puts the text STRING into the kill ring as a new
entry at the front of the ring. It discards the oldest entry if
appropriate. It also invokes the value of
`interprogram-cut-function' (see below).
- Function: kill-append string before-p
This function appends the text STRING to the first entry in the
kill ring. Normally STRING goes at the end of the entry, but if
BEFORE-P is non-`nil', it goes at the beginning. This function
also invokes the value of `interprogram-cut-function' (see below).
- Variable: interprogram-paste-function
This variable provides a way of transferring killed text from other
programs, when you are using a window system. Its value should be
`nil' or a function of no arguments.
If the value is a function, `current-kill' calls it to get the
"most recent kill". If the function returns a non-`nil' value,
then that value is used as the "most recent kill". If it returns
`nil', then the first element of `kill-ring' is used.
The normal use of this hook is to get the window system's primary
selection as the most recent kill, even if the selection belongs to
another application. Note:Window System Selections.
- Variable: interprogram-cut-function
This variable provides a way of communicating killed text to other
programs, when you are using a window system. Its value should be
`nil' or a function of one argument.
If the value is a function, `kill-new' and `kill-append' call it
with the new first element of the kill ring as an argument.
The normal use of this hook is to set the window system's primary
selection from the newly killed text. Note:Window System
Selections.