src/Pure/General/print_mode.ML
changeset 32738 15bb09ca0378
parent 29606 fedb8be05f24
child 33223 d27956b4d3b4
equal deleted inserted replaced
32737:76fa673eee8b 32738:15bb09ca0378
     5 provides implicit configuration for various output mechanisms.
     5 provides implicit configuration for various output mechanisms.
     6 *)
     6 *)
     7 
     7 
     8 signature BASIC_PRINT_MODE =
     8 signature BASIC_PRINT_MODE =
     9 sig
     9 sig
    10   val print_mode: string list ref            (*global template*)
    10   val print_mode: string list Unsynchronized.ref  (*global template*)
    11   val print_mode_value: unit -> string list  (*thread-local value*)
    11   val print_mode_value: unit -> string list       (*thread-local value*)
    12   val print_mode_active: string -> bool      (*thread-local value*)
    12   val print_mode_active: string -> bool           (*thread-local value*)
    13 end;
    13 end;
    14 
    14 
    15 signature PRINT_MODE =
    15 signature PRINT_MODE =
    16 sig
    16 sig
    17   include BASIC_PRINT_MODE
    17   include BASIC_PRINT_MODE
    26 struct
    26 struct
    27 
    27 
    28 val input = "input";
    28 val input = "input";
    29 val internal = "internal";
    29 val internal = "internal";
    30 
    30 
    31 val print_mode = ref ([]: string list);
    31 val print_mode = Unsynchronized.ref ([]: string list);
    32 val tag = Universal.tag () : string list option Universal.tag;
    32 val tag = Universal.tag () : string list option Universal.tag;
    33 
    33 
    34 fun print_mode_value () =
    34 fun print_mode_value () =
    35   let val modes =
    35   let val modes =
    36     (case Thread.getLocal tag of
    36     (case Thread.getLocal tag of