changing behaviour of notmuch show --part=1

classic Classic list List threaded Threaded
3 messages Options
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

changing behaviour of notmuch show --part=1


The current behaviour of "notmuch show --part=1 --raw" is somewhat
peculiar. This is supposed to be the message body, but if the message is
multipart, it also includes the headers. This seems to be a direct
translation of an implimentation of quirk of gmime. In gmime 3.0 this
quirk goes away, and the behaviour of notmuch consequently changes,
unless we do something about it. I actually think the new behaviour
makes more sense (you only get the headers with part=0). There seem to
be several options

1) Bug-for-Bug-compatibility: Add special case code for gmime-3.0 to
   output headers.

2) Allow-varying-output: Consider the previous behaviour a bug, fixed by
   using gmime-3.0.  This makes it hard for people to rely on, although
   how one relies on it currently since it varies by message is a
   mystery.

3) Fix the alleged bug: special case the output of the body with
   gmime-2.6 to avoid outputting headers.

d

_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch

signature.asc (671 bytes) Download Attachment
Daniel Kahn Gillmor Daniel Kahn Gillmor
Reply | Threaded
Open this post in threaded view
|

Re: changing behaviour of notmuch show --part=1

On Mon 2017-05-22 07:32:17 -0300, David Bremner wrote:

> The current behaviour of "notmuch show --part=1 --raw" is somewhat
> peculiar. This is supposed to be the message body, but if the message is
> multipart, it also includes the headers. This seems to be a direct
> translation of an implimentation of quirk of gmime. In gmime 3.0 this
> quirk goes away, and the behaviour of notmuch consequently changes,
> unless we do something about it. I actually think the new behaviour
> makes more sense (you only get the headers with part=0). There seem to
> be several options
>
> 1) Bug-for-Bug-compatibility: Add special case code for gmime-3.0 to
>    output headers.
>
> 2) Allow-varying-output: Consider the previous behaviour a bug, fixed by
>    using gmime-3.0.  This makes it hard for people to rely on, although
>    how one relies on it currently since it varies by message is a
>    mystery.
>
> 3) Fix the alleged bug: special case the output of the body with
>    gmime-2.6 to avoid outputting headers.

i favor (2) for the short term, while treating (3) as an open bug to be
fixed.

thanks for identifying this, David.

       --dkg
_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: changing behaviour of notmuch show --part=1

Daniel Kahn Gillmor <[hidden email]> writes:

>>
>> 2) Allow-varying-output: Consider the previous behaviour a bug, fixed by
>>    using gmime-3.0.  This makes it hard for people to rely on, although
>>    how one relies on it currently since it varies by message is a
>>    mystery.
>>
>> 3) Fix the alleged bug: special case the output of the body with
>>    gmime-2.6 to avoid outputting headers.
>
> i favor (2) for the short term, while treating (3) as an open bug to be
> fixed.
>
> thanks for identifying this, David.
>
>        --dkg

(2) is essentially implimented by

    id:[hidden email]

Jeff Stedfast wrote the following code for (3) on the gmime-devel list;
it needs to be conditionalized on GMIME_MAJOR_VERSION, and tested.

,----
|
|  This is a bit of a hack, but...
|
|  cache = g_mime_header_list_get_stream (object->headers);
|  g_object_ref (cache);
|  g_mime_header_list_set_stream (object->headers, NULL);
|
|  g_mime_object_write_to_stream (object, ostream);
|
|  g_mime_header_list_set_stream (object->headers, cache);
|  g_object_unref (cache);
|
`----
_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch