mirror of
https://github.com/vim/vim.git
synced 2025-10-13 06:54:15 -04:00
updated for version 7.2.441
Problem: When using ":earlier" undo information may be wrong. Solution: When changing alternate branches also adjust b_u_oldhead.
This commit is contained in:
14
src/undo.c
14
src/undo.c
@@ -242,7 +242,7 @@ u_save(top, bot)
|
||||
}
|
||||
|
||||
/*
|
||||
* save the line "lnum" (used by ":s" and "~" command)
|
||||
* Save the line "lnum" (used by ":s" and "~" command).
|
||||
* The line is replaced, so the new bottom line is lnum + 1.
|
||||
*/
|
||||
int
|
||||
@@ -256,7 +256,7 @@ u_savesub(lnum)
|
||||
}
|
||||
|
||||
/*
|
||||
* a new line is inserted before line "lnum" (used by :s command)
|
||||
* A new line is inserted before line "lnum" (used by :s command).
|
||||
* The line is inserted, so the new bottom line is lnum + 1.
|
||||
*/
|
||||
int
|
||||
@@ -270,7 +270,7 @@ u_inssub(lnum)
|
||||
}
|
||||
|
||||
/*
|
||||
* save the lines "lnum" - "lnum" + nlines (used by delete command)
|
||||
* Save the lines "lnum" - "lnum" + nlines (used by delete command).
|
||||
* The lines are deleted, so the new bottom line is lnum, unless the buffer
|
||||
* becomes empty.
|
||||
*/
|
||||
@@ -996,6 +996,8 @@ undo_time(step, sec, absolute)
|
||||
last->uh_alt_next = uhp;
|
||||
uhp->uh_alt_prev = last;
|
||||
|
||||
if (curbuf->b_u_oldhead == uhp)
|
||||
curbuf->b_u_oldhead = last;
|
||||
uhp = last;
|
||||
if (uhp->uh_next != NULL)
|
||||
uhp->uh_next->uh_prev = uhp;
|
||||
@@ -1406,10 +1408,9 @@ u_sync(force)
|
||||
/*
|
||||
* ":undolist": List the leafs of the undo tree
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
ex_undolist(eap)
|
||||
exarg_T *eap;
|
||||
exarg_T *eap UNUSED;
|
||||
{
|
||||
garray_T ga;
|
||||
u_header_T *uhp;
|
||||
@@ -1529,10 +1530,9 @@ u_add_time(buf, buflen, tt)
|
||||
/*
|
||||
* ":undojoin": continue adding to the last entry list
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
ex_undojoin(eap)
|
||||
exarg_T *eap;
|
||||
exarg_T *eap UNUSED;
|
||||
{
|
||||
if (curbuf->b_u_newhead == NULL)
|
||||
return; /* nothing changed before */
|
||||
|
@@ -681,6 +681,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
441,
|
||||
/**/
|
||||
440,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user