diff options
| author | Pierre-Marie Pédrot | 2019-04-29 14:43:42 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-04-29 14:43:42 +0200 |
| commit | deb962b17448e22ba00cba24d2e77654b8406041 (patch) | |
| tree | 9715dd8f80387b30a876ee5b2f903a77a3eec138 | |
| parent | f08dacb28213f7da273d6594b317848dd5d776a8 (diff) | |
| parent | 8edf5a8e278f0bfa60207fe825a6d993e5be6ec2 (diff) | |
Merge PR #10014: CoqIDE: load coqiderc after coqide.keys
Reviewed-by: ppedrot
| -rw-r--r-- | CHANGES.md | 3 | ||||
| -rw-r--r-- | ide/preferences.ml | 23 |
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 |
