diff options
author | Bram Moolenaar <Bram@vim.org> | 2007-08-14 20:16:42 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2007-08-14 20:16:42 +0000 |
commit | 4d64b7891b06537b2bb2e15f7ed2283e067d7abe (patch) | |
tree | 8f145cb2471b65c26db2a5de307c3e07d21f8d22 /src/misc1.c | |
parent | 9c039780125bdcbab96ad1cb8004b04f25546611 (diff) | |
download | vim-git-4d64b7891b06537b2bb2e15f7ed2283e067d7abe.tar.gz |
updated for version 7.1-073v7.1.073
Diffstat (limited to 'src/misc1.c')
-rw-r--r-- | src/misc1.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/misc1.c b/src/misc1.c index d9505046b..5f40e0ab9 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -104,7 +104,7 @@ set_indent(size, flags) int ind_done = 0; /* measured in spaces */ int tab_pad; int retval = FALSE; - int orig_char_len = 0; /* number of initial whitespace chars when + int orig_char_len = -1; /* number of initial whitespace chars when 'et' and 'pi' are both set */ /* @@ -159,7 +159,7 @@ set_indent(size, flags) /* 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 && orig_char_len == 0) + if (todo >= tab_pad && orig_char_len == -1) { doit = TRUE; todo -= tab_pad; @@ -206,11 +206,15 @@ set_indent(size, flags) /* If 'preserveindent' and 'expandtab' are both set keep the original * characters and allocate accordingly. We will fill the rest with spaces * after the if (!curbuf->b_p_et) below. */ - if (orig_char_len != 0) + if (orig_char_len != -1) { newline = alloc(orig_char_len + size - ind_done + line_len); if (newline == NULL) return FALSE; + todo = size - ind_done; + ind_len = orig_char_len + todo; /* Set total length of indent in + * characters, which may have been + * undercounted until now */ p = oldline; s = newline; while (orig_char_len > 0) @@ -222,9 +226,6 @@ set_indent(size, flags) * than old) */ while (vim_iswhite(*p)) (void)*p++; - todo = size - ind_done; - ind_len += todo; /* Set total length of indent in characters, - * which may have been undercounted until now */ } else |