v4 of libconfig / single argument date / named query patches
authorDavid Bremner <david@tethera.net>
Sun, 8 May 2016 00:04:37 +0000 (21:04 +2100)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 23:21:46 +0000 (16:21 -0700)
45/b71031e28e7ea8706f6fd39509eb7d776a8845 [new file with mode: 0644]

diff --git a/45/b71031e28e7ea8706f6fd39509eb7d776a8845 b/45/b71031e28e7ea8706f6fd39509eb7d776a8845
new file mode 100644 (file)
index 0000000..ea38610
--- /dev/null
@@ -0,0 +1,305 @@
+Return-Path: <bremner@tethera.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 756886DE0350\r
+ for <notmuch@notmuchmail.org>; Sat,  7 May 2016 17:05:05 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.013\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.013 tagged_above=-999 required=5\r
+ tests=[AWL=-0.002, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01]\r
+ autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id hr39QgHBqtdM for <notmuch@notmuchmail.org>;\r
+ Sat,  7 May 2016 17:04:57 -0700 (PDT)\r
+Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197])\r
+ by arlo.cworth.org (Postfix) with ESMTPS id CDC846DE00EB\r
+ for <notmuch@notmuchmail.org>; Sat,  7 May 2016 17:04:56 -0700 (PDT)\r
+Received: from remotemail by fethera.tethera.net with local (Exim 4.84)\r
+ (envelope-from <bremner@tethera.net>) id 1azCDJ-00013V-FG\r
+ for notmuch@notmuchmail.org; Sat, 07 May 2016 20:04:49 -0400\r
+Received: (nullmailer pid 17178 invoked by uid 1000);\r
+ Sun, 08 May 2016 00:04:53 -0000\r
+From: David Bremner <david@tethera.net>\r
+To: notmuch@notmuchmail.org\r
+Subject: v4 of libconfig / single argument date / named query patches\r
+Date: Sat,  7 May 2016 21:04:37 -0300\r
+Message-Id: <1462665889-17121-1-git-send-email-david@tethera.net>\r
+X-Mailer: git-send-email 2.8.1\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=UTF-8\r
+Content-Transfer-Encoding: 8bit\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 08 May 2016 00:05:05 -0000\r
+\r
+This obsoletes\r
+\r
+     id:1462065879-29860-1-git-send-email-david@tethera.net\r
+\r
+This is rebased against master, and hopefully fixes most of Tomi's comments.\r
+\r
+Here is a diff against the last version\r
+\r
+diff --git a/configure b/configure\r
+index 378c3dd..f94f7c7 100755\r
+--- a/configure\r
++++ b/configure\r
+@@ -366,7 +366,7 @@ if [ ${have_xapian} = "1" ]; then\r
+ #include <xapian.h>\r
+ class TestCompactor : public Xapian::Compactor { };\r
+ EOF\r
+-    if ${CXX} ${CXXLAGS} ${xapian_cxxflags} -c _compact.cc -o _compact.o > /dev/null 2>&1\r
++    if ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} -c _compact.cc -o _compact.o > /dev/null 2>&1\r
+     then\r
+       have_xapian_compact=1\r
+       printf "Yes.\n"\r
+@@ -379,7 +379,7 @@ EOF\r
+ #include <xapian.h>\r
+ class TitleFieldProcessor : public Xapian::FieldProcessor { };\r
+ EOF\r
+-    if ${CXX} ${CXXLAGS} ${xapian_cxxflags} -c _field_processor.cc -o _field_processor.o > /dev/null 2>&1\r
++    if ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} -c _field_processor.cc -o _field_processor.o > /dev/null 2>&1\r
+     then\r
+       have_xapian_field_processor=1\r
+       printf "Yes.\n"\r
+diff --git a/lib/Makefile.local b/lib/Makefile.local\r
+index 35caa3e..beb9635 100644\r
+--- a/lib/Makefile.local\r
++++ b/lib/Makefile.local\r
+@@ -49,7 +49,7 @@ libnotmuch_cxx_srcs =                \\r
+       $(dir)/index.cc         \\r
+       $(dir)/message.cc       \\r
+       $(dir)/query.cc         \\r
+-      $(dir)/query-fp.cc \\r
++      $(dir)/query-fp.cc      \\r
+       $(dir)/config.cc        \\r
+       $(dir)/thread.cc\r
\r
+diff --git a/lib/config.cc b/lib/config.cc\r
+index e581f32..35c917b 100644\r
+--- a/lib/config.cc\r
++++ b/lib/config.cc\r
+@@ -1,6 +1,6 @@\r
+-/* metadata.cc - API for database metadata\r
++/* config.cc - API for database metadata\r
+  *\r
+- * Copyright © 2015 David Bremner\r
++ * Copyright © 2016 David Bremner\r
+  *\r
+  * This program is free software: you can redistribute it and/or modify\r
+  * it under the terms of the GNU General Public License as published by\r
+@@ -22,7 +22,7 @@\r
+ #include "notmuch-private.h"\r
+ #include "database-private.h"\r
\r
+-static const std::string CONFIG_PREFIX="C";\r
++static const std::string CONFIG_PREFIX = "C";\r
\r
+ struct _notmuch_config_list {\r
+     notmuch_database_t *notmuch;\r
+@@ -32,7 +32,8 @@ struct _notmuch_config_list {\r
+ };\r
\r
+ static int\r
+-_notmuch_config_list_destroy (notmuch_config_list_t *list) {\r
++_notmuch_config_list_destroy (notmuch_config_list_t *list)\r
++{\r
+     delete list->iterator;\r
+     return 0;\r
+ }\r
+@@ -51,7 +52,7 @@ notmuch_database_set_config (notmuch_database_t *notmuch,\r
\r
+     try {\r
+       db = static_cast <Xapian::WritableDatabase *> (notmuch->xapian_db);\r
+-      db->set_metadata (CONFIG_PREFIX+key, value);\r
++      db->set_metadata (CONFIG_PREFIX + key, value);\r
+     } catch (const Xapian::Error &error) {\r
+       status = NOTMUCH_STATUS_XAPIAN_EXCEPTION;\r
+       notmuch->exception_reported = TRUE;\r
+@@ -71,7 +72,7 @@ _metadata_value (notmuch_database_t *notmuch,\r
+     notmuch_status_t status = NOTMUCH_STATUS_SUCCESS;\r
\r
+     try {\r
+-      value = notmuch->xapian_db->get_metadata (CONFIG_PREFIX+key);\r
++      value = notmuch->xapian_db->get_metadata (CONFIG_PREFIX + key);\r
+     } catch (const Xapian::Error &error) {\r
+       status = NOTMUCH_STATUS_XAPIAN_EXCEPTION;\r
+       notmuch->exception_reported = TRUE;\r
+@@ -86,11 +87,12 @@ _metadata_value (notmuch_database_t *notmuch,\r
+ notmuch_status_t\r
+ notmuch_database_get_config (notmuch_database_t *notmuch,\r
+                            const char *key,\r
+-                           char **value) {\r
++                           char **value)\r
++{\r
+     std::string strval;\r
+     notmuch_status_t status;\r
\r
+-    if (!value)\r
++    if (! value)\r
+       return NOTMUCH_STATUS_NULL_POINTER;\r
\r
+     status = _metadata_value (notmuch, key, strval);\r
+@@ -104,14 +106,14 @@ notmuch_database_get_config (notmuch_database_t *notmuch,\r
\r
+ notmuch_status_t\r
+ notmuch_database_get_config_list (notmuch_database_t *notmuch,\r
+-                               const char *prefix,\r
+-                               notmuch_config_list_t **out)\r
++                                const char *prefix,\r
++                                notmuch_config_list_t **out)\r
+ {\r
+     notmuch_config_list_t *list = NULL;\r
+     notmuch_status_t status = NOTMUCH_STATUS_SUCCESS;\r
\r
+     list = talloc (notmuch, notmuch_config_list_t);\r
+-    if (!list) {\r
++    if (! list) {\r
+       status = NOTMUCH_STATUS_OUT_OF_MEMORY;\r
+       goto DONE;\r
+     }\r
+@@ -135,7 +137,7 @@ notmuch_database_get_config_list (notmuch_database_t *notmuch,\r
\r
+     *out = list;\r
\r
+- DONE:\r
++  DONE:\r
+     if (status && list)\r
+       talloc_free (list);\r
\r
+@@ -145,7 +147,7 @@ notmuch_database_get_config_list (notmuch_database_t *notmuch,\r
+ notmuch_bool_t\r
+ notmuch_config_list_valid (notmuch_config_list_t *metadata)\r
+ {\r
+-    if (*(metadata->iterator) == metadata->notmuch->xapian_db->metadata_keys_end())\r
++    if (*(metadata->iterator) == metadata->notmuch->xapian_db->metadata_keys_end ())\r
+       return FALSE;\r
\r
+     return TRUE;\r
+@@ -159,7 +161,7 @@ notmuch_config_list_key (notmuch_config_list_t *list)\r
\r
+     list->current_key = talloc_strdup (list, (**(list->iterator)).c_str () + CONFIG_PREFIX.length ());\r
\r
+-    return  list->current_key;\r
++    return list->current_key;\r
+ }\r
\r
+ const char *\r
+@@ -175,9 +177,9 @@ notmuch_config_list_value (notmuch_config_list_t *list)\r
+       return NULL;\r
\r
+     if (list->current_val)\r
+-      talloc_free(list->current_val);\r
++      talloc_free (list->current_val);\r
\r
+-    list->current_val = talloc_strdup(list, strval.c_str ());\r
++    list->current_val = talloc_strdup (list, strval.c_str ());\r
+     return list->current_val;\r
+ }\r
\r
+diff --git a/lib/database-private.h b/lib/database-private.h\r
+index 5ab4001..1a78b60 100644\r
+--- a/lib/database-private.h\r
++++ b/lib/database-private.h\r
+@@ -144,9 +144,12 @@ operator&=(_notmuch_features &a, _notmuch_features b)\r
+     return a;\r
+ }\r
\r
+-#define NOTMUCH_QUERY_PARSER_FLAGS (Xapian::QueryParser::FLAG_BOOLEAN | Xapian::QueryParser::FLAG_PHRASE | \\r
+-                                  Xapian::QueryParser::FLAG_LOVEHATE | Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE | \\r
+-                                  Xapian::QueryParser::FLAG_WILDCARD | Xapian::QueryParser::FLAG_PURE_NOT)\r
++#define NOTMUCH_QUERY_PARSER_FLAGS (Xapian::QueryParser::FLAG_BOOLEAN | \\r
++                                  Xapian::QueryParser::FLAG_PHRASE | \\r
++                                  Xapian::QueryParser::FLAG_LOVEHATE | \\r
++                                  Xapian::QueryParser::FLAG_BOOLEAN_ANY_CASE | \\r
++                                  Xapian::QueryParser::FLAG_WILDCARD | \\r
++                                  Xapian::QueryParser::FLAG_PURE_NOT)\r
\r
+ struct _notmuch_database {\r
+     notmuch_bool_t exception_reported;\r
+diff --git a/lib/query-fp.cc b/lib/query-fp.cc\r
+index ee5a306..dab78d2 100644\r
+--- a/lib/query-fp.cc\r
++++ b/lib/query-fp.cc\r
+@@ -26,14 +26,16 @@\r
\r
+ #if HAVE_XAPIAN_FIELD_PROCESSOR\r
\r
+-Xapian::Query QueryFieldProcessor::operator()(const std::string & name) {\r
++Xapian::Query\r
++QueryFieldProcessor::operator() (const std::string & name)\r
++{\r
+     std::string key = "query." + name;\r
+     char *expansion;\r
+     notmuch_status_t status;\r
\r
+-    status = notmuch_database_get_config (notmuch, key.c_str(), &expansion);\r
++    status = notmuch_database_get_config (notmuch, key.c_str (), &expansion);\r
+     if (status) {\r
+-      throw Xapian::QueryParserError("error looking up key" + name);\r
++      throw Xapian::QueryParserError ("error looking up key" + name);\r
\r
+     }\r
\r
+diff --git a/notmuch-config.c b/notmuch-config.c\r
+index e4f47e4..f8636d5 100644\r
+--- a/notmuch-config.c\r
++++ b/notmuch-config.c\r
+@@ -903,7 +903,7 @@ notmuch_config_command_set (notmuch_config_t *config, char *item, int argc, char\r
\r
+ static\r
+ void\r
+-_notmuch_config_list_options () {\r
++_notmuch_config_list_built_with () {\r
+     printf("%scompact=%s\n",\r
+          BUILT_WITH_PREFIX,\r
+          notmuch_built_with ("compact") ? "true" : "false");\r
+@@ -972,7 +972,7 @@ notmuch_config_command_list (notmuch_config_t *config)\r
\r
+     g_strfreev (groups);\r
\r
+-    _notmuch_config_list_options ();\r
++    _notmuch_config_list_built_with ();\r
+     return _list_db_config (config);\r
+ }\r
\r
+diff --git a/test/T240-dump-restore.sh b/test/T240-dump-restore.sh\r
+index 758d355..bbfb09b 100755\r
+--- a/test/T240-dump-restore.sh\r
++++ b/test/T240-dump-restore.sh\r
+@@ -97,7 +97,7 @@ test_expect_equal_file dump.expected dump.actual\r
+ # Note, we assume all messages from cworth have a message-id\r
+ # containing cworth.org\r
\r
+-(head -1 dump.expected ; grep 'cworth[.]org' dump.expected) > dump-cworth.expected\r
++{ head -1 dump.expected ; grep 'cworth[.]org' dump.expected; } > dump-cworth.expected\r
\r
+ test_begin_subtest "dump -- from:cworth"\r
+ notmuch dump -- from:cworth > dump-dash-cworth.actual\r
+diff --git a/test/test-lib.sh b/test/test-lib.sh\r
+index e96c184..8fef275 100644\r
+--- a/test/test-lib.sh\r
++++ b/test/test-lib.sh\r
+@@ -747,7 +747,7 @@ notmuch_built_with_sanitize ()\r
\r
+ notmuch_config_sanitize ()\r
+ {\r
+-    notmuch_dir_sanitize | notmuch_options_sanitize\r
++    notmuch_dir_sanitize | notmuch_built_with_sanitize\r
+ }\r
\r
+ # End of notmuch helper functions\r