Functions for Killing
---------------------
`kill-region' is the usual subroutine for killing text. Any command
that calls this function is a "kill command" (and should probably have
`kill' in its name). `kill-region' puts the newly killed text in a new
element at the beginning of the kill ring or adds it to the most recent
element. It determines automatically (using `last-command') whether
the previous command was a kill command, and if so appends the killed
text to the most recent entry.
- Command: kill-region start end
This function kills the text in the region defined by START and
END. The text is deleted but saved in the kill ring, along with
its text properties. The value is always `nil'.
In an interactive call, START and END are point and the mark.
If the buffer or text is read-only, `kill-region' modifies the kill
ring just the same, then signals an error without modifying the
buffer. This is convenient because it lets the user use a series
of kill commands to copy text from a read-only buffer into the
kill ring.
- User Option: kill-read-only-ok
If this option is non-`nil', `kill-region' does not signal an
error if the buffer or text is read-only. Instead, it simply
returns, updating the kill ring but not changing the buffer.
- Command: copy-region-as-kill start end
This command saves the region defined by START and END on the kill
ring (including text properties), but does not delete the text
from the buffer. It returns `nil'. It also indicates the extent
of the text copied by moving the cursor momentarily, or by
displaying a message in the echo area.
The command does not set `this-command' to `kill-region', so a
subsequent kill command does not append to the same kill ring
entry.
Don't call `copy-region-as-kill' in Lisp programs unless you aim to
support Emacs 18. For newer Emacs versions, it is better to use
`kill-new' or `kill-append' instead. Note:Low-Level Kill Ring.