diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -754,6 +754,7 @@
. (with 'nomagic': \.) */.* */\.*
Matches any single character, but not an end-of-line.
+ Note, it will also match CR and LF control chars in the text.
*/\_.*
\_. Matches any single character or end-of-line.
diff --git a/src/regexp.c b/src/regexp.c
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -2404,6 +2404,8 @@
*ret = ANYOF + ADD_NL;
*flagp |= HASNL;
}
+ else if (*ret == ANYBUT)
+ regc(NL); /* also skip newlines */
/* else: must have had a \n already */
}
regparse++;
Hi Marc!
On Mo, 18 Feb 2013, Marc Weber wrote:
> I don't think that additional threads are going to help
> There is an issue, and we should find a way to fix (IMHO).
> Let me summarize again - and tell me if you feel differently.
>
> Test cases:
> [1] echo len(matchstr("\n",'\zs[^\n]\ze'))
> [2] echo len(matchstr("\n","\\zs[^\n]\\ze"))
>
> I expect both do the same, the difference is that the second as chr(10) in [^],
> while the first has \n (which should be translated to chr(10).
>
> However I obsorve that [2] returns 0 as expected , but [1] does return
> 1, thus it matches \n even though I told Vim that I do not want to match
> it. People told me this was because '.' is equal to [^\n].
>
>
> Current situation: at least to be fixed
> 1:
> No matter whether '.' should behave like [^\n]
> [1] and [2] should behave the same, right?
> 2:
> This should be documented.
> (Do you all at least agree these two statments?)
Bram, here is a patch, making [^\n] not match NL within the text and
that also documents, that '.' matches CR and LF within the text.
This makes both [1] and [2] behave the same and seems to better match
the users expectations.
regards,
Christian
--
Ein Volk kann nicht auf seine Genies, sondern auf das Volk, auf die
Menge stolz sein - die Genies können auf die Genies es sein.
-- Jean Paul
--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Tuesday, February 19, 2013
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment