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().
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 72e3a74..07e2fa1 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -5749,12 +5749,12 @@
 		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;