forked from aniani/vim
patch 8.2.0108: when sign text is changed a manual redraw is needed
Problem: When sign text is changed a manual redraw is needed. (Pontus Lietzler) Solution: Redraw automatically. (closes #5455)
This commit is contained in:
12
src/sign.c
12
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,12 +1791,10 @@ 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# if defined(FEAT_SIGN_ICONS) || defined(PROTO)
|
||||
/*
|
||||
|
6
src/testdir/dumps/Test_sign_cursor_2.dump
Normal file
6
src/testdir/dumps/Test_sign_cursor_2.dump
Normal file
@@ -0,0 +1,6 @@
|
||||
| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
|
||||
|-+0&#ffff4012|)>m+0&#ffffff0@3| @68
|
||||
| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
|
||||
|~+0#4040ff13&| @73
|
||||
|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |s|1| |t|e|x|t|=|-|)| @33|2|,|1| @10|A|l@1|
|
@@ -1747,12 +1747,16 @@ func Test_sign_cursor_position()
|
||||
END
|
||||
call writefile(lines, 'XtestSigncolumn')
|
||||
let buf = RunVimInTerminal('-S XtestSigncolumn', {'rows': 6})
|
||||
call VerifyScreenDump(buf, 'Test_sign_cursor_01', {})
|
||||
call VerifyScreenDump(buf, 'Test_sign_cursor_1', {})
|
||||
|
||||
" Change the sign text
|
||||
call term_sendkeys(buf, ":sign define s1 text=-)\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_sign_cursor_2', {})
|
||||
|
||||
" update cursor position calculation
|
||||
call term_sendkeys(buf, "lh")
|
||||
call term_sendkeys(buf, ":sign unplace 10\<CR>")
|
||||
call VerifyScreenDump(buf, 'Test_sign_cursor_02', {})
|
||||
call VerifyScreenDump(buf, 'Test_sign_cursor_3', {})
|
||||
|
||||
|
||||
" clean up
|
||||
|
@@ -742,6 +742,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
108,
|
||||
/**/
|
||||
107,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user