forked from aniani/vim
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.
This commit is contained in:
@@ -5758,7 +5758,7 @@ regrepeat(p, maxcount)
|
|||||||
case SIDENT + ADD_NL:
|
case SIDENT + ADD_NL:
|
||||||
while (count < maxcount)
|
while (count < maxcount)
|
||||||
{
|
{
|
||||||
if (vim_isIDc(*scan) && (testval || !VIM_ISDIGIT(*scan)))
|
if (vim_isIDc(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan)))
|
||||||
{
|
{
|
||||||
mb_ptr_adv(scan);
|
mb_ptr_adv(scan);
|
||||||
}
|
}
|
||||||
@@ -5819,7 +5819,7 @@ regrepeat(p, maxcount)
|
|||||||
case SFNAME + ADD_NL:
|
case SFNAME + ADD_NL:
|
||||||
while (count < maxcount)
|
while (count < maxcount)
|
||||||
{
|
{
|
||||||
if (vim_isfilec(*scan) && (testval || !VIM_ISDIGIT(*scan)))
|
if (vim_isfilec(PTR2CHAR(scan)) && (testval || !VIM_ISDIGIT(*scan)))
|
||||||
{
|
{
|
||||||
mb_ptr_adv(scan);
|
mb_ptr_adv(scan);
|
||||||
}
|
}
|
||||||
|
@@ -262,6 +262,10 @@ STARTTEST
|
|||||||
:call add(tl, ['[a-zA-Z]', 'a', 'a'])
|
:call add(tl, ['[a-zA-Z]', 'a', 'a'])
|
||||||
:call add(tl, ['[A-Z]', 'a'])
|
:call add(tl, ['[A-Z]', 'a'])
|
||||||
:call add(tl, ['\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
|
:call add(tl, ['\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
|
||||||
|
:call add(tl, ['\i\+', '&*§xx ', 'xx'])
|
||||||
|
:call add(tl, ['\%#=1\i\+', '&*§xx ', 'xx'])
|
||||||
|
:call add(tl, ['\f\+', '&*fname ', 'fname'])
|
||||||
|
:call add(tl, ['\%#=1\i\+', '&*fname ', 'fname'])
|
||||||
|
|
||||||
:"""" Tests for \z features
|
:"""" Tests for \z features
|
||||||
:call add(tl, ['xx \ze test', 'xx ']) " must match after \ze
|
:call add(tl, ['xx \ze test', 'xx ']) " must match after \ze
|
||||||
|
@@ -203,6 +203,10 @@ OK - [a-z]
|
|||||||
OK - [a-zA-Z]
|
OK - [a-zA-Z]
|
||||||
OK - [A-Z]
|
OK - [A-Z]
|
||||||
OK - \C[^A-Z]\+
|
OK - \C[^A-Z]\+
|
||||||
|
OK - \i\+
|
||||||
|
OK - \%#=1\i\+
|
||||||
|
OK - \f\+
|
||||||
|
OK - \%#=1\i\+
|
||||||
OK - xx \ze test
|
OK - xx \ze test
|
||||||
OK - abc\zeend
|
OK - abc\zeend
|
||||||
OK - abc\zsdd
|
OK - abc\zsdd
|
||||||
|
@@ -728,6 +728,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
981,
|
||||||
/**/
|
/**/
|
||||||
980,
|
980,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user