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;
     }
--- 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,