use strip module in retract/1, a meta-predicate
This commit is contained in:
@@ -964,13 +964,14 @@ retract_clause(Head, Body) :-
|
|||||||
:- meta_predicate retract(0).
|
:- meta_predicate retract(0).
|
||||||
|
|
||||||
retract(Clause0) :-
|
retract(Clause0) :-
|
||||||
strip_module(Clause0, Module, Clause),
|
loader:strip_module(Clause0, Module, Clause),
|
||||||
( Clause = (Head :- Body) ->
|
( Clause \= (_ :- _) ->
|
||||||
true
|
Head = Clause,
|
||||||
; Head = Clause,
|
Body = true,
|
||||||
Body = true
|
retract_module_clause(Head, Body, Module)
|
||||||
),
|
; Clause = (Head :- Body) ->
|
||||||
retract_clause(Module:Head, Body).
|
retract_module_clause(Head, Body, Module)
|
||||||
|
).
|
||||||
|
|
||||||
|
|
||||||
:- meta_predicate retractall(0).
|
:- meta_predicate retractall(0).
|
||||||
|
|||||||
Reference in New Issue
Block a user