@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2003,
+@c 2004, 2005, 2006 Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/markers
@node Markers, Text, Positions, Top
operates on, but that is entirely the programmer's responsibility.
@xref{Positions}, for a complete description of positions.
- A marker has two attributes: the marker position, and the marker
-buffer. The marker position is an integer that is equivalent (at a
-given time) to the marker as a position in that buffer. But the
-marker's position value can change often during the life of the marker.
-Insertion and deletion of text in the buffer relocate the marker. The
-idea is that a marker positioned between two characters remains between
-those two characters despite insertion and deletion elsewhere in the
-buffer. Relocation changes the integer equivalent of the marker.
+ A marker has three attributes: the marker position, the marker
+buffer, and the insertion type. The marker position is an integer
+that is equivalent (at a given time) to the marker as a position in
+that buffer. But the marker's position value can change often during
+the life of the marker. Insertion and deletion of text in the buffer
+relocate the marker. The idea is that a marker positioned between two
+characters remains between those two characters despite insertion and
+deletion elsewhere in the buffer. Relocation changes the integer
+equivalent of the marker.
@cindex marker relocation
Deleting text around a marker's position leaves the marker between the
@defun mark &optional force
@cindex current buffer mark
-This function returns the current buffer's mark position as an integer.
-
-If Transient Mark mode is enabled, @code{mark-even-if-inactive} is
-@code{nil} and and the mark is inactive, @code{mark} normally signals
-an error. However, if @var{force} is non-@code{nil}, then @code{mark}
-returns the mark position anyway---or @code{nil}, if the mark is not
-yet set for this buffer.
+This function returns the current buffer's mark position as an integer,
+or @code{nil} if no mark has ever been set in this buffer.
+
+If Transient Mark mode is enabled, and @code{mark-even-if-inactive} is
+@code{nil}, @code{mark} signals an error if the mark is inactive.
+However, if @var{force} is non-@code{nil}, then @code{mark} disregards
+inactivity of the mark, and returns the mark position anyway (or
+@code{nil}).
@end defun
@defun mark-marker