[vim] - patchlevel 1032

Karsten Hopp karsten at fedoraproject.org
Tue Jun 4 10:09:40 UTC 2013


commit 5b90797c45b619f4440e2682cd3ecc4b8f49dad8
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Jun 4 12:06:10 2013 +0200

    - patchlevel 1032

 7.3.1032 |  339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 339 insertions(+), 0 deletions(-)
---
diff --git a/7.3.1032 b/7.3.1032
new file mode 100644
index 0000000..10ee7f1
--- /dev/null
+++ b/7.3.1032
@@ -0,0 +1,339 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.1032
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.1032
+Problem:    "\ze" is not supported by the new regexp engine.
+Solution:   Make "\ze" work.
+Files:	    src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.3.1031/src/regexp_nfa.c	2013-05-27 11:21:59.000000000 +0200
+--- src/regexp_nfa.c	2013-05-27 20:06:16.000000000 +0200
+***************
+*** 159,165 ****
+  static int syntax_error = FALSE;
+  
+  /* NFA regexp \ze operator encountered. */
+! static int nfa_has_zend = FALSE;
+  
+  /* Number of sub expressions actually being used during execution. 1 if only
+   * the whole match (subexpr 0) is used. */
+--- 159,165 ----
+  static int syntax_error = FALSE;
+  
+  /* NFA regexp \ze operator encountered. */
+! static int nfa_has_zend;
+  
+  /* Number of sub expressions actually being used during execution. 1 if only
+   * the whole match (subexpr 0) is used. */
+***************
+*** 791,799 ****
+  		case 'e':
+  		    EMIT(NFA_ZEND);
+  		    nfa_has_zend = TRUE;
+! 		    /* TODO: Currently \ze does not work properly. */
+! 		    return FAIL;
+! 		    /* break; */
+  		case '1':
+  		case '2':
+  		case '3':
+--- 791,797 ----
+  		case 'e':
+  		    EMIT(NFA_ZEND);
+  		    nfa_has_zend = TRUE;
+! 		    break;
+  		case '1':
+  		case '2':
+  		case '3':
+***************
+*** 2711,2716 ****
+--- 2709,2716 ----
+  	case NFA_MCLOSE + 0:
+  	    if (nfa_has_zend)
+  	    {
++ 		/* Do not overwrite the position set by \ze. If no \ze
++ 		 * encountered end will be set in nfa_regtry(). */
+  		addstate(l, state->out, m, off, lid);
+  		break;
+  	    }
+***************
+*** 3635,3640 ****
+--- 3635,3641 ----
+  
+  	    case NFA_SKIP_CHAR:
+  	    case NFA_ZSTART:
++ 	    case NFA_ZEND:
+  		/* TODO: should not happen? */
+  		break;
+  
+***************
+*** 3795,3800 ****
+--- 3796,3802 ----
+  	}
+  	if (reg_endpos[0].lnum < 0)
+  	{
++ 	    /* pattern has a \ze but it didn't match, use current end */
+  	    reg_endpos[0].lnum = reglnum;
+  	    reg_endpos[0].col = (int)(reginput - regline);
+  	}
+*** ../vim-7.3.1031/src/testdir/test64.in	2013-05-26 18:40:11.000000000 +0200
+--- src/testdir/test64.in	2013-05-27 20:02:44.000000000 +0200
+***************
+*** 151,158 ****
+  :" Search multi-modifiers
+  :call add(tl, [2, 'x*', 'xcd', 'x'])
+  :call add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
+! :call add(tl, [2, 'x*', 'abcdoij', ''])                    " empty match is good
+! :call add(tl, [2, 'x\+', 'abcdoin'])                       " no match here
+  :call add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
+  :call add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
+  :call add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
+--- 151,160 ----
+  :" Search multi-modifiers
+  :call add(tl, [2, 'x*', 'xcd', 'x'])
+  :call add(tl, [2, 'x*', 'xxxxxxxxxxxxxxxxsofijiojgf', 'xxxxxxxxxxxxxxxx'])
+! :" empty match is good
+! :call add(tl, [2, 'x*', 'abcdoij', ''])
+! :" no match here
+! :call add(tl, [2, 'x\+', 'abcdoin'])
+  :call add(tl, [2, 'x\+', 'abcdeoijdfxxiuhfij', 'xx'])
+  :call add(tl, [2, 'x\+', 'xxxxx', 'xxxxx'])
+  :call add(tl, [2, 'x\+', 'abc x siufhiush xxxxxxxxx', 'x'])
+***************
+*** 160,171 ****
+  :call add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
+  :call add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
+  :call add(tl, [2, 'x\?', 'x sdfoij', 'x'])
+! :call add(tl, [2, 'x\?', 'abc sfoij', ''])                 " empty match is good
+  :call add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
+  :"
+  :call add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
+! :call add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])      " same thing as 'a?'
+! :call add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])      " same thing as 'a\{0,1}'
+  :call add(tl, [2, 'a\{3,6}', 'aa siofuh'])
+  :call add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
+  :call add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
+--- 162,176 ----
+  :call add(tl, [2, 'x\=', 'abc sfoij', '']) " empty match is good
+  :call add(tl, [2, 'x\=', 'xxxxxxxxx c', 'x'])
+  :call add(tl, [2, 'x\?', 'x sdfoij', 'x'])
+! :" empty match is good
+! :call add(tl, [2, 'x\?', 'abc sfoij', ''])
+  :call add(tl, [2, 'x\?', 'xxxxxxxxxx c', 'x'])
+  :"
+  :call add(tl, [2, 'a\{0,0}', 'abcdfdoij', ''])
+! :" same thing as 'a?'
+! :call add(tl, [2, 'a\{0,1}', 'asiubid axxxaaa', 'a'])
+! :" same thing as 'a\{0,1}'
+! :call add(tl, [2, 'a\{1,0}', 'asiubid axxxaaa', 'a'])
+  :call add(tl, [2, 'a\{3,6}', 'aa siofuh'])
+  :call add(tl, [2, 'a\{3,6}', 'aaaaa asfoij afaa', 'aaaaa'])
+  :call add(tl, [2, 'a\{3,6}', 'aaaaaaaa', 'aaaaaa'])
+***************
+*** 173,190 ****
+  :call add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
+  :call add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj nasfvius afg aaaa sfiuhuhiushf', 'aa'])
+  :call add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
+! :call add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])          " same thing as 'a*'
+  :call add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
+  :call add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
+  :call add(tl, [0, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
+  :call add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
+  :call add(tl, [2, 'a\{,5}', 'abcd', 'a'])
+  :call add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
+! :call add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])                 " same thing as 'a*'
+  :call add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
+  :"
+  :call add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
+! :call add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])      " anti-greedy version of 'a?'
+  :call add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
+  :call add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
+  :call add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
+--- 178,198 ----
+  :call add(tl, [2, 'a\{2}', 'aaaa', 'aa'])
+  :call add(tl, [2, 'a\{2}', 'iuash fiusahfliusah fiushfilushfi uhsaifuh askfj nasfvius afg aaaa sfiuhuhiushf', 'aa'])
+  :call add(tl, [2, 'a\{2}', 'abcdefghijklmnopqrestuvwxyz1234567890'])
+! :" same thing as 'a*'
+! :call add(tl, [2, 'a\{0,}', 'oij sdigfusnf', ''])
+  :call add(tl, [2, 'a\{0,}', 'aaaaa aa', 'aaaaa'])
+  :call add(tl, [2, 'a\{2,}', 'sdfiougjdsafg'])
+  :call add(tl, [0, 'a\{2,}', 'aaaaasfoij ', 'aaaaa'])
+  :call add(tl, [2, 'a\{,0}', 'oidfguih iuhi hiu aaaa', ''])
+  :call add(tl, [2, 'a\{,5}', 'abcd', 'a'])
+  :call add(tl, [2, 'a\{,5}', 'aaaaaaaaaa', 'aaaaa'])
+! :" same thing as 'a*'
+! :call add(tl, [2, 'a\{}', 'bbbcddiuhfcd', ''])
+  :call add(tl, [2, 'a\{}', 'aaaaioudfh coisf jda', 'aaaa'])
+  :"
+  :call add(tl, [2, 'a\{-0,0}', 'abcdfdoij', ''])
+! :" anti-greedy version of 'a?'
+! :call add(tl, [2, 'a\{-0,1}', 'asiubid axxxaaa', ''])
+  :call add(tl, [2, 'a\{-3,6}', 'aa siofuh'])
+  :call add(tl, [2, 'a\{-3,6}', 'aaaaa asfoij afaa', 'aaa'])
+  :call add(tl, [2, 'a\{-3,6}', 'aaaaaaaa', 'aaa'])
+***************
+*** 198,204 ****
+  :call add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
+  :call add(tl, [2, 'a\{-,5}', 'abcd', ''])
+  :call add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
+! :call add(tl, [0, 'a\{-}', 'bbbcddiuhfcd', ''])            " anti-greedy version of 'a*'
+  :call add(tl, [0, 'a\{-}', 'aaaaioudfh coisf jda', ''])
+  :"
+  :" Test groups of characters and submatches
+--- 206,213 ----
+  :call add(tl, [2, 'a\{-,0}', 'oidfguih iuhi hiu aaaa', ''])
+  :call add(tl, [2, 'a\{-,5}', 'abcd', ''])
+  :call add(tl, [2, 'a\{-,5}', 'aaaaaaaaaa', ''])
+! :" anti-greedy version of 'a*'
+! :call add(tl, [0, 'a\{-}', 'bbbcddiuhfcd', ''])
+  :call add(tl, [0, 'a\{-}', 'aaaaioudfh coisf jda', ''])
+  :"
+  :" Test groups of characters and submatches
+***************
+*** 243,252 ****
+  :call add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
+  :call add(tl, [2, '[-a]', '-', '-'])
+  :call add(tl, [2, '[a-]', '-', '-'])
+! :call add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])		" filename regexp
+! :call add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])			" special chars
+! :call add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])								" collation elem
+! :call add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])							" middle of regexp
+  :call add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
+  :call add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
+  :call add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
+--- 252,265 ----
+  :call add(tl, [2, '[^[:alpha:]]\+','abcccadfoij7787ysf287yrnccdu','7787'])
+  :call add(tl, [2, '[-a]', '-', '-'])
+  :call add(tl, [2, '[a-]', '-', '-'])
+! :" filename regexp
+! :call add(tl, [2, '[-./[:alnum:]_~]\+', 'log13.file', 'log13.file'])
+! :" special chars
+! :call add(tl, [2, '[\]\^\-\\]\+', '\^\\\-\---^', '\^\\\-\---^'])
+! :" collation elem
+! :call add(tl, [2, '[[.a.]]\+', 'aa', 'aa'])
+! :" middle of regexp
+! :call add(tl, [2, 'abc[0-9]*ddd', 'siuhabc ii'])
+  :call add(tl, [2, 'abc[0-9]*ddd', 'adf abc44482ddd oijs', 'abc44482ddd'])
+  :call add(tl, [2, '\_[0-9]\+', 'asfi9888u', '9888'])
+  :call add(tl, [2, '[0-9\n]\+', 'asfi9888u', '9888'])
+***************
+*** 267,277 ****
+  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+  :"
+  :"""" Tests for \z features
+! :call add(tl, [2, 'xx \ze test', 'xx '])					" must match after \ze
+! :call add(tl, [0, 'abc\zeend', 'oij abcend', 'abc'])
+  :call add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
+! :call add(tl, [2, 'aa \zsax', ' ax'])						" must match before \zs
+! :call add(tl, [0, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
+  :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
+  :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
+  :"
+--- 280,296 ----
+  :call add(tl, [2, '\C[^A-Z]\+', 'ABCOIJDEOIFNSD jsfoij sa', ' jsfoij sa'])
+  :"
+  :"""" Tests for \z features
+! :" match ends at \ze
+! :call add(tl, [2, 'xx \ze test', 'xx '])
+! :call add(tl, [2, 'abc\zeend', 'oij abcend', 'abc'])
+! :call add(tl, [2, 'aa\zebb\|aaxx', ' aabb ', 'aa'])
+! :call add(tl, [2, 'aa\zebb\|aaxx', ' aaxx ', 'aaxx'])
+! :call add(tl, [2, 'aabb\|aa\zebb', ' aabb ', 'aabb'])
+! :call add(tl, [2, 'aa\zebb\|aaebb', ' aabb ', 'aa'])
+! :" match starts at \zs
+  :call add(tl, [2, 'abc\zsdd', 'ddabcddxyzt', 'dd'])
+! :call add(tl, [2, 'aa \zsax', ' ax'])
+! :call add(tl, [2, 'abc \zsmatch\ze abc', 'abc abc abc match abc abc', 'match'])
+  :call add(tl, [2, '\v(a \zsif .*){2}', 'a if then a if last', 'if last', 'a if last'])
+  :call add(tl, [2, '\>\zs.', 'aword. ', '.'])
+  :"
+***************
+*** 279,290 ****
+  :call add(tl, [0, 'abc\@=', 'abc', 'ab'])
+  :call add(tl, [0, 'abc\@=cd', 'abcd', 'abcd'])
+  :call add(tl, [0, 'abc\@=', 'ababc', 'ab'])
+! :call add(tl, [2, 'abcd\@=e', 'abcd'])                     " will never match, no matter the input text
+! :call add(tl, [2, 'abcd\@=e', 'any text in here ... '])    " will never match
+  :call add(tl, [0, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
+! :call add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])	" no match
+  :call add(tl, [0, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', 'John is Bobs friend'])
+! :call add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])	" no match
+  :call add(tl, [0, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
+  :call add(tl, [0, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep', 'test1'])
+  :"
+--- 298,313 ----
+  :call add(tl, [0, 'abc\@=', 'abc', 'ab'])
+  :call add(tl, [0, 'abc\@=cd', 'abcd', 'abcd'])
+  :call add(tl, [0, 'abc\@=', 'ababc', 'ab'])
+! :" will never match, no matter the input text
+! :call add(tl, [2, 'abcd\@=e', 'abcd'])
+! :" will never match
+! :call add(tl, [2, 'abcd\@=e', 'any text in here ... '])
+  :call add(tl, [0, '\v(abc)@=..', 'xabcd', 'ab', 'abc'])
+! :" no match
+! :call add(tl, [2, '\(.*John\)\@=.*Bob', 'here is John, and here is B'])
+  :call add(tl, [0, '\(John.*\)\@=.*Bob', 'John is Bobs friend', 'John is Bob', 'John is Bobs friend'])
+! :" no match
+! :call add(tl, [2, '.*John\&.*Bob', 'here is John, and here is B'])
+  :call add(tl, [0, '.*John\&.*Bob', 'John is Bobs friend', 'John is Bob'])
+  :call add(tl, [0, '\v(test1)@=.*yep', 'this is a test1, yep it is', 'test1, yep', 'test1'])
+  :"
+*** ../vim-7.3.1031/src/testdir/test64.ok	2013-05-26 18:40:11.000000000 +0200
+--- src/testdir/test64.ok	2013-05-27 20:04:55.000000000 +0200
+***************
+*** 617,622 ****
+--- 617,635 ----
+  OK 2 - xx \ze test
+  OK 0 - abc\zeend
+  OK 1 - abc\zeend
++ OK 2 - abc\zeend
++ OK 0 - aa\zebb\|aaxx
++ OK 1 - aa\zebb\|aaxx
++ OK 2 - aa\zebb\|aaxx
++ OK 0 - aa\zebb\|aaxx
++ OK 1 - aa\zebb\|aaxx
++ OK 2 - aa\zebb\|aaxx
++ OK 0 - aabb\|aa\zebb
++ OK 1 - aabb\|aa\zebb
++ OK 2 - aabb\|aa\zebb
++ OK 0 - aa\zebb\|aaebb
++ OK 1 - aa\zebb\|aaebb
++ OK 2 - aa\zebb\|aaebb
+  OK 0 - abc\zsdd
+  OK 1 - abc\zsdd
+  OK 2 - abc\zsdd
+***************
+*** 625,630 ****
+--- 638,644 ----
+  OK 2 - aa \zsax
+  OK 0 - abc \zsmatch\ze abc
+  OK 1 - abc \zsmatch\ze abc
++ OK 2 - abc \zsmatch\ze abc
+  OK 0 - \v(a \zsif .*){2}
+  OK 1 - \v(a \zsif .*){2}
+  OK 2 - \v(a \zsif .*){2}
+*** ../vim-7.3.1031/src/version.c	2013-05-27 11:21:59.000000000 +0200
+--- src/version.c	2013-05-27 20:04:19.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+  {   /* Add new patch number below this line */
++ /**/
++     1032,
+  /**/
+
+-- 
+An operatingsystem is just a name you give to the rest of bloating
+idiosyncratic machine-based-features you left out of your editor.
+			(author unknown)
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list