aboutsummaryrefslogtreecommitdiff
path: root/toplevel
diff options
context:
space:
mode:
authorherbelin2000-11-30 14:41:00 +0000
committerherbelin2000-11-30 14:41:00 +0000
commitf35a9a60f882304ebf49c87ced23a0a0959f44ab (patch)
treeef2d99a21ebdf877f6d1b0bb4a99bde4ac28ee96 /toplevel
parent0fffe8d30f909612d73b5e927608d881f21423b2 (diff)
Changement de la syntaxe des options -I et -R
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1038 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
-rw-r--r--toplevel/coqtop.ml38
1 files changed, 19 insertions, 19 deletions
diff --git a/toplevel/coqtop.ml b/toplevel/coqtop.ml
index cff15a0034..402e732c1f 100644
--- a/toplevel/coqtop.ml
+++ b/toplevel/coqtop.ml
@@ -29,6 +29,21 @@ let outputstate = ref ""
let set_outputstate s = outputstate:=s
let outputstate () = if !outputstate <> "" then extern_state !outputstate
+let coqpath d =
+ let alias = Filename.basename d in
+ let alias =
+ if alias = "." then
+ Filename.basename (Unix.getcwd ())
+ else if alias = ".." then
+ Filename.basename (Filename.dirname (Unix.getcwd ()))
+ else alias in
+ if not (Names.is_ident alias) then
+ error ("Cannot find a name to which "^d^" may map in Coq library");
+ alias
+let set_include d p = push_include (d,Names.dirpath_of_string p)
+let set_rec_include d p = push_rec_include (d,Names.dirpath_of_string p)
+
+
let load_vernacular_list = ref ([] : string list)
let add_load_vernacular s =
load_vernacular_list := (make_suffix s ".v") :: !load_vernacular_list
@@ -77,33 +92,18 @@ let usage () =
flush stderr ;
exit 1
-let parse_include d =
- try
- let pos = String.index d '=' in
- (String.sub d 0 pos,
- Names.dirpath_of_string (String.sub d (pos+1) (String.length d - pos -1)))
- with Not_found ->
- let alias = Filename.basename d in
- let alias =
- if alias = "." then
- Filename.basename (Unix.getcwd ())
- else if alias = ".." then
- Filename.basename (Filename.dirname (Unix.getcwd ()))
- else alias in
- if not (Names.is_ident alias) then
- error ("Cannot find a name to which "^d^" may map in Coq library");
- (d, [alias])
-
let warning s = wARNING [< 'sTR s >]
let parse_args () =
let rec parse = function
| [] -> ()
- | ("-I"|"-include") :: d :: rem -> push_include (parse_include d);parse rem
+ | ("-I"|"-include") :: d :: "-as" :: p :: rem -> set_include d p; parse rem
+ | ("-I"|"-include") :: d :: rem -> set_include d (coqpath d); parse rem
| ("-I"|"-include") :: [] -> usage ()
- | "-R" :: d :: rem -> push_rec_include (parse_include d); parse rem
+ | "-R" :: d :: "-as" :: p :: rem -> set_rec_include d p; parse rem
+ | "-R" :: d :: rem -> set_rec_include d (coqpath d); parse rem
| "-R" :: [] -> usage ()
| "-q" :: rem -> no_load_rc (); parse rem