changeset 28804:ddc6811eb4c8

(handle_single_display_prop): If display property value is invalid, or something not supported on the frame, restore iterator's position to what it was initially. Make sure to return 0 for invalid and unsupported property values.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 03 May 2000 19:48:35 +0000
parents 80075cf72ede
children d77e34df755e
files src/xdisp.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed May 03 19:25:07 2000 +0000
+++ b/src/xdisp.c	Wed May 03 19:48:35 2000 +0000
@@ -2439,7 +2439,6 @@
 
       /* Characters having this form of property are not displayed, so
          we have to find the end of the property.  */
-      space_or_image_found_p = 1;
       start_pos = *position;
       *position = display_prop_end (it, object, start_pos);
       value = Qnil;
@@ -2489,6 +2488,8 @@
 	   || NILP (location))
 	  && valid_p)
 	{
+	  space_or_image_found_p = 1;
+	  
 	  /* Save current settings of IT so that we can restore them
 	     when we are finished with the glyph property value.  */
 	  push_it (it);
@@ -2534,6 +2535,10 @@
 	    }
 #endif /* HAVE_WINDOW_SYSTEM */
 	}
+      else
+	/* Invalid property or property not supported.  Restore
+	   the position to what it was before.  */
+	*position = start_pos;
     }
 
   return space_or_image_found_p;