From 88a2cfc5e1e92601d37f93343c79de519f3013d3 Mon Sep 17 00:00:00 2001 From: Paulo Moura Date: Wed, 12 May 2021 23:48:12 +0100 Subject: [PATCH] Fix retract_clause/2 internal predicate to correctly handle module qualification and no lose body bindings --- src/lib/builtins.pl | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index 89a50e7d..a8703dcd 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -985,13 +985,8 @@ retract_clause(Head, Body) :- ( Name == (:), Arity =:= 2 -> arg(1, Head, Module), - arg(2, Head, HeadAndBody), - ( HeadAndBody = (F :- Body1) -> - true - ; F = HeadAndBody, - Body1 = true - ), - retract_module_clause(F, Body1, Module) + arg(2, Head, Head1), + retract_module_clause(Head1, Body, Module) ; '$no_such_predicate'(user, Head) -> '$fail' ; '$head_is_dynamic'(user, Head) -> -- 2.54.0