aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-04-29 14:43:42 +0200
committerPierre-Marie Pédrot2019-04-29 14:43:42 +0200
commitdeb962b17448e22ba00cba24d2e77654b8406041 (patch)
tree9715dd8f80387b30a876ee5b2f903a77a3eec138
parentf08dacb28213f7da273d6594b317848dd5d776a8 (diff)
parent8edf5a8e278f0bfa60207fe825a6d993e5be6ec2 (diff)
Merge PR #10014: CoqIDE: load coqiderc after coqide.keys
Reviewed-by: ppedrot
-rw-r--r--CHANGES.md3
-rw-r--r--ide/preferences.ml23
2 files changed, 14 insertions, 12 deletions
diff --git a/CHANGES.md b/CHANGES.md
index fc7272da65..9a292562ed 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -22,6 +22,9 @@ Coqide
- CoqIDE now properly sets the module name for a given file based on
its path, see -topfile change entry for more details.
+- Preferences from coqide.keys are no longer overridden by modifiers
+ preferences in coqiderc.
+
Coqtop
- the use of `coqtop` as a compiler has been deprecated, in favor of
diff --git a/ide/preferences.ml b/ide/preferences.ml
index 47cd4c58b6..3893d023bd 100644
--- a/ide/preferences.ml
+++ b/ide/preferences.ml
@@ -263,8 +263,6 @@ let get_unicode_bindings_default_file () =
(** Hooks *)
-(** New style preferences *)
-
let cmd_coqtop =
new preference ~name:["cmd_coqtop"] ~init:None ~repr:Repr.(option string)
@@ -645,8 +643,6 @@ let tag_button () =
let box = GPack.hbox () in
new tag_button (Gobject.unsafe_cast box#as_widget)
-(** Old style preferences *)
-
let save_pref () =
if not (Sys.file_exists (Minilib.coqide_config_home ()))
then Unix.mkdir (Minilib.coqide_config_home ()) 0o700;
@@ -658,15 +654,18 @@ let save_pref () =
Config_lexer.print_file pref_file prefs
let load_pref () =
+ (* Load main preference file *)
+ let () =
+ let m = Config_lexer.load_file loaded_pref_file in
+ let iter name v =
+ if Util.String.Map.mem name !preferences then
+ try (Util.String.Map.find name !preferences).set v with _ -> ()
+ else unknown_preferences := Util.String.Map.add name v !unknown_preferences
+ in
+ Util.String.Map.iter iter m in
+ (* Load file for bindings *)
let () = try GtkData.AccelMap.load loaded_accel_file with _ -> () in
-
- let m = Config_lexer.load_file loaded_pref_file in
- let iter name v =
- if Util.String.Map.mem name !preferences then
- try (Util.String.Map.find name !preferences).set v with _ -> ()
- else unknown_preferences := Util.String.Map.add name v !unknown_preferences
- in
- Util.String.Map.iter iter m
+ ()
let pstring name p = string ~f:p#set name p#get
let pbool name p = bool ~f:p#set name p#get