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;