Fix unbound variable bug in $consult/1 When using consult([x1,x2]) or (consult(x1),consult(x2)), x1's clauses are erased before x2 is consulted. The problem is due to the wrong unbound local variable File, introduced in change Id9163384e960f9c39cd9e0169b25b9cf0b9e95a2. Change-Id: Iac5229f68292f08c5b1fc2aa0f6df702b4e6dd6d
diff --git a/src/builtin/cafeteria.pl b/src/builtin/cafeteria.pl index 7bb5f33..484bf18 100644 --- a/src/builtin/cafeteria.pl +++ b/src/builtin/cafeteria.pl
@@ -92,11 +92,11 @@ '$consult'(F) :- '$prolog_file_name'(F, PF), open(PF, read, In), - print_message(info, [consulting,File,'...']), + print_message(info, [consulting,PF,'...']), statistics(runtime, _), - consult_stream(File, In), + consult_stream(PF, In), statistics(runtime, [_,T]), - print_message(info, [File,consulted,T,msec]), + print_message(info, [PF,consulted,T,msec]), close(In). '$prolog_file_name'(File, File) :- sub_atom(File, _, _, After, '.'), After > 0, !.