patch 9.1.0377: Formatting text wrong when 'breakindent' is set
Problem: formatting text wrong when 'breakindent' is set
(Gary Johnson)
Solution: temporarily disable 'breakindent' option when formatting text,
so that the breakindent is not wrongly taken into account for
the line length
fixes: #14630
closes: #14637
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim
index a9cffd0..5d58486 100644
--- a/src/testdir/test_textformat.vim
+++ b/src/testdir/test_textformat.vim
@@ -1312,4 +1312,28 @@
bw!
endfunc
+func Test_breakindent_reformat()
+ " Make sure textformatting uses the full width
+ " of the textwidth and does not consider the indent
+ " from breakindent into account when calculating the
+ " line length. Should break at tw 78 and not at 70
+ CheckOption breakindent
+ new
+ 80vnew
+ 39vnew
+ setl ai breakindent tw=78
+ let lorem = [
+ \ ' Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam luctus',
+ \ ' lectus sodales, dictum augue vel, molestie augue. Duis sit amet',
+ \ ' rhoncus justo. Nullam posuere risus semper magna commodo scelerisque.',
+ \ ' Duis et venenatis sem. In rhoncus augue sed tempor mattis. Mauris id',
+ \ ' aliquet odio.']
+ call setline(1, lorem)
+ norm! gqap
+ call assert_equal(lorem, getline(1, '$'))
+ bw!
+ bw!
+ bw!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab