diff options
Diffstat (limited to 'src/undo.c')
-rw-r--r-- | src/undo.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/undo.c b/src/undo.c index 1ead1561f..0c7cbd751 100644 --- a/src/undo.c +++ b/src/undo.c @@ -845,6 +845,28 @@ u_sync() } /* + * ":undojoin": continue adding to the last entry list + */ +/*ARGSUSED*/ + void +ex_undojoin(eap) + exarg_T *eap; +{ + if (!curbuf->b_u_synced) + return; /* already unsynced */ + if (curbuf->b_u_newhead == NULL) + return; /* nothing changed before */ + if (p_ul < 0) + return; /* no entries, nothing to do */ + else + { + /* Go back to the last entry */ + curbuf->b_u_curhead = curbuf->b_u_newhead; + curbuf->b_u_synced = FALSE; /* no entries, nothing to do */ + } +} + +/* * Called after writing the file and setting b_changed to FALSE. * Now an undo means that the buffer is modified. */ |