src/Pure/ProofGeneral/preferences.ML
author wenzelm
Mon, 17 Sep 2007 16:36:45 +0200
changeset 24614 a4b2eb0dd673
parent 24454 692dac1e7381
child 24806 c070cd2a1450
permissions -rw-r--r--
change print_mode: CRITICAL;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     1
(*  Title:      Pure/ProofGeneral/preferences.ML
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     2
    ID:         $Id$
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     3
    Author:     David Aspinall and Markus Wenzel
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     4
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     5
User preferences for Isabelle which are maintained by the interface.
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     6
*)
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     7
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
     8
signature PREFERENCES =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
     9
sig
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    10
  type pgiptype = PgipTypes.pgiptype
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    11
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    12
  type isa_preference = { name: string,
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    13
                          descr: string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    14
                          default: string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    15
                          pgiptype: pgiptype,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    16
                          get: unit -> string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    17
                          set: string -> unit }
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    18
24191
333f0a4bcc55 Typo in comment
aspinall
parents: 24100
diff changeset
    19
  (* table of categories and preferences; names must be unique *)
22214
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    20
  type isa_preference_table = (string * isa_preference list) list
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    21
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    22
  val preferences : isa_preference_table
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    23
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    24
  val remove      : string -> isa_preference_table -> isa_preference_table
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
    25
  val set_default : string * string -> isa_preference_table -> isa_preference_table
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    26
end
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    27
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    28
structure Preferences : PREFERENCES =
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    29
struct
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    30
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    31
val thm_depsN = "thm_deps";    (* also in proof_general_pgip.ML: move to pgip_isabelle? *)
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    32
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    33
type pgiptype = PgipTypes.pgiptype
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    34
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    35
type isa_preference = { name: string,
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    36
                        descr: string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    37
                        default: string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    38
                        pgiptype: pgiptype,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    39
                        get: unit -> string,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    40
                        set: string -> unit }
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    41
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    42
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    43
fun mkpref get set typ nm descr =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    44
    { name=nm, descr=descr, pgiptype=typ, get=get, set=set, default=get() } : isa_preference
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    45
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    46
fun mkpref_from_ref read write typ r nm descr =
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    47
    mkpref (fn()=> read (!r)) (fn v=> r:= (write v)) typ nm descr
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    48
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    49
val int_pref =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    50
    mkpref_from_ref PgipTypes.int_to_pgstring (PgipTypes.read_pgipint (NONE,NONE))
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    51
                    (PgipTypes.Pgipint (NONE, NONE))
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    52
val nat_pref =
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    53
    mkpref_from_ref PgipTypes.int_to_pgstring PgipTypes.read_pgipnat PgipTypes.Pgipnat
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    54
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    55
val bool_pref =
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    56
    mkpref_from_ref PgipTypes.bool_to_pgstring PgipTypes.read_pgipbool PgipTypes.Pgipbool
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    57
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    58
val proof_pref =
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    59
    let
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    60
        fun get () = PgipTypes.bool_to_pgstring (! proofs >= 2)
24454
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
    61
        fun set s = proofs := (if PgipTypes.read_pgipbool s then 2 else 1)
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    62
    in
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    63
        mkpref get set PgipTypes.Pgipbool "full-proofs"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    64
               "Record full proof objects internally"
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    65
    end
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    66
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    67
val thm_deps_pref =
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    68
    let
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    69
        fun get () = PgipTypes.bool_to_pgstring (print_mode_active thm_depsN)
24614
a4b2eb0dd673 change print_mode: CRITICAL;
wenzelm
parents: 24454
diff changeset
    70
        fun set s =  NAMED_CRITICAL "print_mode" (fn () =>
a4b2eb0dd673 change print_mode: CRITICAL;
wenzelm
parents: 24454
diff changeset
    71
          if PgipTypes.read_pgipbool s then
a4b2eb0dd673 change print_mode: CRITICAL;
wenzelm
parents: 24454
diff changeset
    72
            change print_mode (insert (op =) thm_depsN)
a4b2eb0dd673 change print_mode: CRITICAL;
wenzelm
parents: 24454
diff changeset
    73
          else
a4b2eb0dd673 change print_mode: CRITICAL;
wenzelm
parents: 24454
diff changeset
    74
            change print_mode (remove (op =) thm_depsN))
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    75
    in
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    76
        mkpref get set PgipTypes.Pgipbool "theorem-dependencies"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    77
               "Track theorem dependencies within Proof General"
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    78
    end
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    79
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    80
val print_depth_pref =
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    81
    let
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    82
        fun get () = PgipTypes.int_to_pgstring (get_print_depth ())
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    83
        val set = print_depth o PgipTypes.read_pgipnat
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    84
    in
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    85
        mkpref get set PgipTypes.Pgipnat
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    86
               "print-depth" "Setting for the ML print depth"
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    87
    end
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    88
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    89
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    90
val display_preferences =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    91
    [bool_pref show_types
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    92
               "show-types"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    93
               "Include types in display of Isabelle terms",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    94
     bool_pref show_sorts
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    95
               "show-sorts"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    96
               "Include sorts in display of Isabelle terms",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
    97
     bool_pref show_consts
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    98
               "show-consts"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
    99
               "Show types of consts in Isabelle goal display",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   100
     bool_pref long_names
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   101
               "long-names"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   102
               "Show fully qualified names in Isabelle terms",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   103
     bool_pref show_brackets
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   104
               "show-brackets"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   105
               "Show full bracketing in Isabelle terms",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   106
     bool_pref Proof.show_main_goal
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   107
               "show-main-goal"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   108
               "Show main goal in proof state display",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   109
     bool_pref Syntax.eta_contract
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   110
               "eta-contract"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   111
               "Print terms eta-contracted"]
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   112
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   113
val advanced_display_preferences =
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   114
    [nat_pref goals_limit
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   115
              "goals-limit"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   116
              "Setting for maximum number of goals printed",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   117
     int_pref ProofContext.prems_limit
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   118
              "prems-limit"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   119
              "Setting for maximum number of premises printed",
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   120
     print_depth_pref,
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   121
     bool_pref show_question_marks
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   122
               "show-question-marks"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   123
               "Show leading question mark of variable name"]
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   124
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   125
val tracing_preferences =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   126
    [bool_pref trace_simp
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   127
               "trace-simplifier"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   128
               "Trace simplification rules.",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   129
     nat_pref trace_simp_depth_limit
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   130
              "trace-simplifier-depth"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   131
              "Trace simplifier depth limit.",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   132
     bool_pref trace_rules
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   133
               "trace-rules"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   134
               "Trace application of the standard rules",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   135
     bool_pref Pattern.trace_unify_fail
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   136
               "trace-unification"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   137
               "Output error diagnostics during unification",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   138
     bool_pref Output.timing
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   139
               "global-timing"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   140
               "Whether to enable timing in Isabelle.",
22130
0906fd95e0b5 Output.debug: non-strict;
wenzelm
parents: 21940
diff changeset
   141
     bool_pref Toplevel.debug
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   142
                "debugging"
24454
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
   143
                "Whether to enable debugging.",
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
   144
     bool_pref Codegen.auto_quickcheck
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
   145
                "auto-quickcheck"
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
   146
                "Whether to enable quickcheck automatically."]
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   147
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   148
val proof_preferences =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   149
    [bool_pref quick_and_dirty
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   150
               "quick-and-dirty"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   151
               "Take a few short cuts",
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   152
     bool_pref Toplevel.skip_proofs
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   153
               "skip-proofs"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   154
               "Skip over proofs (interactive-only)",
24454
692dac1e7381 - new auto-quickcheck flag
berghofe
parents: 24329
diff changeset
   155
     proof_pref,
24100
a2f19514e156 added max-threads preference;
wenzelm
parents: 22587
diff changeset
   156
     nat_pref Multithreading.max_threads
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   157
               "max-threads"
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   158
               "Maximum number of threads"]
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   159
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   160
val preferences =
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   161
    [("Display", display_preferences),
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   162
     ("Advanced Display", advanced_display_preferences),
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   163
     ("Tracing", tracing_preferences),
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   164
     ("Proof", proof_preferences)]
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   165
22214
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   166
type isa_preference_table = (string * isa_preference list) list
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   167
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   168
fun remove name (preftable : isa_preference_table)  =
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   169
    map (fn (cat,prefs) =>
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   170
            (cat, filter_out (curry op= name o #name) prefs))
22214
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   171
        preftable;
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   172
24329
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   173
fun set_default (setname,newdefault) (preftable : isa_preference_table)  =
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   174
    map (fn (cat,prefs) =>
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   175
            (cat, map (fn (pref as {name,descr,default,pgiptype,get,set})
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   176
                          => if (name = setname) then
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   177
                                 (set newdefault;
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   178
                                  {name=name,descr=descr,default=newdefault,
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   179
                                  pgiptype=pgiptype,get=get,set=set})
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   180
                             else pref)
f31594168d27 ML system provides get_print_depth;
wenzelm
parents: 24191
diff changeset
   181
                  prefs))
22214
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   182
        preftable;
6e9ab159512f Add operations on preference tables (remove, set_default).
aspinall
parents: 22130
diff changeset
   183
21637
a7b156c404e2 Revamped Proof General interface.
aspinall
parents:
diff changeset
   184
end