fix library_directory

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1723 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2006-11-18 01:40:42 +00:00
parent 93fd5bf9d5
commit d9029c6c56
5 changed files with 28 additions and 9 deletions

View File

@ -16,6 +16,8 @@
<h2>Yap-5.1.2:</h2>
<ul>
<li> FIXED: library_directory/1 was not being used.</li>
<li> FIXED: style_checker was failing on DCGs (obs from Miguel Filgueiras).</li>
<li> FIXED: +inf is a number (obs from Trevor Walker).</li>
<li> FIXED: if peek finds EOF get should not return an error (obs
from Miguel Filgueiras).</li>

View File

@ -934,12 +934,17 @@ bootstrap(F) :-
( '$open'(F,Mode,S,0) -> '$close'(S), set_value(fileerrors,V) ; set_value(fileerrors,V), fail).
% This sequence must be followed:
% user and user_input are special;
% library(F) must check library_directories
% T(F) must check file_search_path
% all must try search in path
'$find_in_path'(user,user_input, _) :- !.
'$find_in_path'(user_input,user_input, _) :- !.
'$find_in_path'(library(File),NewFile, _) :-
'$dir_separator'(D),
'$dir_separator'(D),
atom_codes(A,[D]),
'$system_library_directories'(Dir),
( user:library_directory(Dir), '$do_not_creep' ; '$do_not_creep', fail),
'$extend_path'(Dir, A, File, NFile, Goal),
'$search_in_path'(NFile, NewFile), !.
'$find_in_path'(S,NewFile, _) :-

View File

@ -170,6 +170,13 @@ use_module(F,Is) :-
'$load_files'(F, [if(not_loaded),imports(Is)], use_module(F,Is)).
use_module(M,F,Is) :-
'$use_module'(M,F,Is).
'$use_module'(M,F,Is) :- nonvar(M), !,
recorded('$module','$module'(F1,M,_),_),
'$load_files'(F1, [if(not_loaded),imports(Is)], use_module(M,F,Is)),
F1 = F.
'$use_module'(M,F,Is) :- nonvar(F),
'$load_files'(F, [if(not_loaded),imports(Is)], use_module(M,F,Is)).
'$csult'(V, _) :- var(V), !,
@ -333,7 +340,8 @@ prolog_load_context(file, FileName) :-
( IncFileName = [] ->
get_value('$consulting_file',FileName)
;
FileName = IncFileName
FileName
= IncFileName
).
prolog_load_context(module, X) :-
'$current_module'(X).
@ -472,4 +480,4 @@ remove_from_path(New) :- '$check_path'(New,Path),
'$system_library_directories'(Dir) :-
getenv('YAPSHAREDIR', Dir).
'$system_library_directories'(Dir) :-
get_value(system_library_directory,Dir).
get_value(system_library_directory,Dir).

View File

@ -104,8 +104,8 @@
'$load_files'(M:F, [if(not_loaded)],use_module(F)).
'$exec_directive'(use_module(F,Is), _, M) :-
'$load_files'(M:F, [if(not_loaded),imports(Is)],use_module(F,Is)).
'$exec_directive'(use_module(_Mod,F,Is), _, M) :-
'$load_files'(F, [if(not_loaded),imports(Is)],use_module(M,F,Is)).
'$exec_directive'(use_module(Mod,F,Is), _, M) :-
'$use_module'(Mod,F,Is).
'$exec_directive'(block(BlockSpec), _, _) :-
'$block'(BlockSpec).
'$exec_directive'(wait(BlockSpec), _, _) :-

View File

@ -94,6 +94,13 @@ system_mode(verbose,off) :- set_value('$verbose',off).
:- default_sequential(off).
:- multifile user:library_directory/1.
:- dynamic user:library_directory/1.
user:library_directory(D) :-
prolog:'$system_library_directories'(D).
%
% cleanup ensure loaded and recover some data-base space.
%
@ -131,7 +138,4 @@ file_search_path(library, Dir) :-
file_search_path(system, Dir) :-
prolog_flag(host_type, Dir).
:- multifile library_directory/1.
:- dynamic library_directory/1.