]> Repositorios git - scryer-prolog.git/commitdiff
fix findall/4 (#873)
authorMark Thom <[email protected]>
Thu, 18 Mar 2021 18:50:12 +0000 (12:50 -0600)
committerMark Thom <[email protected]>
Thu, 18 Mar 2021 18:50:12 +0000 (12:50 -0600)
src/lib/builtins.pl
src/machine/system_calls.rs

index 983612c88888d5017c8b94d8804b0633b7ceddc1..18a5f38c01b54965c55bd1296651617eb399d45f 100644 (file)
@@ -682,9 +682,8 @@ findall(Template, Goal, Solutions) :-
     ).
 
 
-% :- meta_predicate '$iterate_find_all_diff'(?, 0, ?, ?, ?).
-
 :- non_counted_backtracking '$iterate_find_all_diff'/5.
+
 '$iterate_find_all_diff'(Template, Goal, _, _, LhOffset) :-
     call(Goal),
     '$copy_to_lh'(LhOffset, Template),
index c7fcb154b64108ce2753d4c3578e2c9b32c90182..e0f434728c55f9ffc4480fbc76be570f0794b340 100644 (file)
@@ -467,7 +467,7 @@ impl MachineState {
         } else {
             self.p.local() + 1
         };
-        
+
         Ok(self.p = CodePtr::REPL(repl_code_ptr, p))
     }
 
@@ -3267,8 +3267,7 @@ impl MachineState {
                             let solutions = self[temp_v!(2)];
                             let diff = self[temp_v!(3)];
 
-                            (self.unify_fn)(self, solutions, Addr::EmptyList);
-                            (self.unify_fn)(self, diff, Addr::EmptyList);
+                            (self.unify_fn)(self, solutions, diff);
                         } else {
                             let h = self.heap.h();
                             let mut last_index = h;