# HG changeset patch # User Bram Moolenaar # Date 1403729738 -7200 # Node ID ea2c5dfee1b04d216ebf992c5f46ecbdfee2854a # Parent 7b83c190d370f3e72fc4e0994222ba96ef1015ef updated for version 7.4.345 Problem: Indent is not updated when deleting indent. Solution: Remember changedtick. diff --git a/src/misc1.c b/src/misc1.c --- 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; } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 345, +/**/ 344, /**/ 343,