changeset 25820:a18595261196

(display_prop_end, invisible_text_between_p): Use next_single_char_property_change.
author Gerd Moellmann <gerd@gnu.org>
date Sun, 26 Sep 1999 10:53:23 +0000
parents c2163b0bac24
children 9a999c51f856
files src/xdisp.c
diffstat 1 files changed, 10 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Sun Sep 26 10:53:22 1999 +0000
+++ b/src/xdisp.c	Sun Sep 26 10:53:23 1999 +0000
@@ -2243,7 +2243,7 @@
 }
 
 
-/* Value is the position of the end of the `display' property stating
+/* Value is the position of the end of the `display' property starting
    at START_POS in OBJECT.  */
 
 static struct text_pos
@@ -2254,27 +2254,14 @@
 {
   Lisp_Object end;
   struct text_pos end_pos;
-  
-  /* Characters having this form of property are not displayed, so
-     we have to find the end of the property.  */
-  end = Fnext_single_property_change (make_number (start_pos.charpos),
-				      Qdisplay, object, Qnil);
-  if (NILP (end))
-    {
-      /* A nil value of `end' means there are no changes of the
-	 property to the end of the buffer or string.  */
-      if (it->current.overlay_string_index >= 0)
-	end_pos.charpos = XSTRING (it->string)->size;
-      else
-	end_pos.charpos = it->end_charpos;
-    }
-  else
-    end_pos.charpos = XFASTINT (end);
-
-  if (STRINGP (it->string))
+
+  end = next_single_char_property_change (make_number (CHARPOS (start_pos)),
+					  Qdisplay, object, Qnil);
+  CHARPOS (end_pos) = XFASTINT (end);
+  if (STRINGP (object))
     compute_string_pos (&end_pos, start_pos, it->string);
   else
-    end_pos.bytepos = CHAR_TO_BYTE (end_pos.charpos);
+    BYTEPOS (end_pos) = CHAR_TO_BYTE (XFASTINT (end));
 
   return end_pos;
 }
@@ -4430,10 +4417,9 @@
     invisible_found_p = 1;
   else
     {
-      limit = Fnext_single_property_change (make_number (start_charpos),
-					    Qinvisible,
-					    Fcurrent_buffer (),
-					    make_number (end_charpos));
+      limit = next_single_char_property_change (make_number (start_charpos),
+						Qinvisible, Qnil,
+						make_number (end_charpos));
       invisible_found_p = XFASTINT (limit) < end_charpos;
     }