mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-05-28 12:01:49 +02:00
gnu: aspell: Truly honor $ASPELL_DICT_DIR.
Fixes <https://bugs.gnu.org/29686>. Reported by Oleg Pykhalov <go.wigust@gmail.com>. * gnu/packages/aspell.scm (aspell)[arguments]: Remove 'wrap-aspell' phase. * gnu/packages/patches/aspell-default-dict-dir.patch: Add hunk to expand the right-hand size of '|' in values like "<$FOO|$BAR/baz>". Change DICT_DIR to refer to "$HOME" on the right-hand side.
This commit is contained in:
@@ -8,12 +8,34 @@ However it is necessary for applications that use libaspell since
|
||||
|
||||
--- a/common/config.cpp
|
||||
+++ b/common/config.cpp
|
||||
@@ -651,7 +651,20 @@ namespace acommon {
|
||||
} else { // sep == '|'
|
||||
assert(replace[0] == '$');
|
||||
const char * env = getenv(replace.c_str()+1);
|
||||
- final_str += env ? env : second;
|
||||
+ if (env) {
|
||||
+ final_str += env;
|
||||
+ } else if (second[0] == '$') {
|
||||
+ // Expand the right-hand side of '|', which starts with a
|
||||
+ // reference to an environment variable.
|
||||
+ auto slash = second.find('/');
|
||||
+ String variable = second.substr(1, slash - 1);
|
||||
+ const char * env = getenv(variable.c_str());
|
||||
+ String value = env ? String(env) : "";
|
||||
+ value += second.substr(slash, second.size() - slash);
|
||||
+ final_str += value;
|
||||
+ } else {
|
||||
+ final_str += second;
|
||||
+ }
|
||||
}
|
||||
replace = "";
|
||||
in_replace = false;
|
||||
@@ -1349,6 +1349,9 @@ namespace acommon {
|
||||
# define REPL ".aspell.<lang>.prepl"
|
||||
#endif
|
||||
|
||||
+#undef DICT_DIR
|
||||
+#define DICT_DIR "<$ASPELL_DICT_DIR|home-dir/.guix-profile/lib/aspell>"
|
||||
+#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>"
|
||||
+
|
||||
static const KeyInfo config_keys[] = {
|
||||
// the description should be under 50 chars
|
||||
|
||||
Reference in New Issue
Block a user