113 lines
3.2 KiB
Plaintext
113 lines
3.2 KiB
Plaintext
|
To: vim_dev@googlegroups.com
|
||
|
Subject: Patch 7.3.1055
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.3.1055
|
||
|
Problem: Negated collection does not match newline.
|
||
|
Solution: Handle newline differently. (Hiroshi Shirosaki)
|
||
|
Files: src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in
|
||
|
|
||
|
|
||
|
*** ../vim-7.3.1054/src/regexp_nfa.c 2013-05-29 21:14:37.000000000 +0200
|
||
|
--- src/regexp_nfa.c 2013-05-30 11:47:40.000000000 +0200
|
||
|
***************
|
||
|
*** 1203,1215 ****
|
||
|
}
|
||
|
mb_ptr_adv(regparse);
|
||
|
|
||
|
- if (extra == ADD_NL) /* \_[] also matches \n */
|
||
|
- {
|
||
|
- EMIT(reg_string ? NL : NFA_NEWL);
|
||
|
- TRY_NEG();
|
||
|
- EMIT_GLUE();
|
||
|
- }
|
||
|
-
|
||
|
/* skip the trailing ] */
|
||
|
regparse = endp;
|
||
|
mb_ptr_adv(regparse);
|
||
|
--- 1203,1208 ----
|
||
|
***************
|
||
|
*** 1219,1224 ****
|
||
|
--- 1212,1225 ----
|
||
|
EMIT(NFA_END_NEG_RANGE);
|
||
|
EMIT(NFA_CONCAT);
|
||
|
}
|
||
|
+
|
||
|
+ /* \_[] also matches \n but it's not negated */
|
||
|
+ if (extra == ADD_NL)
|
||
|
+ {
|
||
|
+ EMIT(reg_string ? NL : NFA_NEWL);
|
||
|
+ EMIT(NFA_OR);
|
||
|
+ }
|
||
|
+
|
||
|
return OK;
|
||
|
} /* if exists closing ] */
|
||
|
|
||
|
*** ../vim-7.3.1054/src/testdir/test64.ok 2013-05-29 21:14:37.000000000 +0200
|
||
|
--- src/testdir/test64.ok 2013-05-30 11:48:31.000000000 +0200
|
||
|
***************
|
||
|
*** 731,736 ****
|
||
|
--- 731,742 ----
|
||
|
OK 1 - \(<<\)\@1<=span.
|
||
|
OK 0 - \(<<\)\@2<=span.
|
||
|
OK 1 - \(<<\)\@2<=span.
|
||
|
+ OK 0 - \_[^8-9]\+
|
||
|
+ OK 1 - \_[^8-9]\+
|
||
|
+ OK 2 - \_[^8-9]\+
|
||
|
+ OK 0 - \_[^a]\+
|
||
|
+ OK 1 - \_[^a]\+
|
||
|
+ OK 2 - \_[^a]\+
|
||
|
192.168.0.1
|
||
|
192.168.0.1
|
||
|
192.168.0.1
|
||
|
*** ../vim-7.3.1054/src/testdir/test64.in 2013-05-29 21:14:37.000000000 +0200
|
||
|
--- src/testdir/test64.in 2013-05-30 11:45:59.000000000 +0200
|
||
|
***************
|
||
|
*** 344,351 ****
|
||
|
:call add(tl, [0, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
|
||
|
:call add(tl, [0, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<'])
|
||
|
:"
|
||
|
! :"""" Run the tests
|
||
|
:"
|
||
|
:"
|
||
|
:for t in tl
|
||
|
: let re = t[0]
|
||
|
--- 344,355 ----
|
||
|
:call add(tl, [0, '\(<<\)\@1<=span.', 'xxspanxxxx<spanxx<<spanyyy'])
|
||
|
:call add(tl, [0, '\(<<\)\@2<=span.', 'xxspanxxxx<spanxx<<spanyyy', 'spany', '<<'])
|
||
|
:"
|
||
|
! :"""" "\_" prepended negated collection matches EOL
|
||
|
! :call add(tl, [2, '\_[^8-9]\+', "asfi\n9888", "asfi\n"])
|
||
|
! :call add(tl, [2, '\_[^a]\+', "asfi\n9888", "sfi\n9888"])
|
||
|
! :"
|
||
|
:"
|
||
|
+ :"""" Run the tests
|
||
|
:"
|
||
|
:for t in tl
|
||
|
: let re = t[0]
|
||
|
*** ../vim-7.3.1054/src/version.c 2013-05-30 11:43:11.000000000 +0200
|
||
|
--- src/version.c 2013-05-30 11:49:51.000000000 +0200
|
||
|
***************
|
||
|
*** 730,731 ****
|
||
|
--- 730,733 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 1055,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
"Making it up? Why should I want to make anything up? Life's bad enough
|
||
|
as it is without wanting to invent any more of it."
|
||
|
-- Marvin, the Paranoid Android in Douglas Adams'
|
||
|
"The Hitchhiker's Guide to the Galaxy"
|
||
|
|
||
|
/// 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 ///
|