394 |
@cindex mark ring |
@cindex mark ring |
395 |
|
|
396 |
One special marker in each buffer is designated @dfn{the mark}. It |
One special marker in each buffer is designated @dfn{the mark}. It |
397 |
records a position for the user for the sake of commands such as |
specifies a position to bound a range of text for commands such as |
398 |
@code{kill-region} and @code{indent-rigidly}. Lisp programs should set |
@code{kill-region} and @code{indent-rigidly}. Lisp programs should |
399 |
the mark only to values that have a potential use to the user, and never |
set the mark only to values that have a potential use to the user, and |
400 |
for their own internal purposes. For example, the @code{replace-regexp} |
never for their own internal purposes. For example, the |
401 |
command sets the mark to the value of point before doing any |
@code{replace-regexp} command sets the mark to the value of point |
402 |
replacements, because this enables the user to move back there |
before doing any replacements, because this enables the user to move |
403 |
conveniently after the replace is finished. |
back there conveniently after the replace is finished. |
404 |
|
|
405 |
Many commands are designed so that when called interactively they |
Many commands are designed to operate on the text between point and |
406 |
operate on the text between point and the mark. If you are writing such |
the mark when called interactively. If you are writing such a |
407 |
a command, don't examine the mark directly; instead, use |
command, don't examine the mark directly; instead, use |
408 |
@code{interactive} with the @samp{r} specification. This provides the |
@code{interactive} with the @samp{r} specification. This provides the |
409 |
values of point and the mark as arguments to the command in an |
values of point and the mark as arguments to the command in an |
410 |
interactive call, but permits other Lisp programs to specify arguments |
interactive call, but permits other Lisp programs to specify arguments |