From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 318FC6DE02B5 for ; Tue, 30 Oct 2018 20:33:22 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.334 X-Spam-Level: X-Spam-Status: No, score=-0.334 tagged_above=-999 required=5 tests=[AWL=-0.333, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7gpGcFgGtDfL for ; Tue, 30 Oct 2018 20:33:20 -0700 (PDT) X-Greylist: delayed 12005 seconds by postgrey-1.36 at arlo; Tue, 30 Oct 2018 20:33:20 PDT Received: from 9.mo177.mail-out.ovh.net (9.mo177.mail-out.ovh.net [46.105.72.238]) by arlo.cworth.org (Postfix) with ESMTPS id 5F35A6DE024E for ; Tue, 30 Oct 2018 20:33:19 -0700 (PDT) Received: from player746.ha.ovh.net (unknown [10.109.146.163]) by mo177.mail-out.ovh.net (Postfix) with ESMTP id 9CE85D09D1 for ; Wed, 31 Oct 2018 00:55:40 +0100 (CET) Received: from kakoune.org (unknown.telstraglobal.net [210.176.38.190]) (Authenticated sender: mawww@kakoune.org) by player746.ha.ovh.net (Postfix) with ESMTPSA id D69B050009B; Wed, 31 Oct 2018 00:55:36 +0100 (CET) From: mawww@kakoune.org To: notmuch@notmuchmail.org Subject: [PATCH 2/2] cli: notmuch show support for --include-html with --format=text Date: Wed, 31 Oct 2018 10:54:32 +1100 Message-Id: <20181030235432.4901-2-mawww@kakoune.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20181030235432.4901-1-mawww@kakoune.org> References: <87lg6iqlfc.fsf@tethera.net> <20181030235432.4901-1-mawww@kakoune.org> X-Ovh-Tracer-Id: 17256667873344755477 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedriedugddujecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecu X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 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: Wed, 31 Oct 2018 03:33:22 -0000 From: Maxime Coste --- NEWS | 3 ++- doc/man1/notmuch-show.rst | 11 ++++++----- notmuch-show.c | 9 ++++++--- test/T190-multipart.sh | 9 +++++++++ 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 64de9999..434f920a 100644 --- a/NEWS +++ b/NEWS @@ -4,7 +4,8 @@ Notmuch 0.29 (UNRELEASED) Command Line Interface ---------------------- -`notmuch show` now supports --body=false with --format=text +`notmuch show` now supports --body=false and --include-html with +--format=text Notmuch 0.28 (2018-10-12) ========================= diff --git a/doc/man1/notmuch-show.rst b/doc/man1/notmuch-show.rst index f3c32fd2..a2708a04 100644 --- a/doc/man1/notmuch-show.rst +++ b/doc/man1/notmuch-show.rst @@ -183,11 +183,12 @@ Supported options for **show** include output is much faster and substantially smaller. ``--include-html`` - Include "text/html" parts as part of the output (currently only - supported with ``--format=json`` and ``--format=sexp``). By default, - unless ``--part=N`` is used to select a specific part or - ``--include-html`` is used to include all "text/html" parts, no - part with content type "text/html" is included in the output. + Include "text/html" parts as part of the output (currently + only supported with ``--format=text``, ``--format=json`` and + ``--format=sexp``). By default, unless ``--part=N`` is used to + select a specific part or ``--include-html`` is used to include all + "text/html" parts, no part with content type "text/html" is included + in the output. A common use of **notmuch show** is to display a single thread of email messages. For this, use a search term of "thread:" as can be diff --git a/notmuch-show.c b/notmuch-show.c index 42fe27cc..07e9a5db 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -584,7 +584,8 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node, if (leaf) { if (g_mime_content_type_is_type (content_type, "text", "*") && - !g_mime_content_type_is_type (content_type, "text", "html")) + (params->include_html || + ! g_mime_content_type_is_type (content_type, "text", "html"))) { show_text_part_content (node->part, stream, 0); } else { @@ -1218,8 +1219,10 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[]) } if (params.include_html && - (format != NOTMUCH_FORMAT_JSON && format != NOTMUCH_FORMAT_SEXP)) { - fprintf (stderr, "Warning: --include-html only implemented for format=json and format=sexp\n"); + (format != NOTMUCH_FORMAT_TEXT && + format != NOTMUCH_FORMAT_JSON && + format != NOTMUCH_FORMAT_SEXP)) { + fprintf (stderr, "Warning: --include-html only implemented for format=text, format=json and format=sexp\n"); } query_string = query_string_from_args (config, argc-opt_index, argv+opt_index); diff --git a/test/T190-multipart.sh b/test/T190-multipart.sh index 81c4d772..9ad141cb 100755 --- a/test/T190-multipart.sh +++ b/test/T190-multipart.sh @@ -325,6 +325,15 @@ Non-text part: text/html EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "--format=text --include-html --part=5, rfc822's html part" +notmuch show --format=text --include-html --part=5 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT +cat <EXPECTED + part{ ID: 5, Content-type: text/html +

This is an embedded message, with a multipart/alternative part.

+ part} +EOF +test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "--format=text --part=6, rfc822's text part" notmuch show --format=text --part=6 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT cat <EXPECTED -- 2.14.5