diff options
| author | Hugo Herbelin | 2015-03-07 13:22:11 +0100 |
|---|---|---|
| committer | Hugo Herbelin | 2015-03-07 13:24:57 +0100 |
| commit | 95f1e6467be41bfcdbac291a88f7c9a04474d585 (patch) | |
| tree | d3fc6f32578352712c7dddbbe5756f619bbc3359 | |
| parent | 21e439b65eab694adaccfaa39aec9415da0a4609 (diff) | |
Continuing a8ad3abc15a2 and 60810aaec on freshness of name in tactic "evar".
Not inventing a new fresh name if a non-fresh name is explicitly
given, as in v8.4.
| -rw-r--r-- | tactics/evar_tactics.ml | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tactics/evar_tactics.ml b/tactics/evar_tactics.ml index 2aafaf080e..c3fe6b6574 100644 --- a/tactics/evar_tactics.ml +++ b/tactics/evar_tactics.ml @@ -71,8 +71,11 @@ let let_evar name typ = Proofview.Goal.enter begin fun gl -> let sigma = Proofview.Goal.sigma gl in let env = Proofview.Goal.env gl in - let id = Namegen.id_of_name_using_hdchar env typ name in - let id = Namegen.next_ident_away_in_goal id (Termops.ids_of_named_context (Environ.named_context env)) in + let id = match name with + | Names.Anonymous -> + let id = Namegen.id_of_name_using_hdchar env typ name in + Namegen.next_ident_away_in_goal id (Termops.ids_of_named_context (Environ.named_context env)) + | Names.Name id -> id in let sigma',evar = Evarutil.new_evar env sigma ~src ~naming:(Misctypes.IntroFresh id) typ in Tacticals.New.tclTHEN (Proofview.V82.tactic (Refiner.tclEVARS sigma')) (Tactics.letin_tac None (Names.Name id) evar None Locusops.nowhere) |
