(* we know that someone was able to include the .ma, get the baseuri
* but was unable to get the compilation output 'xfilename' *)
let root, buri, _, tgt =
- Librarian.baseuri_of_script ~include_paths mafilename
+ try
+ Librarian.baseuri_of_script ~include_paths mafilename
+ with Librarian.NoRootFor _ -> raise exn
in
- if MatitacLib.Make.make root [tgt] then f x else raise exn
+ if MatitacLib.Make.make root [tgt] then f x
+ else raise (Failure ("Compiling: " ^ tgt))
;;
let eval_with_engine include_paths
~set_star
~ask_confirmation
~urichooser
- ~rootcreator
() =
let buffer = source_view#buffer in
let source_buffer = source_view#source_buffer in
method has_name = filename_ <> None
method include_paths =
- include_paths_
+ include_paths_ @
+ Helm_registry.get_list Helm_registry.string "matita.includes"
method private curdir =
try
method private _advance ?statement () =
let s = match statement with Some s -> s | None -> self#getFuture in
+ if self#bos then LibraryClean.clean_baseuris [self#buri_of_current_file];
HLog.debug ("evaluating: " ^ first_line s ^ " ...");
let entries, newtext, parsed_len =
try
HLog.debug ("Moving to " ^ Sys.getcwd ())
method saveToFile () =
- if self#has_name && buffer#modified then
+ if self#has_name then
let oc = open_out self#filename in
output_string oc (buffer#get_text ~start:buffer#start_iter
~stop:buffer#end_iter ());
set_star false;
buffer#set_modified false
else
- if self#has_name then HLog.debug "No need to save"
- else HLog.error "Can't save, no filename selected"
+ HLog.error "Can't save, no filename selected"
method private _saveToBackupFile () =
if buffer#modified then
let _script = ref None
-let script ~source_view ~mathviewer ~urichooser ~rootcreator ~ask_confirmation ~set_star ()
+let script ~source_view ~mathviewer ~urichooser ~ask_confirmation ~set_star ()
=
let s = new script
- ~source_view ~mathviewer ~ask_confirmation ~urichooser ~rootcreator ~set_star ()
+ ~source_view ~mathviewer ~ask_confirmation ~urichooser ~set_star ()
in
_script := Some s;
s