[PATCH v1 1/3] notmuch: Include the format parameter of text/plain parts
David Edmondson
dme at dme.org
Sat Dec 22 04:08:51 PST 2018
On Saturday, 2018-12-22 at 07:41:37 +09, David Bremner wrote:
> David Edmondson <dme at 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.
More information about the notmuch
mailing list