summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-06-30 02:01:46 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-06-30 02:01:46 +0000
commit67e8b85a9f9b42acc896b44eb2ea1310e749f03a (patch)
tree90a6ba153a3d8b80f8ec8a9feff338ca9d1ff11e /eval.c
parent2c3e688c3f779f0abfaad887f13ab2b70c9f814a (diff)
Treat the variable _ differently, in that it doesn't introduce a new binding
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 854d69c..c755cf5 100644
--- a/eval.c
+++ b/eval.c
@@ -169,6 +169,10 @@ unify(Term *a, Term *b, Binding **bindings)
left = right;
right = tmp;
}
+
+ if(runestrcmp(left->text, L"_") == 0)
+ continue; /* _ doesn't introduce a new binding */
+
Binding *b = malloc(sizeof(Binding));
b->name = left->text;
b->nr = left->clausenr;