diff options
author | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-01-09 21:09:22 -0800 |
---|---|---|
committer | Gabriel Dos Reis <gdr@axiomatics.org> | 2016-01-09 21:09:22 -0800 |
commit | ea62b3a837416bea218f7a52db80505b8d271dc3 (patch) | |
tree | f447656c1c397b881e6114cddb5ff0e3c020d473 /src/interp/br-search.boot | |
parent | 313768fe3869da54aadd7317179bd35a44f95de3 (diff) | |
download | open-axiom-ea62b3a837416bea218f7a52db80505b8d271dc3.tar.gz |
Every use of getDualSignature that does not ensure that builtin
constructors are handled before the call is a bug.
This patch fixes most the obvious and glaring places. Hopefully, the
remaining cases will be exercised when getDualSignature bypasses the
on-disk database mamouth.
Diffstat (limited to 'src/interp/br-search.boot')
-rw-r--r-- | src/interp/br-search.boot | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interp/br-search.boot b/src/interp/br-search.boot index 0b346ed6..cfdbcd2d 100644 --- a/src/interp/br-search.boot +++ b/src/interp/br-search.boot @@ -316,7 +316,9 @@ mkGrepPattern1(x,:options) == --called by mkGrepPattern (and grepConstructName?) conform2OutputForm(form) == [op,:args] := form null args => form - cosig := rest getDualSignature op + cosig := + builtinConstructor? op => [true for . in args] + rest getDualSignature op atypes := getConstructorModemap(op).mmSource sargl := [fn for x in args for atype in atypes for pred in cosig] where fn() == pp [x,atype,pred] |