diff options
author | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-07-07 15:11:18 +0000 |
---|---|---|
committer | Peter Mikkelsen <peter@pmikkelsen.com> | 2021-07-07 15:11:18 +0000 |
commit | 91f737e4effa109cb22bc1b2000f457fa1ad88db (patch) | |
tree | 69c35d67824546e46b0f846b5dfc94b0f8e46eae | |
parent | 660d7d81eb1adcc2b108d0b150e3439972b1ec0a (diff) |
Fix compare/3 for variables named _. They are never equal
-rw-r--r-- | builtins.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -247,7 +247,9 @@ compareterms(Term *t1, Term *t2) /* Same type term */ switch(t1->tag){ case VariableTerm: - if(t1->clausenr == t2->clausenr) + if(runestrcmp(t1->text, L"_") == 0 && runestrcmp(t2->text, L"_") == 0) + result = 1; /* Special case since _ and _ are always different */ + else if(t1->clausenr == t2->clausenr) result = runestrcmp(t1->text, t2->text); else result = Compare(t1->clausenr, t2->clausenr); |