Mercurial > vim
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; |