aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2022-06-04 08:11:19 -0300
committerDavid Bremner <david@tethera.net>2022-06-18 08:24:46 -0300
commitbfcf9a6c102af9232b6d2e720f919ff1c9b431f8 (patch)
treed84c71f598cbc496cbb21aba94322fac56c7becb
parente167825bca476403b0371fbdf4c8fbdfb4a6f935 (diff)
CLI: set NOTMUCH_CONFIG in hooks.
This addresses a bug report / feature request of Uwe Kleine-König. The assumption is that we always load a config file in the CLI (i.e. we never pass "" as the config file argument to notmuch_database_open_with_config). [1]: id:8baa58c3-7ab9-ec03-1bbd-28aa5be838f2@kleine-koenig.org
-rw-r--r--hooks.c7
-rwxr-xr-xtest/T400-hooks.sh4
2 files changed, 7 insertions, 4 deletions
diff --git a/hooks.c b/hooks.c
index ec89b22e..0cf72e74 100644
--- a/hooks.c
+++ b/hooks.c
@@ -27,6 +27,7 @@ int
notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
{
char *hook_path;
+ const char *config_path;
int status = 0;
pid_t pid;
@@ -38,6 +39,12 @@ notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
return 1;
}
+ config_path = notmuch_config_path (notmuch);
+ if (setenv ("NOTMUCH_CONFIG", config_path, 1)) {
+ perror ("setenv");
+ return 1;
+ }
+
/* Check access before fork() for speed and simplicity of error handling. */
if (access (hook_path, X_OK) == -1) {
/* Ignore ENOENT. It's okay not to have a hook, hook dir, or even
diff --git a/test/T400-hooks.sh b/test/T400-hooks.sh
index 9ceefbad..35bf70c0 100755
--- a/test/T400-hooks.sh
+++ b/test/T400-hooks.sh
@@ -215,9 +215,6 @@ EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "NOTMUCH_CONFIG is set"
- if [ "${config}" = "profile" ]; then
- test_subtest_known_broken
- fi
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
NOTMUCH_NEW
cat <<EOF > EXPECTED
@@ -226,7 +223,6 @@ EOF
test_expect_equal_file_nonempty EXPECTED OUTPUT
test_begin_subtest "NOTMUCH_CONFIG is set by --config"
- test_subtest_known_broken
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
cp "${EXPECTED_CONFIG}" "${EXPECTED_CONFIG}.alternate"
notmuch --config "${EXPECTED_CONFIG}.alternate" new