annotate src/regexp.h @ 10098:72e4b7f90465 v7.4.2320

commit https://github.com/vim/vim/commit/dda933d06c06c2792bd686d059f6ad19191ad30b Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 3 21:04:58 2016 +0200 patch 7.4.2320 Problem: Redraw problem when using 'incsearch'. Solution: Save the current view when deleting characters. (Christian Brabandt) Fix that the '" mark is set in the wrong position. Don't change the search start when using BS.
author Christian Brabandt <cb@256bit.org>
date Sat, 03 Sep 2016 21:15:06 +0200
parents 4aead6a9b7a9
children 578df034735d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10042
4aead6a9b7a9 commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents: 6328
diff changeset
1 /* vi:set ts=8 sts=4 sw=4 noet:
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 * This is NOT the original regular expression code as written by Henry
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 * Spencer. This code has been modified specifically for use with Vim, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 * should not be used apart from compiling Vim. If you want a good regular
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 * expression library, get the original code.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 * NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 #ifndef _REGEXP_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 #define _REGEXP_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 * The number of sub-matches is limited to 10.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 * The first one (index 0) is the whole match, referenced with "\0".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 * The second one (index 1) is the first sub-match, referenced with "\1".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 * This goes up to the tenth (index 9), referenced with "\9".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 #define NSUBEXP 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 /*
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
25 * In the NFA engine: how many braces are allowed.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
26 * TODO(RE): Use dynamic memory allocation instead of static, like here
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
27 */
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
28 #define NFA_MAX_BRACES 20
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
29
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
30 /*
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
31 * In the NFA engine: how many states are allowed
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
32 */
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
33 #define NFA_MAX_STATES 100000
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
34 #define NFA_TOO_EXPENSIVE -1
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
35
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
36 /* Which regexp engine to use? Needed for vim_regcomp().
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
37 * Must match with 'regexpengine'. */
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
38 #define AUTOMATIC_ENGINE 0
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
39 #define BACKTRACKING_ENGINE 1
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
40 #define NFA_ENGINE 2
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
41
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
42 typedef struct regengine regengine_T;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
43
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
44 /*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 * Structure returned by vim_regcomp() to pass on to vim_regexec().
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
46 * This is the general structure. For the actual matcher, two specific
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
47 * structures are used. See code below.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
48 */
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
49 typedef struct regprog
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
50 {
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
51 regengine_T *engine;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
52 unsigned regflags;
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
53 unsigned re_engine; /* automatic, backtracking or nfa engine */
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
54 unsigned re_flags; /* second argument for vim_regcomp() */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
55 } regprog_T;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
56
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
57 /*
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
58 * Structure used by the back track matcher.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 * These fields are only to be used in regexp.c!
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
60 * See regexp.c for an explanation.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 typedef struct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 {
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
64 /* These four members implement regprog_T */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
65 regengine_T *engine;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
66 unsigned regflags;
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
67 unsigned re_engine;
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
68 unsigned re_flags; /* second argument for vim_regcomp() */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
69
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 int regstart;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 char_u reganch;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 char_u *regmust;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 int regmlen;
4686
8db697ae406a updated for version 7.3.1090
Bram Moolenaar <bram@vim.org>
parents: 4647
diff changeset
74 #ifdef FEAT_SYN_HL
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
75 char_u reghasz;
4686
8db697ae406a updated for version 7.3.1090
Bram Moolenaar <bram@vim.org>
parents: 4647
diff changeset
76 #endif
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
77 char_u program[1]; /* actually longer.. */
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
78 } bt_regprog_T;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
79
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
80 /*
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
81 * Structure representing a NFA state.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
82 * A NFA state may have no outgoing edge, when it is a NFA_MATCH state.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
83 */
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
84 typedef struct nfa_state nfa_state_T;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
85 struct nfa_state
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
86 {
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
87 int c;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
88 nfa_state_T *out;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
89 nfa_state_T *out1;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
90 int id;
4718
ec72bb4a0fc2 updated for version 7.3.1106
Bram Moolenaar <bram@vim.org>
parents: 4690
diff changeset
91 int lastlist[2]; /* 0: normal, 1: recursive */
4583
321cfbef9431 updated for version 7.3.1039
Bram Moolenaar <bram@vim.org>
parents: 4571
diff changeset
92 int val;
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
93 };
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
94
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
95 /*
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
96 * Structure used by the NFA matcher.
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
97 */
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
98 typedef struct
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
99 {
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
100 /* These three members implement regprog_T */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
101 regengine_T *engine;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 unsigned regflags;
6328
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
103 unsigned re_engine;
adfbffe1e642 updated for version 7.4.497
Bram Moolenaar <bram@vim.org>
parents: 5838
diff changeset
104 unsigned re_flags; /* second argument for vim_regcomp() */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
105
4690
9d97a0c045ef updated for version 7.3.1092
Bram Moolenaar <bram@vim.org>
parents: 4686
diff changeset
106 nfa_state_T *start; /* points into state[] */
4772
03375ccf28a2 updated for version 7.3.1133
Bram Moolenaar <bram@vim.org>
parents: 4718
diff changeset
107
03375ccf28a2 updated for version 7.3.1133
Bram Moolenaar <bram@vim.org>
parents: 4718
diff changeset
108 int reganch; /* pattern starts with ^ */
03375ccf28a2 updated for version 7.3.1133
Bram Moolenaar <bram@vim.org>
parents: 4718
diff changeset
109 int regstart; /* char at start of pattern */
4805
66803af09906 updated for version 7.3.1149
Bram Moolenaar <bram@vim.org>
parents: 4785
diff changeset
110 char_u *match_text; /* plain text to match with */
4772
03375ccf28a2 updated for version 7.3.1133
Bram Moolenaar <bram@vim.org>
parents: 4718
diff changeset
111
4553
7b835b2969af updated for version 7.3.1024
Bram Moolenaar <bram@vim.org>
parents: 4539
diff changeset
112 int has_zend; /* pattern contains \ze */
4647
857f6c53f117 updated for version 7.3.1071
Bram Moolenaar <bram@vim.org>
parents: 4583
diff changeset
113 int has_backref; /* pattern contains \1 .. \9 */
4686
8db697ae406a updated for version 7.3.1090
Bram Moolenaar <bram@vim.org>
parents: 4647
diff changeset
114 #ifdef FEAT_SYN_HL
8db697ae406a updated for version 7.3.1090
Bram Moolenaar <bram@vim.org>
parents: 4647
diff changeset
115 int reghasz;
8db697ae406a updated for version 7.3.1090
Bram Moolenaar <bram@vim.org>
parents: 4647
diff changeset
116 #endif
4690
9d97a0c045ef updated for version 7.3.1092
Bram Moolenaar <bram@vim.org>
parents: 4686
diff changeset
117 char_u *pattern;
4561
4d81fdda8f35 updated for version 7.3.1028
Bram Moolenaar <bram@vim.org>
parents: 4553
diff changeset
118 int nsubexp; /* number of () */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
119 int nstate;
4837
05b8436873d4 updated for version 7.3.1165
Bram Moolenaar <bram@vim.org>
parents: 4805
diff changeset
120 nfa_state_T state[1]; /* actually longer.. */
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
121 } nfa_regprog_T;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 * Structure to be used for single-line matching.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 * Sub-match "no" starts at "startp[no]" and ends just before "endp[no]".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 * When there is no match, the pointer is NULL.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 typedef struct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 regprog_T *regprog;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 char_u *startp[NSUBEXP];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 char_u *endp[NSUBEXP];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 int rm_ic;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 } regmatch_T;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 * Structure to be used for multi-line matching.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 * Sub-match "no" starts in line "startpos[no].lnum" column "startpos[no].col"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 * and ends in line "endpos[no].lnum" just before column "endpos[no].col".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 * The line numbers are relative to the first line, thus startpos[0].lnum is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 * always 0.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 * When there is no match, the line number is -1.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 typedef struct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 regprog_T *regprog;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 lpos_T startpos[NSUBEXP];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 lpos_T endpos[NSUBEXP];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 int rmm_ic;
418
84825cc6f049 updated for version 7.0109
vimboss
parents: 410
diff changeset
150 colnr_T rmm_maxcol; /* when not zero: maximum column */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 } regmmatch_T;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 * Structure used to store external references: "\z\(\)" to "\z\1".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 * Use a reference count to avoid the need to copy this around. When it goes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 * from 1 to zero the matches need to be freed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 typedef struct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 short refcnt;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 char_u *matches[NSUBEXP];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 } reg_extmatch_T;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
164 struct regengine
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
165 {
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
166 regprog_T *(*regcomp)(char_u*, int);
4805
66803af09906 updated for version 7.3.1149
Bram Moolenaar <bram@vim.org>
parents: 4785
diff changeset
167 void (*regfree)(regprog_T *);
5838
0ea551fa607d updated for version 7.4.262
Bram Moolenaar <bram@vim.org>
parents: 4837
diff changeset
168 int (*regexec_nl)(regmatch_T*, char_u*, colnr_T, int);
4444
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
169 long (*regexec_multi)(regmmatch_T*, win_T*, buf_T*, linenr_T, colnr_T, proftime_T*);
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
170 char_u *expr;
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
171 };
ccecb03e5e8b updated for version 7.3.970
Bram Moolenaar <bram@vim.org>
parents: 418
diff changeset
172
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 #endif /* _REGEXP_H */