By default, both the text you select in an Emacs buffer using the click-and-drag mechanism and text you select by setting point and the mark is highlighted. You can use Emacs region commands as well as the Cut and Copy commands on the highlighted region you selected with the mouse.
If you prefer, you can make a distinction between text selected with the
mouse and text selected with point and the mark by setting the variable
nil. In that case:
Active regions originally come from Zmacs, the Lisp Machine editor. The idea behind them is that commands can only operate on a region when the region is in an "active" state. Put simply, you can only operate on a region that is highlighted.
zmacs-regions checks whether LISPM-style active
regions should be used. This means that commands that operate on the
region (the area between point and the mark) only work while
the region is in the active state, which is indicated by highlighting.
Most commands causes the region to not be in the active state;
for example, C-w only works immediately after activating the
set-mark-command (C-SPC) pushes a mark and activates the
region. Moving the cursor with normal motion commands (C-n,
C-p, etc.) will cause the region between point and the
recently-pushed mark to be highlighted. It will remain highlighted
until some non-motion command is executed.
exchange-point-and-mark (C-x C-x) activates the region.
So if you mark a region and execute a command that operates on it, you
can reactivate the same region with C-x C-x (or perhaps C-x
C-x C-x C-x) to operate on it again.
Generally, commands that push marks as a means of navigation, such as
beginning-of-buffer (M-<) and
(M->), do not activate the region. However, commands that push
marks as a means of marking an area of text, such as
mark-word (M-@), and
(C-x h), do activate the region.
t, there is no distinction between
the primary X selection and the active region selected by point and the
mark. To see this, set the mark (C-SPC) and move the cursor
with any cursor-motion command: the region between point and mark is
highlighted, and you can watch it grow and shrink as you move the
Any other commands besides cursor-motion commands (such as inserting or deleting text) will cause the region to no longer be active; it will no longer be highlighted, and will no longer be the primary selection. Region can be explicitly deactivated with C-g.
Commands that require a region (such as C-w) signal an error if
the region is not active. Certain commands cause the region to be in
its active state. The most common ones are
exchange-point-and-mark (C-x C-x).
t, programs can be non-intrusive
on the state of the region by setting the variable
to a non-
nil value. If you are writing a new Emacs command that
is conceptually a “motion” command and should not interfere with the
current highlightedness of the region, then you may set this variable.
It is reset to
nil after each user command is executed.
t, programs can make the region between
point and mark go into the active (highlighted) state by using the
zmacs-activate-region. Only a small number of commands
should ever do this.
t, programs can deactivate the region
between point and the mark by using
Note: you should not have to call this function; the command loop calls
it when appropriate.