diff options
author | 2012-03-19 17:48:52 +0000 | |
---|---|---|
committer | 2012-03-19 17:48:52 +0000 | |
commit | 8686e11304bdeb7a4f04629b0643098f60a19739 (patch) | |
tree | 8134cb674fd7dee6be4fd61308edb29d4e66ba45 /toplevel/vernacentries.ml | |
parent | e5320fdb6a60b6593458ea123a74f5cc31cf8df4 (diff) |
Fix bugs related to Program integration.
- reinstall (x : T | P) binder syntax extension.
- fix a wrong Evd.define in coercion code.
- Simplify interface of eterm_obligations to take a single evar_map.
- Fix a slightly subtle bug related to resolvability of evars: some
were marked unresolvable and never set back to resolvable across calls
to typeclass resolution.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15057 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/vernacentries.ml')
-rw-r--r-- | toplevel/vernacentries.ml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/toplevel/vernacentries.ml b/toplevel/vernacentries.ml index 20c9531fe..c727cc918 100644 --- a/toplevel/vernacentries.ml +++ b/toplevel/vernacentries.ml @@ -1579,8 +1579,8 @@ let interp c = match c with let interp c = let mode = Flags.is_program_mode () in - let flag = mode || !program_flag in - Flags.program_mode := flag; + (try Obligations.set_program_mode !program_flag + with e -> program_flag := false; raise e); interp c; check_locality (); program_flag := false; Flags.program_mode := mode |