Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.1008 emacs/src/xdisp.c:1.1009
*** emacs/src/xdisp.c:1.1008    Sat May 14 14:09:36 2005
--- emacs/src/xdisp.c   Mon May 16 21:25:20 2005
***************
*** 3471,3477 ****
      }
    else
      {
!       if (handle_single_display_spec (it, prop, object, position, 0))
        display_replaced_p = 1;
      }
  
--- 3471,3480 ----
      }
    else
      {
!       int ret = handle_single_display_spec (it, prop, object, position, 0);
!       if (ret < 0)  /* Replaced by "", i.e. nothing. */
!       return HANDLED_RECOMPUTE_PROPS;
!       if (ret)
        display_replaced_p = 1;
      }
  
***************
*** 3515,3521 ****
     property ends.
  
     Value is non-zero if something was found which replaces the display
!    of buffer or string text.  */
  
  static int
  handle_single_display_spec (it, spec, object, position,
--- 3518,3525 ----
     property ends.
  
     Value is non-zero if something was found which replaces the display
!    of buffer or string text.  Specifically, the value is -1 if that
!    "something" is "nothing". */
  
  static int
  handle_single_display_spec (it, spec, object, position,
***************
*** 3830,3835 ****
--- 3834,3844 ----
  
        if (STRINGP (value))
        {
+         if (SCHARS (value) == 0)
+           {
+             pop_it (it);
+             return -1;  /* Replaced by "", i.e. nothing.  */
+           }
          it->string = value;
          it->multibyte_p = STRING_MULTIBYTE (it->string);
          it->current.overlay_string_index = -1;


_______________________________________________
Emacs-diffs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-diffs

Reply via email to