From 9d0558468abc9b3456e9d4e30ab87018e6d17337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Cort=C3=A9z?= Date: Thu, 29 Dec 2016 11:41:31 -0600 Subject: [PATCH] Only copy changed keystrokes in keymap.keymap and let unchanged entries in the main file --- src/config.py | 2 +- src/config_utils.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/config.py b/src/config.py index 59d6c2da..4d9f203a 100644 --- a/src/config.py +++ b/src/config.py @@ -24,4 +24,4 @@ def setup (): app.write() global changed_keymap changed_keymap = True - keymap = config_utils.load_config(paths.config_path("keymap.keymap"), paths.app_path("keymaps/"+app['app-settings']['load_keymap'])) + keymap = config_utils.load_config(paths.config_path("keymap.keymap"), paths.app_path("keymaps/"+app['app-settings']['load_keymap']), copy=False) diff --git a/src/config_utils.py b/src/config_utils.py index cb4831a3..e6d926c5 100644 --- a/src/config_utils.py +++ b/src/config_utils.py @@ -8,7 +8,7 @@ log = getLogger("config_utils") class ConfigLoadError(Exception): pass -def load_config(config_path, configspec_path=None, *args, **kwargs): +def load_config(config_path, configspec_path=None, copy=True, *args, **kwargs): if os.path.exists(config_path): clean_config(config_path) spec = ConfigObj(configspec_path, encoding='UTF8', list_values=False, _inspec=True) @@ -17,7 +17,7 @@ def load_config(config_path, configspec_path=None, *args, **kwargs): except ParseError: raise ConfigLoadError("Unable to load %r" % config_path) validator = Validator() - validated = config.validate(validator, preserve_errors=False, copy=True) + validated = config.validate(validator, preserve_errors=False, copy=copy) if validated == True: config.write() return config