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