vim-patch:7.4.640

Problem:    After deleting characters in Insert mode such that lines are
            joined undo does not work properly. (issue 324)
Solution:   Use Insstart instead of Insstart_orig. (Christian Brabandt)

c3bbad085c
This commit is contained in:
Shougo Matsushita 2015-12-13 12:52:09 +09:00
parent f183cc14de
commit f1b9a59ed6
2 changed files with 4 additions and 5 deletions

View File

@ -7427,15 +7427,14 @@ static int ins_bs(int c, int mode, int *inserted_space_p)
* delete newline! * delete newline!
*/ */
if (curwin->w_cursor.col == 0) { if (curwin->w_cursor.col == 0) {
lnum = Insstart_orig.lnum; lnum = Insstart.lnum;
if (curwin->w_cursor.lnum == lnum || revins_on) { if (curwin->w_cursor.lnum == lnum || revins_on) {
if (u_save((linenr_T)(curwin->w_cursor.lnum - 2), if (u_save((linenr_T)(curwin->w_cursor.lnum - 2),
(linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL) { (linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL) {
return FALSE; return FALSE;
} }
--Insstart_orig.lnum; --Insstart.lnum;
Insstart_orig.col = MAXCOL; Insstart.col = MAXCOL;
Insstart = Insstart_orig;
} }
/* /*
* In replace mode: * In replace mode:

View File

@ -356,7 +356,7 @@ static int included_patches[] = {
// 643, // 643,
// 642, // 642,
// 641, // 641,
// 640, 640,
// 639, // 639,
// 638 NA // 638 NA
637, 637,