]> Repositorios git - scryer-prolog.git/commitdiff
FIXED: retract/1 issues due to module qualification
authorMarkus Triska <[email protected]>
Wed, 1 Dec 2021 19:58:38 +0000 (20:58 +0100)
committerMarkus Triska <[email protected]>
Wed, 1 Dec 2021 20:46:12 +0000 (21:46 +0100)
This addresses #1125.

src/lib/builtins.pl

index e3bd22a6f52f0daf98ce6c7dfbe8aa5f6b989c35..00a26238a84d0a96643fda70750a8da8cebca9d4 100644 (file)
@@ -998,14 +998,14 @@ retract_clause(Head, Body) :-
 
 :- meta_predicate retract(0).
 
-retract(Clause) :-
-    (  Clause \= (_ :- _) ->
-       Head = Clause,
-       Body = true,
-       retract_clause(Head, Body)
-    ;  Clause = (Head :- Body) ->
-       retract_clause(Head, Body)
-    ).
+retract(Clause0) :-
+    strip_module(Clause0, Module, Clause),
+    (   Clause = (Head :- Body) ->
+        true
+    ;   Head = Clause,
+        Body = true
+    ),
+    retract_clause(Module:Head, Body).
 
 
 :- meta_predicate retractall(0).