]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.c
append _unused to the expression defined using unused() macro
[notmuch] / notmuch.c
index 539ac58c445a6e4dd222e987f3e255dde5aa4519..2ddc8fbcdb0b388b1c4b1dc9c6bd44387bf24321 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -26,7 +26,7 @@
  * Notmuch subcommand hook.
  *
  * The return value will be used as notmuch exit status code,
- * preferrably EXIT_SUCCESS or EXIT_FAILURE.
+ * preferably EXIT_SUCCESS or EXIT_FAILURE.
  */
 typedef int (*command_function_t) (notmuch_config_t *config, int argc, char *argv[]);
 
@@ -99,39 +99,36 @@ int notmuch_minimal_options (const char *subcommand_name,
 
 struct _notmuch_client_indexing_cli_choices indexing_cli_choices = { };
 const notmuch_opt_desc_t  notmuch_shared_indexing_options [] = {
-    { .opt_bool = &indexing_cli_choices.try_decrypt,
-      .present = &indexing_cli_choices.try_decrypt_set,
-      .name = "try-decrypt" },
+    { .opt_keyword = &indexing_cli_choices.decrypt_policy,
+      .present = &indexing_cli_choices.decrypt_policy_set, .keywords =
+      (notmuch_keyword_t []){ { "false", NOTMUCH_DECRYPT_FALSE },
+                             { "true", NOTMUCH_DECRYPT_TRUE },
+                             { "auto", NOTMUCH_DECRYPT_AUTO },
+                             { "nostash", NOTMUCH_DECRYPT_NOSTASH },
+                             { 0, 0 } },
+      .name = "decrypt" },
     { }
 };
 
 
 notmuch_status_t
-notmuch_process_shared_indexing_options (notmuch_database_t *notmuch, g_mime_3_unused(notmuch_config_t *config))
+notmuch_process_shared_indexing_options (notmuch_database_t *notmuch)
 {
     if (indexing_cli_choices.opts == NULL)
        indexing_cli_choices.opts = notmuch_database_get_default_indexopts (notmuch);
-    if (indexing_cli_choices.try_decrypt_set) {
+    if (indexing_cli_choices.decrypt_policy_set) {
        notmuch_status_t status;
        if (indexing_cli_choices.opts == NULL)
            return NOTMUCH_STATUS_OUT_OF_MEMORY;
-       status = notmuch_indexopts_set_try_decrypt (indexing_cli_choices.opts, indexing_cli_choices.try_decrypt);
+       status = notmuch_indexopts_set_decrypt_policy (indexing_cli_choices.opts, indexing_cli_choices.decrypt_policy);
        if (status != NOTMUCH_STATUS_SUCCESS) {
-           fprintf (stderr, "Error: Failed to set try_decrypt to %s. (%s)\n",
-                    indexing_cli_choices.try_decrypt ? "True" : "False", notmuch_status_to_string (status));
+           fprintf (stderr, "Error: Failed to set index decryption policy to %d. (%s)\n",
+                    indexing_cli_choices.decrypt_policy, notmuch_status_to_string (status));
            notmuch_indexopts_destroy (indexing_cli_choices.opts);
            indexing_cli_choices.opts = NULL;
            return status;
        }
     }
-#if (GMIME_MAJOR_VERSION < 3)
-    if (indexing_cli_choices.opts && notmuch_indexopts_get_try_decrypt (indexing_cli_choices.opts)) {
-       const char* gpg_path = notmuch_config_get_crypto_gpg_path (config);
-       if (gpg_path && strcmp(gpg_path, "gpg"))
-           fprintf (stderr, "Warning: deprecated crypto.gpg_path is set to '%s'\n"
-                    "\tbut ignoring (use $PATH instead)\n", gpg_path);
-    }
-#endif
     return NOTMUCH_STATUS_SUCCESS;
 }
 
@@ -167,6 +164,10 @@ static command_t commands[] = {
       "Re-index all messages matching the search terms." },
     { "config", notmuch_config_command, NOTMUCH_CONFIG_OPEN,
       "Get or set settings in the notmuch configuration file." },
+#if WITH_EMACS
+    { "emacs-mua", NULL, 0,
+      "send mail with notmuch and emacs." },
+#endif
     { "help", notmuch_help_command, NOTMUCH_CONFIG_CREATE, /* create but don't save config */
       "This message, or more detailed help for the named command." }
 };
@@ -181,6 +182,8 @@ static help_topic_t help_topics[] = {
       "Common search term syntax." },
     { "hooks",
       "Hooks that will be run before or after certain commands." },
+    { "properties",
+      "Message property conventions and documentation." },
 };
 
 static command_t *
@@ -355,7 +358,7 @@ notmuch_help_command (unused (notmuch_config_t * config), int argc, char *argv[]
  */
 static int
 notmuch_command (notmuch_config_t *config,
-                unused(int argc), unused(char *argv[]))
+                unused(int argc), unused(char **argv))
 {
     char *db_path;
     struct stat st;
@@ -460,7 +463,7 @@ main (int argc, char *argv[])
 
     local = talloc_new (NULL);
 
-    g_mime_init (GMIME_ENABLE_RFC2047_WORKAROUNDS);
+    g_mime_init ();
 #if !GLIB_CHECK_VERSION(2, 35, 1)
     g_type_init ();
 #endif
@@ -480,7 +483,8 @@ main (int argc, char *argv[])
     notmuch_process_shared_options (command_name);
 
     command = find_command (command_name);
-    if (!command) {
+    /* if command->function is NULL, try external command */
+    if (!command || !command->function) {
        /* This won't return if the external command is found. */
        if (try_external_command(argv + opt_index))
            fprintf (stderr, "Error: Unknown command '%s' (see \"notmuch help\")\n",