]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaMisc.ml
universes are saved to disk
[helm.git] / helm / matita / matitaMisc.ml
index 82a5a521e57173899b8d6201043b9f78a495b0a7..56cb4a29535f1734b5db12cc3c09410971be69ed 100644 (file)
 open Printf
 open MatitaTypes 
 
-let strip_trailing_slash =
-  let rex = Pcre.regexp "/$" in
-  fun s -> Pcre.replace ~rex s
+(** Functions "imported" from Http_getter_misc *)
+
+let strip_trailing_slash = Http_getter_misc.strip_trailing_slash
+let normalize_dir = Http_getter_misc.normalize_dir
+let strip_suffix = Http_getter_misc.strip_suffix
 
 let baseuri_of_baseuri_decl st =
   match st with
@@ -39,7 +41,7 @@ let baseuri_of_baseuri_decl st =
 let baseuri_of_file file = 
   let uri = ref None in
   let ic = open_in file in
-  let istream = Stream.of_channel ic in
+  let istream = Ulexing.from_utf8_channel ic in
   (try
     while true do
       try 
@@ -124,14 +126,17 @@ let mkdir path =
           Unix.mkdir path 0o755
         with 
         | Unix.Unix_error (Unix.EEXIST,_,_) -> ()
-        | Unix.Unix_error (e,_,_) -> raise (Failure (Unix.error_message e)));
+        | Unix.Unix_error (e,_,_) -> 
+            raise 
+              (Failure 
+                ("Unix.mkdir " ^ path ^ " 0o755 :" ^ (Unix.error_message e))));
         aux path tl
   in
   aux "" components
 
-let strip_trailing_blanks =
-  let rex = Pcre.regexp "\\s*$" in
-  fun s -> Pcre.replace ~rex s
+let trim_blanks =
+  let rex = Pcre.regexp "^\\s*(.*?)\\s*$" in
+  fun s -> (Pcre.extract ~rex s).(1)
 
 let split ?(char = ' ') s =
   let pieces = ref [] in
@@ -246,26 +251,7 @@ class ['a] browser_history ?memento size init =
 let singleton f =
   let instance = lazy (f ()) in
   fun () -> Lazy.force instance
-(*
-let mkdir d =
-  let errmsg = sprintf "Unable to create directory \"%s\"" d in
-  try
-    let dir = "mkdir -p " ^ d in 
-    (match Unix.system dir with
-    | Unix.WEXITED 0 -> ()
-    | Unix.WEXITED n -> 
-        MatitaLog.error ("'mkdir -p " ^ dir ^ "' failed with "^string_of_int n);
-        failwith errmsg
-    | Unix.WSIGNALED s 
-    | Unix.WSTOPPED s -> 
-        MatitaLog.error 
-          ("'mkdir -p " ^ dir ^ "' signaled with " ^ string_of_int s);
-        failwith errmsg)
-  with Unix.Unix_error _ as exc -> 
-    MatitaLog.error 
-      ("Unix error in makigin dir " ^ (MatitaExcPp.to_string exc));
-    failwith errmsg
-*)
+
 let get_proof_status status =
   match status.proof_status with
   | Incomplete_proof s -> s
@@ -292,8 +278,6 @@ let get_proof_conclusion status =
       conclusion
   | _ -> statement_error "no ongoing proof"
  
-let get_proof_aliases status = status.aliases
-
 let qualify status name = get_string_option status "baseuri" ^ "/" ^ name
 
 let unopt = function None -> failwith "unopt: None" | Some v -> v
@@ -310,8 +294,9 @@ let obj_file_of_baseuri baseuri =
   path ^ ".moo"
 
 let obj_file_of_script f =
- let baseuri = baseuri_of_file f in
-  obj_file_of_baseuri baseuri
+ if f = "coq.ma" then BuildTimeConf.coq_notation_script else
+  let baseuri = baseuri_of_file f in
+   obj_file_of_baseuri baseuri
 
 let rec list_uniq = function 
   | [] -> []