Mercurial > vim
diff src/ex_docmd.c @ 756:f0edbe50b896
updated for version 7.0224
author | vimboss |
---|---|
date | Tue, 14 Mar 2006 22:53:34 +0000 |
parents | 59971e227f8c |
children | c0f1b710ce07 |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -301,6 +301,7 @@ static void ex_at __ARGS((exarg_T *eap)) static void ex_bang __ARGS((exarg_T *eap)); static void ex_undo __ARGS((exarg_T *eap)); static void ex_redo __ARGS((exarg_T *eap)); +static void ex_later __ARGS((exarg_T *eap)); static void ex_redir __ARGS((exarg_T *eap)); static void ex_redraw __ARGS((exarg_T *eap)); static void ex_redrawstatus __ARGS((exarg_T *eap)); @@ -8210,6 +8211,37 @@ ex_redo(eap) } /* + * ":earlier" and ":later". + */ +/*ARGSUSED*/ + static void +ex_later(eap) + exarg_T *eap; +{ + long count = 0; + int sec = FALSE; + char_u *p = eap->arg; + + if (*p == NUL) + count = 1; + else if (isdigit(*p)) + { + count = getdigits(&p); + switch (*p) + { + case 's': ++p; sec = TRUE; break; + case 'm': ++p; sec = TRUE; count *= 60; break; + case 'h': ++p; sec = TRUE; count *= 60 * 60; break; + } + } + + if (*p != NUL) + EMSG2(_(e_invarg2), eap->arg); + else + undo_time(eap->cmdidx == CMD_earlier ? -count : count, sec); +} + +/* * ":redir": start/stop redirection. */ static void