summaryrefslogtreecommitdiffstats
path: root/src/sign.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sign.c')
-rw-r--r--src/sign.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/sign.c b/src/sign.c
index 935ec3c74d..9d8d7ac8a3 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -1025,6 +1025,16 @@ sign_define_by_name(
else
sp_prev->sn_next = sp;
}
+ else
+ {
+ win_T *wp;
+
+ // Signs may already exist, a redraw is needed in windows with a
+ // non-empty sign list.
+ FOR_ALL_WINDOWS(wp)
+ if (wp->w_buffer->b_signlist != NULL)
+ redraw_buf_later(wp->w_buffer, NOT_VALID);
+ }
// set values for a defined sign.
if (icon != NULL)
@@ -1781,10 +1791,8 @@ sign_get_placed(
else
{
FOR_ALL_BUFFERS(buf)
- {
if (buf->b_signlist != NULL)
sign_get_placed_in_buf(buf, 0, sign_id, sign_group, retlist);
- }
}
}