diff options
author | 2018-02-28 20:24:18 +0100 | |
---|---|---|
committer | 2018-02-28 21:51:30 +0100 | |
commit | ae27de7dbce680e91353982bf23d568adca0d017 (patch) | |
tree | ccb88dd09e5d940719e62531721ed87e5f15766a /toplevel/coqtop.mli | |
parent | f726e860917b56abc94f21d9d5add7594d23bb6d (diff) |
[toplevel] Update state when `Drop` exception is thrown [#6872]
`Drop` is implemented using exceptions-as-control flow, so the
toplevel state gets corrupted as `do_vernac` will never return when
`Drop` occurs in the input.
The right fix would be to remove `Drop` from the vernacular and make
it a toplevel-only command, but meanwhile we can just patch the state
in the exception handler.
We also need to keep the global state in `Coqloop` as the main
`coqtop` entry point won't be called by `go ()`.
Fixes #6872.
Diffstat (limited to 'toplevel/coqtop.mli')
-rw-r--r-- | toplevel/coqtop.mli | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/toplevel/coqtop.mli b/toplevel/coqtop.mli index dedb298e2..510e10dd1 100644 --- a/toplevel/coqtop.mli +++ b/toplevel/coqtop.mli @@ -15,9 +15,6 @@ val init_toplevel : string list -> Vernac.State.t option * Coqargs.coq_cmdopts val start : unit -> unit -(* Last document seen after `Drop` *) -val drop_last_doc : Vernac.State.t option ref - (* For other toploops *) val toploop_init : (Coqargs.coq_cmdopts -> string list -> string list) ref val toploop_run : (Coqargs.coq_cmdopts -> state:Vernac.State.t -> unit) ref |