forked from aniani/vim
updated for version 7.3.301
Problem: When 'smartindent' and 'copyindent' are set a Tab is used even though 'expandtab' is set. Solution: Do not insert Tabs. Add a test. (Christian Brabandt)
This commit is contained in:
parent
275648066d
commit
c42e7ed777
@ -363,7 +363,7 @@ copy_indent(size, src)
|
|||||||
|
|
||||||
/* Fill to next tabstop with a tab, if possible */
|
/* Fill to next tabstop with a tab, if possible */
|
||||||
tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
|
tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
|
||||||
if (todo >= tab_pad)
|
if (todo >= tab_pad && !curbuf->b_p_et)
|
||||||
{
|
{
|
||||||
todo -= tab_pad;
|
todo -= tab_pad;
|
||||||
++ind_len;
|
++ind_len;
|
||||||
@ -372,7 +372,7 @@ copy_indent(size, src)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Add tabs required for indent */
|
/* Add tabs required for indent */
|
||||||
while (todo >= (int)curbuf->b_p_ts)
|
while (todo >= (int)curbuf->b_p_ts && !curbuf->b_p_et)
|
||||||
{
|
{
|
||||||
todo -= (int)curbuf->b_p_ts;
|
todo -= (int)curbuf->b_p_ts;
|
||||||
++ind_len;
|
++ind_len;
|
||||||
|
@ -12,6 +12,9 @@ r
|
|||||||
0wR
|
0wR
|
||||||
:" Test replacing with Tabs
|
:" Test replacing with Tabs
|
||||||
0wR
|
0wR
|
||||||
|
:" Test that copyindent works with expandtab set
|
||||||
|
:set expandtab smartindent copyindent ts=8 sw=8 sts=8
|
||||||
|
:exe "norm! o{\<cr>x"
|
||||||
:?^start?,$w! test.out
|
:?^start?,$w! test.out
|
||||||
:qa!
|
:qa!
|
||||||
ENDTEST
|
ENDTEST
|
||||||
|
@ -5,3 +5,5 @@ test text
|
|||||||
a cde
|
a cde
|
||||||
hi
|
hi
|
||||||
test text
|
test text
|
||||||
|
{
|
||||||
|
x
|
||||||
|
@ -709,6 +709,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
301,
|
||||||
/**/
|
/**/
|
||||||
300,
|
300,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user