diff options
author | dgp <dgp@users.sourceforge.net> | 2013-07-26 13:24:19 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2013-07-26 13:24:19 (GMT) |
commit | 18186af2e6c5db9ce74e112be489bae4147e5c9f (patch) | |
tree | 37d427a52d78b461e5f5941b2dd214434cd979af | |
parent | 6241ad2cd853f7fe54064a7e2bf5613926cf160a (diff) | |
parent | c86bd1b78ad2eec0899db1c0927048cf9f0ed435 (diff) | |
download | tcl-18186af2e6c5db9ce74e112be489bae4147e5c9f.zip tcl-18186af2e6c5db9ce74e112be489bae4147e5c9f.tar.gz tcl-18186af2e6c5db9ce74e112be489bae4147e5c9f.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 9b6a693..ad4b6e6 100644 --- a/generic/regexec.c +++ b/generic/regexec.c @@ -504,12 +504,7 @@ complicatedFindLoop( 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 1c30001..1b2bec9 100644 --- a/tests/regexp.test +++ b/tests/regexp.test @@ -876,6 +876,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 "" |