diff src/misc1.c @ 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 ef83b423ebf7
children 3248c6e40aee
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;
     }