diff options
author | Guillaume Melquiond <guillaume.melquiond@inria.fr> | 2015-09-29 10:26:08 +0200 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@inria.fr> | 2015-09-29 10:26:08 +0200 |
commit | da4d0b0e3d82621fe8338dd313b788472fc31bb2 (patch) | |
tree | 63448dd2a406493ab0a5ae98e09d1e55282053cb /library/loadpath.ml | |
parent | 2cf609c41f7af83d9eaf43308a368fcb7307e6fa (diff) |
Remove some uses of Loadpath.get_paths.
The single remaining use is in library/states.ml. This use should be
reviewed, as it is most certainly broken.
The other uses of Loadpath.get_paths did not disappear by miracle though.
They were replaced by a new function Loadpath.locate_file which factors
all the uses of the function. This function should not be used as it is as
broken as Loadpath.get_paths, by definition.
Vernac.load_vernac now takes a complete path rather than looking up for
the file. That is the way it was used most of the time, so the lookup was
unnecessary. For instance, Vernac.compile was calling Library.start_library
which already expected a complete path.
Another consequence is that System.find_file_in_path is almost no longer
used (except for Loadpath.locate_file, obviously). The two remaining uses
are System.intern_state (used by States.intern_state, cf above) and
Mltop.dir_ml_load for dynamically loading compiled .ml files.
Diffstat (limited to 'library/loadpath.ml')
-rw-r--r-- | library/loadpath.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/library/loadpath.ml b/library/loadpath.ml index 26af809e7..d35dca212 100644 --- a/library/loadpath.ml +++ b/library/loadpath.ml @@ -112,3 +112,9 @@ let expand_path dir = if DirPath.equal dir lg then (ph, lg) :: aux l else aux l in aux !load_paths + +let locate_file fname = + let paths = get_paths () in + let _,longfname = + System.find_file_in_path ~warn:(Flags.is_verbose()) paths fname in + longfname |