# HG changeset patch # User Bram Moolenaar # Date 1288809162 -3600 # Node ID fae6fb779a6be78f2609dac4fddb8da508735dc9 # Parent df6b12c84b2359415cd987c016f5de135c680100 updated for version 7.3.048 Problem: ":earlier 1f" doesn't work after loading undo file. Solution: Set b_u_save_nr_cur when loading an undo file. (Christian Brabandt) Fix only showing time in ":undolist" diff --git a/src/undo.c b/src/undo.c --- a/src/undo.c +++ b/src/undo.c @@ -1861,6 +1861,7 @@ u_read_undo(name, hash, orig_name) curbuf->b_u_seq_cur = seq_cur; curbuf->b_u_time_cur = seq_time; curbuf->b_u_save_nr_last = last_save_nr; + curbuf->b_u_save_nr_cur = last_save_nr; curbuf->b_u_synced = TRUE; vim_free(uhp_table); @@ -2794,7 +2795,7 @@ ex_undolist(eap) uhp->uh_time); if (uhp->uh_save_nr > 0) { - while (STRLEN(IObuff) < 32) + while (STRLEN(IObuff) < 33) STRCAT(IObuff, " "); vim_snprintf_add((char *)IObuff, IOSIZE, " %3ld", uhp->uh_save_nr); @@ -2849,7 +2850,7 @@ ex_undolist(eap) sort_strings((char_u **)ga.ga_data, ga.ga_len); msg_start(); - msg_puts_attr((char_u *)_("number changes time saved"), + msg_puts_attr((char_u *)_("number changes when saved"), hl_attr(HLF_T)); for (i = 0; i < ga.ga_len && !got_int; ++i) { @@ -2879,7 +2880,15 @@ u_add_time(buf, buflen, tt) if (time(NULL) - tt >= 100) { curtime = localtime(&tt); - (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime); + if (time(NULL) - tt < (60L * 60L * 12L)) + /* within 12 hours */ + (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime); + else if (time(NULL) - tt < (60L * 60L * 24L * 180L)) + /* within 6 months */ + (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime); + else + /* long ago */ + (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime); } else #endif diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 48, +/**/ 47, /**/ 46,