This patch changes the default value of 'dict-dir' to correspond to ~/.guix-profile/lib/aspell rather than $prefix/lib/aspell-X.Y. This is not strictly necessary for the 'aspell' program itself since one can simply set "ASPELL_CONF=dict-dir $HOME/.guix-profile/lib/aspell". However it is necessary for applications that use libaspell since 'ASPELL_CONF' is not honored in this case. See . --- 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..prepl" #endif +#undef DICT_DIR +#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>" + static const KeyInfo config_keys[] = { // the description should be under 50 chars {"actual-dict-dir", KeyInfoString, "", 0} m'>
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/emacs-xyz.scm5
-rw-r--r--gnu/packages/patches/emacs-unpackaged-req.patch24
3 files changed, 29 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 57552d206c..ac5f0e9dbf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -765,6 +765,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
+ %D%/packages/patches/emacs-unpackaged-req.patch \
%D%/packages/patches/emacs-undohist-ignored.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/emacs-zones-called-interactively.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 719c729f62..9bf101ab31 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm