# HG changeset patch # User wenzelm # Date 1220456854 -7200 # Node ID ea22fd4685fbc5e90075874eba5af35c4bc28e12 # Parent 9d121b171a0aaea93f5cf569a6c6d31d70af3069 declare_const: Name.binding, store/report position; diff -r 9d121b171a0a -r ea22fd4685fb src/Pure/sign.ML --- a/src/Pure/sign.ML Wed Sep 03 17:47:30 2008 +0200 +++ b/src/Pure/sign.ML Wed Sep 03 17:47:34 2008 +0200 @@ -93,7 +93,7 @@ val notation: bool -> Syntax.mode -> (term * mixfix) list -> theory -> theory val add_consts: (bstring * string * mixfix) list -> theory -> theory val add_consts_i: (bstring * typ * mixfix) list -> theory -> theory - val declare_const: Properties.T -> bstring * typ * mixfix -> theory -> term * theory + val declare_const: Properties.T -> (Name.binding * typ) * mixfix -> theory -> term * theory val add_abbrev: string -> Properties.T -> bstring * term -> theory -> (term * term) * theory val revert_abbrev: string -> string -> theory -> theory val add_const_constraint: string * typ option -> theory -> theory @@ -527,7 +527,14 @@ val add_consts = snd oo gen_add_consts Syntax.parse_typ false []; val add_consts_i = snd oo gen_add_consts (K I) false []; -fun declare_const tags arg = gen_add_consts (K I) true tags [arg] #>> the_single; +fun declare_const tags ((b, T), mx) thy = + let + val c = Name.name_of b; + val pos = Name.pos_of b; + val tags' = Position.default_properties pos tags; + val ([const as Const (full_c, _)], thy') = gen_add_consts (K I) true tags' [(c, T, mx)] thy; + val _ = Position.report (Markup.const_decl full_c) pos; + in (const, thy') end; end;