Mercurial > vim
changeset 6010:ea2c5dfee1b0 v7.4.345
updated for version 7.4.345
Problem: Indent is not updated when deleting indent.
Solution: Remember changedtick.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 25 Jun 2014 22:55:38 +0200 |
parents | 7b83c190d370 |
children | e11fcef66289 |
files | src/misc1.c src/version.c |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/misc1.c +++ b/src/misc1.c @@ -497,6 +497,7 @@ get_breakindent_win(wp, line) static int prev_indent = 0; /* cached indent value */ static long prev_ts = 0L; /* cached tabstop value */ static char_u *prev_line = NULL; /* cached pointer to line */ + static int prev_tick = 0; /* changedtick of cached value */ int bri = 0; /* window width minus window margin space, i.e. what rests for text */ const int eff_wwidth = W_WIDTH(wp) @@ -505,10 +506,12 @@ get_breakindent_win(wp, line) ? number_width(wp) + 1 : 0); /* used cached indent, unless pointer or 'tabstop' changed */ - if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts) + if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts + || prev_tick != wp->w_buffer->b_changedtick) { prev_line = line; prev_ts = wp->w_buffer->b_p_ts; + prev_tick = wp->w_buffer->b_changedtick; prev_indent = get_indent_str(line, (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift; }