diff options
| author | Pierre Roux | 2020-04-24 21:52:37 +0200 |
|---|---|---|
| committer | Pierre Roux | 2020-05-02 20:37:50 +0200 |
| commit | 4c39126f0a0a97152f67a3a5e7c86db860f48e39 (patch) | |
| tree | 568955642bf955fb03e51f364d3561dbd681440f /plugins | |
| parent | cacb6fed6dea278f46f83c1657f4a8c3c98817db (diff) | |
Fix #12159 (Numeral Notations do not play well with multiple scopes for the same inductive)
Numeral Notations now play better with multiple scopes for the same
inductive. Previously, when multiple numeral notations where defined
for the same inductive, only the last one was considered for
printing. Now, we proceed as follows
1. keep only uninterpreters that produce an output (first
List.map_filter)
2. keep only uninterpretation for scopes that either have a scope
delimiter or are open (second List.map_filter)
3. the final selection is made according to the order of open scopes,
(find_uninterpretation) or or according to the last defined
notation if no appropriate scope is open (head of list at the end)
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/ssr/ssrparser.mlg | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/ssr/ssrparser.mlg b/plugins/ssr/ssrparser.mlg index 442b40221b..9c83f9fa4e 100644 --- a/plugins/ssr/ssrparser.mlg +++ b/plugins/ssr/ssrparser.mlg @@ -349,8 +349,8 @@ let interp_index ist gl idx = begin match Tacinterp.Value.to_constr v with | Some c -> let rc = Detyping.detype Detyping.Now false Id.Set.empty (pf_env gl) (project gl) c in - begin match Notation.uninterp_prim_token rc with - | _, Constrexpr.Numeral n when NumTok.Signed.is_int n -> + begin match Notation.uninterp_prim_token rc (None, []) with + | Constrexpr.Numeral n, _ when NumTok.Signed.is_int n -> int_of_string (NumTok.Signed.to_string n) | _ -> raise Not_found end |
