diff options
| author | Paul McGuire <ptmcg@austin.rr.com> | 2019-07-02 16:32:22 -0500 |
|---|---|---|
| committer | Paul McGuire <ptmcg@austin.rr.com> | 2019-07-02 16:32:22 -0500 |
| commit | f20f8c038bebb81e7184ac87a6f13d5d81d3b495 (patch) | |
| tree | 8bb5dcb34b8b87d15df62ee7e85adc331878290c /CHANGES | |
| parent | f5de46966a55b8c651f7ff92440665af02567df4 (diff) | |
| download | pyparsing-git-f20f8c038bebb81e7184ac87a6f13d5d81d3b495.tar.gz | |
Issue #93 - interaction of Or and addCondition sometimes selects alternative that is not the longest
Diffstat (limited to 'CHANGES')
| -rw-r--r-- | CHANGES | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -4,6 +4,19 @@ Change Log Version 2.4.1 - ---------------------- +- While investigating issue #93, I found that Or and + addCondition could interact to select an alternative that + is not the longest match. This is because Or first checks + all alternatives for matches without running attached + parse actions or conditions, orders by longest match, and + then rechecks for matches with conditions and parse actions. + Some expressions, when checking with conditions, may end + up matching on a shorter token list than originally matched, + but would be selected because of its original priority. + This matching code has been expanded to do more extensive + searching for matches when a second-pass check matches a + smaller list than in the first pass. + - Fixed issue #87, a regression in indented block. Reported by Renz Bagaporo, who submitted a very nice repro example, which makes the bug-fixing process a lot easier, |
