diff options
author | dgp <dgp@users.sourceforge.net> | 2013-07-26 13:21:30 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2013-07-26 13:21:30 (GMT) |
commit | c86bd1b78ad2eec0899db1c0927048cf9f0ed435 (patch) | |
tree | dc7fda1f50641956df70b65faf7ba9a1661861fd | |
parent | 7fb69e61c80a0f943d0cbc01e7f4ba39eb2cb737 (diff) | |
download | tcl-c86bd1b78ad2eec0899db1c0927048cf9f0ed435.zip tcl-c86bd1b78ad2eec0899db1c0927048cf9f0ed435.tar.gz tcl-c86bd1b78ad2eec0899db1c0927048cf9f0ed435.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 "" |