Mercurial > vim
changeset 2627:fae6fb779a6b v7.3.048
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"
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 03 Nov 2010 19:32:42 +0100 |
parents | df6b12c84b23 |
children | 5c4b2fc4f067 |
files | src/undo.c src/version.c |
diffstat | 2 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- 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