|
Karsten Hopp |
4013be |
To: vim_dev@googlegroups.com
|
|
Karsten Hopp |
4013be |
Subject: Patch 7.3.1039
|
|
Karsten Hopp |
4013be |
Fcc: outbox
|
|
Karsten Hopp |
4013be |
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Karsten Hopp |
4013be |
Mime-Version: 1.0
|
|
Karsten Hopp |
4013be |
Content-Type: text/plain; charset=UTF-8
|
|
Karsten Hopp |
4013be |
Content-Transfer-Encoding: 8bit
|
|
Karsten Hopp |
4013be |
------------
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
Patch 7.3.1039
|
|
Karsten Hopp |
4013be |
Problem: New regexp engine does not support \%23c, \%<23c and the like.
|
|
Karsten Hopp |
4013be |
Solution: Implement them. (partly by Yasuhiro Matsumoto)
|
|
Karsten Hopp |
4013be |
Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
|
|
Karsten Hopp |
4013be |
src/testdir/test64.ok
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
*** ../vim-7.3.1038/src/regexp.h 2013-05-28 22:03:13.000000000 +0200
|
|
Karsten Hopp |
4013be |
--- src/regexp.h 2013-05-29 20:35:35.000000000 +0200
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 72,77 ****
|
|
Karsten Hopp |
4013be |
--- 72,78 ----
|
|
Karsten Hopp |
4013be |
int id;
|
|
Karsten Hopp |
4013be |
int lastlist;
|
|
Karsten Hopp |
4013be |
int negated;
|
|
Karsten Hopp |
4013be |
+ int val;
|
|
Karsten Hopp |
4013be |
};
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
/*
|
|
Karsten Hopp |
4013be |
*** ../vim-7.3.1038/src/regexp_nfa.c 2013-05-29 18:45:07.000000000 +0200
|
|
Karsten Hopp |
4013be |
--- src/regexp_nfa.c 2013-05-29 20:59:34.000000000 +0200
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 117,122 ****
|
|
Karsten Hopp |
4013be |
--- 117,134 ----
|
|
Karsten Hopp |
4013be |
NFA_NLOWER, /* Match non-lowercase char */
|
|
Karsten Hopp |
4013be |
NFA_UPPER, /* Match uppercase char */
|
|
Karsten Hopp |
4013be |
NFA_NUPPER, /* Match non-uppercase char */
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
+ NFA_CURSOR, /* Match cursor pos */
|
|
Karsten Hopp |
4013be |
+ NFA_LNUM, /* Match line number */
|
|
Karsten Hopp |
4013be |
+ NFA_LNUM_GT, /* Match > line number */
|
|
Karsten Hopp |
4013be |
+ NFA_LNUM_LT, /* Match < line number */
|
|
Karsten Hopp |
4013be |
+ NFA_COL, /* Match cursor column */
|
|
Karsten Hopp |
4013be |
+ NFA_COL_GT, /* Match > cursor column */
|
|
Karsten Hopp |
4013be |
+ NFA_COL_LT, /* Match < cursor column */
|
|
Karsten Hopp |
4013be |
+ NFA_VCOL, /* Match cursor virtual column */
|
|
Karsten Hopp |
4013be |
+ NFA_VCOL_GT, /* Match > cursor virtual column */
|
|
Karsten Hopp |
4013be |
+ NFA_VCOL_LT, /* Match < cursor virtual column */
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
NFA_FIRST_NL = NFA_ANY + ADD_NL,
|
|
Karsten Hopp |
4013be |
NFA_LAST_NL = NFA_NUPPER + ADD_NL,
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 205,214 ****
|
|
Karsten Hopp |
4013be |
static nfa_state_T *post2nfa __ARGS((int *postfix, int *end, int nfa_calc_size));
|
|
Karsten Hopp |
4013be |
static int check_char_class __ARGS((int class, int c));
|
|
Karsten Hopp |
4013be |
static void st_error __ARGS((int *postfix, int *end, int *p));
|
|
Karsten Hopp |
4013be |
static void nfa_save_listids __ARGS((nfa_state_T *start, int *list));
|
|
Karsten Hopp |
4013be |
static void nfa_restore_listids __ARGS((nfa_state_T *start, int *list));
|
|
Karsten Hopp |
4013be |
! static void nfa_set_null_listids __ARGS((nfa_state_T *start));
|
|
Karsten Hopp |
4013be |
! static void nfa_set_neg_listids __ARGS((nfa_state_T *start));
|
|
Karsten Hopp |
4013be |
static long nfa_regtry __ARGS((nfa_state_T *start, colnr_T col));
|
|
Karsten Hopp |
4013be |
static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
|
|
Karsten Hopp |
4013be |
static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
4013be |
--- 217,227 ----
|
|
Karsten Hopp |
4013be |
static nfa_state_T *post2nfa __ARGS((int *postfix, int *end, int nfa_calc_size));
|
|
Karsten Hopp |
4013be |
static int check_char_class __ARGS((int class, int c));
|
|
Karsten Hopp |
4013be |
static void st_error __ARGS((int *postfix, int *end, int *p));
|
|
Karsten Hopp |
4013be |
+ static void nfa_set_neg_listids __ARGS((nfa_state_T *start));
|
|
Karsten Hopp |
4013be |
+ static void nfa_set_null_listids __ARGS((nfa_state_T *start));
|
|
Karsten Hopp |
4013be |
static void nfa_save_listids __ARGS((nfa_state_T *start, int *list));
|
|
Karsten Hopp |
4013be |
static void nfa_restore_listids __ARGS((nfa_state_T *start, int *list));
|
|
Karsten Hopp |
4013be |
! static int nfa_re_num_cmp __ARGS((long_u val, int op, long_u pos));
|
|
Karsten Hopp |
4013be |
static long nfa_regtry __ARGS((nfa_state_T *start, colnr_T col));
|
|
Karsten Hopp |
4013be |
static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
|
|
Karsten Hopp |
4013be |
static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 831,838 ****
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
case '#':
|
|
Karsten Hopp |
4013be |
! /* TODO: not supported yet */
|
|
Karsten Hopp |
4013be |
! return FAIL;
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
case 'V':
|
|
Karsten Hopp |
4013be |
--- 844,850 ----
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
case '#':
|
|
Karsten Hopp |
4013be |
! EMIT(NFA_CURSOR);
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
case 'V':
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 844,866 ****
|
|
Karsten Hopp |
4013be |
/* TODO: \%[abc] not supported yet */
|
|
Karsten Hopp |
4013be |
return FAIL;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
- case '0':
|
|
Karsten Hopp |
4013be |
- case '1':
|
|
Karsten Hopp |
4013be |
- case '2':
|
|
Karsten Hopp |
4013be |
- case '3':
|
|
Karsten Hopp |
4013be |
- case '4':
|
|
Karsten Hopp |
4013be |
- case '5':
|
|
Karsten Hopp |
4013be |
- case '6':
|
|
Karsten Hopp |
4013be |
- case '7':
|
|
Karsten Hopp |
4013be |
- case '8':
|
|
Karsten Hopp |
4013be |
- case '9':
|
|
Karsten Hopp |
4013be |
- case '<':
|
|
Karsten Hopp |
4013be |
- case '>':
|
|
Karsten Hopp |
4013be |
- case '\'':
|
|
Karsten Hopp |
4013be |
- /* TODO: not supported yet */
|
|
Karsten Hopp |
4013be |
- return FAIL;
|
|
Karsten Hopp |
4013be |
-
|
|
Karsten Hopp |
4013be |
default:
|
|
Karsten Hopp |
4013be |
syntax_error = TRUE;
|
|
Karsten Hopp |
4013be |
EMSGN(_("E867: (NFA) Unknown operator '\\%%%c'"),
|
|
Karsten Hopp |
4013be |
no_Magic(c));
|
|
Karsten Hopp |
4013be |
--- 856,891 ----
|
|
Karsten Hopp |
4013be |
/* TODO: \%[abc] not supported yet */
|
|
Karsten Hopp |
4013be |
return FAIL;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
default:
|
|
Karsten Hopp |
4013be |
+ {
|
|
Karsten Hopp |
4013be |
+ long_u n = 0;
|
|
Karsten Hopp |
4013be |
+ int cmp = c;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
+ if (c == '<' || c == '>')
|
|
Karsten Hopp |
4013be |
+ c = getchr();
|
|
Karsten Hopp |
4013be |
+ while (VIM_ISDIGIT(c))
|
|
Karsten Hopp |
4013be |
+ {
|
|
Karsten Hopp |
4013be |
+ n = n * 10 + (c - '0');
|
|
Karsten Hopp |
4013be |
+ c = getchr();
|
|
Karsten Hopp |
4013be |
+ }
|
|
Karsten Hopp |
4013be |
+ if (c == 'l' || c == 'c' || c == 'v')
|
|
Karsten Hopp |
4013be |
+ {
|
|
Karsten Hopp |
4013be |
+ EMIT(n);
|
|
Karsten Hopp |
4013be |
+ if (c == 'l')
|
|
Karsten Hopp |
4013be |
+ EMIT(cmp == '<' ? NFA_LNUM_LT :
|
|
Karsten Hopp |
4013be |
+ cmp == '>' ? NFA_LNUM_GT : NFA_LNUM);
|
|
Karsten Hopp |
4013be |
+ else if (c == 'c')
|
|
Karsten Hopp |
4013be |
+ EMIT(cmp == '<' ? NFA_COL_LT :
|
|
Karsten Hopp |
4013be |
+ cmp == '>' ? NFA_COL_GT : NFA_COL);
|
|
Karsten Hopp |
4013be |
+ else
|
|
Karsten Hopp |
4013be |
+ EMIT(cmp == '<' ? NFA_VCOL_LT :
|
|
Karsten Hopp |
4013be |
+ cmp == '>' ? NFA_VCOL_GT : NFA_VCOL);
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+ }
|
|
Karsten Hopp |
4013be |
+ else if (c == '\'')
|
|
Karsten Hopp |
4013be |
+ /* TODO: \%'m not supported yet */
|
|
Karsten Hopp |
4013be |
+ return FAIL;
|
|
Karsten Hopp |
4013be |
+ }
|
|
Karsten Hopp |
4013be |
syntax_error = TRUE;
|
|
Karsten Hopp |
4013be |
EMSGN(_("E867: (NFA) Unknown operator '\\%%%c'"),
|
|
Karsten Hopp |
4013be |
no_Magic(c));
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 1679,1684 ****
|
|
Karsten Hopp |
4013be |
--- 1704,1711 ----
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
case NFA_PREV_ATOM_NO_WIDTH:
|
|
Karsten Hopp |
4013be |
STRCPY(code, "NFA_PREV_ATOM_NO_WIDTH"); break;
|
|
Karsten Hopp |
4013be |
+ case NFA_PREV_ATOM_NO_WIDTH_NEG:
|
|
Karsten Hopp |
4013be |
+ STRCPY(code, "NFA_PREV_ATOM_NO_WIDTH_NEG"); break;
|
|
Karsten Hopp |
4013be |
case NFA_NOPEN: STRCPY(code, "NFA_MOPEN_INVISIBLE"); break;
|
|
Karsten Hopp |
4013be |
case NFA_NCLOSE: STRCPY(code, "NFA_MCLOSE_INVISIBLE"); break;
|
|
Karsten Hopp |
4013be |
case NFA_START_INVISIBLE: STRCPY(code, "NFA_START_INVISIBLE"); break;
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 2444,2449 ****
|
|
Karsten Hopp |
4013be |
--- 2471,2498 ----
|
|
Karsten Hopp |
4013be |
PUSH(frag(s, list1(&s1->out)));
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM:
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM_LT:
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL:
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL_LT:
|
|
Karsten Hopp |
4013be |
+ case NFA_COL:
|
|
Karsten Hopp |
4013be |
+ case NFA_COL_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_COL_LT:
|
|
Karsten Hopp |
4013be |
+ if (nfa_calc_size == TRUE)
|
|
Karsten Hopp |
4013be |
+ {
|
|
Karsten Hopp |
4013be |
+ nstate += 1;
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+ }
|
|
Karsten Hopp |
4013be |
+ e1 = POP();
|
|
Karsten Hopp |
4013be |
+ s = new_state(*p, NULL, NULL);
|
|
Karsten Hopp |
4013be |
+ if (s == NULL)
|
|
Karsten Hopp |
4013be |
+ goto theend;
|
|
Karsten Hopp |
4013be |
+ s->val = e1.start->c;
|
|
Karsten Hopp |
4013be |
+ PUSH(frag(s, list1(&s->out)));
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
case NFA_ZSTART:
|
|
Karsten Hopp |
4013be |
case NFA_ZEND:
|
|
Karsten Hopp |
4013be |
default:
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 3076,3081 ****
|
|
Karsten Hopp |
4013be |
--- 3125,3141 ----
|
|
Karsten Hopp |
4013be |
}
|
|
Karsten Hopp |
4013be |
}
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
+ static int
|
|
Karsten Hopp |
4013be |
+ nfa_re_num_cmp(val, op, pos)
|
|
Karsten Hopp |
4013be |
+ long_u val;
|
|
Karsten Hopp |
4013be |
+ int op;
|
|
Karsten Hopp |
4013be |
+ long_u pos;
|
|
Karsten Hopp |
4013be |
+ {
|
|
Karsten Hopp |
4013be |
+ if (op == 1) return pos > val;
|
|
Karsten Hopp |
4013be |
+ if (op == 2) return pos < val;
|
|
Karsten Hopp |
4013be |
+ return val == pos;
|
|
Karsten Hopp |
4013be |
+ }
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
static int nfa_regmatch __ARGS((nfa_state_T *start, regsub_T *submatch, regsub_T *m));
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
/*
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 3791,3796 ****
|
|
Karsten Hopp |
4013be |
--- 3851,3895 ----
|
|
Karsten Hopp |
4013be |
/* TODO: should not happen? */
|
|
Karsten Hopp |
4013be |
break;
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM:
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_LNUM_LT:
|
|
Karsten Hopp |
4013be |
+ result = (REG_MULTI &&
|
|
Karsten Hopp |
4013be |
+ nfa_re_num_cmp(t->state->val, t->state->c - NFA_LNUM,
|
|
Karsten Hopp |
4013be |
+ (long_u)(reglnum + reg_firstlnum)));
|
|
Karsten Hopp |
4013be |
+ if (result)
|
|
Karsten Hopp |
4013be |
+ addstate_here(thislist, t->state->out, &t->sub, &listidx);
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
+ case NFA_COL:
|
|
Karsten Hopp |
4013be |
+ case NFA_COL_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_COL_LT:
|
|
Karsten Hopp |
4013be |
+ result = nfa_re_num_cmp(t->state->val, t->state->c - NFA_COL,
|
|
Karsten Hopp |
4013be |
+ (long_u)(reginput - regline) + 1);
|
|
Karsten Hopp |
4013be |
+ if (result)
|
|
Karsten Hopp |
4013be |
+ addstate_here(thislist, t->state->out, &t->sub, &listidx);
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL:
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL_GT:
|
|
Karsten Hopp |
4013be |
+ case NFA_VCOL_LT:
|
|
Karsten Hopp |
4013be |
+ result = nfa_re_num_cmp(t->state->val, t->state->c - NFA_VCOL,
|
|
Karsten Hopp |
4013be |
+ (long_u)win_linetabsize(
|
|
Karsten Hopp |
4013be |
+ reg_win == NULL ? curwin : reg_win,
|
|
Karsten Hopp |
4013be |
+ regline, (colnr_T)(reginput - regline)) + 1);
|
|
Karsten Hopp |
4013be |
+ if (result)
|
|
Karsten Hopp |
4013be |
+ addstate_here(thislist, t->state->out, &t->sub, &listidx);
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
+ case NFA_CURSOR:
|
|
Karsten Hopp |
4013be |
+ result = (reg_win != NULL
|
|
Karsten Hopp |
4013be |
+ && (reglnum + reg_firstlnum == reg_win->w_cursor.lnum)
|
|
Karsten Hopp |
4013be |
+ && ((colnr_T)(reginput - regline)
|
|
Karsten Hopp |
4013be |
+ == reg_win->w_cursor.col));
|
|
Karsten Hopp |
4013be |
+ if (result)
|
|
Karsten Hopp |
4013be |
+ addstate_here(thislist, t->state->out, &t->sub, &listidx);
|
|
Karsten Hopp |
4013be |
+ break;
|
|
Karsten Hopp |
4013be |
+
|
|
Karsten Hopp |
4013be |
default: /* regular character */
|
|
Karsten Hopp |
4013be |
{
|
|
Karsten Hopp |
4013be |
int c = t->state->c;
|
|
Karsten Hopp |
4013be |
*** ../vim-7.3.1038/src/testdir/test64.in 2013-05-29 18:45:07.000000000 +0200
|
|
Karsten Hopp |
4013be |
--- src/testdir/test64.in 2013-05-29 21:02:52.000000000 +0200
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 413,425 ****
|
|
Karsten Hopp |
4013be |
:.yank
|
|
Karsten Hopp |
4013be |
y$Go?p:"
|
|
Karsten Hopp |
4013be |
:"
|
|
Karsten Hopp |
4013be |
- :"
|
|
Karsten Hopp |
4013be |
:" Check a pattern with a look beind crossing a line boundary
|
|
Karsten Hopp |
4013be |
/^Behind:
|
|
Karsten Hopp |
4013be |
/\(<\_[xy]\+\)\@3<=start
|
|
Karsten Hopp |
4013be |
:.yank
|
|
Karsten Hopp |
4013be |
Go?p:"
|
|
Karsten Hopp |
4013be |
:"
|
|
Karsten Hopp |
4013be |
:/\%#=1^Results/,$wq! test.out
|
|
Karsten Hopp |
4013be |
ENDTEST
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
--- 413,452 ----
|
|
Karsten Hopp |
4013be |
:.yank
|
|
Karsten Hopp |
4013be |
y$Go?p:"
|
|
Karsten Hopp |
4013be |
:"
|
|
Karsten Hopp |
4013be |
:" Check a pattern with a look beind crossing a line boundary
|
|
Karsten Hopp |
4013be |
/^Behind:
|
|
Karsten Hopp |
4013be |
/\(<\_[xy]\+\)\@3<=start
|
|
Karsten Hopp |
4013be |
:.yank
|
|
Karsten Hopp |
4013be |
Go?p:"
|
|
Karsten Hopp |
4013be |
:"
|
|
Karsten Hopp |
4013be |
+ :" Check patterns matching cursor position.
|
|
Karsten Hopp |
4013be |
+ :func! Postest()
|
|
Karsten Hopp |
4013be |
+ new
|
|
Karsten Hopp |
4013be |
+ call setline(1, ['ffooooo', 'boboooo', 'zoooooo', 'koooooo', 'moooooo', "\t\t\tfoo", 'abababababababfoo', 'bababababababafoo', '********_'])
|
|
Karsten Hopp |
4013be |
+ call setpos('.', [0, 1, 0, 0])
|
|
Karsten Hopp |
4013be |
+ s/\%>3c.//g
|
|
Karsten Hopp |
4013be |
+ call setpos('.', [0, 2, 4, 0])
|
|
Karsten Hopp |
4013be |
+ s/\%#.*$//g
|
|
Karsten Hopp |
4013be |
+ call setpos('.', [0, 3, 0, 0])
|
|
Karsten Hopp |
4013be |
+ s/\%<3c./_/g
|
|
Karsten Hopp |
4013be |
+ %s/\%4l\%>5c./_/g
|
|
Karsten Hopp |
4013be |
+ %s/\%6l\%>25v./_/g
|
|
Karsten Hopp |
4013be |
+ %s/\%>6l\%3c./!/g
|
|
Karsten Hopp |
4013be |
+ %s/\%>7l\%12c./?/g
|
|
Karsten Hopp |
4013be |
+ %s/\%>7l\%<9l\%>5v\%<8v./#/g
|
|
Karsten Hopp |
4013be |
+ 1,$yank
|
|
Karsten Hopp |
4013be |
+ quit!
|
|
Karsten Hopp |
4013be |
+ endfunc
|
|
Karsten Hopp |
4013be |
+ Go-0-?:set re=0
|
|
Karsten Hopp |
4013be |
+ :call Postest()
|
|
Karsten Hopp |
4013be |
+ :put
|
|
Karsten Hopp |
4013be |
+ o-1-?:set re=1
|
|
Karsten Hopp |
4013be |
+ :call Postest()
|
|
Karsten Hopp |
4013be |
+ :put
|
|
Karsten Hopp |
4013be |
+ o-2-?:set re=2
|
|
Karsten Hopp |
4013be |
+ :call Postest()
|
|
Karsten Hopp |
4013be |
+ :put
|
|
Karsten Hopp |
4013be |
+ :"
|
|
Karsten Hopp |
4013be |
:/\%#=1^Results/,$wq! test.out
|
|
Karsten Hopp |
4013be |
ENDTEST
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
*** ../vim-7.3.1038/src/testdir/test64.ok 2013-05-29 18:45:07.000000000 +0200
|
|
Karsten Hopp |
4013be |
--- src/testdir/test64.ok 2013-05-29 21:02:49.000000000 +0200
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 740,742 ****
|
|
Karsten Hopp |
4013be |
--- 740,772 ----
|
|
Karsten Hopp |
4013be |
ghi
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
xxxstart3
|
|
Karsten Hopp |
4013be |
+ -0-
|
|
Karsten Hopp |
4013be |
+ ffo
|
|
Karsten Hopp |
4013be |
+ bob
|
|
Karsten Hopp |
4013be |
+ __ooooo
|
|
Karsten Hopp |
4013be |
+ koooo__
|
|
Karsten Hopp |
4013be |
+ moooooo
|
|
Karsten Hopp |
4013be |
+ f__
|
|
Karsten Hopp |
4013be |
+ ab!babababababfoo
|
|
Karsten Hopp |
4013be |
+ ba!ab##abab?bafoo
|
|
Karsten Hopp |
4013be |
+ **!*****_
|
|
Karsten Hopp |
4013be |
+ -1-
|
|
Karsten Hopp |
4013be |
+ ffo
|
|
Karsten Hopp |
4013be |
+ bob
|
|
Karsten Hopp |
4013be |
+ __ooooo
|
|
Karsten Hopp |
4013be |
+ koooo__
|
|
Karsten Hopp |
4013be |
+ moooooo
|
|
Karsten Hopp |
4013be |
+ f__
|
|
Karsten Hopp |
4013be |
+ ab!babababababfoo
|
|
Karsten Hopp |
4013be |
+ ba!ab##abab?bafoo
|
|
Karsten Hopp |
4013be |
+ **!*****_
|
|
Karsten Hopp |
4013be |
+ -2-
|
|
Karsten Hopp |
4013be |
+ ffo
|
|
Karsten Hopp |
4013be |
+ bob
|
|
Karsten Hopp |
4013be |
+ __ooooo
|
|
Karsten Hopp |
4013be |
+ koooo__
|
|
Karsten Hopp |
4013be |
+ moooooo
|
|
Karsten Hopp |
4013be |
+ f__
|
|
Karsten Hopp |
4013be |
+ ab!babababababfoo
|
|
Karsten Hopp |
4013be |
+ ba!ab##abab?bafoo
|
|
Karsten Hopp |
4013be |
+ **!*****_
|
|
Karsten Hopp |
4013be |
*** ../vim-7.3.1038/src/version.c 2013-05-29 19:17:55.000000000 +0200
|
|
Karsten Hopp |
4013be |
--- src/version.c 2013-05-29 21:11:47.000000000 +0200
|
|
Karsten Hopp |
4013be |
***************
|
|
Karsten Hopp |
4013be |
*** 730,731 ****
|
|
Karsten Hopp |
4013be |
--- 730,733 ----
|
|
Karsten Hopp |
4013be |
{ /* Add new patch number below this line */
|
|
Karsten Hopp |
4013be |
+ /**/
|
|
Karsten Hopp |
4013be |
+ 1039,
|
|
Karsten Hopp |
4013be |
/**/
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
--
|
|
Karsten Hopp |
4013be |
hundred-and-one symptoms of being an internet addict:
|
|
Karsten Hopp |
4013be |
16. You step out of your room and realize that your parents have moved and
|
|
Karsten Hopp |
4013be |
you don't have a clue when it happened.
|
|
Karsten Hopp |
4013be |
|
|
Karsten Hopp |
4013be |
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
Karsten Hopp |
4013be |
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
Karsten Hopp |
4013be |
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
Karsten Hopp |
4013be |
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|