From 545472f9c40f5e883c13bee89424e140f9f16a96 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Fri, 21 Feb 2020 21:09:59 -0700 Subject: [PATCH] correct misreported error in toplevel loop (#272) --- src/prolog/toplevel.pl | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/prolog/toplevel.pl b/src/prolog/toplevel.pl index 5de4f4b7..df128c5a 100644 --- a/src/prolog/toplevel.pl +++ b/src/prolog/toplevel.pl @@ -24,20 +24,23 @@ % make '$compile_batch', a system routine, callable. '$$compile_batch' :- '$compile_batch'. -'$instruction_match'([Item], []) :- - ( atom(Item) -> !, - ( Item == user -> - catch('$$compile_batch', E, '$print_exception_with_check'(E)) - ; consult(Item) +'$instruction_match'(Term, VarList) :- + ( var(Term) -> + throw(error(instantiation_error, repl/0)) + ; + Term = [Item] -> !, + ( atom(Item) -> + ( Item == user -> + catch('$$compile_batch', E, '$print_exception_with_check'(E)) + ; consult(Item) + ) + ; + catch(throw(error(type_error(atom, Item), repl/0)), + E, + '$print_exception_with_check'(E)) ) - ; !, - catch(throw(error(type_error(atom, Item), repl/0)), - E, - '$print_exception_with_check'(E)) + ; '$submit_query_and_print_results'(Term, VarList) ). -'$instruction_match'(Term, VarList) :- - '$submit_query_and_print_results'(Term, VarList), - !. '$submit_query_and_print_results'(Term0, VarList) :- ( expand_goals(Term0, Term) -> true @@ -244,7 +247,7 @@ user:term_expansion(Term0, (:- initialization(ExpandedGoals))) :- expand_goals(Goals, ExpandedGoals), Goals \== ExpandedGoals. -'$module_expand_goal'(UnexpandedGoals, ExpandedGoals) :- +'$module_expand_goal'(UnexpandedGoals, ExpandedGoals) :- ( '$module_of'(Module, UnexpandedGoals), '$module_exists'(Module), Module:goal_expansion(UnexpandedGoals, ExpandedGoals), -- 2.54.0