diff options
author | Bram Moolenaar <Bram@vim.org> | 2008-01-16 19:03:13 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2008-01-16 19:03:13 +0000 |
commit | 21b17e7741cc08ca7f0e7606b73373d5b37e5ede (patch) | |
tree | d28153e160c5ad83e4004924ed56b44cbf89ddc6 /src | |
parent | f33943efe7d82e61b970a45e2ca6716eebdbb659 (diff) | |
download | vim-git-21b17e7741cc08ca7f0e7606b73373d5b37e5ede.tar.gz |
updated for version 7.1-231v7.1.231
Diffstat (limited to 'src')
-rw-r--r-- | src/edit.c | 19 | ||||
-rw-r--r-- | src/ops.c | 9 | ||||
-rw-r--r-- | src/proto/edit.pro | 2 | ||||
-rw-r--r-- | src/proto/ops.pro | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 19 insertions, 15 deletions
diff --git a/src/edit.c b/src/edit.c index 4edd0bc0a..4ce11d182 100644 --- a/src/edit.c +++ b/src/edit.c @@ -1662,11 +1662,12 @@ undisplay_dollar() * if round is TRUE, round the indent to 'shiftwidth' (only with _INC and _Dec). */ void -change_indent(type, amount, round, replaced) +change_indent(type, amount, round, replaced, call_changed_bytes) int type; int amount; int round; int replaced; /* replaced character, put on replace stack */ + int call_changed_bytes; /* call changed_bytes() */ { int vcol; int last_vcol; @@ -1723,7 +1724,7 @@ change_indent(type, amount, round, replaced) * Set the new indent. The cursor will be put on the first non-blank. */ if (type == INDENT_SET) - (void)set_indent(amount, SIN_CHANGED); + (void)set_indent(amount, call_changed_bytes ? SIN_CHANGED : 0); else { #ifdef FEAT_VREPLACE @@ -1733,7 +1734,7 @@ change_indent(type, amount, round, replaced) if (State & VREPLACE_FLAG) State = INSERT; #endif - shift_line(type == INDENT_DEC, round, 1); + shift_line(type == INDENT_DEC, round, 1, call_changed_bytes); #ifdef FEAT_VREPLACE State = save_State; #endif @@ -5921,7 +5922,7 @@ internal_format(textwidth, second_indent, flags, format_only) { #ifdef FEAT_VREPLACE if (State & VREPLACE_FLAG) - change_indent(INDENT_SET, second_indent, FALSE, NUL); + change_indent(INDENT_SET, second_indent, FALSE, NUL, TRUE); else #endif (void)set_indent(second_indent, SIN_CHANGED); @@ -7227,7 +7228,7 @@ cindent_on() fixthisline(get_the_indent) int (*get_the_indent) __ARGS((void)); { - change_indent(INDENT_SET, get_the_indent(), FALSE, 0); + change_indent(INDENT_SET, get_the_indent(), FALSE, 0, TRUE); if (linewhite(curwin->w_cursor.lnum)) did_ai = TRUE; /* delete the indent if the line stays empty */ } @@ -8170,10 +8171,10 @@ ins_shift(c, lastc) replace_pop_ins(); if (lastc == '^') old_indent = get_indent(); /* remember curr. indent */ - change_indent(INDENT_SET, 0, TRUE, 0); + change_indent(INDENT_SET, 0, TRUE, 0, TRUE); } else - change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0); + change_indent(c == Ctrl_D ? INDENT_DEC : INDENT_INC, 0, TRUE, 0, TRUE); if (did_ai && *skipwhite(ml_get_curline()) != NUL) did_ai = FALSE; @@ -9633,7 +9634,7 @@ ins_try_si(c) curwin->w_cursor = old_pos; #ifdef FEAT_VREPLACE if (State & VREPLACE_FLAG) - change_indent(INDENT_SET, i, FALSE, NUL); + change_indent(INDENT_SET, i, FALSE, NUL, TRUE); else #endif (void)set_indent(i, SIN_CHANGED); @@ -9662,7 +9663,7 @@ ins_try_si(c) curwin->w_cursor = old_pos; } if (temp) - shift_line(TRUE, FALSE, 1); + shift_line(TRUE, FALSE, 1, TRUE); } } @@ -258,7 +258,7 @@ op_shift(oap, curs_top, amount) if (first_char != '#' || !preprocs_left()) #endif { - shift_line(oap->op_type == OP_LSHIFT, p_sr, amount); + shift_line(oap->op_type == OP_LSHIFT, p_sr, amount, FALSE); } ++curwin->w_cursor.lnum; } @@ -321,10 +321,11 @@ op_shift(oap, curs_top, amount) * leaves cursor on first blank in the line */ void -shift_line(left, round, amount) +shift_line(left, round, amount, call_changed_bytes) int left; int round; int amount; + int call_changed_bytes; /* call changed_bytes() */ { int count; int i, j; @@ -363,10 +364,10 @@ shift_line(left, round, amount) /* Set new indent */ #ifdef FEAT_VREPLACE if (State & VREPLACE_FLAG) - change_indent(INDENT_SET, count, FALSE, NUL); + change_indent(INDENT_SET, count, FALSE, NUL, call_changed_bytes); else #endif - (void)set_indent(count, SIN_CHANGED); + (void)set_indent(count, call_changed_bytes ? SIN_CHANGED : 0); } #if defined(FEAT_VISUALEXTRA) || defined(PROTO) diff --git a/src/proto/edit.pro b/src/proto/edit.pro index 710a76e6f..0fb787fad 100644 --- a/src/proto/edit.pro +++ b/src/proto/edit.pro @@ -3,7 +3,7 @@ int edit __ARGS((int cmdchar, int startln, long count)); void edit_putchar __ARGS((int c, int highlight)); void edit_unputchar __ARGS((void)); void display_dollar __ARGS((colnr_T col)); -void change_indent __ARGS((int type, int amount, int round, int replaced)); +void change_indent __ARGS((int type, int amount, int round, int replaced, int call_changed_bytes)); void truncate_spaces __ARGS((char_u *line)); void backspace_until_column __ARGS((int col)); int vim_is_ctrl_x_key __ARGS((int c)); diff --git a/src/proto/ops.pro b/src/proto/ops.pro index 2cb05ab4a..9ce80b3a9 100644 --- a/src/proto/ops.pro +++ b/src/proto/ops.pro @@ -4,7 +4,7 @@ int op_on_lines __ARGS((int op)); int get_op_char __ARGS((int optype)); int get_extra_op_char __ARGS((int optype)); void op_shift __ARGS((oparg_T *oap, int curs_top, int amount)); -void shift_line __ARGS((int left, int round, int amount)); +void shift_line __ARGS((int left, int round, int amount, int call_changed_bytes)); void op_reindent __ARGS((oparg_T *oap, int (*how)(void))); int get_expr_register __ARGS((void)); void set_expr_line __ARGS((char_u *new_line)); diff --git a/src/version.c b/src/version.c index 27daf07fb..247299578 100644 --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 231, +/**/ 230, /**/ 229, |