To: vim_dev@googlegroups.com Subject: Patch 7.3.1104 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.1104 Problem: New regexp engine does not handle "~". Solution: Add support for "~". Files: src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok *** ../vim-7.3.1103/src/regexp_nfa.c 2013-06-02 21:30:00.000000000 +0200 --- src/regexp_nfa.c 2013-06-02 22:00:21.000000000 +0200 *************** *** 829,837 **** EMSGN(_(e_misplaced), no_Magic(c)); return FAIL; ! case Magic('~'): /* previous substitute pattern */ ! /* TODO: Not supported yet */ ! return FAIL; case Magic('1'): case Magic('2'): --- 829,854 ---- EMSGN(_(e_misplaced), no_Magic(c)); 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'): *** ../vim-7.3.1103/src/testdir/test24.in 2010-08-15 21:57:29.000000000 +0200 --- src/testdir/test24.in 2013-06-02 22:03:23.000000000 +0200 *************** *** 44,49 **** --- 44,56 ---- :s/^\(\h\w*\%(->\|\.\)\=\)\+=/XX/ :s/^\(\h\w*\%(->\|\.\)\=\)\+=/YY/ + + :s/aaa/xyz/ + + :s/~/bcd/ + + :s/~\+/BB/ + :" :?start?,$w! test.out :qa! ENDTEST *************** *** 77,79 **** --- 84,89 ---- xx an file xx x= 9; hh= 77; + aaa + xyz + bcdbcdbcd *** ../vim-7.3.1103/src/testdir/test24.ok 2010-08-15 21:57:29.000000000 +0200 --- src/testdir/test24.ok 2013-06-02 22:03:36.000000000 +0200 *************** *** 27,29 **** --- 27,32 ---- xx an A xx XX 9; YY 77; + xyz + bcd + BB *** ../vim-7.3.1103/src/version.c 2013-06-02 21:30:00.000000000 +0200 --- src/version.c 2013-06-02 22:07:20.000000000 +0200 *************** *** 730,731 **** --- 730,733 ---- { /* Add new patch number below this line */ + /**/ + 1104, /**/ -- Q: What is a patch 22? A: A patch you need to include to make it possible to include patches. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///