0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

updated for version 7.3.1149

Problem:    New regexp engine: Matching plain text could be faster.
Solution:   Detect a plain text match and handle it specifically.  Add
            vim_regfree().
This commit is contained in:
Bram Moolenaar
2013-06-08 18:19:48 +02:00
parent cd9c46265e
commit 473de61b04
28 changed files with 279 additions and 77 deletions

View File

@@ -4560,7 +4560,7 @@ eval4(arg, rettv, evaluate)
if (regmatch.regprog != NULL)
{
n1 = vim_regexec_nl(&regmatch, s1, (colnr_T)0);
vim_free(regmatch.regprog);
vim_regfree(regmatch.regprog);
if (type == TYPE_NOMATCH)
n1 = !n1;
}
@@ -13981,7 +13981,7 @@ find_some_match(argvars, rettv, type)
rettv->vval.v_number += (varnumber_T)(str - expr);
}
}
vim_free(regmatch.regprog);
vim_regfree(regmatch.regprog);
}
theend:
@@ -17214,7 +17214,7 @@ f_split(argvars, rettv)
str = regmatch.endp[0];
}
vim_free(regmatch.regprog);
vim_regfree(regmatch.regprog);
}
p_cpo = save_cpo;
@@ -21066,7 +21066,7 @@ ex_function(eap)
list_func_head(fp, FALSE);
}
}
vim_free(regmatch.regprog);
vim_regfree(regmatch.regprog);
}
}
if (*p == '/')
@@ -24220,7 +24220,7 @@ do_string_sub(str, pat, sub, flags)
if (ga.ga_data != NULL)
STRCPY((char *)ga.ga_data + ga.ga_len, tail);
vim_free(regmatch.regprog);
vim_regfree(regmatch.regprog);
}
ret = vim_strsave(ga.ga_data == NULL ? str : (char_u *)ga.ga_data);