undo: reduce reliance on curbuf

This commit is contained in:
Thomas Vigouroux
2020-09-23 22:45:51 +02:00
parent 55a2c513aa
commit 763c852812
11 changed files with 217 additions and 187 deletions

View File

@@ -1334,9 +1334,9 @@ static void set_diff_option(win_T *wp, int value)
curwin = wp;
curbuf = curwin->w_buffer;
curbuf_lock++;
curbuf->b_ro_locked++;
set_option_value("diff", (long)value, NULL, OPT_LOCAL);
curbuf_lock--;
curbuf->b_ro_locked--;
curwin = old_curwin;
curbuf = curwin->w_buffer;
}
@@ -2603,7 +2603,7 @@ void ex_diffgetput(exarg_T *eap)
// FileChangedRO autocommand, which may do nasty things and mess
// everything up.
if (!curbuf->b_changed) {
change_warning(0);
change_warning(curbuf, 0);
if (diff_buf_idx(curbuf) != idx_to) {
EMSG(_("E787: Buffer changed unexpectedly"));
goto theend;