mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-30 00:51:50 -08:00
(handle_display_prop): Handle empty replacement.
(handle_single_display_spec): Return -1 for empty replacement.
This commit is contained in:
parent
1cb83e13ed
commit
a605fefc84
1 changed files with 11 additions and 2 deletions
13
src/xdisp.c
13
src/xdisp.c
|
|
@ -3471,7 +3471,10 @@ handle_display_prop (it)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (handle_single_display_spec (it, prop, object, position, 0))
|
||||
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,7 +3518,8 @@ display_prop_end (it, object, start_pos)
|
|||
property ends.
|
||||
|
||||
Value is non-zero if something was found which replaces the display
|
||||
of buffer or string text. */
|
||||
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,6 +3834,11 @@ handle_single_display_spec (it, spec, object, position,
|
|||
|
||||
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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue