From: Michal Sojka Date: Fri, 31 Oct 2014 15:32:01 +0000 (+0100) Subject: Re: [PATCH v5 0/7] notmuch search --output=sender/recipients X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b55d7950b096cc89ebcd5685e8dbcf1006e83615;p=notmuch-archives.git Re: [PATCH v5 0/7] notmuch search --output=sender/recipients --- diff --git a/33/51d848eafe2a72fbbcd78e12ea95e3bbef58ee b/33/51d848eafe2a72fbbcd78e12ea95e3bbef58ee new file mode 100644 index 000000000..08ab937c0 --- /dev/null +++ b/33/51d848eafe2a72fbbcd78e12ea95e3bbef58ee @@ -0,0 +1,200 @@ +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 F29A6431FC2 + for ; Fri, 31 Oct 2014 08:32:18 -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 SovfvLYH09Jo for ; + Fri, 31 Oct 2014 08:32:13 -0700 (PDT) +Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) + by olra.theworths.org (Postfix) with ESMTP id B6DA6431FC9 + for ; Fri, 31 Oct 2014 08:32:12 -0700 (PDT) +Received: from localhost (unknown [192.168.200.7]) + by max.feld.cvut.cz (Postfix) with ESMTP id CB1DA5CD0AC; + Fri, 31 Oct 2014 16:32:10 +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 FKIiKX-YlJut; Fri, 31 Oct 2014 16:32:07 +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 145385CCF5E; + Fri, 31 Oct 2014 16:32:07 +0100 (CET) +Received: from wsh by steelpick.2x.cz with local (Exim 4.84) + (envelope-from ) + id 1XkEBF-000245-AA; Fri, 31 Oct 2014 16:32:01 +0100 +From: Michal Sojka +To: Mark Walters , notmuch@notmuchmail.org +Subject: Re: [PATCH v5 0/7] notmuch search --output=sender/recipients +In-Reply-To: <8761f0v8v7.fsf@qmul.ac.uk> +References: <1414713573-21461-1-git-send-email-sojkam1@fel.cvut.cz> + <878ujwvctt.fsf@qmul.ac.uk> <8761f0v8v7.fsf@qmul.ac.uk> +User-Agent: Notmuch/0.18.2+157~ga00d359 (http://notmuchmail.org) Emacs/24.3.1 + (x86_64-pc-linux-gnu) +Date: Fri, 31 Oct 2014 16:32:01 +0100 +Message-ID: <87vbn06yry.fsf@steelpick.2x.cz> +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable +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: Fri, 31 Oct 2014 15:32:19 -0000 + +On Fri, Oct 31 2014, Mark Walters wrote: +> My only query is in the text output: should the name part be printed as +> a quoted string. For example currently I get a line of the form +> +> Bloggs, Fred + +Good point. + +On Fri, Oct 31 2014, Mark Walters wrote: +> Hi +> +> I attach a patch which does the quoting for real names but I don't know +> if we want it: it changes (example taken from the test suite) +> +> Fran=C3=A7ois Boulogne to +> +> =3D?iso-8859-1?q?Fran=3DE7ois?=3D Boulogne +> +> (which is what was in the original email) +> +> Plausibly the best thing is just to leave the series as is, so the +> text output is readable and parseable in the common cases. +> +> Anyway the patch is attached if anyone wants to experiment. +> +> Best wishes +> +> Mark +> +> From 53b1ced2d6a9fbbba93448325f795e6b99faa240 Mon Sep 17 00:00:00 2001 +> From: Mark Walters +> Date: Fri, 31 Oct 2014 10:11:40 +0000 +> Subject: [PATCH] search: quote real names for output=3Dsender/recipient i= +n text +> format +> +> This quotes the real name (when gmime thinks appropriate) for the text +> output. For the other outputs the real name is separate from the +> address so the consumer can do any quoting necessary. +> --- +> notmuch-search.c | 8 ++++---- +> test/T090-search-output.sh | 8 ++++---- +> 2 files changed, 8 insertions(+), 8 deletions(-) +> +> diff --git a/notmuch-search.c b/notmuch-search.c +> index eae749a..8eac161 100644 +> --- a/notmuch-search.c +> +++ b/notmuch-search.c +> @@ -47,6 +47,7 @@ typedef struct { +> typedef struct { +> const char *name; +> const char *addr; +> + const char *string; +> } mailbox_t; +>=20=20 +> /* Return two stable query strings that identify exactly the matched +> @@ -255,15 +256,13 @@ print_mailbox (const search_options_t *opt, const m= +ailbox_t *mailbox) +> { +> const char *name =3D mailbox->name; +> const char *addr =3D mailbox->addr; +> + const char *string =3D mailbox->string; +> sprinter_t *format =3D opt->format; +>=20=20 +> if (format->is_text_printer) { +> char *mailbox_str; +>=20=20 +> - if (name && *name) +> - mailbox_str =3D talloc_asprintf (format, "%s <%s>", name, addr); +> - else +> - mailbox_str =3D talloc_strdup (format, addr); +> + mailbox_str =3D talloc_strdup (format, string); +>=20=20 +> if (! mailbox_str) { +> fprintf (stderr, "Error: out of memory\n"); +> @@ -309,6 +308,7 @@ process_address_list (const search_options_t *opt, GH= +ashTable *addrs, +> mailbox_t mbx =3D { +> .name =3D internet_address_get_name (address), +> .addr =3D internet_address_mailbox_get_addr (mailbox), +> + .string =3D internet_address_to_string (address, TRUE), + +I'd prefer having the second parameter (encode) FALSE. This will still +add quotes when necessary, but does not encode non-ascii characters so +the result would be human readable. + +Another question is whether to add .string to mailbox_t. In this patch +it doesn't matter, but if --output=3Dcount patch will be merged, this +would mean that memory consumption doubles, because with --output=3Dcount +the addresses are kept in memory and printed only after the search is +completed. It would be therefore better to construct a new +InternetAddressMailbox from name and addr in print_mailbox() and perform +the conversion to string there. Thoughts? + +Thanks, +-Michal + +> }; +>=20=20 +> if (is_duplicate (opt, addrs, mbx.name, mbx.addr)) +> diff --git a/test/T090-search-output.sh b/test/T090-search-output.sh +> index 841a721..776e3f4 100755 +> --- a/test/T090-search-output.sh +> +++ b/test/T090-search-output.sh +> @@ -390,7 +390,7 @@ test_expect_equal_file OUTPUT EXPECTED +> test_begin_subtest "--output=3Dsender" +> notmuch search --output=3Dsender '*' >OUTPUT +> cat <EXPECTED +> -Fran=C3=A7ois Boulogne +> +=3D?iso-8859-1?q?Fran=3DE7ois?=3D Boulogne +> Olivier Berger +> Chris Wilson +> Carl Worth +> @@ -437,7 +437,7 @@ test_begin_subtest "--output=3Drecipients" +> notmuch search --output=3Drecipients '*' >OUTPUT +> cat <EXPECTED +> Allan McRae +> -Discussion about the Arch User Repository (AUR) +> +"Discussion about the Arch User Repository (AUR)" +> olivier.berger@it-sudparis.eu +> notmuch@notmuchmail.org +> notmuch +> @@ -449,9 +449,9 @@ test_expect_equal_file OUTPUT EXPECTED +> test_begin_subtest "--output=3Dsender --output=3Drecipients" +> notmuch search --output=3Dsender --output=3Drecipients '*' >OUTPUT +> cat <EXPECTED +> -Fran=C3=A7ois Boulogne +> +=3D?iso-8859-1?q?Fran=3DE7ois?=3D Boulogne +> Allan McRae +> -Discussion about the Arch User Repository (AUR) +> +"Discussion about the Arch User Repository (AUR)" +> Olivier Berger +> olivier.berger@it-sudparis.eu +> Chris Wilson +> --=20 +> 1.7.10.4