[vim] - patchlevel 1026
Karsten Hopp
karsten at fedoraproject.org
Tue Jun 4 10:09:10 UTC 2013
commit 01ba77a949e6482ed8166f851fd16c1ce2564cb8
Author: Karsten Hopp <karsten at redhat.com>
Date: Tue Jun 4 12:06:06 2013 +0200
- patchlevel 1026
7.3.1026 | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
---
diff --git a/7.3.1026 b/7.3.1026
new file mode 100644
index 0000000..dd5ca1b
--- /dev/null
+++ b/7.3.1026
@@ -0,0 +1,108 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.1026
+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.1026
+Problem: New regexp: pattern that includs a new-line matches too early.
+ (john McGowan)
+Solution: Do not start searching in the second line.
+Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok
+
+
+*** ../vim-7.3.1025/src/regexp_nfa.c 2013-05-26 17:45:41.000000000 +0200
+--- src/regexp_nfa.c 2013-05-26 18:38:01.000000000 +0200
+***************
+*** 3585,3596 ****
+
+ } /* for (thislist = thislist; thislist->state; thislist++) */
+
+! /* The first found match is the leftmost one, but there may be a
+! * longer one. Keep running the NFA, but don't start from the
+! * beginning. Also, do not add the start state in recursive calls of
+! * nfa_regmatch(), because recursive calls should only start in the
+! * first position. */
+! if (match == FALSE && start->c == NFA_MOPEN + 0)
+ {
+ #ifdef ENABLE_LOG
+ fprintf(log_fd, "(---) STARTSTATE\n");
+--- 3585,3599 ----
+
+ } /* for (thislist = thislist; thislist->state; thislist++) */
+
+! /* Look for the start of a match in the current position by adding the
+! * start state to the list of states.
+! * The first found match is the leftmost one, thus the order of states
+! * matters!
+! * Do not add the start state in recursive calls of nfa_regmatch(),
+! * because recursive calls should only start in the first position.
+! * Also don't start a match past the first line. */
+! if (match == FALSE && start->c == NFA_MOPEN + 0
+! && reglnum == 0 && clen != 0)
+ {
+ #ifdef ENABLE_LOG
+ fprintf(log_fd, "(---) STARTSTATE\n");
+*** ../vim-7.3.1025/src/testdir/test64.in 2013-05-26 17:45:41.000000000 +0200
+--- src/testdir/test64.in 2013-05-26 18:34:04.000000000 +0200
+***************
+*** 372,377 ****
+--- 372,383 ----
+ :.+1,.+2yank
+ Gop:"
+ :"
++ :" Check a pattern with a line break matches in the right position.
++ /^Multiline
++ /\S.*\nx
++ :.yank
++ y$Gop:"
++ :"
+ :"
+ :/\%#=1^Results/,$wq! test.out
+ ENDTEST
+***************
+*** 383,386 ****
+--- 389,399 ----
+ <T="">Ta 5</Title>
+ <T="">Ac 7</Title>
+
++ Multiline:
++ abc
++ def
++ ghi
++ xjk
++ lmn
++
+ Results of test64:
+*** ../vim-7.3.1025/src/testdir/test64.ok 2013-05-26 17:45:41.000000000 +0200
+--- src/testdir/test64.ok 2013-05-26 18:34:00.000000000 +0200
+***************
+*** 705,707 ****
+--- 705,708 ----
+
+ <T="5">Ta 5</Title>
+ <T="7">Ac 7</Title>
++ ghi
+*** ../vim-7.3.1025/src/version.c 2013-05-26 17:45:41.000000000 +0200
+--- src/version.c 2013-05-26 18:35:52.000000000 +0200
+***************
+*** 730,731 ****
+--- 730,733 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1026,
+ /**/
+
+--
+For society, it's probably a good thing that engineers value function over
+appearance. For example, you wouldn't want engineers to build nuclear power
+plants that only _look_ like they would keep all the radiation inside.
+ (Scott Adams - The Dilbert principle)
+
+ /// 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