From 703efdb22db03edea9e7e793219a9cabda64ed1b Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 12 Jul 2023 00:03:47 +0200 Subject: [PATCH] Make run_input_once/0 match and print all results --- src/toplevel.pl | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/toplevel.pl b/src/toplevel.pl index 56b8df94..93b1a60d 100644 --- a/src/toplevel.pl +++ b/src/toplevel.pl @@ -432,4 +432,25 @@ print_exception_with_check(E) :- ). run_input_once :- - catch(read_and_match, E, print_exception(E)). + bb_put('$report_all', true), + catch(read_and_match_all_results, E, print_exception(E)). + +read_and_match_all_results :- + '$read_query_term'(_, Term, _, _, VarList), + bb_put('$answer_count', 0), + submit_query_and_print_all_results(Term, VarList). + +submit_query_and_print_all_results(Term, VarList) :- + '$get_b_value'(B), + bb_put('$report_all', true), + bb_put('$report_n_more', 0), + call(user:Term), + write_eqs_and_read_input(B, VarList), + !. +submit_query_and_print_all_results(_, _) :- + ( bb_get('$answer_count', 0) -> + write(' ') + ; true + ), + write('false.'), + nl. -- 2.54.0