]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.048 v7.3.048
authorBram Moolenaar <Bram@vim.org>
Wed, 3 Nov 2010 18:32:42 +0000 (19:32 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 3 Nov 2010 18:32:42 +0000 (19:32 +0100)
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"

src/undo.c
src/version.c

index 376913d538f8864518cc7186a886ed12604ab877..8fb46e4b7979d8ea5014f0b0413ded3710b49153 100644 (file)
@@ -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
index 1a5bd9fd92f7008aa8d0392b2fdfc8f755b9046a..adfe2a33277e09bb1b52d9cab284b82cdce5b154 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    48,
 /**/
     47,
 /**/