|
Karsten Hopp |
845bd6 |
To: vim_dev@googlegroups.com
|
|
Karsten Hopp |
845bd6 |
Subject: Patch 7.3.1149
|
|
Karsten Hopp |
845bd6 |
Fcc: outbox
|
|
Karsten Hopp |
845bd6 |
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Karsten Hopp |
845bd6 |
Mime-Version: 1.0
|
|
Karsten Hopp |
845bd6 |
Content-Type: text/plain; charset=UTF-8
|
|
Karsten Hopp |
845bd6 |
Content-Transfer-Encoding: 8bit
|
|
Karsten Hopp |
845bd6 |
------------
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
Patch 7.3.1149
|
|
Karsten Hopp |
845bd6 |
Problem: New regexp engine: Matching plain text could be faster.
|
|
Karsten Hopp |
845bd6 |
Solution: Detect a plain text match and handle it specifically. Add
|
|
Karsten Hopp |
845bd6 |
vim_regfree().
|
|
Karsten Hopp |
845bd6 |
Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c,
|
|
Karsten Hopp |
845bd6 |
src/proto/regexp.pro, src/buffer.c, src/edit.c, src/eval.c,
|
|
Karsten Hopp |
845bd6 |
src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
|
|
Karsten Hopp |
845bd6 |
src/ex_getln.c, src/fileio.c, src/gui.c, src/misc1.c, src/misc2.c,
|
|
Karsten Hopp |
845bd6 |
src/option.c, src/syntax.c, src/quickfix.c, src/search.c,
|
|
Karsten Hopp |
845bd6 |
src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h,
|
|
Karsten Hopp |
845bd6 |
src/testdir/test64.in, src/testdir/test64.ok
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/regexp.c 2013-06-06 18:04:47.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/regexp.c 2013-06-08 17:13:06.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1297,1303 ****
|
|
Karsten Hopp |
845bd6 |
return p;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! static regprog_T *bt_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* bt_regcomp() - compile a regular expression into internal code for the
|
|
Karsten Hopp |
845bd6 |
--- 1297,1304 ----
|
|
Karsten Hopp |
845bd6 |
return p;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! static regprog_T *bt_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
845bd6 |
! static void bt_regfree __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* bt_regcomp() - compile a regular expression into internal code for the
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1455,1460 ****
|
|
Karsten Hopp |
845bd6 |
--- 1456,1471 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
+ * Free a compiled regexp program, returned by bt_regcomp().
|
|
Karsten Hopp |
845bd6 |
+ */
|
|
Karsten Hopp |
845bd6 |
+ static void
|
|
Karsten Hopp |
845bd6 |
+ bt_regfree(prog)
|
|
Karsten Hopp |
845bd6 |
+ regprog_T *prog;
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ vim_free(prog);
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ /*
|
|
Karsten Hopp |
845bd6 |
* Setup to parse the regexp. Used once to get the length and once to do it.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
static void
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7876,7881 ****
|
|
Karsten Hopp |
845bd6 |
--- 7887,7893 ----
|
|
Karsten Hopp |
845bd6 |
static regengine_T bt_regengine =
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
bt_regcomp,
|
|
Karsten Hopp |
845bd6 |
+ bt_regfree,
|
|
Karsten Hopp |
845bd6 |
bt_regexec,
|
|
Karsten Hopp |
845bd6 |
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|
|
Karsten Hopp |
845bd6 |
|| defined(FIND_REPLACE_DIALOG) || defined(PROTO)
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7893,7898 ****
|
|
Karsten Hopp |
845bd6 |
--- 7905,7911 ----
|
|
Karsten Hopp |
845bd6 |
static regengine_T nfa_regengine =
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
nfa_regcomp,
|
|
Karsten Hopp |
845bd6 |
+ nfa_regfree,
|
|
Karsten Hopp |
845bd6 |
nfa_regexec,
|
|
Karsten Hopp |
845bd6 |
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|
|
Karsten Hopp |
845bd6 |
|| defined(FIND_REPLACE_DIALOG) || defined(PROTO)
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7920,7926 ****
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Compile a regular expression into internal code.
|
|
Karsten Hopp |
845bd6 |
! * Returns the program in allocated memory. Returns NULL for an error.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
regprog_T *
|
|
Karsten Hopp |
845bd6 |
vim_regcomp(expr_arg, re_flags)
|
|
Karsten Hopp |
845bd6 |
--- 7933,7941 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Compile a regular expression into internal code.
|
|
Karsten Hopp |
845bd6 |
! * Returns the program in allocated memory.
|
|
Karsten Hopp |
845bd6 |
! * Use vim_regfree() to free the memory.
|
|
Karsten Hopp |
845bd6 |
! * Returns NULL for an error.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
regprog_T *
|
|
Karsten Hopp |
845bd6 |
vim_regcomp(expr_arg, re_flags)
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7997,8002 ****
|
|
Karsten Hopp |
845bd6 |
--- 8012,8028 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
+ * Free a compiled regexp program, returned by vim_regcomp().
|
|
Karsten Hopp |
845bd6 |
+ */
|
|
Karsten Hopp |
845bd6 |
+ void
|
|
Karsten Hopp |
845bd6 |
+ vim_regfree(prog)
|
|
Karsten Hopp |
845bd6 |
+ regprog_T *prog;
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ if (prog != NULL)
|
|
Karsten Hopp |
845bd6 |
+ prog->engine->regfree(prog);
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ /*
|
|
Karsten Hopp |
845bd6 |
* Match a regexp against a string.
|
|
Karsten Hopp |
845bd6 |
* "rmp->regprog" is a compiled regexp as returned by vim_regcomp().
|
|
Karsten Hopp |
845bd6 |
* Uses curbuf for line count and 'iskeyword'.
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/regexp.h 2013-06-07 16:31:45.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/regexp.h 2013-06-08 15:43:33.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 89,94 ****
|
|
Karsten Hopp |
845bd6 |
--- 89,95 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
int reganch; /* pattern starts with ^ */
|
|
Karsten Hopp |
845bd6 |
int regstart; /* char at start of pattern */
|
|
Karsten Hopp |
845bd6 |
+ char_u *match_text; /* plain text to match with */
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
int has_zend; /* pattern contains \ze */
|
|
Karsten Hopp |
845bd6 |
int has_backref; /* pattern contains \1 .. \9 */
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 147,152 ****
|
|
Karsten Hopp |
845bd6 |
--- 148,154 ----
|
|
Karsten Hopp |
845bd6 |
struct regengine
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
regprog_T *(*regcomp)(char_u*, int);
|
|
Karsten Hopp |
845bd6 |
+ void (*regfree)(regprog_T *);
|
|
Karsten Hopp |
845bd6 |
int (*regexec)(regmatch_T*, char_u*, colnr_T);
|
|
Karsten Hopp |
845bd6 |
#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) \
|
|
Karsten Hopp |
845bd6 |
|| defined(FIND_REPLACE_DIALOG) || defined(PROTO)
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/regexp_nfa.c 2013-06-08 14:38:23.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/regexp_nfa.c 2013-06-08 18:04:40.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 270,275 ****
|
|
Karsten Hopp |
845bd6 |
--- 270,276 ----
|
|
Karsten Hopp |
845bd6 |
static int nfa_regcomp_start __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
845bd6 |
static int nfa_get_reganch __ARGS((nfa_state_T *start, int depth));
|
|
Karsten Hopp |
845bd6 |
static int nfa_get_regstart __ARGS((nfa_state_T *start, int depth));
|
|
Karsten Hopp |
845bd6 |
+ static char_u *nfa_get_match_text __ARGS((nfa_state_T *start));
|
|
Karsten Hopp |
845bd6 |
static int nfa_recognize_char_class __ARGS((char_u *start, char_u *end, int extra_newl));
|
|
Karsten Hopp |
845bd6 |
static int nfa_emit_equi_class __ARGS((int c));
|
|
Karsten Hopp |
845bd6 |
static int nfa_regatom __ARGS((void));
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 295,300 ****
|
|
Karsten Hopp |
845bd6 |
--- 296,302 ----
|
|
Karsten Hopp |
845bd6 |
static long nfa_regtry __ARGS((nfa_regprog_T *prog, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
static long nfa_regexec_both __ARGS((char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
static regprog_T *nfa_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
845bd6 |
+ static void nfa_regfree __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
static int nfa_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
static long nfa_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 493,498 ****
|
|
Karsten Hopp |
845bd6 |
--- 495,546 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
+ * Figure out if the NFA state list contains just literal text and nothing
|
|
Karsten Hopp |
845bd6 |
+ * else. If so return a string with what must match after regstart.
|
|
Karsten Hopp |
845bd6 |
+ * Otherwise return NULL.
|
|
Karsten Hopp |
845bd6 |
+ */
|
|
Karsten Hopp |
845bd6 |
+ static char_u *
|
|
Karsten Hopp |
845bd6 |
+ nfa_get_match_text(start)
|
|
Karsten Hopp |
845bd6 |
+ nfa_state_T *start;
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ nfa_state_T *p = start;
|
|
Karsten Hopp |
845bd6 |
+ int len = 0;
|
|
Karsten Hopp |
845bd6 |
+ char_u *ret;
|
|
Karsten Hopp |
845bd6 |
+ char_u *s;
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ if (p->c != NFA_MOPEN)
|
|
Karsten Hopp |
845bd6 |
+ return NULL; /* just in case */
|
|
Karsten Hopp |
845bd6 |
+ p = p->out;
|
|
Karsten Hopp |
845bd6 |
+ while (p->c > 0)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ len += MB_CHAR2LEN(p->c);
|
|
Karsten Hopp |
845bd6 |
+ p = p->out;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ if (p->c != NFA_MCLOSE || p->out->c != NFA_MATCH)
|
|
Karsten Hopp |
845bd6 |
+ return NULL;
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ ret = alloc(len);
|
|
Karsten Hopp |
845bd6 |
+ if (ret != NULL)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ len = 0;
|
|
Karsten Hopp |
845bd6 |
+ p = start->out->out; /* skip first char, it goes into regstart */
|
|
Karsten Hopp |
845bd6 |
+ s = ret;
|
|
Karsten Hopp |
845bd6 |
+ while (p->c > 0)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ #ifdef FEAT_MBYTE
|
|
Karsten Hopp |
845bd6 |
+ if (has_mbyte)
|
|
Karsten Hopp |
845bd6 |
+ s += (*mb_char2bytes)(p->c, s);
|
|
Karsten Hopp |
845bd6 |
+ else
|
|
Karsten Hopp |
845bd6 |
+ #endif
|
|
Karsten Hopp |
845bd6 |
+ *s++ = p->c;
|
|
Karsten Hopp |
845bd6 |
+ p = p->out;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ *s = NUL;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ return ret;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ /*
|
|
Karsten Hopp |
845bd6 |
* Allocate more space for post_start. Called when
|
|
Karsten Hopp |
845bd6 |
* running above the estimated number of states.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2280,2287 ****
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
nfa_print_state(debugf, prog->start);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! fprintf(debugf, "reganch: %d\n", prog->reganch);
|
|
Karsten Hopp |
845bd6 |
! fprintf(debugf, "regstart: %d\n", prog->regstart);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
fclose(debugf);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 2328,2340 ----
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
nfa_print_state(debugf, prog->start);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! if (prog->reganch)
|
|
Karsten Hopp |
845bd6 |
! fprintf(debugf, "reganch: %d\n", prog->reganch);
|
|
Karsten Hopp |
845bd6 |
! if (prog->regstart != NUL)
|
|
Karsten Hopp |
845bd6 |
! fprintf(debugf, "regstart: %c (decimal: %d)\n",
|
|
Karsten Hopp |
845bd6 |
! prog->regstart, prog->regstart);
|
|
Karsten Hopp |
845bd6 |
! if (prog->match_text != NULL)
|
|
Karsten Hopp |
845bd6 |
! fprintf(debugf, "match_text: \"%s\"\n", prog->match_text);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
fclose(debugf);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4154,4159 ****
|
|
Karsten Hopp |
845bd6 |
--- 4207,4213 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
static int failure_chance __ARGS((nfa_state_T *state, int depth));
|
|
Karsten Hopp |
845bd6 |
static int skip_to_start __ARGS((int c, colnr_T *colp));
|
|
Karsten Hopp |
845bd6 |
+ static long find_match_text __ARGS((colnr_T startcol, int regstart, char_u *match_text));
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Estimate the chance of a match with "state" failing.
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4331,4336 ****
|
|
Karsten Hopp |
845bd6 |
--- 4385,4453 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
+ * Check for a match with match_text.
|
|
Karsten Hopp |
845bd6 |
+ * Called after skip_to_start() has find regstart.
|
|
Karsten Hopp |
845bd6 |
+ * Returns zero for no match, 1 for a match.
|
|
Karsten Hopp |
845bd6 |
+ */
|
|
Karsten Hopp |
845bd6 |
+ static long
|
|
Karsten Hopp |
845bd6 |
+ find_match_text(startcol, regstart, match_text)
|
|
Karsten Hopp |
845bd6 |
+ colnr_T startcol;
|
|
Karsten Hopp |
845bd6 |
+ int regstart;
|
|
Karsten Hopp |
845bd6 |
+ char_u *match_text;
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ colnr_T col = startcol;
|
|
Karsten Hopp |
845bd6 |
+ int c1, c2;
|
|
Karsten Hopp |
845bd6 |
+ int len1, len2;
|
|
Karsten Hopp |
845bd6 |
+ int match;
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ for (;;)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ match = TRUE;
|
|
Karsten Hopp |
845bd6 |
+ len2 = MB_CHAR2LEN(regstart); /* skip regstart */
|
|
Karsten Hopp |
845bd6 |
+ for (len1 = 0; match_text[len1] != NUL; len1 += MB_CHAR2LEN(c1))
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ c1 = PTR2CHAR(match_text + len1);
|
|
Karsten Hopp |
845bd6 |
+ c2 = PTR2CHAR(regline + col + len2);
|
|
Karsten Hopp |
845bd6 |
+ if (c1 != c2 && (!ireg_ic || MB_TOLOWER(c1) != MB_TOLOWER(c2)))
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ match = FALSE;
|
|
Karsten Hopp |
845bd6 |
+ break;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ len2 += MB_CHAR2LEN(c2);
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ if (match
|
|
Karsten Hopp |
845bd6 |
+ #ifdef FEAT_MBYTE
|
|
Karsten Hopp |
845bd6 |
+ /* check that no composing char follows */
|
|
Karsten Hopp |
845bd6 |
+ && !(enc_utf8
|
|
Karsten Hopp |
845bd6 |
+ && utf_iscomposing(PTR2CHAR(regline + col + len2)))
|
|
Karsten Hopp |
845bd6 |
+ #endif
|
|
Karsten Hopp |
845bd6 |
+ )
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ cleanup_subexpr();
|
|
Karsten Hopp |
845bd6 |
+ if (REG_MULTI)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ reg_startpos[0].lnum = reglnum;
|
|
Karsten Hopp |
845bd6 |
+ reg_startpos[0].col = col;
|
|
Karsten Hopp |
845bd6 |
+ reg_endpos[0].lnum = reglnum;
|
|
Karsten Hopp |
845bd6 |
+ reg_endpos[0].col = col + len2;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ else
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ reg_startp[0] = regline + col;
|
|
Karsten Hopp |
845bd6 |
+ reg_endp[0] = regline + col + len2;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ return 1L;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ /* Try finding regstart after the current match. */
|
|
Karsten Hopp |
845bd6 |
+ col += MB_CHAR2LEN(regstart); /* skip regstart */
|
|
Karsten Hopp |
845bd6 |
+ if (skip_to_start(regstart, &col) == FAIL)
|
|
Karsten Hopp |
845bd6 |
+ break;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ return 0L;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
+ /*
|
|
Karsten Hopp |
845bd6 |
* Main matching routine.
|
|
Karsten Hopp |
845bd6 |
*
|
|
Karsten Hopp |
845bd6 |
* Run NFA to determine whether it matches reginput.
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5584,5600 ****
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
reginput = regline + col;
|
|
Karsten Hopp |
845bd6 |
- need_clear_subexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
- #ifdef FEAT_SYN_HL
|
|
Karsten Hopp |
845bd6 |
- /* Clear the external match subpointers if necessary. */
|
|
Karsten Hopp |
845bd6 |
- if (prog->reghasz == REX_SET)
|
|
Karsten Hopp |
845bd6 |
- {
|
|
Karsten Hopp |
845bd6 |
- nfa_has_zsubexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
- need_clear_zsubexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
- }
|
|
Karsten Hopp |
845bd6 |
- else
|
|
Karsten Hopp |
845bd6 |
- nfa_has_zsubexpr = FALSE;
|
|
Karsten Hopp |
845bd6 |
- #endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
#ifdef ENABLE_LOG
|
|
Karsten Hopp |
845bd6 |
f = fopen(NFA_REGEXP_RUN_LOG, "a");
|
|
Karsten Hopp |
845bd6 |
--- 5701,5706 ----
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5764,5775 ****
|
|
Karsten Hopp |
845bd6 |
--- 5870,5900 ----
|
|
Karsten Hopp |
845bd6 |
if (prog->reganch && col > 0)
|
|
Karsten Hopp |
845bd6 |
return 0L;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
+ need_clear_subexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
+ #ifdef FEAT_SYN_HL
|
|
Karsten Hopp |
845bd6 |
+ /* Clear the external match subpointers if necessary. */
|
|
Karsten Hopp |
845bd6 |
+ if (prog->reghasz == REX_SET)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ nfa_has_zsubexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
+ need_clear_zsubexpr = TRUE;
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ else
|
|
Karsten Hopp |
845bd6 |
+ nfa_has_zsubexpr = FALSE;
|
|
Karsten Hopp |
845bd6 |
+ #endif
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
if (prog->regstart != NUL)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
/* Skip ahead until a character we know the match must start with.
|
|
Karsten Hopp |
845bd6 |
* When there is none there is no match. */
|
|
Karsten Hopp |
845bd6 |
if (skip_to_start(prog->regstart, &col) == FAIL)
|
|
Karsten Hopp |
845bd6 |
return 0L;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
+ /* If match_text is set it contains the full text that must match.
|
|
Karsten Hopp |
845bd6 |
+ * Nothing else to try. Doesn't handle combining chars well. */
|
|
Karsten Hopp |
845bd6 |
+ if (prog->match_text != NULL && !ireg_icombine)
|
|
Karsten Hopp |
845bd6 |
+ return find_match_text(col, prog->regstart, prog->match_text);
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
/* If the start column is past the maximum column: no need to try. */
|
|
Karsten Hopp |
845bd6 |
if (ireg_maxcol > 0 && col >= ireg_maxcol)
|
|
Karsten Hopp |
845bd6 |
goto theend;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5876,5881 ****
|
|
Karsten Hopp |
845bd6 |
--- 6001,6008 ----
|
|
Karsten Hopp |
845bd6 |
prog->reganch = nfa_get_reganch(prog->start, 0);
|
|
Karsten Hopp |
845bd6 |
prog->regstart = nfa_get_regstart(prog->start, 0);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
+ prog->match_text = nfa_get_match_text(prog->start);
|
|
Karsten Hopp |
845bd6 |
+
|
|
Karsten Hopp |
845bd6 |
#ifdef ENABLE_LOG
|
|
Karsten Hopp |
845bd6 |
nfa_postfix_dump(expr, OK);
|
|
Karsten Hopp |
845bd6 |
nfa_dump(prog);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5885,5891 ****
|
|
Karsten Hopp |
845bd6 |
prog->reghasz = re_has_z;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
#ifdef DEBUG
|
|
Karsten Hopp |
845bd6 |
! prog->pattern = vim_strsave(expr); /* memory will leak */
|
|
Karsten Hopp |
845bd6 |
nfa_regengine.expr = NULL;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--- 6012,6018 ----
|
|
Karsten Hopp |
845bd6 |
prog->reghasz = re_has_z;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
#ifdef DEBUG
|
|
Karsten Hopp |
845bd6 |
! prog->pattern = vim_strsave(expr);
|
|
Karsten Hopp |
845bd6 |
nfa_regengine.expr = NULL;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5907,5912 ****
|
|
Karsten Hopp |
845bd6 |
--- 6034,6055 ----
|
|
Karsten Hopp |
845bd6 |
goto out;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
+ /*
|
|
Karsten Hopp |
845bd6 |
+ * Free a compiled regexp program, returned by nfa_regcomp().
|
|
Karsten Hopp |
845bd6 |
+ */
|
|
Karsten Hopp |
845bd6 |
+ static void
|
|
Karsten Hopp |
845bd6 |
+ nfa_regfree(prog)
|
|
Karsten Hopp |
845bd6 |
+ regprog_T *prog;
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ if (prog != NULL)
|
|
Karsten Hopp |
845bd6 |
+ {
|
|
Karsten Hopp |
845bd6 |
+ vim_free(((nfa_regprog_T *)prog)->match_text);
|
|
Karsten Hopp |
845bd6 |
+ #ifdef DEBUG
|
|
Karsten Hopp |
845bd6 |
+ vim_free(((nfa_regprog_T *)prog)->pattern);
|
|
Karsten Hopp |
845bd6 |
+ #endif
|
|
Karsten Hopp |
845bd6 |
+ vim_free(prog);
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
+ }
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Match a regexp against a string.
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/proto/regexp.pro 2010-08-15 21:57:28.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/proto/regexp.pro 2013-06-08 15:41:49.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2,17 ****
|
|
Karsten Hopp |
845bd6 |
int re_multiline __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
int re_lookbehind __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
|
|
Karsten Hopp |
845bd6 |
- regprog_T *vim_regcomp __ARGS((char_u *expr, int re_flags));
|
|
Karsten Hopp |
845bd6 |
int vim_regcomp_had_eol __ARGS((void));
|
|
Karsten Hopp |
845bd6 |
void free_regexp_stuff __ARGS((void));
|
|
Karsten Hopp |
845bd6 |
- int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
- int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
- long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
|
|
Karsten Hopp |
845bd6 |
reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
|
|
Karsten Hopp |
845bd6 |
void unref_extmatch __ARGS((reg_extmatch_T *em));
|
|
Karsten Hopp |
845bd6 |
char_u *regtilde __ARGS((char_u *source, int magic));
|
|
Karsten Hopp |
845bd6 |
int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
|
|
Karsten Hopp |
845bd6 |
int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
|
|
Karsten Hopp |
845bd6 |
char_u *reg_submatch __ARGS((int no));
|
|
Karsten Hopp |
845bd6 |
/* vim: set ft=c : */
|
|
Karsten Hopp |
845bd6 |
--- 2,18 ----
|
|
Karsten Hopp |
845bd6 |
int re_multiline __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
int re_lookbehind __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
char_u *skip_regexp __ARGS((char_u *startp, int dirc, int magic, char_u **newp));
|
|
Karsten Hopp |
845bd6 |
int vim_regcomp_had_eol __ARGS((void));
|
|
Karsten Hopp |
845bd6 |
void free_regexp_stuff __ARGS((void));
|
|
Karsten Hopp |
845bd6 |
reg_extmatch_T *ref_extmatch __ARGS((reg_extmatch_T *em));
|
|
Karsten Hopp |
845bd6 |
void unref_extmatch __ARGS((reg_extmatch_T *em));
|
|
Karsten Hopp |
845bd6 |
char_u *regtilde __ARGS((char_u *source, int magic));
|
|
Karsten Hopp |
845bd6 |
int vim_regsub __ARGS((regmatch_T *rmp, char_u *source, char_u *dest, int copy, int magic, int backslash));
|
|
Karsten Hopp |
845bd6 |
int vim_regsub_multi __ARGS((regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int copy, int magic, int backslash));
|
|
Karsten Hopp |
845bd6 |
char_u *reg_submatch __ARGS((int no));
|
|
Karsten Hopp |
845bd6 |
+ regprog_T *vim_regcomp __ARGS((char_u *expr_arg, int re_flags));
|
|
Karsten Hopp |
845bd6 |
+ void vim_regfree __ARGS((regprog_T *prog));
|
|
Karsten Hopp |
845bd6 |
+ int vim_regexec __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
+ int vim_regexec_nl __ARGS((regmatch_T *rmp, char_u *line, colnr_T col));
|
|
Karsten Hopp |
845bd6 |
+ long vim_regexec_multi __ARGS((regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, proftime_T *tm));
|
|
Karsten Hopp |
845bd6 |
/* vim: set ft=c : */
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/buffer.c 2013-06-07 20:17:06.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/buffer.c 2013-06-08 16:06:38.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1898,1904 ****
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_SPELL
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spc);
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spf);
|
|
Karsten Hopp |
845bd6 |
! vim_free(buf->b_s.b_cap_prog);
|
|
Karsten Hopp |
845bd6 |
buf->b_s.b_cap_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spl);
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
--- 1898,1904 ----
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_SPELL
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spc);
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spf);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(buf->b_s.b_cap_prog);
|
|
Karsten Hopp |
845bd6 |
buf->b_s.b_cap_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&buf->b_s.b_p_spl);
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2246,2252 ****
|
|
Karsten Hopp |
845bd6 |
match = buf->b_fnum; /* remember first match */
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(prog);
|
|
Karsten Hopp |
845bd6 |
if (match >= 0) /* found one match */
|
|
Karsten Hopp |
845bd6 |
break;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 2246,2252 ----
|
|
Karsten Hopp |
845bd6 |
match = buf->b_fnum; /* remember first match */
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(prog);
|
|
Karsten Hopp |
845bd6 |
if (match >= 0) /* found one match */
|
|
Karsten Hopp |
845bd6 |
break;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2355,2368 ****
|
|
Karsten Hopp |
845bd6 |
*file = (char_u **)alloc((unsigned)(count * sizeof(char_u *)));
|
|
Karsten Hopp |
845bd6 |
if (*file == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_free(prog);
|
|
Karsten Hopp |
845bd6 |
if (patc != pat)
|
|
Karsten Hopp |
845bd6 |
vim_free(patc);
|
|
Karsten Hopp |
845bd6 |
return FAIL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_free(prog);
|
|
Karsten Hopp |
845bd6 |
if (count) /* match(es) found, break here */
|
|
Karsten Hopp |
845bd6 |
break;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 2355,2368 ----
|
|
Karsten Hopp |
845bd6 |
*file = (char_u **)alloc((unsigned)(count * sizeof(char_u *)));
|
|
Karsten Hopp |
845bd6 |
if (*file == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(prog);
|
|
Karsten Hopp |
845bd6 |
if (patc != pat)
|
|
Karsten Hopp |
845bd6 |
vim_free(patc);
|
|
Karsten Hopp |
845bd6 |
return FAIL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(prog);
|
|
Karsten Hopp |
845bd6 |
if (count) /* match(es) found, break here */
|
|
Karsten Hopp |
845bd6 |
break;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/edit.c 2013-05-19 21:15:08.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/edit.c 2013-06-08 15:46:43.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 3134,3140 ****
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
theend:
|
|
Karsten Hopp |
845bd6 |
p_scs = save_p_scs;
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--- 3134,3140 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
theend:
|
|
Karsten Hopp |
845bd6 |
p_scs = save_p_scs;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/eval.c 2013-06-06 21:31:02.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/eval.c 2013-06-08 15:48:23.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4560,4566 ****
|
|
Karsten Hopp |
845bd6 |
if (regmatch.regprog != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
n1 = vim_regexec_nl(®match, s1, (colnr_T)0);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
if (type == TYPE_NOMATCH)
|
|
Karsten Hopp |
845bd6 |
n1 = !n1;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 4560,4566 ----
|
|
Karsten Hopp |
845bd6 |
if (regmatch.regprog != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
n1 = vim_regexec_nl(®match, s1, (colnr_T)0);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
if (type == TYPE_NOMATCH)
|
|
Karsten Hopp |
845bd6 |
n1 = !n1;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 13981,13987 ****
|
|
Karsten Hopp |
845bd6 |
rettv->vval.v_number += (varnumber_T)(str - expr);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
theend:
|
|
Karsten Hopp |
845bd6 |
--- 13981,13987 ----
|
|
Karsten Hopp |
845bd6 |
rettv->vval.v_number += (varnumber_T)(str - expr);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
theend:
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 17214,17220 ****
|
|
Karsten Hopp |
845bd6 |
str = regmatch.endp[0];
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
p_cpo = save_cpo;
|
|
Karsten Hopp |
845bd6 |
--- 17214,17220 ----
|
|
Karsten Hopp |
845bd6 |
str = regmatch.endp[0];
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
p_cpo = save_cpo;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 21066,21072 ****
|
|
Karsten Hopp |
845bd6 |
list_func_head(fp, FALSE);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
if (*p == '/')
|
|
Karsten Hopp |
845bd6 |
--- 21066,21072 ----
|
|
Karsten Hopp |
845bd6 |
list_func_head(fp, FALSE);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
if (*p == '/')
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 24220,24226 ****
|
|
Karsten Hopp |
845bd6 |
if (ga.ga_data != NULL)
|
|
Karsten Hopp |
845bd6 |
STRCPY((char *)ga.ga_data + ga.ga_len, tail);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data);
|
|
Karsten Hopp |
845bd6 |
--- 24220,24226 ----
|
|
Karsten Hopp |
845bd6 |
if (ga.ga_data != NULL)
|
|
Karsten Hopp |
845bd6 |
STRCPY((char *)ga.ga_data + ga.ga_len, tail);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/ex_cmds.c 2013-05-30 11:43:11.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/ex_cmds.c 2013-06-08 16:07:02.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 571,577 ****
|
|
Karsten Hopp |
845bd6 |
vim_free(nrs);
|
|
Karsten Hopp |
845bd6 |
vim_free(sortbuf1);
|
|
Karsten Hopp |
845bd6 |
vim_free(sortbuf2);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
if (got_int)
|
|
Karsten Hopp |
845bd6 |
EMSG(_(e_interr));
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 571,577 ----
|
|
Karsten Hopp |
845bd6 |
vim_free(nrs);
|
|
Karsten Hopp |
845bd6 |
vim_free(sortbuf1);
|
|
Karsten Hopp |
845bd6 |
vim_free(sortbuf2);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
if (got_int)
|
|
Karsten Hopp |
845bd6 |
EMSG(_(e_interr));
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5261,5267 ****
|
|
Karsten Hopp |
845bd6 |
changed_window_setting();
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
--- 5261,5267 ----
|
|
Karsten Hopp |
845bd6 |
changed_window_setting();
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5436,5442 ****
|
|
Karsten Hopp |
845bd6 |
global_exe(cmd);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
ml_clearmarked(); /* clear rest of the marks */
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
--- 5436,5442 ----
|
|
Karsten Hopp |
845bd6 |
global_exe(cmd);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
ml_clearmarked(); /* clear rest of the marks */
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/ex_cmds2.c 2013-06-06 14:01:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/ex_cmds2.c 2013-06-08 15:49:57.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 652,658 ****
|
|
Karsten Hopp |
845bd6 |
while (gap->ga_len > 0)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
vim_free(DEBUGGY(gap, todel).dbg_name);
|
|
Karsten Hopp |
845bd6 |
! vim_free(DEBUGGY(gap, todel).dbg_prog);
|
|
Karsten Hopp |
845bd6 |
--gap->ga_len;
|
|
Karsten Hopp |
845bd6 |
if (todel < gap->ga_len)
|
|
Karsten Hopp |
845bd6 |
mch_memmove(&DEBUGGY(gap, todel), &DEBUGGY(gap, todel + 1),
|
|
Karsten Hopp |
845bd6 |
--- 652,658 ----
|
|
Karsten Hopp |
845bd6 |
while (gap->ga_len > 0)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
vim_free(DEBUGGY(gap, todel).dbg_name);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(DEBUGGY(gap, todel).dbg_prog);
|
|
Karsten Hopp |
845bd6 |
--gap->ga_len;
|
|
Karsten Hopp |
845bd6 |
if (todel < gap->ga_len)
|
|
Karsten Hopp |
845bd6 |
mch_memmove(&DEBUGGY(gap, todel), &DEBUGGY(gap, todel + 1),
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1985,1991 ****
|
|
Karsten Hopp |
845bd6 |
--match;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(p);
|
|
Karsten Hopp |
845bd6 |
if (!didone)
|
|
Karsten Hopp |
845bd6 |
EMSG2(_(e_nomatch2), ((char_u **)new_ga.ga_data)[i]);
|
|
Karsten Hopp |
845bd6 |
--- 1985,1991 ----
|
|
Karsten Hopp |
845bd6 |
--match;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(p);
|
|
Karsten Hopp |
845bd6 |
if (!didone)
|
|
Karsten Hopp |
845bd6 |
EMSG2(_(e_nomatch2), ((char_u **)new_ga.ga_data)[i]);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/ex_docmd.c 2013-06-08 15:24:41.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/ex_docmd.c 2013-06-08 15:50:07.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7779,7785 ****
|
|
Karsten Hopp |
845bd6 |
curwin->w_cursor.col = (colnr_T)(regmatch.startp[0] - p);
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
EMSG(_(e_nomatch));
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
/* Move to the NUL, ignore any other arguments. */
|
|
Karsten Hopp |
845bd6 |
eap->arg += STRLEN(eap->arg);
|
|
Karsten Hopp |
845bd6 |
--- 7779,7785 ----
|
|
Karsten Hopp |
845bd6 |
curwin->w_cursor.col = (colnr_T)(regmatch.startp[0] - p);
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
EMSG(_(e_nomatch));
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
/* Move to the NUL, ignore any other arguments. */
|
|
Karsten Hopp |
845bd6 |
eap->arg += STRLEN(eap->arg);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/ex_eval.c 2013-05-06 04:21:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/ex_eval.c 2013-06-08 15:50:28.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1576,1582 ****
|
|
Karsten Hopp |
845bd6 |
caught = vim_regexec_nl(®match, current_exception->value,
|
|
Karsten Hopp |
845bd6 |
(colnr_T)0);
|
|
Karsten Hopp |
845bd6 |
got_int |= prev_got_int;
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 1576,1582 ----
|
|
Karsten Hopp |
845bd6 |
caught = vim_regexec_nl(®match, current_exception->value,
|
|
Karsten Hopp |
845bd6 |
(colnr_T)0);
|
|
Karsten Hopp |
845bd6 |
got_int |= prev_got_int;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/ex_getln.c 2013-06-08 15:24:41.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/ex_getln.c 2013-06-08 15:51:13.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4717,4723 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
return ret;
|
|
Karsten Hopp |
845bd6 |
#endif /* FEAT_CMDL_COMPL */
|
|
Karsten Hopp |
845bd6 |
--- 4717,4723 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
return ret;
|
|
Karsten Hopp |
845bd6 |
#endif /* FEAT_CMDL_COMPL */
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5785,5791 ****
|
|
Karsten Hopp |
845bd6 |
if (history[histype][idx].hisstr == NULL)
|
|
Karsten Hopp |
845bd6 |
hisidx[histype] = -1;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return found;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--- 5785,5791 ----
|
|
Karsten Hopp |
845bd6 |
if (history[histype][idx].hisstr == NULL)
|
|
Karsten Hopp |
845bd6 |
hisidx[histype] = -1;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return found;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/fileio.c 2013-05-06 04:50:26.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/fileio.c 2013-06-08 15:52:10.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7921,7927 ****
|
|
Karsten Hopp |
845bd6 |
if (ap->pat == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
*prev_ap = ap->next;
|
|
Karsten Hopp |
845bd6 |
! vim_free(ap->reg_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(ap);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
--- 7921,7927 ----
|
|
Karsten Hopp |
845bd6 |
if (ap->pat == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
*prev_ap = ap->next;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(ap->reg_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(ap);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 10070,10076 ****
|
|
Karsten Hopp |
845bd6 |
result = TRUE;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (prog == NULL)
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return result;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
--- 10070,10076 ----
|
|
Karsten Hopp |
845bd6 |
result = TRUE;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (prog == NULL)
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return result;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/gui.c 2013-05-06 04:21:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/gui.c 2013-06-08 15:52:24.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5319,5325 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
MSG(_("No match at cursor, finding next"));
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--- 5319,5325 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
MSG(_("No match at cursor, finding next"));
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/misc1.c 2013-06-05 19:35:31.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/misc1.c 2013-06-08 15:53:36.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 456,463 ****
|
|
Karsten Hopp |
845bd6 |
pos.coladd = 0;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
- vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
|
|
Karsten Hopp |
845bd6 |
return -1;
|
|
Karsten Hopp |
845bd6 |
--- 456,463 ----
|
|
Karsten Hopp |
845bd6 |
pos.coladd = 0;
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
+ vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (pos.lnum == 0 || *ml_get_pos(&pos) == NUL)
|
|
Karsten Hopp |
845bd6 |
return -1;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 9751,9757 ****
|
|
Karsten Hopp |
845bd6 |
# endif
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(matchname);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
matches = gap->ga_len - start_len;
|
|
Karsten Hopp |
845bd6 |
--- 9751,9757 ----
|
|
Karsten Hopp |
845bd6 |
# endif
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(matchname);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
matches = gap->ga_len - start_len;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 9993,9999 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
matches = gap->ga_len - start_len;
|
|
Karsten Hopp |
845bd6 |
if (matches > 0)
|
|
Karsten Hopp |
845bd6 |
--- 9993,9999 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
vim_free(buf);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
matches = gap->ga_len - start_len;
|
|
Karsten Hopp |
845bd6 |
if (matches > 0)
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 10358,10364 ****
|
|
Karsten Hopp |
845bd6 |
vim_free(in_curdir);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
ga_clear_strings(&path_ga);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (sort_again)
|
|
Karsten Hopp |
845bd6 |
remove_duplicates(gap);
|
|
Karsten Hopp |
845bd6 |
--- 10358,10364 ----
|
|
Karsten Hopp |
845bd6 |
vim_free(in_curdir);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
ga_clear_strings(&path_ga);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
if (sort_again)
|
|
Karsten Hopp |
845bd6 |
remove_duplicates(gap);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/misc2.c 2013-05-06 04:21:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/misc2.c 2013-06-08 16:07:33.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 1134,1140 ****
|
|
Karsten Hopp |
845bd6 |
/* Free some global vars. */
|
|
Karsten Hopp |
845bd6 |
vim_free(username);
|
|
Karsten Hopp |
845bd6 |
# ifdef FEAT_CLIPBOARD
|
|
Karsten Hopp |
845bd6 |
! vim_free(clip_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
# endif
|
|
Karsten Hopp |
845bd6 |
vim_free(last_cmdline);
|
|
Karsten Hopp |
845bd6 |
# ifdef FEAT_CMDHIST
|
|
Karsten Hopp |
845bd6 |
--- 1134,1140 ----
|
|
Karsten Hopp |
845bd6 |
/* Free some global vars. */
|
|
Karsten Hopp |
845bd6 |
vim_free(username);
|
|
Karsten Hopp |
845bd6 |
# ifdef FEAT_CLIPBOARD
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(clip_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
# endif
|
|
Karsten Hopp |
845bd6 |
vim_free(last_cmdline);
|
|
Karsten Hopp |
845bd6 |
# ifdef FEAT_CMDHIST
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5008,5015 ****
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
! * we don't have further wildcards to expand, so we have to
|
|
Karsten Hopp |
845bd6 |
! * check for the final file now
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
for (i = stackp->ffs_filearray_cur;
|
|
Karsten Hopp |
845bd6 |
i < stackp->ffs_filearray_size; ++i)
|
|
Karsten Hopp |
845bd6 |
--- 5008,5015 ----
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
! * We don't have further wildcards to expand, so we have to
|
|
Karsten Hopp |
845bd6 |
! * check for the final file now.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
for (i = stackp->ffs_filearray_cur;
|
|
Karsten Hopp |
845bd6 |
i < stackp->ffs_filearray_size; ++i)
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/option.c 2013-06-04 22:13:45.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/option.c 2013-06-08 16:30:58.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7491,7497 ****
|
|
Karsten Hopp |
845bd6 |
clip_autoselect_plus = new_autoselect_plus;
|
|
Karsten Hopp |
845bd6 |
clip_autoselectml = new_autoselectml;
|
|
Karsten Hopp |
845bd6 |
clip_html = new_html;
|
|
Karsten Hopp |
845bd6 |
! vim_free(clip_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
clip_exclude_prog = new_exclude_prog;
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_GUI_GTK
|
|
Karsten Hopp |
845bd6 |
if (gui.in_use)
|
|
Karsten Hopp |
845bd6 |
--- 7491,7497 ----
|
|
Karsten Hopp |
845bd6 |
clip_autoselect_plus = new_autoselect_plus;
|
|
Karsten Hopp |
845bd6 |
clip_autoselectml = new_autoselectml;
|
|
Karsten Hopp |
845bd6 |
clip_html = new_html;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(clip_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
clip_exclude_prog = new_exclude_prog;
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_GUI_GTK
|
|
Karsten Hopp |
845bd6 |
if (gui.in_use)
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7502,7508 ****
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
! vim_free(new_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
return errmsg;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 7502,7508 ----
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(new_exclude_prog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
return errmsg;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7529,7544 ****
|
|
Karsten Hopp |
845bd6 |
if (re != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
synblock->b_cap_prog = vim_regcomp(re, RE_MAGIC);
|
|
Karsten Hopp |
845bd6 |
if (synblock->b_cap_prog == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
synblock->b_cap_prog = rp; /* restore the previous program */
|
|
Karsten Hopp |
845bd6 |
return e_invarg;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
- vim_free(re);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(rp);
|
|
Karsten Hopp |
845bd6 |
return NULL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
--- 7529,7544 ----
|
|
Karsten Hopp |
845bd6 |
if (re != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
synblock->b_cap_prog = vim_regcomp(re, RE_MAGIC);
|
|
Karsten Hopp |
845bd6 |
+ vim_free(re);
|
|
Karsten Hopp |
845bd6 |
if (synblock->b_cap_prog == NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
synblock->b_cap_prog = rp; /* restore the previous program */
|
|
Karsten Hopp |
845bd6 |
return e_invarg;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(rp);
|
|
Karsten Hopp |
845bd6 |
return NULL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/syntax.c 2013-06-08 15:24:41.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/syntax.c 2013-06-08 16:10:08.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 3495,3501 ****
|
|
Karsten Hopp |
845bd6 |
block->b_syn_sync_maxlines = 0;
|
|
Karsten Hopp |
845bd6 |
block->b_syn_sync_linebreaks = 0;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(block->b_syn_linecont_prog);
|
|
Karsten Hopp |
845bd6 |
block->b_syn_linecont_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
vim_free(block->b_syn_linecont_pat);
|
|
Karsten Hopp |
845bd6 |
block->b_syn_linecont_pat = NULL;
|
|
Karsten Hopp |
845bd6 |
--- 3495,3501 ----
|
|
Karsten Hopp |
845bd6 |
block->b_syn_sync_maxlines = 0;
|
|
Karsten Hopp |
845bd6 |
block->b_syn_sync_linebreaks = 0;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(block->b_syn_linecont_prog);
|
|
Karsten Hopp |
845bd6 |
block->b_syn_linecont_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
vim_free(block->b_syn_linecont_pat);
|
|
Karsten Hopp |
845bd6 |
block->b_syn_linecont_pat = NULL;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 3544,3550 ****
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_sync_maxlines = 0;
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_sync_linebreaks = 0;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(curwin->w_s->b_syn_linecont_prog);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_linecont_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
vim_free(curwin->w_s->b_syn_linecont_pat);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_linecont_pat = NULL;
|
|
Karsten Hopp |
845bd6 |
--- 3544,3550 ----
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_sync_maxlines = 0;
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_sync_linebreaks = 0;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(curwin->w_s->b_syn_linecont_prog);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_linecont_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
vim_free(curwin->w_s->b_syn_linecont_pat);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_syn_linecont_pat = NULL;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 3583,3589 ****
|
|
Karsten Hopp |
845bd6 |
int i;
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
vim_free(SYN_ITEMS(block)[i].sp_pattern);
|
|
Karsten Hopp |
845bd6 |
! vim_free(SYN_ITEMS(block)[i].sp_prog);
|
|
Karsten Hopp |
845bd6 |
/* Only free sp_cont_list and sp_next_list of first start pattern */
|
|
Karsten Hopp |
845bd6 |
if (i == 0 || SYN_ITEMS(block)[i - 1].sp_type != SPTYPE_START)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
--- 3583,3589 ----
|
|
Karsten Hopp |
845bd6 |
int i;
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
vim_free(SYN_ITEMS(block)[i].sp_pattern);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(SYN_ITEMS(block)[i].sp_prog);
|
|
Karsten Hopp |
845bd6 |
/* Only free sp_cont_list and sp_next_list of first start pattern */
|
|
Karsten Hopp |
845bd6 |
if (i == 0 || SYN_ITEMS(block)[i - 1].sp_type != SPTYPE_START)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4991,4997 ****
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Something failed, free the allocated memory.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
! vim_free(item.sp_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(item.sp_pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(syn_opt_arg.cont_list);
|
|
Karsten Hopp |
845bd6 |
vim_free(syn_opt_arg.cont_in_list);
|
|
Karsten Hopp |
845bd6 |
--- 4991,4997 ----
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
* Something failed, free the allocated memory.
|
|
Karsten Hopp |
845bd6 |
*/
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(item.sp_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(item.sp_pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(syn_opt_arg.cont_list);
|
|
Karsten Hopp |
845bd6 |
vim_free(syn_opt_arg.cont_in_list);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5248,5254 ****
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
if (!success)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_free(ppp->pp_synp->sp_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(ppp->pp_synp->sp_pattern);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
vim_free(ppp->pp_synp);
|
|
Karsten Hopp |
845bd6 |
--- 5248,5254 ----
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
if (!success)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(ppp->pp_synp->sp_prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(ppp->pp_synp->sp_pattern);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
vim_free(ppp->pp_synp);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 6022,6028 ****
|
|
Karsten Hopp |
845bd6 |
id = -1; /* remember that we found one */
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
vim_free(name);
|
|
Karsten Hopp |
845bd6 |
--- 6022,6028 ----
|
|
Karsten Hopp |
845bd6 |
id = -1; /* remember that we found one */
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
vim_free(name);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 6295,6301 ****
|
|
Karsten Hopp |
845bd6 |
curwin->w_p_spell = FALSE; /* No spell checking */
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spc);
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spf);
|
|
Karsten Hopp |
845bd6 |
! vim_free(curwin->w_s->b_cap_prog);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_cap_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spl);
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
--- 6295,6301 ----
|
|
Karsten Hopp |
845bd6 |
curwin->w_p_spell = FALSE; /* No spell checking */
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spc);
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spf);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(curwin->w_s->b_cap_prog);
|
|
Karsten Hopp |
845bd6 |
curwin->w_s->b_cap_prog = NULL;
|
|
Karsten Hopp |
845bd6 |
clear_string_option(&curwin->w_s->b_p_spl);
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/quickfix.c 2013-05-11 15:50:02.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/quickfix.c 2013-06-08 15:57:08.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 863,869 ****
|
|
Karsten Hopp |
845bd6 |
for (fmt_ptr = fmt_first; fmt_ptr != NULL; fmt_ptr = fmt_first)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
fmt_first = fmt_ptr->next;
|
|
Karsten Hopp |
845bd6 |
! vim_free(fmt_ptr->prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(fmt_ptr);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
qf_clean_dir_stack(&dir_stack);
|
|
Karsten Hopp |
845bd6 |
--- 863,869 ----
|
|
Karsten Hopp |
845bd6 |
for (fmt_ptr = fmt_first; fmt_ptr != NULL; fmt_ptr = fmt_first)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
fmt_first = fmt_ptr->next;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(fmt_ptr->prog);
|
|
Karsten Hopp |
845bd6 |
vim_free(fmt_ptr);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
qf_clean_dir_stack(&dir_stack);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 3487,3493 ****
|
|
Karsten Hopp |
845bd6 |
vim_free(dirname_now);
|
|
Karsten Hopp |
845bd6 |
vim_free(dirname_start);
|
|
Karsten Hopp |
845bd6 |
vim_free(target_dir);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
--- 3487,3493 ----
|
|
Karsten Hopp |
845bd6 |
vim_free(dirname_now);
|
|
Karsten Hopp |
845bd6 |
vim_free(dirname_start);
|
|
Karsten Hopp |
845bd6 |
vim_free(target_dir);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/*
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4178,4184 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_MBYTE
|
|
Karsten Hopp |
845bd6 |
if (vc.vc_type != CONV_NONE)
|
|
Karsten Hopp |
845bd6 |
convert_setup(&vc, NULL, NULL);
|
|
Karsten Hopp |
845bd6 |
--- 4178,4184 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_MBYTE
|
|
Karsten Hopp |
845bd6 |
if (vc.vc_type != CONV_NONE)
|
|
Karsten Hopp |
845bd6 |
convert_setup(&vc, NULL, NULL);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/search.c 2013-05-06 04:21:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/search.c 2013-06-08 15:59:38.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 972,978 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
while (--count > 0 && found); /* stop after count matches or no match */
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
called_emsg |= save_called_emsg;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--- 972,978 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
while (--count > 0 && found); /* stop after count matches or no match */
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
called_emsg |= save_called_emsg;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 4680,4686 ****
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
called_emsg |= save_called_emsg;
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return result;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif /* FEAT_VISUAL */
|
|
Karsten Hopp |
845bd6 |
--- 4680,4686 ----
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
called_emsg |= save_called_emsg;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
return result;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
#endif /* FEAT_VISUAL */
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5402,5410 ****
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
fpip_end:
|
|
Karsten Hopp |
845bd6 |
vim_free(file_line);
|
|
Karsten Hopp |
845bd6 |
! vim_free(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
! vim_free(incl_regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
! vim_free(def_regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
static void
|
|
Karsten Hopp |
845bd6 |
--- 5402,5410 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
fpip_end:
|
|
Karsten Hopp |
845bd6 |
vim_free(file_line);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(incl_regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(def_regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
static void
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/spell.c 2013-05-06 04:21:35.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/spell.c 2013-06-08 16:10:52.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2658,2664 ****
|
|
Karsten Hopp |
845bd6 |
ga_clear(gap);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
for (i = 0; i < lp->sl_prefixcnt; ++i)
|
|
Karsten Hopp |
845bd6 |
! vim_free(lp->sl_prefprog[i]);
|
|
Karsten Hopp |
845bd6 |
lp->sl_prefixcnt = 0;
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_prefprog);
|
|
Karsten Hopp |
845bd6 |
lp->sl_prefprog = NULL;
|
|
Karsten Hopp |
845bd6 |
--- 2658,2664 ----
|
|
Karsten Hopp |
845bd6 |
ga_clear(gap);
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
for (i = 0; i < lp->sl_prefixcnt; ++i)
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(lp->sl_prefprog[i]);
|
|
Karsten Hopp |
845bd6 |
lp->sl_prefixcnt = 0;
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_prefprog);
|
|
Karsten Hopp |
845bd6 |
lp->sl_prefprog = NULL;
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2669,2675 ****
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_midword);
|
|
Karsten Hopp |
845bd6 |
lp->sl_midword = NULL;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_free(lp->sl_compprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_comprules);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_compstartflags);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_compallflags);
|
|
Karsten Hopp |
845bd6 |
--- 2669,2675 ----
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_midword);
|
|
Karsten Hopp |
845bd6 |
lp->sl_midword = NULL;
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(lp->sl_compprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_comprules);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_compstartflags);
|
|
Karsten Hopp |
845bd6 |
vim_free(lp->sl_compallflags);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 5802,5808 ****
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
sprintf((char *)buf, "^%s",
|
|
Karsten Hopp |
845bd6 |
aff_entry->ae_cond);
|
|
Karsten Hopp |
845bd6 |
! vim_free(aff_entry->ae_prog);
|
|
Karsten Hopp |
845bd6 |
aff_entry->ae_prog = vim_regcomp(
|
|
Karsten Hopp |
845bd6 |
buf, RE_MAGIC + RE_STRING);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 5802,5808 ----
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
sprintf((char *)buf, "^%s",
|
|
Karsten Hopp |
845bd6 |
aff_entry->ae_cond);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(aff_entry->ae_prog);
|
|
Karsten Hopp |
845bd6 |
aff_entry->ae_prog = vim_regcomp(
|
|
Karsten Hopp |
845bd6 |
buf, RE_MAGIC + RE_STRING);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 6507,6513 ****
|
|
Karsten Hopp |
845bd6 |
--todo;
|
|
Karsten Hopp |
845bd6 |
ah = HI2AH(hi);
|
|
Karsten Hopp |
845bd6 |
for (ae = ah->ah_first; ae != NULL; ae = ae->ae_next)
|
|
Karsten Hopp |
845bd6 |
! vim_free(ae->ae_prog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
if (ht == &aff->af_suff)
|
|
Karsten Hopp |
845bd6 |
--- 6507,6513 ----
|
|
Karsten Hopp |
845bd6 |
--todo;
|
|
Karsten Hopp |
845bd6 |
ah = HI2AH(hi);
|
|
Karsten Hopp |
845bd6 |
for (ae = ah->ah_first; ae != NULL; ae = ae->ae_next)
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(ae->ae_prog);
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
if (ht == &aff->af_suff)
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/tag.c 2012-09-12 18:19:39.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/tag.c 2013-06-08 16:03:31.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 2491,2497 ****
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
findtag_end:
|
|
Karsten Hopp |
845bd6 |
vim_free(lbuf);
|
|
Karsten Hopp |
845bd6 |
! vim_free(orgpat.regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(tag_fname);
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_EMACS_TAGS
|
|
Karsten Hopp |
845bd6 |
vim_free(ebuf);
|
|
Karsten Hopp |
845bd6 |
--- 2491,2497 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
findtag_end:
|
|
Karsten Hopp |
845bd6 |
vim_free(lbuf);
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(orgpat.regmatch.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(tag_fname);
|
|
Karsten Hopp |
845bd6 |
#ifdef FEAT_EMACS_TAGS
|
|
Karsten Hopp |
845bd6 |
vim_free(ebuf);
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/window.c 2013-05-18 20:55:31.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/window.c 2013-06-08 16:03:54.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 6818,6824 ****
|
|
Karsten Hopp |
845bd6 |
wp->w_match_head = cur->next;
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
prev->next = cur->next;
|
|
Karsten Hopp |
845bd6 |
! vim_free(cur->match.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(cur->pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(cur);
|
|
Karsten Hopp |
845bd6 |
redraw_later(SOME_VALID);
|
|
Karsten Hopp |
845bd6 |
--- 6818,6824 ----
|
|
Karsten Hopp |
845bd6 |
wp->w_match_head = cur->next;
|
|
Karsten Hopp |
845bd6 |
else
|
|
Karsten Hopp |
845bd6 |
prev->next = cur->next;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(cur->match.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(cur->pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(cur);
|
|
Karsten Hopp |
845bd6 |
redraw_later(SOME_VALID);
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 6837,6843 ****
|
|
Karsten Hopp |
845bd6 |
while (wp->w_match_head != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
m = wp->w_match_head->next;
|
|
Karsten Hopp |
845bd6 |
! vim_free(wp->w_match_head->match.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(wp->w_match_head->pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(wp->w_match_head);
|
|
Karsten Hopp |
845bd6 |
wp->w_match_head = m;
|
|
Karsten Hopp |
845bd6 |
--- 6837,6843 ----
|
|
Karsten Hopp |
845bd6 |
while (wp->w_match_head != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
m = wp->w_match_head->next;
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(wp->w_match_head->match.regprog);
|
|
Karsten Hopp |
845bd6 |
vim_free(wp->w_match_head->pattern);
|
|
Karsten Hopp |
845bd6 |
vim_free(wp->w_match_head);
|
|
Karsten Hopp |
845bd6 |
wp->w_match_head = m;
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/screen.c 2013-06-07 20:17:06.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/screen.c 2013-06-08 16:09:18.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7082,7088 ****
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
if (search_hl.rm.regprog != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_free(search_hl.rm.regprog);
|
|
Karsten Hopp |
845bd6 |
search_hl.rm.regprog = NULL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
--- 7082,7088 ----
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
if (search_hl.rm.regprog != NULL)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(search_hl.rm.regprog);
|
|
Karsten Hopp |
845bd6 |
search_hl.rm.regprog = NULL;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 7284,7290 ****
|
|
Karsten Hopp |
845bd6 |
if (shl == &search_hl)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
/* don't free regprog in the match list, it's a copy */
|
|
Karsten Hopp |
845bd6 |
! vim_free(shl->rm.regprog);
|
|
Karsten Hopp |
845bd6 |
no_hlsearch = TRUE;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
shl->rm.regprog = NULL;
|
|
Karsten Hopp |
845bd6 |
--- 7284,7290 ----
|
|
Karsten Hopp |
845bd6 |
if (shl == &search_hl)
|
|
Karsten Hopp |
845bd6 |
{
|
|
Karsten Hopp |
845bd6 |
/* don't free regprog in the match list, it's a copy */
|
|
Karsten Hopp |
845bd6 |
! vim_regfree(shl->rm.regprog);
|
|
Karsten Hopp |
845bd6 |
no_hlsearch = TRUE;
|
|
Karsten Hopp |
845bd6 |
}
|
|
Karsten Hopp |
845bd6 |
shl->rm.regprog = NULL;
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/macros.h 2012-07-19 17:18:21.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/macros.h 2013-06-08 16:53:34.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 272,277 ****
|
|
Karsten Hopp |
845bd6 |
--- 272,278 ----
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
# define MB_COPY_CHAR(f, t) if (has_mbyte) mb_copy_char(&f, &t); else *t++ = *f++
|
|
Karsten Hopp |
845bd6 |
# define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : (int)STRLEN(p))
|
|
Karsten Hopp |
845bd6 |
+ # define MB_CHAR2LEN(c) (has_mbyte ? mb_char2len(c) : 1)
|
|
Karsten Hopp |
845bd6 |
# define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p))
|
|
Karsten Hopp |
845bd6 |
#else
|
|
Karsten Hopp |
845bd6 |
# define MB_PTR2LEN(p) 1
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 280,285 ****
|
|
Karsten Hopp |
845bd6 |
--- 281,287 ----
|
|
Karsten Hopp |
845bd6 |
# define mb_ptr_back(s, p) --p
|
|
Karsten Hopp |
845bd6 |
# define MB_COPY_CHAR(f, t) *t++ = *f++
|
|
Karsten Hopp |
845bd6 |
# define MB_CHARLEN(p) STRLEN(p)
|
|
Karsten Hopp |
845bd6 |
+ # define MB_CHAR2LEN(c) 1
|
|
Karsten Hopp |
845bd6 |
# define PTR2CHAR(p) ((int)*(p))
|
|
Karsten Hopp |
845bd6 |
#endif
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/testdir/test64.in 2013-06-05 18:52:36.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/testdir/test64.in 2013-06-08 13:05:08.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 260,265 ****
|
|
Karsten Hopp |
845bd6 |
--- 260,267 ----
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '[-a]', '-', '-'])
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '[a-]', '-', '-'])
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '[a-f]*\c','ABCDEFGH','ABCDEF'])
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '[abc][xyz]\c','-af-AF-BY--','BY'])
|
|
Karsten Hopp |
845bd6 |
:" filename regexp
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
|
|
Karsten Hopp |
845bd6 |
:" special chars
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 385,390 ****
|
|
Karsten Hopp |
845bd6 |
--- 387,398 ----
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '\(<<\)\@2<=span.', 'xxspanxxxx
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '\(foo\)\@
|
|
Karsten Hopp |
845bd6 |
:"
|
|
Karsten Hopp |
845bd6 |
+ :" look-behind match in front of a zero-width item
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '\v\C%(
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '\v\C%(
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '\(foo\)\@<=\>', 'foobar'])
|
|
Karsten Hopp |
845bd6 |
+ :call add(tl, [2, '\(foo\)\@<=\>', 'barfoo', '', 'foo'])
|
|
Karsten Hopp |
845bd6 |
+ :"
|
|
Karsten Hopp |
845bd6 |
:""""" \@>
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '\(a*\)\@>a', 'aaaa'])
|
|
Karsten Hopp |
845bd6 |
:call add(tl, [2, '\(a*\)\@>b', 'aaab', 'aaab', 'aaa'])
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/testdir/test64.ok 2013-06-05 18:52:36.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/testdir/test64.ok 2013-06-08 13:16:59.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 584,589 ****
|
|
Karsten Hopp |
845bd6 |
--- 584,595 ----
|
|
Karsten Hopp |
845bd6 |
OK 0 - [a-]
|
|
Karsten Hopp |
845bd6 |
OK 1 - [a-]
|
|
Karsten Hopp |
845bd6 |
OK 2 - [a-]
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - [a-f]*\c
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - [a-f]*\c
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - [a-f]*\c
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - [abc][xyz]\c
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - [abc][xyz]\c
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - [abc][xyz]\c
|
|
Karsten Hopp |
845bd6 |
OK 0 - [-./[:alnum:]_~]\+
|
|
Karsten Hopp |
845bd6 |
OK 1 - [-./[:alnum:]_~]\+
|
|
Karsten Hopp |
845bd6 |
OK 2 - [-./[:alnum:]_~]\+
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 872,877 ****
|
|
Karsten Hopp |
845bd6 |
--- 878,895 ----
|
|
Karsten Hopp |
845bd6 |
OK 0 - \(foo\)\@
|
|
Karsten Hopp |
845bd6 |
OK 1 - \(foo\)\@
|
|
Karsten Hopp |
845bd6 |
OK 2 - \(foo\)\@
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - \v\C%(
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
+ OK 0 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
+ OK 1 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
+ OK 2 - \(foo\)\@<=\>
|
|
Karsten Hopp |
845bd6 |
OK 0 - \(a*\)\@>a
|
|
Karsten Hopp |
845bd6 |
OK 1 - \(a*\)\@>a
|
|
Karsten Hopp |
845bd6 |
OK 2 - \(a*\)\@>a
|
|
Karsten Hopp |
845bd6 |
*** ../vim-7.3.1148/src/version.c 2013-06-08 15:24:41.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
--- src/version.c 2013-06-08 18:09:41.000000000 +0200
|
|
Karsten Hopp |
845bd6 |
***************
|
|
Karsten Hopp |
845bd6 |
*** 730,731 ****
|
|
Karsten Hopp |
845bd6 |
--- 730,733 ----
|
|
Karsten Hopp |
845bd6 |
{ /* Add new patch number below this line */
|
|
Karsten Hopp |
845bd6 |
+ /**/
|
|
Karsten Hopp |
845bd6 |
+ 1149,
|
|
Karsten Hopp |
845bd6 |
/**/
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
--
|
|
Karsten Hopp |
845bd6 |
FIXME and XXX are two common keywords used to mark broken or incomplete code
|
|
Karsten Hopp |
845bd6 |
not only since XXX as a sex reference would grab everybody's attention but
|
|
Karsten Hopp |
845bd6 |
simply due to the fact that Vim would highlight these words.
|
|
Karsten Hopp |
845bd6 |
-- Hendrik Scholz
|
|
Karsten Hopp |
845bd6 |
|
|
Karsten Hopp |
845bd6 |
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
Karsten Hopp |
845bd6 |
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
Karsten Hopp |
845bd6 |
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
|
Karsten Hopp |
845bd6 |
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|