Mercurial > vim
diff src/misc1.c @ 3058:4a7097153089 v7.3.301
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)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 07 Sep 2011 19:58:09 +0200 |
parents | aa40bddeea9a |
children | 0ecfe54a273f |
line wrap: on
line diff
--- 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;