From 779b74b2a23643aaac026341a4ed8bd6e04371e6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 10 Apr 2006 14:55:34 +0000 Subject: updated for version 7.0d --- src/undo.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/undo.c') diff --git a/src/undo.c b/src/undo.c index efbd4ccf4..a2861d536 100644 --- a/src/undo.c +++ b/src/undo.c @@ -551,7 +551,7 @@ u_undo(count) */ if (curbuf->b_u_synced == FALSE) { - u_sync(); + u_sync(TRUE); count = 1; } @@ -673,7 +673,7 @@ undo_time(step, sec, absolute) /* First make sure the current undoable change is synced. */ if (curbuf->b_u_synced == FALSE) - u_sync(); + u_sync(TRUE); u_newcount = 0; u_oldcount = 0; @@ -1255,10 +1255,12 @@ u_undo_end(did_undo, absolute) * u_sync: stop adding to the current entry list */ void -u_sync() +u_sync(force) + int force; /* Also sync when no_u_sync is set. */ { - if (curbuf->b_u_synced) - return; /* already synced */ + /* Skip it when already synced or syncing is disabled. */ + if (curbuf->b_u_synced || (!force && no_u_sync > 0)) + return; #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) if (im_is_preediting()) return; /* XIM is busy, don't break an undo sequence */ -- cgit v1.2.1