From f18fb7af7504a47e59ce85ddd1e50b56651a80d3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 2 Jun 2013 22:08:03 +0200 Subject: [PATCH] updated for version 7.3.1104 Problem: New regexp engine does not handle "~". Solution: Add support for "~". --- src/regexp_nfa.c | 23 ++++++++++++++++++++--- src/testdir/test24.in | Bin 1240 -> 1301 bytes src/testdir/test24.ok | 3 +++ src/version.c | 2 ++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index f9b188861..6b6d36977 100644 --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -829,9 +829,26 @@ nfa_regatom() EMSGN(_(e_misplaced), no_Magic(c)); return FAIL; - case Magic('~'): /* previous substitute pattern */ - /* TODO: Not supported yet */ - return FAIL; + case Magic('~'): + { + char_u *lp; + + /* Previous substitute pattern. + * Generated as "\%(pattern\)". */ + if (reg_prev_sub == NULL) + { + EMSG(_(e_nopresub)); + return FAIL; + } + for (lp = reg_prev_sub; *lp != NUL; mb_cptr_adv(lp)) + { + EMIT(PTR2CHAR(lp)); + if (lp != reg_prev_sub) + EMIT(NFA_CONCAT); + } + EMIT(NFA_NOPEN); + break; + } case Magic('1'): case Magic('2'): diff --git a/src/testdir/test24.in b/src/testdir/test24.in index 80eb90bf699ba694167818d364d2e72c06880a45..7dfc1afdc6999616e5171f76f4ff34d92f7d9a2a 100644 GIT binary patch delta 74 zcmcb?IhAXJFOwRVRk40zVxoRUWtBb`h*PJZl$-)(#%Sw1Iq7p*DQ)&)>R}R704h}A OQUEIDQUEG~AT9tJcNF#j delta 12 TcmbQrb%S$*FVp4{rfwzx9!mr^ diff --git a/src/testdir/test24.ok b/src/testdir/test24.ok index ed25dd436..cd6121096 100644 --- a/src/testdir/test24.ok +++ b/src/testdir/test24.ok @@ -27,3 +27,6 @@ xx foobar xA xx xx an A xx XX 9; YY 77; + xyz + bcd + BB diff --git a/src/version.c b/src/version.c index 2ec288143..57320724c 100644 --- a/src/version.c +++ b/src/version.c @@ -728,6 +728,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1104, /**/ 1103, /**/ -- 2.50.1