]> git.eshelyaron.com Git - emacs.git/commitdiff
(handle_single_display_prop): If display property value
authorGerd Moellmann <gerd@gnu.org>
Wed, 3 May 2000 19:48:35 +0000 (19:48 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 3 May 2000 19:48:35 +0000 (19:48 +0000)
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.

src/xdisp.c

index 2f766bf46e884ba521285e8d074724f13632a217..f377a9b61d6019a637f9ac58e64d7cc732f35676 100644 (file)
@@ -2439,7 +2439,6 @@ handle_single_display_prop (it, prop, object, position)
 
       /* 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 @@ handle_single_display_prop (it, prop, object, position)
           || 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 @@ handle_single_display_prop (it, prop, object, position)
            }
 #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;