updated for version 7.3.981
Problem: In the old regexp engine \i, \I, \f and \F don't work on
multi-byte characters.
Solution: Dereference pointer properly.
diff --git a/src/regexp.c b/src/regexp.c
index 60765d7..29b4081 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -5758,7 +5758,7 @@
case SIDENT + ADD_NL:
while (count < maxcount)
{
- if (vim_isIDc(*scan) && (testval || !VIM_ISDIGIT(*scan)))
+ if (vim_isIDc(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan)))
{
mb_ptr_adv(scan);
}
@@ -5819,7 +5819,7 @@
case SFNAME + ADD_NL:
while (count < maxcount)
{
- if (vim_isfilec(*scan) && (testval || !VIM_ISDIGIT(*scan)))
+ if (vim_isfilec(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan)))
{
mb_ptr_adv(scan);
}