diff --git a/pl/boot.yap b/pl/boot.yap index 51f372965..0a70cf50e 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -1016,7 +1016,16 @@ access_file(F,Mode) :- '$exists'(F,Mode) :- get_value(fileerrors,V), set_value(fileerrors,0), - ( '$open'(F,Mode,S,0,1) -> '$close'(S), set_value(fileerrors,V) ; set_value(fileerrors,V), fail). + system:true_file_name(F, F1), + ( + '$open'(F1,Mode,S,0,1) + -> + '$close'(S), + set_value(fileerrors,V) + ; + set_value(fileerrors,V), + fail + ). % term expansion diff --git a/pl/yio.yap b/pl/yio.yap index 95ebb170d..fc3e10248 100644 --- a/pl/yio.yap +++ b/pl/yio.yap @@ -359,7 +359,7 @@ open_pipe_streams(P1,P2) :- '$open_pipe_stream'(P1, P2). fileerrors :- set_value(fileerrors,1). nofileerrors :- set_value(fileerrors,0). -exists(F) :- '$exists'(F,read). +exists(F) :- '$exists'(F,'$csult'). see(user) :- !, set_input(user_input). see(F) :- var(F), !, @@ -989,15 +989,6 @@ at_end_of_line(S) :- consult_depth(LV) :- '$show_consult_level'(LV). -'$exists'(F,Mode,AbsFile) :- - get_value(fileerrors,V), - set_value(fileerrors,0), - ( '$open'(F,Mode,S,0,0), !, - '$file_name'(S, AbsFile), - '$close'(S), set_value(fileerrors,V); - set_value(fileerrors,V), fail). - - current_char_conversion(X,Y) :- var(X), !, '$all_char_conversions'(List),