diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-01-30 18:21:51 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-01-30 18:21:51 +0100 |
commit | e337e5f634dcb0e74999d67286125a85423e38a9 (patch) | |
tree | 16ebf03e309b4acd7fe5f7ae51094df17f046273 | |
parent | d2142213754df16fe11a2674716a7c33a012fa07 (diff) | |
download | vim-git-e337e5f634dcb0e74999d67286125a85423e38a9.tar.gz |
updated for version 7.3.796v7.3.796
Problem: "/[^\n]" does match at a line break.
Solution: Make it do the same as "/.". (Christian Brabandt)
-rw-r--r-- | src/regexp.c | 11 | ||||
-rw-r--r-- | src/testdir/test79.in | bin | 2531 -> 2575 bytes | |||
-rw-r--r-- | src/testdir/test79.ok | bin | 397 -> 401 bytes | |||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/src/regexp.c b/src/regexp.c index b6506a03a..d85ded8af 100644 --- a/src/regexp.c +++ b/src/regexp.c @@ -2397,13 +2397,15 @@ collection: /* '\n' in range: also match NL */ if (ret != JUST_CALC_SIZE) { - if (*ret == ANYBUT) - *ret = ANYBUT + ADD_NL; - else if (*ret == ANYOF) + /* Using \n inside [^] does not change what + * matches. "[^\n]" is the same as ".". */ + if (*ret == ANYOF) + { *ret = ANYOF + ADD_NL; + *flagp |= HASNL; + } /* else: must have had a \n already */ } - *flagp |= HASNL; regparse++; startc = -1; } @@ -4344,6 +4346,7 @@ regmatch(scan) break; /* Matched with EOW */ case ANY: + /* ANY does not match new lines. */ if (c == NUL) status = RA_NOMATCH; else diff --git a/src/testdir/test79.in b/src/testdir/test79.in Binary files differindex 8fa11d9ad..f83b6b6e2 100644 --- a/src/testdir/test79.in +++ b/src/testdir/test79.in diff --git a/src/testdir/test79.ok b/src/testdir/test79.ok Binary files differindex 6685b44f9..31ad3a41e 100644 --- a/src/testdir/test79.ok +++ b/src/testdir/test79.ok diff --git a/src/version.c b/src/version.c index e729a617f..f289e437e 100644 --- a/src/version.c +++ b/src/version.c @@ -726,6 +726,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 796, +/**/ 795, /**/ 794, |