diff options
| author | Hugo Herbelin | 2019-11-14 08:52:01 +0100 |
|---|---|---|
| committer | Hugo Herbelin | 2020-02-22 22:37:41 +0100 |
| commit | 04b9870f0ebe79fde789551c8e172aad1e7cfc5c (patch) | |
| tree | 3e16d3abcce8cbd663d7e5ad39eafe3f67e53276 /interp | |
| parent | 14196d8ab425f67faf3995bd29a003de3b2e87ac (diff) | |
Inherit argument scopes in notations to expressions of the form @f.
This is a change of semantics.
Diffstat (limited to 'interp')
| -rw-r--r-- | interp/constrextern.ml | 3 | ||||
| -rw-r--r-- | interp/constrintern.ml | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml index 362fe83ffa..7f5f03610b 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -1211,8 +1211,7 @@ and extern_notation (custom,scopes as allscopes) vars t rules = let (t,args,argsscopes,argsimpls) = match n with | Some n when nallargs >= n -> let args1, args2 = List.chop n args in - let args2scopes = - if n = 0 then [] else try List.skipn n argsscopes with Failure _ -> [] in + let args2scopes = try List.skipn n argsscopes with Failure _ -> [] in let args2impls = if n = 0 then (* Note: NApp(NRef f,[]), hence n=0, encodes @f and diff --git a/interp/constrintern.ml b/interp/constrintern.ml index e14629df9b..1149cf1f58 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -1071,11 +1071,11 @@ let find_appl_head_data c = c, impls, scopes, [] | GApp (r, l) -> begin match DAst.get r with - | GRef (ref,_) when l != [] -> + | GRef (ref,_) -> let n = List.length l in let impls = implicits_of_global ref in let scopes = find_arguments_scope ref in - c, List.map (drop_first_implicits n) impls, + c, (if n = 0 then [] else List.map (drop_first_implicits n) impls), List.skipn_at_least n scopes,[] | _ -> c,[],[],[] end |
