diff options
author | Emilio Jesus Gallego Arias <e+git@x80.org> | 2017-11-27 19:18:21 +0100 |
---|---|---|
committer | Emilio Jesus Gallego Arias <e+git@x80.org> | 2018-02-09 23:53:12 +0100 |
commit | 33789b2d1706194d478a25098bd1991d2c845223 (patch) | |
tree | 6324d5ce8f5c233c15c9c1c8d715aba55377e818 /lib | |
parent | 250dc1f50e17240df158978159f408fe9231f410 (diff) |
[error] Replace msg_error by a proper exception.
The current error mechanism in the core part of Coq is 100% exception
based; there was some confusion in the past as to whether raising and
exception could be replace with `Feedback.msg_error`.
As of today, this is not the case [due to some issues in the layer
that generates error feedbacks in the STM] so all cases of `msg_error`
must raise an exception of print at a different level [for now].
Diffstat (limited to 'lib')
-rw-r--r-- | lib/coqProject_file.ml4 | 2 | ||||
-rw-r--r-- | lib/feedback.mli | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/coqProject_file.ml4 b/lib/coqProject_file.ml4 index 1e52af0be..e6f1d7e06 100644 --- a/lib/coqProject_file.ml4 +++ b/lib/coqProject_file.ml4 @@ -114,7 +114,7 @@ let process_cmd_line orig_dir proj args = let parsing_project_file = ref (proj.project_file <> None) in let orig_dir = (* avoids turning foo.v in ./foo.v *) if orig_dir = "." then "" else orig_dir in - let error s = Feedback.msg_error (Pp.str (s^".")); exit 1 in + let error s = Format.eprintf "@[%a]@@\n%!" Pp.pp_with Pp.(str (s^".")); exit 1 in let mk_path d = let p = CUnix.correct_path d orig_dir in { path = CUnix.remove_path_dot (post_canonize p); diff --git a/lib/feedback.mli b/lib/feedback.mli index 62b909516..37f38c8ff 100644 --- a/lib/feedback.mli +++ b/lib/feedback.mli @@ -94,8 +94,9 @@ val msg_warning : ?loc:Loc.t -> Pp.t -> unit consequences. *) val msg_error : ?loc:Loc.t -> Pp.t -> unit -(** Message indicating that something went really wrong, though still - recoverable; otherwise an exception would have been raised. *) +[@@ocaml.deprecated "msg_error is an internal function and should not be \ + used unless you know what you are doing. Use \ + [CErrors.user_err] instead."] val msg_debug : ?loc:Loc.t -> Pp.t -> unit (** For debugging purposes *) |