filter choices
in
filter_phase_3
- (List.map (fun o,l -> o,List.sort choices_compare_by_passes l)
+ (List.map (fun (o,l) -> o,List.sort choices_compare_by_passes l)
(uniq (List.stable_sort choices_compare choices)))
in
choices
;;
-let rec to_string =
- function
- | HExtlib.Localized (floc,exn) ->
+let rec to_string exn =
+ try
+ (match exn with
+ HExtlib.Localized (floc,exn) ->
let _,msg = to_string exn in
let (x, y) = HExtlib.loc_of_floc floc in
Some floc, sprintf "Error at %d-%d: %s" x y msg
+ | NCicLibrary.IncludedFileNotCompiled (s1,s2) ->
+ None, "Including: "^s1^" "^s2^ "\nNothing to do... did you run matitadep?"
| GrafiteTypes.Command_error msg -> None, "Error: " ^ msg
| CicNotationParser.Parse_error err ->
None, sprintf "Parse error: %s" err
- | UriManager.IllFormedUri uri -> None, sprintf "invalid uri: %s" uri
- | Unix.Unix_error (code, api, param) ->
+ | Unix.Unix_error (code, api, _param) ->
let err = Unix.error_message code in
None, "Unix Error (" ^ api ^ "): " ^ err
| HMarshal.Corrupt_file fname -> None, sprintf "file '%s' is corrupt" fname
None, "NRefiner uncertain: " ^ snd (Lazy.force msg)
| NCicMetaSubst.Uncertain msg ->
None, "NCicMetaSubst uncertain: " ^ Lazy.force msg
+ | NCicMetaSubst.MetaSubstFailure msg ->
+ None, "NCicMetaSubst failure: " ^ Lazy.force msg
| NCicTypeChecker.TypeCheckerFailure msg ->
None, "NTypeChecker failure: " ^ Lazy.force msg
| NCicTypeChecker.AssertFailure msg ->
None, "NCicEnvironment object not found: " ^ Lazy.force msg
| NCicEnvironment.AlreadyDefined msg ->
None, "NCicEnvironment already defined: " ^ Lazy.force msg
+ | MatitaEngine.CircularDependency fname ->
+ None, "Circular dependency including " ^ fname
+ | MatitaEngine.TryingToAdd msg ->
+ None, "Attempt to insert an alias in batch mode: " ^ Lazy.force msg
+ | MatitaEngine.AlreadyLoaded msg ->
+ None, "The file " ^ Lazy.force msg ^ " needs recompilation but it is already loaded; undo the inclusion and try again."
+ | MatitaEngine.FailureCompiling (filename,exn) ->
+ None, "Compiling " ^ filename ^ ":\n" ^ snd (to_string exn)
| NCicRefiner.AssertFailure msg ->
None, "NRefiner assert failure: " ^ Lazy.force msg
| NCicEnvironment.BadDependency (msg,e) ->
None, "NCicUnification uncertain: " ^ Lazy.force msg
| DisambiguateChoices.Choice_not_found msg ->
None, ("Disambiguation choice not found: " ^ Lazy.force msg)
+ | DisambiguateTypes.Invalid_choice msg ->
+ None, ("Invalid choice: " ^ snd (Lazy.force msg))
| MatitaEngine.EnrichedWithStatus (exn,_) ->
- None, "EnrichedWithStatus "^snd(to_string exn)
+ None, snd(to_string exn)
| NTacStatus.Error (msg,None) ->
None, "NTactic error: " ^ Lazy.force msg
| NTacStatus.Error (msg,Some exn) ->
loc,
"********** DISAMBIGUATION ERRORS: **********\n" ^
explain (aux errorll)
- | exn -> None, "Uncaught exception: " ^ Printexc.to_string exn
-
+ | exn -> None, ("Uncaught exception: " ^ Printexc.to_string exn ^ Printexc.get_backtrace ()))
+ with exn ->
+ None, ("Exception raised during pretty-printing of an exception: " ^
+ snd (to_string exn))