diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-09-07 19:58:09 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-09-07 19:58:09 +0200 |
commit | c42e7ed777c41796615035ff9b56fce06ba78d2d (patch) | |
tree | bcf83a45c3227819772ce4c15b865dd897bcce50 | |
parent | 275648066d786aac4959cec8617aafc8264e78a2 (diff) | |
download | vim-git-c42e7ed777c41796615035ff9b56fce06ba78d2d.tar.gz |
updated for version 7.3.301v7.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)
-rw-r--r-- | src/misc1.c | 4 | ||||
-rw-r--r-- | src/testdir/test19.in | 3 | ||||
-rw-r--r-- | src/testdir/test19.ok | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 9 insertions, 2 deletions
diff --git a/src/misc1.c b/src/misc1.c index a3a20597b..589a145cc 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -363,7 +363,7 @@ copy_indent(size, src) /* Fill to next tabstop with a tab, if possible */ 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; ++ind_len; @@ -372,7 +372,7 @@ copy_indent(size, src) } /* 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; ++ind_len; diff --git a/src/testdir/test19.in b/src/testdir/test19.in index bdcfb77db..ff6e25517 100644 --- a/src/testdir/test19.in +++ b/src/testdir/test19.in @@ -12,6 +12,9 @@ r 0wR :" Test replacing with Tabs 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 :qa! ENDTEST diff --git a/src/testdir/test19.ok b/src/testdir/test19.ok index ba4eb63be..23d51507d 100644 --- a/src/testdir/test19.ok +++ b/src/testdir/test19.ok @@ -5,3 +5,5 @@ test text a cde hi test text +{ + x diff --git a/src/version.c b/src/version.c index c3614035c..be9f058db 100644 --- a/src/version.c +++ b/src/version.c @@ -710,6 +710,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 301, +/**/ 300, /**/ 299, |