comparison src/misc1.c @ 14764:f562b9fbd0d3 v8.1.0394

patch 8.1.0394: diffs are not always updated correctly commit https://github.com/vim/vim/commit/e3521d9cbb786806eaff106707851d37d2c0ecef Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 16 14:10:31 2018 +0200 patch 8.1.0394: diffs are not always updated correctly Problem: Diffs are not always updated correctly. Solution: When using internal diff update for any changes properly.
author Christian Brabandt <cb@256bit.org>
date Sun, 16 Sep 2018 14:15:05 +0200
parents d2cfca5b178e
children 27b9a84395b5
comparison
equal deleted inserted replaced
14763:bbd166434756 14764:f562b9fbd0d3
3091 long xtra) /* number of extra lines (negative when deleting) */ 3091 long xtra) /* number of extra lines (negative when deleting) */
3092 { 3092 {
3093 changed_lines_buf(curbuf, lnum, lnume, xtra); 3093 changed_lines_buf(curbuf, lnum, lnume, xtra);
3094 3094
3095 #ifdef FEAT_DIFF 3095 #ifdef FEAT_DIFF
3096 if (xtra == 0 && curwin->w_p_diff) 3096 if (xtra == 0 && curwin->w_p_diff && !diff_internal())
3097 { 3097 {
3098 /* When the number of lines doesn't change then mark_adjust() isn't 3098 /* When the number of lines doesn't change then mark_adjust() isn't
3099 * called and other diff buffers still need to be marked for 3099 * called and other diff buffers still need to be marked for
3100 * displaying. */ 3100 * displaying. */
3101 win_T *wp; 3101 win_T *wp;
3170 int add; 3170 int add;
3171 #endif 3171 #endif
3172 3172
3173 /* mark the buffer as modified */ 3173 /* mark the buffer as modified */
3174 changed(); 3174 changed();
3175
3176 #ifdef FEAT_DIFF
3177 if (curwin->w_p_diff && diff_internal())
3178 curtab->tp_diff_update = TRUE;
3179 #endif
3175 3180
3176 /* set the '. mark */ 3181 /* set the '. mark */
3177 if (!cmdmod.keepjumps) 3182 if (!cmdmod.keepjumps)
3178 { 3183 {
3179 curbuf->b_last_change.lnum = lnum; 3184 curbuf->b_last_change.lnum = lnum;