From 91f737e4effa109cb22bc1b2000f457fa1ad88db Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 7 Jul 2021 15:11:18 +0000 Subject: Fix compare/3 for variables named _. They are never equal --- builtins.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/builtins.c b/builtins.c index 1dede9e..b2c7da6 100644 --- a/builtins.c +++ b/builtins.c @@ -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); -- cgit v1.2.3