diff options
| author | dgp@users.sourceforge.net <dgp> | 2013-07-26 13:24:19 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2013-07-26 13:24:19 (GMT) |
| commit | 8ed5a0d484839ea069feb33266bf198739cf2763 (patch) | |
| tree | 37d427a52d78b461e5f5941b2dd214434cd979af | |
| parent | 21b8d89ccb9a03b141f84a3fdc6112cf306c8bdc (diff) | |
| parent | 34710f264bddf896b9da6d4352717ba7fd9a64f1 (diff) | |
| download | tcl-8ed5a0d484839ea069feb33266bf198739cf2763.zip tcl-8ed5a0d484839ea069feb33266bf198739cf2763.tar.gz tcl-8ed5a0d484839ea069feb33266bf198739cf2763.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 "" |
