From cea92f33654bf924f5be861a946ee5084eca840b Mon Sep 17 00:00:00 2001 From: Pierre Courtieu Date: Mon, 23 Feb 2015 18:58:43 +0100 Subject: Fixed 3233 (fresh does not work with a qualid). fresh now accepts a qualid, and behaves as if given the short name. Since fresh used to accept an id, supporting qualid is IMO not a new feature but just a fix. Hence the fix in v8.5. --- parsing/g_ltac.ml4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/parsing/g_ltac.ml4 b/parsing/g_ltac.ml4 index b4d96e5cb1..3cd7dbc9be 100644 --- a/parsing/g_ltac.ml4 +++ b/parsing/g_ltac.ml4 @@ -153,8 +153,12 @@ GEXTEND Gram | IDENT "type_term"; c=uconstr -> TacPretype c | IDENT "numgoals" -> TacNumgoals ] ] ; + (* If a qualid is given, use its short name. TODO: have the shortest + non ambiguous name where dots are replaced by "_"? Probably too + verbose most of the time. *) fresh_id: - [ [ s = STRING -> ArgArg s | id = ident -> ArgVar (!@loc,id) ] ] + [ [ s = STRING -> ArgArg s (*| id = ident -> ArgVar (!@loc,id)*) + | qid = qualid -> let (_pth,id) = Libnames.repr_qualid (snd qid) in ArgVar (!@loc,id) ] ] ; constr_eval: [ [ IDENT "eval"; rtc = red_expr; "in"; c = Constr.constr -> -- cgit v1.2.3