From 4511bee9339d0f023d949993364277833a622e9d Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Fri, 31 Oct 2014 00:59:26 +0100 Subject: [PATCH] [PATCH v5 0/7] notmuch search --output=sender/recipients --- fd/2daac722933c413b8a0196733184b3f0c0a0a8 | 124 ++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 fd/2daac722933c413b8a0196733184b3f0c0a0a8 diff --git a/fd/2daac722933c413b8a0196733184b3f0c0a0a8 b/fd/2daac722933c413b8a0196733184b3f0c0a0a8 new file mode 100644 index 000000000..a260ebf30 --- /dev/null +++ b/fd/2daac722933c413b8a0196733184b3f0c0a0a8 @@ -0,0 +1,124 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 9BE6D429E26 + for ; Thu, 30 Oct 2014 16:59:52 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -2.3 +X-Spam-Level: +X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id tIkl28v2cwka for ; + Thu, 30 Oct 2014 16:59:44 -0700 (PDT) +Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) + by olra.theworths.org (Postfix) with ESMTP id AFD05431FC2 + for ; Thu, 30 Oct 2014 16:59:44 -0700 (PDT) +Received: from localhost (unknown [192.168.200.7]) + by max.feld.cvut.cz (Postfix) with ESMTP id 10F4D5CCFFD + for ; Fri, 31 Oct 2014 00:59:44 +0100 (CET) +X-Virus-Scanned: IMAP STYX AMAVIS +Received: from max.feld.cvut.cz ([192.168.200.1]) + by localhost (styx.feld.cvut.cz [192.168.200.7]) (amavisd-new, + port 10044) with ESMTP id 1gJ7QYMSdFgv for ; + Fri, 31 Oct 2014 00:59:40 +0100 (CET) +Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) + by max.feld.cvut.cz (Postfix) with ESMTP id 3C3DA5CCFF4 + for ; Fri, 31 Oct 2014 00:59:40 +0100 (CET) +Received: from wsh by steelpick.2x.cz with local (Exim 4.84) + (envelope-from ) + id 1Xjzcs-0005bD-Oi; Fri, 31 Oct 2014 00:59:34 +0100 +From: Michal Sojka +To: notmuch@notmuchmail.org +Subject: [PATCH v5 0/7] notmuch search --output=sender/recipients +Date: Fri, 31 Oct 2014 00:59:26 +0100 +Message-Id: <1414713573-21461-1-git-send-email-sojkam1@fel.cvut.cz> +X-Mailer: git-send-email 2.1.1 +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 30 Oct 2014 23:59:52 -0000 + +Hi all, + +this is v5 of the search --output=address series. It obsoletes v4 +(id:1414421455-3037-1-git-send-email-sojkam1@fel.cvut.cz). + +I addresses comments from Mark and Tomi. Based on the comments to v4 +and earlier versions, patches 1-4 should be ready for merging. Patch 5 +is a non-controversial part of the controversial --filter-by patch and +could be probably merged after review. + +Patch 6 needs at least a review and patch 7 needs more discussion. + +Changes from v4: + +- patch changed to commit in commit messages +- opt->format changed to format +- Added comments to process_* functions +- duplicite changed to duplicate +- check_duplicate changed to is_duplicate +- Deduplication was split into two commits: basic deduplication + without a command line option and configurable deduplication with + --fiter-by. + +Changes from v3: + +- `o' renamed to `opt'. +- Conversion of --output from keyword to keyword-flags is now a + separate patch. +- Structured output formats print name and address separately. +- Added test for --format=json. +- Changed --filter-by default to nameaddr. In v2, the default was + addrfold, in v3 the default was no filtering at all. I believe that + Mark's suggestion to make nameaddr the default is good trade off. +- Added new --output=count +- Minor style fixes +- Few typos fixed +- There is no way to output unfiltered (duplicite) addresses. + Hopefully, the introduction of --output=count is sufficient + replacement for this "feature". + +Cheers, +-Michal + + +Jani Nikula (1): + cli: Add support for parsing keyword-flag arguments + +Michal Sojka (6): + cli: search: Refactor passing of command line options + cli: search: Convert --output to keyword-flag argument + cli: search: Add --output={sender,recipients} + cli: search: Do not output duplicate addresses + cli: search: Add --output=count + cli: search: Add --filter-by option to configure address filtering + + command-line-arguments.c | 6 +- + command-line-arguments.h | 1 + + completion/notmuch-completion.bash | 8 +- + completion/notmuch-completion.zsh | 4 +- + doc/man1/notmuch-search.rst | 66 ++++++- + notmuch-search.c | 388 +++++++++++++++++++++++++++++-------- + test/T090-search-output.sh | 137 +++++++++++++ + test/T095-search-filter-by.sh | 64 ++++++ + test/T410-argument-parsing.sh | 3 +- + test/arg-test.c | 9 + + 10 files changed, 604 insertions(+), 82 deletions(-) + create mode 100755 test/T095-search-filter-by.sh + +-- +2.1.1 + -- 2.26.2