patch 8.0.1041: bogus characters when indenting during visual-block append

Problem:    Bogus characters appear when indenting kicks in while doing a
            visual-block append.
Solution:   Recompute when indenting is done. (Christian Brabandt)
diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim
index d352e8f..7c2c5e3 100644
--- a/src/testdir/test_cindent.vim
+++ b/src/testdir/test_cindent.vim
@@ -71,7 +71,7 @@
   bwipe!
 endfunc
 
-func! Test_cindent_rawstring()
+func Test_cindent_rawstring()
   new
   setl cindent
   call feedkeys("i" .
@@ -81,5 +81,25 @@
           \ "statement;\<Esc>", "x")
   call assert_equal("\tstatement;", getline(line('.')))
   bw!
-endfunction
+endfunc
+
+func Test_cindent_expr()
+  new
+  func! MyIndentFunction()
+    return v:lnum == 1 ? shiftwidth() : 0
+  endfunc
+  setl expandtab sw=8 indentkeys+=; indentexpr=MyIndentFunction()
+  call setline(1, ['var_a = something()', 'b = something()'])
+  call cursor(1, 1)
+  call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
+  call assert_equal(['        var_a = something();', 'b = something();'], getline(1, '$'))
+
+  %d
+  call setline(1, ['                var_a = something()', '                b = something()'])
+  call cursor(1, 1)
+  call feedkeys("^\<c-v>j$A;\<esc>", 'tnix')
+  call assert_equal(['        var_a = something();', '                b = something()'], getline(1, '$'))
+  bw!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab