--- /dev/null
+Return-Path: <jani@nikula.org>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 9DC27431FAF\r
+ for <notmuch@notmuchmail.org>; Fri, 3 Aug 2012 14:51:58 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+ tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id tgHJdAgnnTSI for <notmuch@notmuchmail.org>;\r
+ Fri, 3 Aug 2012 14:51:58 -0700 (PDT)\r
+Received: from mail-lpp01m010-f53.google.com (mail-lpp01m010-f53.google.com\r
+ [209.85.215.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id AA7E9431FAE\r
+ for <notmuch@notmuchmail.org>; Fri, 3 Aug 2012 14:51:57 -0700 (PDT)\r
+Received: by lagu2 with SMTP id u2so681800lag.26\r
+ for <notmuch@notmuchmail.org>; Fri, 03 Aug 2012 14:51:56 -0700 (PDT)\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+ d=google.com; s=20120113;\r
+ h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state;\r
+ bh=HKPQnPfr1XNFoFW8Qgk92V1jXldce16ySol1O3IMbBA=;\r
+ b=YyBW3Ej0BYfUXi+nbGImWW5KC8PgAU8ARCCtA03PDNOiF7eDJylsQi+1qf49+goyma\r
+ XpoCq4l1v0PFalZSL3/iu+ZVrXiAQq+KNXvUk9e02ZjvTRZgxs1P59ojoSE/al0aVJ2f\r
+ qJsL7NqLKSFJA+DcLjtKbc5LG6sVOzRSWawH+YvpeHFxeLfua+pGfzsZQblPJmwNU6My\r
+ c8WK5xNjIuPqFcf1HLIhM5dLdS4rqatzTsGKadfXD6m5IUwWqTdW9vpkEH0m18KNF5zM\r
+ 6gsHEyVoRZPw9Ik+mTGsf7YGLhNMf4Gl1jQbIJdEpE8yJSTgs3iaSED0rcAleFzoq7H3\r
+ Cc9A==\r
+Received: by 10.112.30.41 with SMTP id p9mr1269272lbh.26.1344030716048;\r
+ Fri, 03 Aug 2012 14:51:56 -0700 (PDT)\r
+Received: from localhost (dsl-hkibrasgw4-fe51df00-27.dhcp.inet.fi.\r
+ [80.223.81.27])\r
+ by mx.google.com with ESMTPS id lx11sm1277825lab.4.2012.08.03.14.51.53\r
+ (version=SSLv3 cipher=OTHER); Fri, 03 Aug 2012 14:51:54 -0700 (PDT)\r
+From: Jani Nikula <jani@nikula.org>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 0/7] notmuch search date:since..until query support\r
+Date: Sat, 4 Aug 2012 00:51:45 +0300\r
+Message-Id: <cover.1344028781.git.jani@nikula.org>\r
+X-Mailer: git-send-email 1.7.9.5\r
+X-Gm-Message-State:\r
+ ALoCoQnql+rK2iEk/v5/iMf+eVjd2uqQsxK8v/GMeC6mmsU85kx1kA5HzyOsI419XSHlXB1eJwmv\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://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: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 03 Aug 2012 21:51:58 -0000\r
+\r
+Hi all, this series adds a decent date range query support to the\r
+notmuch lib. For example:\r
+\r
+ $ notmuch search date:2012-01-01..2012-02-01\r
+ $ notmuch search date:10:00..13:00\r
+ $ notmuch search date:monday..friday\r
+ $ notmuch search date:2months5days..2weeks5hours\r
+ $ notmuch search date:last-week..yesterday\r
+ $ notmuch search date:today..\r
+ $ notmuch search date:..today\r
+\r
+and so on. See the man page in patch 7 for further details. Or play with\r
+the test tool from patch 3 to see how the parser works (try -h for\r
+help):\r
+\r
+ $ test/parse-time -d yesterday\r
+ Fri Aug 03 00:00:00 +0300 2012\r
+\r
+The added tests are fairly limited, but things are in place for both\r
+testing the date parser directly (using the above tool) and through\r
+notmuch. I'm hoping these could be amended later.\r
+\r
+Finally, the git repo for the parser itself is at [1], with some\r
+background info in the README [2]. I'm not sure if I'll maintain the git\r
+repo if and when this gets merged to notmuch, but it contains the\r
+history since the last time I submitted this.\r
+\r
+BR,\r
+Jani.\r
+\r
+[1] https://gitorious.org/parse-time-string\r
+[2] https://gitorious.org/parse-time-string/parse-time-string/blobs/master/README\r
+\r
+\r
+Jani Nikula (7):\r
+ build: drop the -Wswitch-enum warning\r
+ lib: add a date/time parser module\r
+ test: add new test tool parse-time for date/time parser\r
+ test: add smoke tests for the date/time parser module\r
+ lib: add date range query support\r
+ test: add tests for date:since..until range queries\r
+ man: document the date:since..until range queries\r
+\r
+ configure | 2 +-\r
+ lib/Makefile.local | 2 +\r
+ lib/database-private.h | 1 +\r
+ lib/database.cc | 5 +\r
+ lib/parse-time-string.c | 1384 +++++++++++++++++++++++++++++++++++++++\r
+ lib/parse-time-string.h | 95 +++\r
+ lib/parse-time-vrp.cc | 40 ++\r
+ lib/parse-time-vrp.h | 19 +\r
+ man/man7/notmuch-search-terms.7 | 147 ++++-\r
+ test/Makefile.local | 9 +-\r
+ test/basic | 2 +-\r
+ test/notmuch-test | 2 +\r
+ test/parse-time-string | 26 +\r
+ test/parse-time.c | 145 ++++\r
+ test/search-date | 21 +\r
+ 15 files changed, 1884 insertions(+), 16 deletions(-)\r
+ create mode 100644 lib/parse-time-string.c\r
+ create mode 100644 lib/parse-time-string.h\r
+ create mode 100644 lib/parse-time-vrp.cc\r
+ create mode 100644 lib/parse-time-vrp.h\r
+ create mode 100755 test/parse-time-string\r
+ create mode 100644 test/parse-time.c\r
+ create mode 100755 test/search-date\r
+\r
+-- \r
+1.7.9.5\r
+\r