diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/coqProject_file.ml | 2 | ||||
| -rw-r--r-- | lib/system.ml | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/coqProject_file.ml b/lib/coqProject_file.ml index d0b01453a0..7395654022 100644 --- a/lib/coqProject_file.ml +++ b/lib/coqProject_file.ml @@ -220,7 +220,7 @@ let process_cmd_line orig_dir proj args = let f = CUnix.correct_path f orig_dir in let proj = if exists_dir f then { proj with subdirs = proj.subdirs @ [sourced f] } - else match CUnix.get_extension f with + else match Filename.extension f with | ".v" -> { proj with v_files = proj.v_files @ [sourced f] } | ".ml" -> { proj with ml_files = proj.ml_files @ [sourced f] } diff --git a/lib/system.ml b/lib/system.ml index eec007dcab..a9db95318f 100644 --- a/lib/system.ml +++ b/lib/system.ml @@ -83,7 +83,9 @@ let file_exists_respecting_case path f = let rec aux f = let bf = Filename.basename f in let df = Filename.dirname f in - (String.equal df "." || aux df) + (* When [df] is the same as [f], it means that the root of the file system + has been reached. There is no point in looking further up. *) + (String.equal df "." || String.equal f df || aux df) && exists_in_dir_respecting_case (Filename.concat path df) bf in (!trust_file_cache || Sys.file_exists (Filename.concat path f)) && aux f |
