write_error(Error) :-
- write(' '),
+ % '$fetch_global_var' is the core system call of bb_get/2, but
+ % bb_get may not exist when write_error is first called, so fall
+ % back on '$fetch_global_var'.
+ ( '$fetch_global_var'('$first_answer', false) ->
+ true
+ ; write(' ') % if '$first_answer' isn't defined yet or true,
+ % print indentation.
+ ),
( nonvar(Error),
functor(Error, error, 2) ->
writeq(Error)
; E = error(evaluation_error((Module:project_attributes)/2), _)
) ->
true
- ; write_term('caught: ', [quoted(false)]),
- writeq(E),
+ ; loader:write_error(E),
nl
).
'$print_attribute_goals_exception'(Module, E) :-
( E = error(evaluation_error((Module:attribute_goals)/3), attribute_goals/3)
-> true
- ; write_term('caught: ', [quoted(false)]),
- writeq(E),
+ ; loader:write_error(E),
nl
).
Dss
),
E,
- ( write('caught: '), write(E), nl,
+ ( loader:write_error(E), nl,
portray_clause([N, Settings, Vs, Gs4, Dss]), nl,
false
)
halt.
repl :-
+ bb_put('$first_answer', true),
catch(read_and_match, E, print_exception(E)),
false. %% this is for GC, until we get actual GC.
repl :-
% in the first argument, which is done by call/N
; expand_goal(Term0, user, Term)
),
- setup_call_cleanup(bb_put('$first_answer', true),
- submit_query_and_print_results_(Term, VarList),
- bb_put('$first_answer', false)).
+ bb_put('$first_answer', true),
+ submit_query_and_print_results_(Term, VarList).
needs_bracketing(Value, Op) :-
['tests-pl/issue852-throw_e.pl'].\n\
halt.\n\
",
- "\
- caught: e\n \
- false.\n\
- caught: e\n \
- false.\n\
- ",
+ " throw(e)\n false.\n throw(e)\n false.\n",
);
}
fn call_0() {
load_module_test(
"tests-pl/issue831-call0.pl",
- "caught: error(existence_error(procedure,call/0),call/0)\n",
+ " error(existence_error(procedure,call/0),call/0)\n",
);
}
fn syntax_error() {
load_module_test(
"tests-pl/syntax_error.pl",
- "caught: error(syntax_error(incomplete_reduction),read_term/3:6)\n",
+ " error(syntax_error(incomplete_reduction),read_term/3:6)\n",
);
}