In [1], Vladimir Panteleev observed that the In-Reply-To and References headers could be wrapped in the 'default' output format of notmuch-reply, depending on the version of Emacs creating the message. In my own experiments notmuch-reply sometimes wraps headers with only one message-id if that message-id is long enough. However it happens, this causes the previous approach using grep to fail. Since I found the proposed unwrapping shell fragment in [1] a bit hard to follow, I decided to write a little python script instead. [1] id:20170817175145.3204-7-notmuch@thecybershadow.net --- test/T350-crypto.sh | 2 +- test/test-lib.sh | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/test/T350-crypto.sh b/test/T350-crypto.sh index 7dab39a2..fd950952 100755 --- a/test/T350-crypto.sh +++ b/test/T350-crypto.sh @@ -394,7 +394,7 @@ test_expect_equal_json \ test_begin_subtest "reply to encrypted message" output=$(notmuch reply --decrypt subject:"test encrypted message 002" \ - | grep -v -e '^In-Reply-To:' -e '^References:') + | notmuch_reply_sanitize_refs) expected='From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: test encrypted message 002 diff --git a/test/test-lib.sh b/test/test-lib.sh index d2b2a47f..4716f649 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -507,6 +507,17 @@ NOTMUCH_DUMP_TAGS () notmuch dump --include=tags "${@}" | sed '/^#/d' | sort } +notmuch_reply_sanitize_refs () +{ + $NOTMUCH_PYTHON -c " +import email,sys +msg=email.message_from_file(sys.stdin) +del msg['in-reply-to'] +del msg['references'] +print(msg.as_string(False)) +" +} + notmuch_search_sanitize () { perl -pe 's/("?thread"?: ?)("?)................("?)/\1\2XXX\3/' -- 2.14.1 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch