mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.3.1091
Problem: New regexp engine: no error when using \z1 or \z( where it does not work. Solution: Give an error message.
This commit is contained in:
parent
efb23f26e8
commit
5de820b916
@ -361,6 +361,8 @@ static char_u e_missingbracket[] = N_("E769: Missing ] after %s[");
|
|||||||
static char_u e_unmatchedpp[] = N_("E53: Unmatched %s%%(");
|
static char_u e_unmatchedpp[] = N_("E53: Unmatched %s%%(");
|
||||||
static char_u e_unmatchedp[] = N_("E54: Unmatched %s(");
|
static char_u e_unmatchedp[] = N_("E54: Unmatched %s(");
|
||||||
static char_u e_unmatchedpar[] = N_("E55: Unmatched %s)");
|
static char_u e_unmatchedpar[] = N_("E55: Unmatched %s)");
|
||||||
|
static char_u e_z_not_allowed[] = N_("E66: \\z( not allowed here");
|
||||||
|
static char_u e_z1_not_allowed[] = N_("E67: \\z1 et al. not allowed here");
|
||||||
|
|
||||||
#define NOT_MULTI 0
|
#define NOT_MULTI 0
|
||||||
#define MULTI_ONE 1
|
#define MULTI_ONE 1
|
||||||
@ -2120,7 +2122,7 @@ regatom(flagp)
|
|||||||
{
|
{
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
case '(': if (reg_do_extmatch != REX_SET)
|
case '(': if (reg_do_extmatch != REX_SET)
|
||||||
EMSG_RET_NULL(_("E66: \\z( not allowed here"));
|
EMSG_RET_NULL(_(e_z_not_allowed));
|
||||||
if (one_exactly)
|
if (one_exactly)
|
||||||
EMSG_ONE_RET_NULL;
|
EMSG_ONE_RET_NULL;
|
||||||
ret = reg(REG_ZPAREN, &flags);
|
ret = reg(REG_ZPAREN, &flags);
|
||||||
@ -2139,7 +2141,7 @@ regatom(flagp)
|
|||||||
case '7':
|
case '7':
|
||||||
case '8':
|
case '8':
|
||||||
case '9': if (reg_do_extmatch != REX_USE)
|
case '9': if (reg_do_extmatch != REX_USE)
|
||||||
EMSG_RET_NULL(_("E67: \\z1 et al. not allowed here"));
|
EMSG_RET_NULL(_(e_z1_not_allowed));
|
||||||
ret = regnode(ZREF + c - '0');
|
ret = regnode(ZREF + c - '0');
|
||||||
re_has_z = REX_USE;
|
re_has_z = REX_USE;
|
||||||
break;
|
break;
|
||||||
|
@ -865,6 +865,8 @@ nfa_regatom()
|
|||||||
case '8':
|
case '8':
|
||||||
case '9':
|
case '9':
|
||||||
/* \z1...\z9 */
|
/* \z1...\z9 */
|
||||||
|
if (reg_do_extmatch != REX_USE)
|
||||||
|
EMSG_RET_FAIL(_(e_z1_not_allowed));
|
||||||
EMIT(NFA_ZREF1 + (no_Magic(c) - '1'));
|
EMIT(NFA_ZREF1 + (no_Magic(c) - '1'));
|
||||||
/* No need to set nfa_has_backref, the sub-matches don't
|
/* No need to set nfa_has_backref, the sub-matches don't
|
||||||
* change when \z1 .. \z9 maches or not. */
|
* change when \z1 .. \z9 maches or not. */
|
||||||
@ -872,6 +874,8 @@ nfa_regatom()
|
|||||||
break;
|
break;
|
||||||
case '(':
|
case '(':
|
||||||
/* \z( */
|
/* \z( */
|
||||||
|
if (reg_do_extmatch != REX_SET)
|
||||||
|
EMSG_RET_FAIL(_(e_z_not_allowed));
|
||||||
if (nfa_reg(REG_ZPAREN) == FAIL)
|
if (nfa_reg(REG_ZPAREN) == FAIL)
|
||||||
return FAIL; /* cascaded error */
|
return FAIL; /* cascaded error */
|
||||||
re_has_z = REX_SET;
|
re_has_z = REX_SET;
|
||||||
|
@ -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 */
|
||||||
|
/**/
|
||||||
|
1091,
|
||||||
/**/
|
/**/
|
||||||
1090,
|
1090,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user