This limitation seems somewhat hard to fix, but at least try to warn
users when combining crypto operations with mbox output format.
Because the default is --decrypt=auto, the warning is omitted if
--decrypt=auto is specified. While this is not great, it seems more
wrong to always warn, or to change the default because of this.
---
We could also make this a fatal error, I'm not sure which is better
notmuch-show.c | 7 +++++++
test/T520-show.sh | 19 +++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/notmuch-show.c b/notmuch-show.c
index 7fb40ce9..97d0beb1 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -1399,6 +1399,13 @@ notmuch_show_command (notmuch_database_t *notmuch, int argc, char *argv[])
fprintf (stderr, "Error: specifying parts is incompatible with mbox output format.\n");
return EXIT_FAILURE;
}
+ if (params.crypto.decrypt != NOTMUCH_DECRYPT_FALSE
+ && params.crypto.decrypt !=NOTMUCH_DECRYPT_AUTO) {
+ fprintf (stderr, "Warning: mbox format does not support decryption (ignored)\n");
+ }
+ if (params.crypto.verify) {
+ fprintf (stderr, "Warning: mbox format does not support signature verification (ignored)\n");
+ }
} else if (format == NOTMUCH_FORMAT_RAW) {
/* raw format only supports single message display */
single_message = true;
diff --git a/test/T520-show.sh b/test/T520-show.sh
index 6bcf109c..65d2ece6 100755
--- a/test/T520-show.sh
+++ b/test/T520-show.sh
@@ -17,6 +17,25 @@ notmuch show foo..
exit_code=$?
test_expect_equal 1 $exit_code
+test_begin_subtest "warning for --mbox --decrypt"
+notmuch show --format=mbox --decrypt=true '*' 1>/dev/null 2>OUTPUT
+echo $? >> OUTPUT
+cat <<EOF > EXPECTED
+Warning: mbox format does not support decryption (ignored)
+Warning: mbox format does not support signature verification (ignored)
+0
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_begin_subtest "warning for --mbox --verify"
+notmuch show --format=mbox --verify '*' 1>/dev/null 2>OUTPUT
+echo $? >> OUTPUT
+cat <<EOF > EXPECTED
+Warning: mbox format does not support signature verification (ignored)
+0
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_begin_subtest "notmuch show --sort=newest-first"
notmuch show --entire-thread=true '*' > EXPECTED
notmuch show --entire-thread=true --sort=newest-first '*' > OUTPUT
--
2.43.0
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org