diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index e3bd22a6..00a26238 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -998,14 +998,14 @@ retract_clause(Head, Body) :- :- meta_predicate retract(0). -retract(Clause) :- - ( Clause \= (_ :- _) -> - Head = Clause, - Body = true, - retract_clause(Head, Body) - ; Clause = (Head :- Body) -> - retract_clause(Head, Body) - ). +retract(Clause0) :- + strip_module(Clause0, Module, Clause), + ( Clause = (Head :- Body) -> + true + ; Head = Clause, + Body = true + ), + retract_clause(Module:Head, Body). :- meta_predicate retractall(0).