patch 8.0.1274: setbufline() fails when using folding

Problem:    setbufline() fails when using folding.
Solution:   Set "curwin" if needed. (Ozaki Kiichi, closes #2293)
diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim
index cc5c10e..b886e99 100644
--- a/src/testdir/test_bufline.vim
+++ b/src/testdir/test_bufline.vim
@@ -27,6 +27,32 @@
   exe "bwipe! " . b
 endfunc
 
+func Test_setbufline_getbufline_fold()
+  split Xtest
+  setlocal foldmethod=expr foldexpr=0
+  let b = bufnr('%')
+  new
+  call assert_equal(0, setbufline(b, 1, ['foo', 'bar']))
+  call assert_equal(['foo'], getbufline(b, 1))
+  call assert_equal(['bar'], getbufline(b, 2))
+  call assert_equal(['foo', 'bar'], getbufline(b, 1, 2))
+  exe "bwipe!" b
+  bwipe!
+endfunc
+
+func Test_setbufline_getbufline_fold_tab()
+  split Xtest
+  setlocal foldmethod=expr foldexpr=0
+  let b = bufnr('%')
+  tab new
+  call assert_equal(0, setbufline(b, 1, ['foo', 'bar']))
+  call assert_equal(['foo'], getbufline(b, 1))
+  call assert_equal(['bar'], getbufline(b, 2))
+  call assert_equal(['foo', 'bar'], getbufline(b, 1, 2))
+  exe "bwipe!" b
+  bwipe!
+endfunc
+
 func Test_setline_startup()
   let cmd = GetVimCommand('Xscript')
   if cmd == ''