Permalink
Browse files

patch 8.0.0618: NFA regex engine handles [0-z] incorrectly

Problem:    NFA regex engine handles [0-z] incorrectly.
Solution:   Return at the right point. (James McCoy, closes #1703)
  • Loading branch information...
brammool committed Jun 5, 2017
1 parent 763209c commit bb7943b7920ef2f88cb9b6f46c34c7946c370819
Showing with 23 additions and 7 deletions.
  1. +6 −4 src/regexp_nfa.c
  2. +9 −3 src/testdir/test36.in
  3. +6 −0 src/testdir/test36.ok
  4. +2 −0 src/version.c
View
@@ -628,37 +628,39 @@ nfa_recognize_char_class(char_u *start, char_u *end, int extra_newl)
config |= CLASS_o9;
break;
}
else
if (*(p + 2) == '7')
{
config |= CLASS_o7;
break;
}
return FAIL;
case 'a':
if (*(p + 2) == 'z')
{
config |= CLASS_az;
break;
}
else
if (*(p + 2) == 'f')
{
config |= CLASS_af;
break;
}
return FAIL;
case 'A':
if (*(p + 2) == 'Z')
{
config |= CLASS_AZ;
break;
}
else
if (*(p + 2) == 'F')
{
config |= CLASS_AF;
break;
}
/* FALLTHROUGH */
return FAIL;
default:
return FAIL;
}
View
@@ -98,9 +98,15 @@ p:s/\%#=2\U//g
p:s/\%#=0[^A-Z]//g
p:s/\%#=1[^A-Z]//g
p:s/\%#=2[^A-Z]//g
p:s/\%#=0\%204l^\t...//g
p:s/\%#=1\%205l^\t...//g
p:s/\%#=2\%206l^\t...//g
p:s/\%#=0\%210l^\t...//g
p:s/\%#=1\%211l^\t...//g
p:s/\%#=2\%212l^\t...//g
p:s/\%#=0[0-z]//g
p:s/\%#=1[0-z]//g
p:s/\%#=2[0-z]//g
p:s/\%#=0[^0-z]//g
p:s/\%#=1[^0-z]//g
p:s/\%#=2[^0-z]//g
:/^start-here/+1,$wq! test.out
ENDTEST
View
@@ -97,3 +97,9 @@ ABCDEFGHIXYZ
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~����������
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~����������
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~����������
!"#$%&'()#+'-./{|}~����������
!"#$%&'()#+'-./{|}~����������
!"#$%&'()#+'-./{|}~����������
0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
618,
/**/
617,
/**/

0 comments on commit bb7943b

Please sign in to comment.