--- a/src/enchant.c 2010-04-01 22:53:37.000000000 +0200 +++ b/src/enchant.c 2014-08-26 21:32:21.000000000 +0200 @@ -210,6 +210,13 @@ char * module_dir = NULL; char * prefix = NULL; + const char *envdir = g_getenv ("ENCHANT_MODULES_DIR"); + + if (envdir != NULL && *envdir != '\0') + { + module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (envdir)); + } + { char* user_module_dir; @@ -239,7 +246,8 @@ module_dirs = enchant_slist_append_unique_path (module_dirs, module_dir); #if defined(ENCHANT_GLOBAL_MODULE_DIR) - module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR)); + if (envdir == NULL || *envdir == '\0') + module_dirs = enchant_slist_append_unique_path (module_dirs, g_strdup (ENCHANT_GLOBAL_MODULE_DIR)); #else /* Dynamically locate library and search for modules relative to it. */ prefix = enchant_get_prefix_dir(); @@ -278,6 +286,13 @@ if (ordering_dir) conf_dirs = enchant_slist_append_unique_path (conf_dirs, ordering_dir); + const char *envdir = g_getenv ("ENCHANT_DATA_DIR"); + + if (envdir != NULL && *envdir != '\0') + { + conf_dirs = enchant_slist_append_unique_path (conf_dirs, g_strdup (envdir)); + } + /* Dynamically locate library and search for files relative to it. */ prefix = enchant_get_prefix_dir(); if(prefix)