Mercurial > vim
diff src/eval.c @ 4805:66803af09906 v7.3.1149
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().
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 08 Jun 2013 18:19:48 +0200 |
parents | 343d09006056 |
children | 8c4324e6f477 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -4560,7 +4560,7 @@ eval4(arg, rettv, evaluate) if (regmatch.regprog != NULL) { n1 = vim_regexec_nl(®match, 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);