Fix abolish/1 to succeed on non-existing predicates as per standard

This commit is contained in:
Paulo Moura
2021-05-08 11:13:08 +01:00
parent b968b2c438
commit d8c0af7ded

View File

@@ -1035,6 +1035,8 @@ module_abolish(Pred, Module) :-
; functor(Head, Name, Arity) -> ; functor(Head, Name, Arity) ->
( '$head_is_dynamic'(Module, Head) -> ( '$head_is_dynamic'(Module, Head) ->
'$abolish_clause'(Module, Name, Arity) '$abolish_clause'(Module, Name, Arity)
; '$no_such_predicate'(Module, Head) ->
true
; throw(error(permission_error(modify, static_procedure, Pred), abolish/1)) ; throw(error(permission_error(modify, static_procedure, Pred), abolish/1))
) )
) )