]> Repositorios git - scryer-prolog.git/commitdiff
Fix retract_clause/2 internal predicate to correctly handle module qualification...
authorPaulo Moura <[email protected]>
Wed, 12 May 2021 22:48:12 +0000 (23:48 +0100)
committerPaulo Moura <[email protected]>
Wed, 12 May 2021 22:48:12 +0000 (23:48 +0100)
src/lib/builtins.pl

index 89a50e7dd89a12acec709c41dfa0c5d4fc08b6fc..a8703dcd0257c5214af4c77a681eebd37b0cdb21 100644 (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) ->