static command_t commands[] = {
- { NULL, notmuch_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE,
+ { NULL, notmuch_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE
+ | NOTMUCH_COMMAND_CONFIG_LOAD,
"Notmuch main command." },
- { "setup", notmuch_setup_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE,
+ { "setup", notmuch_setup_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE
+ | NOTMUCH_COMMAND_CONFIG_LOAD,
"Interactively set up notmuch for first use." },
{ "new", notmuch_new_command,
NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE |
*/
static int
notmuch_command (notmuch_config_t *config,
- unused(notmuch_database_t *notmuch),
+ notmuch_database_t *notmuch,
unused(int argc), unused(char **argv))
{
char *db_path;
* notmuch_setup_command which will give a nice welcome message,
* and interactively guide the user through the configuration. */
if (notmuch_config_is_new (config))
- return notmuch_setup_command (config, NULL, 0, NULL);
+ return notmuch_setup_command (config, notmuch, 0, NULL);
/* Notmuch is already configured, but is there a database? */
db_path = talloc_asprintf (config, "%s/%s",
- notmuch_config_get_database_path (config),
+ notmuch_config_get (notmuch, NOTMUCH_CONFIG_DATABASE_PATH),
".notmuch");
if (stat (db_path, &st)) {
if (errno != ENOENT) {
"or any other interface described at https://notmuchmail.org\n\n"
"And don't forget to run \"notmuch new\" whenever new mail arrives.\n\n"
"Have fun, and may your inbox never have much mail.\n\n",
- notmuch_config_get_user_name (config),
- notmuch_config_get_user_primary_email (config));
+ notmuch_config_get (notmuch, NOTMUCH_CONFIG_USER_NAME),
+ notmuch_config_get (notmuch, NOTMUCH_CONFIG_PRIMARY_EMAIL));
return EXIT_SUCCESS;
}
NULL,
¬much,
&status_string);
- if (status) {
+
+ if (status == NOTMUCH_STATUS_NO_CONFIG && ! (command->mode & NOTMUCH_COMMAND_CONFIG_CREATE)) {
+ fputs ("Try running 'notmuch setup' to create a configuration.", stderr);
+ goto DONE;
+ }
+
+ if (status && (status != NOTMUCH_STATUS_NO_CONFIG)) {
if (status_string) {
fputs (status_string, stderr);
free (status_string);
}
-
- if (status == NOTMUCH_STATUS_NO_CONFIG)
- fputs ("Try running 'notmuch setup' to create a configuration.", stderr);
goto DONE;
}
}
if (command->mode & NOTMUCH_COMMAND_CONFIG_OPEN) {
- config = notmuch_config_open (local, config_file_name, command->mode);
+ config = notmuch_config_open (notmuch, config_file_name, command->mode);
if (! config) {
ret = EXIT_FAILURE;
goto DONE;