src/Pure/ProofGeneral/preferences.ML
changeset 28066 611e504c1191
parent 25440 aa25d4d59383
child 28315 d3cf88fe77bc
--- a/src/Pure/ProofGeneral/preferences.ML	Mon Sep 01 10:19:38 2008 +0200
+++ b/src/Pure/ProofGeneral/preferences.ML	Mon Sep 01 10:20:14 2008 +0200
@@ -22,6 +22,8 @@
   val preferences : isa_preference_table
 
   val remove      : string -> isa_preference_table -> isa_preference_table
+  val add         : string -> isa_preference
+                    -> isa_preference_table -> isa_preference_table
   val set_default : string * string -> isa_preference_table -> isa_preference_table
 end
 
@@ -185,4 +187,11 @@
                   prefs))
         preftable;
 
+fun add cname (pref: isa_preference) (preftable : isa_preference_table) =
+    map (fn (cat,prefs:isa_preference list) =>
+      if cat <> cname then (cat,prefs)
+      else if (#name pref) mem (map #name prefs)
+           then error ("Preference already exists: " ^ quote(#name pref))
+           else (cat, pref::prefs))  preftable;
+
 end