It seems like it should never be necessary to modify these arrays after
initialization.
 static notmuch_bool_t
 _process_keyword_arg (const notmuch_opt_desc_t *arg_desc, const char *arg_str) {
 
-    notmuch_keyword_t *keywords = arg_desc->keywords;
+    const notmuch_keyword_t *keywords = arg_desc->keywords;
 
     while (keywords->name) {
        if (strcmp (arg_str, keywords->name) == 0) {
 
     void *output_var;
     const char *name;
     int  arg_id;
-    struct notmuch_keyword *keywords;
+    const struct notmuch_keyword *keywords;
 } notmuch_opt_desc_t;