From: Richard M. Stallman Date: Fri, 11 Oct 1996 03:11:21 +0000 (+0000) Subject: (Fbuffer_has_markers_at): New function. X-Git-Tag: emacs-20.1~3526 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9e5896c6587462729863393af23bc023541c304c;p=emacs.git (Fbuffer_has_markers_at): New function. (syms_of_marker): defsubr it. --- 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); }