mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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>
This commit is contained in:
parent
92917069b1
commit
86ef815959
@ -1312,4 +1312,28 @@ func Test_textwdith_overflow()
|
||||
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
|
||||
|
@ -59,9 +59,11 @@ internal_format(
|
||||
int safe_tw = trim_to_int(8 * (vimlong_T)textwidth);
|
||||
#ifdef FEAT_LINEBREAK
|
||||
int has_lbr = curwin->w_p_lbr;
|
||||
int has_bri = curwin->w_p_bri;
|
||||
|
||||
// make sure win_lbr_chartabsize() counts correctly
|
||||
curwin->w_p_lbr = FALSE;
|
||||
curwin->w_p_bri = FALSE;
|
||||
#endif
|
||||
|
||||
// When 'ai' is off we don't want a space under the cursor to be
|
||||
@ -475,6 +477,7 @@ internal_format(
|
||||
|
||||
#ifdef FEAT_LINEBREAK
|
||||
curwin->w_p_lbr = has_lbr;
|
||||
curwin->w_p_bri = has_bri;
|
||||
#endif
|
||||
if (!format_only && haveto_redraw)
|
||||
{
|
||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
377,
|
||||
/**/
|
||||
376,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user