expairseq::match(): remove the code which works around basic::match bug.
authorAlexei Sheplyakov <varg@theor.jinr.ru>
Thu, 11 Sep 2008 12:59:30 +0000 (16:59 +0400)
committerAlexei Sheplyakov <varg@theor.jinr.ru>
Fri, 19 Sep 2008 09:15:49 +0000 (13:15 +0400)
commit3918e4767063fb45e5728bd9b3a09dd8ac30d055
tree8090f483b6fd04b6a39e3d28d57268804e029167
parent4ee761760b3db8649b8b616256cd7466fe2cd033
expairseq::match(): remove the code which works around basic::match bug.

basic::match() used to have side effects in a case of a failed match. As
a result of that bug exparsed::match did not work correctly in some cases,
see [1] for more details. These false negatives were worked around by [2].
Now that match() has no unwanted side effects [3] we don't need any work
arounds any more.

Just in a case add a regression test (from [1]).

[1] http://www.ginac.de/pipermail/ginac-devel/2006-April/000942.html
[2] Commit 73f0ce4cf8d91f073f35a45443f5fbe886921c5c ("Fixed bugs in ::match").
[3] Commit 192ed7390b7b2b705ad100e3db0a92eedd2b20ad ("match: don't modify
    subexpression list if expression doesn't match the pattern.").
check/Makefile.am
check/error_report.hpp [new file with mode: 0644]
check/match_bug.cpp [new file with mode: 0644]
ginac/expairseq.cpp