Mercurial > vim
diff src/regexp_nfa.c @ 5221:9982ec574beb v7.4a.036
updated for version 7.4a.036
Problem: "\p" in a regexp does not match double-width characters.
(Yukihiro Nakadaira)
Solution: Don't count display cells, use vim_isprintc().
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 21 Jul 2013 17:06:00 +0200 |
parents | 2741b46e96bf |
children | a08fa2919f2b |
line wrap: on
line diff
--- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -5749,12 +5749,12 @@ nfa_regmatch(prog, start, submatch, m) break; case NFA_PRINT: /* \p */ - result = ptr2cells(reginput) == 1; + result = vim_isprintc(PTR2CHAR(reginput)); ADD_STATE_IF_MATCH(t->state); break; case NFA_SPRINT: /* \P */ - result = !VIM_ISDIGIT(curc) && ptr2cells(reginput) == 1; + result = !VIM_ISDIGIT(curc) && vim_isprintc(PTR2CHAR(reginput)); ADD_STATE_IF_MATCH(t->state); break;