mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 11:58:10 +01:00
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
This commit is contained in:
parent
e167825bca
commit
bfcf9a6c10
2 changed files with 7 additions and 4 deletions
7
hooks.c
7
hooks.c
|
@ -27,6 +27,7 @@ int
|
||||||
notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
|
notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
|
||||||
{
|
{
|
||||||
char *hook_path;
|
char *hook_path;
|
||||||
|
const char *config_path;
|
||||||
int status = 0;
|
int status = 0;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
|
@ -38,6 +39,12 @@ notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
|
||||||
return 1;
|
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. */
|
/* Check access before fork() for speed and simplicity of error handling. */
|
||||||
if (access (hook_path, X_OK) == -1) {
|
if (access (hook_path, X_OK) == -1) {
|
||||||
/* Ignore ENOENT. It's okay not to have a hook, hook dir, or even
|
/* Ignore ENOENT. It's okay not to have a hook, hook dir, or even
|
||||||
|
|
|
@ -215,9 +215,6 @@ EOF
|
||||||
test_expect_equal_file EXPECTED OUTPUT
|
test_expect_equal_file EXPECTED OUTPUT
|
||||||
|
|
||||||
test_begin_subtest "NOTMUCH_CONFIG is set"
|
test_begin_subtest "NOTMUCH_CONFIG is set"
|
||||||
if [ "${config}" = "profile" ]; then
|
|
||||||
test_subtest_known_broken
|
|
||||||
fi
|
|
||||||
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
|
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
|
||||||
NOTMUCH_NEW
|
NOTMUCH_NEW
|
||||||
cat <<EOF > EXPECTED
|
cat <<EOF > EXPECTED
|
||||||
|
@ -226,7 +223,6 @@ EOF
|
||||||
test_expect_equal_file_nonempty EXPECTED OUTPUT
|
test_expect_equal_file_nonempty EXPECTED OUTPUT
|
||||||
|
|
||||||
test_begin_subtest "NOTMUCH_CONFIG is set by --config"
|
test_begin_subtest "NOTMUCH_CONFIG is set by --config"
|
||||||
test_subtest_known_broken
|
|
||||||
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
|
create_printenv_hook "pre-new" NOTMUCH_CONFIG OUTPUT
|
||||||
cp "${EXPECTED_CONFIG}" "${EXPECTED_CONFIG}.alternate"
|
cp "${EXPECTED_CONFIG}" "${EXPECTED_CONFIG}.alternate"
|
||||||
notmuch --config "${EXPECTED_CONFIG}.alternate" new
|
notmuch --config "${EXPECTED_CONFIG}.alternate" new
|
||||||
|
|
Loading…
Reference in a new issue