aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--notmuch-show.c5
-rw-r--r--show-message.c3
-rw-r--r--test/emacs.expected-output/notmuch-show-thread-maildir-storage12
-rwxr-xr-xtest/multipart14
4 files changed, 29 insertions, 5 deletions
diff --git a/notmuch-show.c b/notmuch-show.c
index ef421ec..c877152 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -410,6 +410,11 @@ format_part_text (GMimeObject *part, int *part_count)
show_part_content (part, stream_stdout);
g_object_unref(stream_stdout);
}
+ else if (g_mime_content_type_is_type (content_type, "multipart", "*"))
+ {
+ /* Do nothing for multipart since its content will be printed
+ * when recursing. */
+ }
else
{
printf ("Non-text part: %s\n",
diff --git a/show-message.c b/show-message.c
index b1b61be..ff9146e 100644
--- a/show-message.c
+++ b/show-message.c
@@ -30,6 +30,9 @@ show_message_part (GMimeObject *part, int *part_count,
GMimeMultipart *multipart = GMIME_MULTIPART (part);
int i;
+ *part_count = *part_count + 1;
+ (*show_part) (part, part_count);
+
for (i = 0; i < g_mime_multipart_get_count (multipart); i++) {
show_message_part (g_mime_multipart_get_part (multipart, i),
part_count, show_part);
diff --git a/test/emacs.expected-output/notmuch-show-thread-maildir-storage b/test/emacs.expected-output/notmuch-show-thread-maildir-storage
index 086f874..6eed85b 100644
--- a/test/emacs.expected-output/notmuch-show-thread-maildir-storage
+++ b/test/emacs.expected-output/notmuch-show-thread-maildir-storage
@@ -3,6 +3,9 @@ Subject: [notmuch] Working with Maildir storage?
To: notmuch@notmuchmail.org
Date: Tue, 17 Nov 2009 14:00:54 -0500
+[ multipart/mixed ]
+[ multipart/signed ]
+[ text/plain ]
I saw the LWN article and decided to take a look at notmuch. I'm
currently using mutt and mairix to index and read a collection of
Maildir mail folders (around 40,000 messages total).
@@ -41,6 +44,9 @@ http://notmuchmail.org/mailman/listinfo/notmuch
To: notmuch@notmuchmail.org
Date: Wed, 18 Nov 2009 01:02:38 +0600
+ [ multipart/mixed ]
+ [ multipart/signed ]
+ [ text/plain ]
Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did gyre and gimble:
@@ -68,6 +74,9 @@ http://notmuchmail.org/mailman/listinfo/notmuch
Cc: notmuch@notmuchmail.org
Date: Tue, 17 Nov 2009 15:33:01 -0500
+ [ multipart/mixed ]
+ [ multipart/signed ]
+ [ text/plain ]
> See the patch just posted here.
Is the list archived anywhere? The obvious archives
@@ -148,6 +157,9 @@ http://notmuchmail.org/mailman/listinfo/notmuch
Cc: notmuch@notmuchmail.org
Date: Tue, 17 Nov 2009 19:50:40 -0500
+ [ multipart/mixed ]
+ [ multipart/signed ]
+ [ text/plain ]
> I've also pushed a slightly more complicated (and complete) fix to my
> private notmuch repository
diff --git a/test/multipart b/test/multipart
index dde25ab..ef9a8a2 100755
--- a/test/multipart
+++ b/test/multipart
@@ -58,19 +58,23 @@ To: cworth@cworth.org
Date: Tue, 05 Jan 2001 15:43:57 -0000
header}
body{
- part{ ID: 1, Content-type: text/plain
+ part{ ID: 1, Content-type: multipart/signed
+ part}
+ part{ ID: 2, Content-type: multipart/mixed
+ part}
+ part{ ID: 3, Content-type: text/plain
This is an inline text part.
part}
- attachment{ ID: 2, Content-type: text/plain
+ attachment{ ID: 4, Content-type: text/plain
Attachment: attachment (text/plain)
This is a text attachment.
attachment}
- part{ ID: 3, Content-type: text/plain
+ part{ ID: 5, Content-type: text/plain
And this message is signed.
-Carl
part}
- part{ ID: 4, Content-type: application/pgp-signature
+ part{ ID: 6, Content-type: application/pgp-signature
Non-text part: application/pgp-signature
part}
body}
@@ -78,7 +82,7 @@ Non-text part: application/pgp-signature
test_begin_subtest "Show multipart MIME message (--format=json)"
output=$(notmuch show --format=json 'id:87liy5ap00.fsf@yoom.home.cworth.org')
-test_expect_equal "$output" '[[[{"id": "87liy5ap00.fsf@yoom.home.cworth.org", "match": true, "filename": "/home/cworth/src/notmuch/test/tmp.multipart/mail/multipart", "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["attachment","inbox","unread"], "headers": {"Subject": "Multipart message", "From": "Carl Worth <cworth@cworth.org>", "To": "cworth@cworth.org", "Cc": "", "Bcc": "", "Date": "Tue, 05 Jan 2001 15:43:57 -0000"}, "body": [{"id": 1, "content-type": "text/plain", "content": "This is an inline text part.\n"}, {"id": 2, "content-type": "text/plain", "filename": "attachment", "content": "This is a text attachment.\n"}, {"id": 3, "content-type": "text/plain", "content": "And this message is signed.\n\n-Carl\n"}, {"id": 4, "content-type": "application/pgp-signature"}]}, []]]]'
+test_expect_equal "$output" '[[[{"id": "87liy5ap00.fsf@yoom.home.cworth.org", "match": true, "filename": "/home/cworth/src/notmuch/test/tmp.multipart/mail/multipart", "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["attachment","inbox","unread"], "headers": {"Subject": "Multipart message", "From": "Carl Worth <cworth@cworth.org>", "To": "cworth@cworth.org", "Cc": "", "Bcc": "", "Date": "Tue, 05 Jan 2001 15:43:57 -0000"}, "body": [{"id": 1, "content-type": "multipart/signed"}, {"id": 2, "content-type": "multipart/mixed"}, {"id": 3, "content-type": "text/plain", "content": "This is an inline text part.\n"}, {"id": 4, "content-type": "text/plain", "filename": "attachment", "content": "This is a text attachment.\n"}, {"id": 5, "content-type": "text/plain", "content": "And this message is signed.\n\n-Carl\n"}, {"id": 6, "content-type": "application/pgp-signature"}]}, []]]]'
test_done