diff options
| author | Gaëtan Gilbert | 2019-06-07 15:42:39 +0200 |
|---|---|---|
| committer | Gaëtan Gilbert | 2019-06-12 14:00:05 +0200 |
| commit | e49ecf90e565b9e49f114cadb6b24ab660cd02f3 (patch) | |
| tree | e93b6b46a5458d02b974c87a44410f39b34d9d76 /stm | |
| parent | 0d4300771e4a6a26d948872262a79695a38c7e0d (diff) | |
Fix #9455: avoid update_global_env when unchanged Global.universes()
This also makes vernacentries correct wrt update_global_env.
Diffstat (limited to 'stm')
| -rw-r--r-- | stm/stm.ml | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/stm/stm.ml b/stm/stm.ml index 1e89d6937c..6250d51fdd 100644 --- a/stm/stm.ml +++ b/stm/stm.ml @@ -2407,8 +2407,7 @@ let known_state ~doc ?(redefine_qed=false) ~cache id = (* State resulting from reach *) let st = Vernacstate.freeze_interp_state ~marshallable:false in ignore(stm_vernac_interp id st x) - ); - if eff then update_global_env () + ) ), eff || cache, true | `Cmd { cast = x; ceff = eff } -> (fun () -> (match !cur_opt.async_proofs_mode with @@ -2416,8 +2415,7 @@ let known_state ~doc ?(redefine_qed=false) ~cache id = resilient_command reach view.next | APoff -> reach view.next); let st = Vernacstate.freeze_interp_state ~marshallable:false in - ignore(stm_vernac_interp id st x); - if eff then update_global_env () + ignore(stm_vernac_interp id st x) ), eff || cache, true | `Fork ((x,_,_,_), None) -> (fun () -> resilient_command reach view.next; @@ -2541,8 +2539,7 @@ let known_state ~doc ?(redefine_qed=false) ~cache id = | `Sideff (ReplayCommand x,_) -> (fun () -> reach view.next; let st = Vernacstate.freeze_interp_state ~marshallable:false in - ignore(stm_vernac_interp id st x); - update_global_env () + ignore(stm_vernac_interp id st x) ), cache, true | `Sideff (CherryPickEnv, origin) -> (fun () -> reach view.next; |
