diff options
| author | herbelin | 2006-01-03 20:33:47 +0000 |
|---|---|---|
| committer | herbelin | 2006-01-03 20:33:47 +0000 |
| commit | eb61ae3d531fb91506eaf1a6034758e6a6734824 (patch) | |
| tree | 091eba0a262a650270f91f50c1fe7d7d85e8922f | |
| parent | 20e2b5fa9a898f7db020d6f6e70a2804d184548b (diff) | |
Redéclaration de la notation à l'import pour être cohérent avec l'activation à l'import des notations qui ne sont pas des définitions syntaxiques
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@7779 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | interp/syntax_def.ml | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/interp/syntax_def.ml b/interp/syntax_def.ml index 25dc54b370..3769362b17 100644 --- a/interp/syntax_def.ml +++ b/interp/syntax_def.ml @@ -39,10 +39,15 @@ let load_syntax_constant i ((sp,kn),(local,c,onlyparse)) = add_syntax_constant kn c; Nametab.push_syntactic_definition (Nametab.Until i) sp kn; if not onlyparse then + (* Declare it to be used as long name *) Notation.declare_uninterpretation (Notation.SynDefRule kn) ([],c) -let open_syntax_constant i ((sp,kn),c) = - Nametab.push_syntactic_definition (Nametab.Exactly i) sp kn +let open_syntax_constant i ((sp,kn),(_,c,onlyparse)) = + Nametab.push_syntactic_definition (Nametab.Exactly i) sp kn; + if not onlyparse then + (* Redeclare it to be used as (short) name in case an other (distfix) + notation was declared inbetween *) + Notation.declare_uninterpretation (Notation.SynDefRule kn) ([],c) let cache_syntax_constant d = load_syntax_constant 1 d |
