Merge pull request #958 from pmoura/fixes_for_retract_predicates

Fixes for retract predicates
This commit is contained in:
Mark Thom
2021-05-13 23:18:36 -06:00
committed by GitHub

View File

@@ -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) ->
@@ -1016,7 +1011,7 @@ retract(Clause) :-
:- meta_predicate retractall(0).
retractall(Head) :-
retract((Head :- _)),
retract_clause(Head, _),
false.
retractall(_).