From b551ef315faf304c1010dbb342f89041fa3ac56f Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 24 Nov 2021 19:00:52 -0700 Subject: [PATCH] use strip module in retract/1, a meta-predicate --- src/lib/builtins.pl | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index d0f7245e..2f3066f3 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -964,13 +964,14 @@ retract_clause(Head, Body) :- :- meta_predicate retract(0). retract(Clause0) :- - strip_module(Clause0, Module, Clause), - ( Clause = (Head :- Body) -> - true - ; Head = Clause, - Body = true - ), - retract_clause(Module:Head, Body). + loader:strip_module(Clause0, Module, Clause), + ( Clause \= (_ :- _) -> + Head = Clause, + Body = true, + retract_module_clause(Head, Body, Module) + ; Clause = (Head :- Body) -> + retract_module_clause(Head, Body, Module) + ). :- meta_predicate retractall(0). -- 2.54.0