@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998 Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
+@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/markers
@node Markers, Text, Positions, Top
@end defun
@node Creating Markers
-@section Functions That Create Markers
+@section Functions that Create Markers
When you create a new marker, you can make it point nowhere, or point
to the present position of point, or to the beginning or end of the
@end example
@end defun
+@defun buffer-has-markers-at position
+@tindex buffer-has-markers-at
+This function returns @code{t} if one or more markers
+point at position @var{position} in the current buffer.
+@end defun
+
@node Marker Insertion Types
@section Marker Insertion Types
relocating a marker to point after the inserted text.
@defun set-marker-insertion-type marker type
-@tindex set-marker-insertion-type
This function sets the insertion type of marker @var{marker} to
@var{type}. If @var{type} is @code{t}, @var{marker} will advance when
text is inserted at its position. If @var{type} is @code{nil},
@end defun
@defun marker-insertion-type marker
-@tindex marker-insertion-type
This function reports the current insertion type of @var{marker}.
@end defun
maximum number of entries in the mark ring; once the list becomes this
long, adding a new element deletes the last element.
+ There is also a separate global mark ring, but that is used only in a
+few particular user-level commands, and is not relevant to Lisp
+programming. So we do not describe it here.
+
@defun mark &optional force
@cindex current buffer mark
This function returns the current buffer's mark position as an integer.
Transient Mark mode is enabled). All the primitives that change the
buffer set @code{deactivate-mark}, to deactivate the mark when the
command is finished.
+
+To write Lisp code that modifies the buffer without causing
+deactivation of the mark at the end of the command, bind
+@code{deactivate-mark} to @code{nil} around the code that does the
+modification. For example:
+
+@example
+(let (deactivate-mark)
+ (insert " "))
+@end example
@end defvar
@defun deactivate-mark
@example
@group
mark-ring
-@result{} (#<marker at 11050 in markers.texi>
+@result{} (#<marker at 11050 in markers.texi>
#<marker at 10832 in markers.texi>
@dots{})
@end group