From: Bram Moolenaar Date: Sat, 27 Jul 2019 15:39:15 +0000 (+0200) Subject: patch 8.1.1757: text added with appendbufline() isn't displayed X-Git-Tag: v8.1.1757 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=298466629119eda501cfdf7824797f05045e67ca;p=vim patch 8.1.1757: text added with appendbufline() isn't displayed Problem: Text added with appendbufline() to another buffer isn't displayed. Solution: Update topline. (partly by Christian Brabandt, closes #4718) --- diff --git a/src/evalfunc.c b/src/evalfunc.c index 685e2f1e4..c0b6788c2 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -1401,12 +1401,7 @@ set_buffer_lines( if (wp->w_buffer == buf && wp->w_cursor.lnum > append_lnum) wp->w_cursor.lnum += added; check_cursor_col(); - -#ifdef FEAT_JOB_CHANNEL - if (bt_prompt(curbuf) && (State & INSERT)) - // show the line with the prompt - update_topline(); -#endif + update_topline(); } if (!is_curbuf) diff --git a/src/testdir/dumps/Test_appendbufline_1.dump b/src/testdir/dumps/Test_appendbufline_1.dump new file mode 100644 index 000000000..470256dfd --- /dev/null +++ b/src/testdir/dumps/Test_appendbufline_1.dump @@ -0,0 +1,10 @@ +| +0&#ffffff0@74 +|H|e|l@1|o| |V|i|m| |w|o|r|l|d|.@2| @56 +|~+0#4040ff13&| @73 +|~| @73 +|f+1#0000000&|o@1| |[|+|]| @49|1|,|0|-|1| @9|A|l@1 +> +0&&@74 +|~+0#4040ff13&| @73 +|~| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +|-+0&&@1|N|o| |l|i|n|e|s| |i|n| |b|u|f@1|e|r|-@1| @52 diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim index dbcd2e0fd..eb46104a8 100644 --- a/src/testdir/test_bufline.vim +++ b/src/testdir/test_bufline.vim @@ -1,6 +1,7 @@ " Tests for setbufline(), getbufline(), appendbufline(), deletebufline() source shared.vim +source screendump.vim func Test_setbufline_getbufline() new @@ -144,3 +145,28 @@ func Test_deletebufline() call assert_equal(['b', 'c'], getbufline(b, 1, 2)) exe "bwipe! " . b endfunc + +func Test_appendbufline_redraw() + if !CanRunVimInTerminal() + throw 'Skipped: cannot make screendumps' + endif + let lines =<< trim END + new foo + let winnr=bufwinnr('foo') + let buf=bufnr('foo') + wincmd p + call appendbufline(buf, '$', range(1,200)) + exe winnr. 'wincmd w' + norm! G + wincmd p + call deletebufline(buf, 1, '$') + call appendbufline(buf, '$', 'Hello Vim world...') + END + call writefile(lines, 'XscriptMatchCommon') + let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 10}) + call term_wait(buf) + call VerifyScreenDump(buf, 'Test_appendbufline_1', {}) + + call StopVimInTerminal(buf) + call delete('XscriptMatchCommon') +endfunc diff --git a/src/version.c b/src/version.c index b036b3aae..5444c772a 100644 --- a/src/version.c +++ b/src/version.c @@ -777,6 +777,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1757, /**/ 1756, /**/