changeset 12488:71aa23be0228

(overlays_in): Don't count empty overlays at END. (Foverlays_in): Likewise.
author Richard M. Stallman <rms@gnu.org>
date Fri, 07 Jul 1995 13:31:48 +0000
parents b657158dd5c9
children d0f5c21803e1
files src/buffer.c
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/buffer.c	Fri Jul 07 13:29:50 1995 +0000
+++ b/src/buffer.c	Fri Jul 07 13:31:48 1995 +0000
@@ -1695,7 +1695,8 @@
 }
 
 /* Find all the overlays in the current buffer that overlap the range BEG-END
-   plus empty overlays anywhere from BEG to END.
+   or are empty at BEG.
+
    Return the number found, and store them in a vector in *VEC_PTR.  
    Store in *LEN_PTR the size allocated for the vector.
    Store in *NEXT_PTR the next position after POS where an overlay starts,
@@ -1748,10 +1749,9 @@
 	}
       startpos = OVERLAY_POSITION (ostart);
       /* Count an interval if it either overlaps the range
-	 or is empty at either end of the range.  */
+	 or is empty at the start of the range.  */
       if ((beg < endpos && startpos < end)
-	  || (startpos == endpos && beg == startpos)
-	  || (startpos == endpos && end == startpos))
+	  || (startpos == endpos && beg == endpos))
 	{
 	  if (idx == len)
 	    {
@@ -1794,9 +1794,10 @@
 	  break;
 	}
       endpos = OVERLAY_POSITION (oend);
+      /* Count an interval if it either overlaps the range
+	 or is empty at the start of the range.  */
       if ((beg < endpos && startpos < end)
-	  || (startpos == endpos && beg == startpos)
-	  || (startpos == endpos && end == startpos))
+	  || (startpos == endpos && beg == endpos))
 	{
 	  if (idx == len)
 	    {
@@ -2755,9 +2756,11 @@
 }
 
 DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0,
-  "Return a list of the overlays that overlap region BEG ... END.\n\
-This includes empty overlays at BEG or END (as well as empty overlays\n\
-within the range.")
+  "Return a list of the overlays that overlap the region BEG ... END.\n\
+Overlap means that at least one character is contained within the overlay\n\
+and also contained within the specified region.\n\
+Empty overlays are included in the result if they are located at BEG\n\
+or between BEG and END.")
   (beg, end)
      Lisp_Object beg, end;
 {