diff options
author | dgp@users.sourceforge.net <dgp> | 2013-07-26 13:21:30 (GMT) |
---|---|---|
committer | dgp@users.sourceforge.net <dgp> | 2013-07-26 13:21:30 (GMT) |
commit | 34710f264bddf896b9da6d4352717ba7fd9a64f1 (patch) | |
tree | dc7fda1f50641956df70b65faf7ba9a1661861fd | |
parent | fa8db1edef3d996a15d9ac07864ba642f884a2af (diff) | |
download | tcl-34710f264bddf896b9da6d4352717ba7fd9a64f1.zip tcl-34710f264bddf896b9da6d4352717ba7fd9a64f1.tar.gz tcl-34710f264bddf896b9da6d4352717ba7fd9a64f1.tar.bz2 |
[6585b21ca8] [regexp {(\w).*?\1} abb] failed to match.
Thanks to Tom Lane for passing on the discovery in Postgres.
-rw-r--r-- | generic/regexec.c | 7 | ||||
-rw-r--r-- | tests/regexp.test | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/generic/regexec.c b/generic/regexec.c index c902209..205fcc2 100644 --- a/generic/regexec.c +++ b/generic/regexec.c @@ -512,12 +512,7 @@ cfindloop( return er; } if ((shorter) ? end == estop : end == begin) { - /* - * No point in trying again. - */ - - *coldp = cold; - return REG_NOMATCH; + break; } /* diff --git a/tests/regexp.test b/tests/regexp.test index 8138054..362f425 100644 --- a/tests/regexp.test +++ b/tests/regexp.test @@ -728,6 +728,10 @@ test regexp-22.5 {Bug 3610026} -setup { } -cleanup { unset -nocomplain e cp } -returnCodes error -match glob -result {*too many colors*} +test regexp-22.6 {Bug 6585b21ca8} { + expr {[regexp {(\w).*?\1} Programmer m] ? $m : "<NONE>"} +} rogr + test regexp-23.1 {regexp -all and -line} { set string "" |