unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: David Edmondson <dme@dme.org>
To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org
Subject: Re: [PATCH v1 1/3] notmuch: Include the format parameter of text/plain parts
Date: Sat, 22 Dec 2018 12:08:51 +0000	[thread overview]
Message-ID: <m236qpzru4.fsf@dme.org> (raw)
In-Reply-To: <87woo2jye6.fsf@tethera.net>

On Saturday, 2018-12-22 at 07:41:37 +09, David Bremner wrote:

> David Edmondson <dme@dme.org> writes:
>
>> During formatted output, if a content type of a text/plain part
>> has a "format" paramter, include it in the output.
>> ---
>>  notmuch-show.c | 13 +++++++++++++
>>  1 file changed, 13 insertions(+)
>>
>> diff --git a/notmuch-show.c b/notmuch-show.c
>> index 07e9a5db..92d18bb8 100644
>> --- a/notmuch-show.c
>> +++ b/notmuch-show.c
>> @@ -708,6 +708,19 @@ format_part_sprinter (const void *ctx, sprinter_t *sp, mime_node_t *node,
>>      }
>>  
>>      if (GMIME_IS_PART (node->part)) {
>> +	/* Include the format parameter of text/plain parts if it
>> +	 * exists, allowing the UI to adapt the display of the part as
>> +	 * appropriate.
>> +	 */
>> +	if (g_mime_content_type_is_type (content_type, "text", "plain")) {
>> +	    const char *format =
>> +		g_mime_object_get_content_type_parameter (node->part, "format");
>> +	    if (format) {
>> +		sp->map_key (sp, "format");
>> +		sp->string (sp, format);
>> +	    }
>> +	}
>> +
>>  	/* For non-HTML text parts, we include the content in the
>>  	 * JSON. Since JSON must be Unicode, we handle charset
>>  	 * decoding here and do not report a charset to the caller.
>
> We need to update devel/schemata for this change.

Will do in a v2.

> Have you thought about the failure modes for mismatched notmuch.el <->
> notmuch? Since you don't bump the format version, the emacs side has no
> way of knowing if the notmuch side supports the 'format' key. That's
> probably fine since the key is optional.

If notmuch-show.el is newer than notmuch it will never see the “format”
parameter and so will not attempt to fill the flowed text. This is the
same as the current behaviour.

If notmuch is newer than notmuch-show.el it will include the “format”
parameter but the notmuch-show.el will not look for it. This is the same
as the current behaviour.

I think that it's safe in all cases.

dme.
-- 
Facts don't do what I want them to.

  reply	other threads:[~2018-12-22 12:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-21 14:43 [PATCH v1 0/3] support for format=flowed display David Edmondson
2018-12-21 14:43 ` [PATCH v1 1/3] notmuch: Include the format parameter of text/plain parts David Edmondson
2018-12-21 22:41   ` David Bremner
2018-12-22 12:08     ` David Edmondson [this message]
2018-12-21 14:43 ` [PATCH v1 2/3] emacs: Pass the part to text/plain hook functions David Edmondson
2018-12-21 14:43 ` [PATCH v1 3/3] emacs: Process format=flowed text David Edmondson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m236qpzru4.fsf@dme.org \
    --to=dme@dme.org \
    --cc=david@tethera.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).