diff options
| author | Richard M. Stallman <rms@gnu.org> | 1996-10-11 03:11:21 +0000 |
|---|---|---|
| committer | Richard M. Stallman <rms@gnu.org> | 1996-10-11 03:11:21 +0000 |
| commit | 9e5896c6587462729863393af23bc023541c304c (patch) | |
| tree | 8f9c9370b9eefd35233c95e0a1395b424c342485 | |
| parent | fd97770325a6485cbabb7d728904f3d33534c0b7 (diff) | |
| download | emacs-9e5896c6587462729863393af23bc023541c304c.tar.gz | |
(Fbuffer_has_markers_at): New function.
(syms_of_marker): defsubr it.
| -rw-r--r-- | src/marker.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/marker.c b/src/marker.c index 856dc00ad10..a11068d69df 100644 --- a/src/marker.c +++ b/src/marker.c @@ -313,6 +313,32 @@ If TYPE is nil, it means the marker stays behind when you insert text at it.") XMARKER (marker)->insertion_type = ! NILP (type); return type; } + +DEFUN ("buffer-has-markers-at", Fbuffer_has_markers_at, Sbuffer_has_markers_at, + 1, 1, 0, + "Return t if there are markers pointing at POSITION in the currentbuffer.") + (position) + Lisp_Object position; +{ + register Lisp_Object tail; + register int charno; + + charno = XINT (position); + + if (charno < BEG) + charno = BEG; + if (charno > Z) + charno = Z; + if (charno > GPT) charno += GAP_SIZE; + + for (tail = BUF_MARKERS (current_buffer); + XSYMBOL (tail) != XSYMBOL (Qnil); + tail = XMARKER (tail)->chain) + if (XMARKER (tail)->bufpos == charno) + return Qt; + + return Qnil; +} syms_of_marker () { @@ -322,4 +348,5 @@ syms_of_marker () defsubr (&Scopy_marker); defsubr (&Smarker_insertion_type); defsubr (&Sset_marker_insertion_type); + defsubr (&Sbuffer_has_markers_at); } |
