aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorGravatar Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net>2018-06-18 14:26:23 +0200
committerGravatar Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net>2018-06-22 15:15:02 +0200
commitde90280aa0895d5b302a3137a3fa1a171a9f127c (patch)
tree7519e8b4c202c08367c25fa14b67a0a1997cda31 /lib
parent0daf6af5949dbc7304e9fc3adf063519d5a60c4b (diff)
Fix #7704: get_toplevel_path needs normalised argv.(0)
When launched through PATH argv.(0) is just the command name. eg "coqtop -compile foo.v" -> argv.(0) = "coqtop" Using executable_name also follows symlinks but this isn't tested to avoid messing with windows. Running Coq through a symlink is not as important as PATH anyways.
Diffstat (limited to 'lib')
-rw-r--r--lib/system.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/system.ml b/lib/system.ml
index f109c7192..eef65a4e3 100644
--- a/lib/system.ml
+++ b/lib/system.ml
@@ -302,7 +302,7 @@ let with_time ~batch f x =
raise e
let get_toplevel_path top =
- let dir = Filename.dirname Sys.argv.(0) in
+ let dir = Filename.dirname Sys.executable_name in
let exe = if Sys.(os_type = "Win32" || os_type = "Cygwin") then ".exe" else "" in
let eff = if Dynlink.is_native then ".opt" else ".byte" in
dir ^ Filename.dir_sep ^ top ^ eff ^ exe