comparison src/regexp_nfa.c @ 4688:371cc0c44097 v7.3.1091

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.
author Bram Moolenaar <bram@vim.org>
date Sun, 02 Jun 2013 15:01:57 +0200
parents 8db697ae406a
children 9d97a0c045ef
comparison
equal deleted inserted replaced
4687:79797c8534b5 4688:371cc0c44097
863 case '6': 863 case '6':
864 case '7': 864 case '7':
865 case '8': 865 case '8':
866 case '9': 866 case '9':
867 /* \z1...\z9 */ 867 /* \z1...\z9 */
868 if (reg_do_extmatch != REX_USE)
869 EMSG_RET_FAIL(_(e_z1_not_allowed));
868 EMIT(NFA_ZREF1 + (no_Magic(c) - '1')); 870 EMIT(NFA_ZREF1 + (no_Magic(c) - '1'));
869 /* No need to set nfa_has_backref, the sub-matches don't 871 /* No need to set nfa_has_backref, the sub-matches don't
870 * change when \z1 .. \z9 maches or not. */ 872 * change when \z1 .. \z9 maches or not. */
871 re_has_z = REX_USE; 873 re_has_z = REX_USE;
872 break; 874 break;
873 case '(': 875 case '(':
874 /* \z( */ 876 /* \z( */
877 if (reg_do_extmatch != REX_SET)
878 EMSG_RET_FAIL(_(e_z_not_allowed));
875 if (nfa_reg(REG_ZPAREN) == FAIL) 879 if (nfa_reg(REG_ZPAREN) == FAIL)
876 return FAIL; /* cascaded error */ 880 return FAIL; /* cascaded error */
877 re_has_z = REX_SET; 881 re_has_z = REX_SET;
878 break; 882 break;
879 #endif 883 #endif