diff options
-rw-r--r-- | src/sign.c | 12 | ||||
-rw-r--r-- | src/testdir/dumps/Test_sign_cursor_1.dump (renamed from src/testdir/dumps/Test_sign_cursor_01.dump) | 0 | ||||
-rw-r--r-- | src/testdir/dumps/Test_sign_cursor_2.dump | 6 | ||||
-rw-r--r-- | src/testdir/dumps/Test_sign_cursor_3.dump (renamed from src/testdir/dumps/Test_sign_cursor_02.dump) | 0 | ||||
-rw-r--r-- | src/testdir/test_signs.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
6 files changed, 24 insertions, 4 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); - } } } diff --git a/src/testdir/dumps/Test_sign_cursor_01.dump b/src/testdir/dumps/Test_sign_cursor_1.dump index 9ca4481935..9ca4481935 100644 --- a/src/testdir/dumps/Test_sign_cursor_01.dump +++ b/src/testdir/dumps/Test_sign_cursor_1.dump diff --git a/src/testdir/dumps/Test_sign_cursor_2.dump b/src/testdir/dumps/Test_sign_cursor_2.dump new file mode 100644 index 0000000000..2d10a2ced5 --- /dev/null +++ b/src/testdir/dumps/Test_sign_cursor_2.dump @@ -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| diff --git a/src/testdir/dumps/Test_sign_cursor_02.dump b/src/testdir/dumps/Test_sign_cursor_3.dump index 92643c3276..92643c3276 100644 --- a/src/testdir/dumps/Test_sign_cursor_02.dump +++ b/src/testdir/dumps/Test_sign_cursor_3.dump diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim index 862199cd3c..d480671d27 100644 --- a/src/testdir/test_signs.vim +++ b/src/testdir/test_signs.vim @@ -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 diff --git a/src/version.c b/src/version.c index f15d748dc5..e06dfc6d1c 100644 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 108, +/**/ 107, /**/ 106, |