aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomi Ollila <tomi.ollila@iki.fi>2014-11-07 20:31:50 +0200
committerDavid Bremner <david@tethera.net>2014-11-09 10:09:51 +0100
commit0d8251dbe236975e69b07de2aeb9b60df44d6929 (patch)
tree58c26f822086eb038e7a402b48728413652dd891
parent8e3ee13abc8f7e62557aaf862bbf6aa3e33f6d33 (diff)
cli: notmuch address option defaults update
When no --output option were given, change default to display senders only. When only --count option is given, display senders (in contrary to not displaying anything). Document that --count with --sort=**order** is not supported option combination. Clean up some whitespace in the documentation. One test updated to have --output=count without sender nor recipient output option.
-rw-r--r--doc/man1/notmuch-address.rst32
-rw-r--r--notmuch-search.c4
-rwxr-xr-xtest/T095-address.sh14
3 files changed, 25 insertions, 25 deletions
diff --git a/doc/man1/notmuch-address.rst b/doc/man1/notmuch-address.rst
index 359616e0..9570095b 100644
--- a/doc/man1/notmuch-address.rst
+++ b/doc/man1/notmuch-address.rst
@@ -32,28 +32,28 @@ Supported options for **address** include
``--output=(sender|recipients|count)``
Controls which information appears in the output. This option
- can be given multiple times to combine different outputs.
- Omitting this option is equivalent to
- --output=sender --output=recipients.
+ can be given multiple times to combine different outputs.
+ When neither --output=sender nor --output=recipients is
+ given, --output=sender is implied.
- **sender**
+ **sender**
Output all addresses from the *From* header.
- Note: Searching for **sender** should be much faster than
- searching for **recipients**, because sender addresses are
- cached directly in the database whereas other addresses
- need to be fetched from message files.
+ Note: Searching for **sender** should be much faster than
+ searching for **recipients**, because sender addresses are
+ cached directly in the database whereas other addresses
+ need to be fetched from message files.
- **recipients**
+ **recipients**
Output all addresses from the *To*, *Cc* and *Bcc*
headers.
- **count**
- Print the count of how many times was the address
- encountered during search.
+ **count**
+ Print the count of how many times was the address
+ encountered during search.
- Note: With this option, addresses are printed only after
- the whole search is finished. This may take long time.
+ Note: With this option, addresses are printed only after
+ the whole search is finished. This may take long time.
``--sort=``\ (**newest-first**\ \|\ **oldest-first**)
This option can be used to present results in either
@@ -63,7 +63,7 @@ Supported options for **address** include
By default, results will be displayed in reverse chronological
order, (that is, the newest results will be displayed first).
- This option has no effect when used with --output=count.
+ This option is not supported with --output=count.
``--exclude=(true|false)``
A message is called "excluded" if it matches at least one tag in
@@ -95,4 +95,4 @@ SEE ALSO
**notmuch-dump(1)**, **notmuch-hooks(5)**, **notmuch-insert(1)**,
**notmuch-new(1)**, **notmuch-reply(1)**, **notmuch-restore(1)**,
**notmuch-search-terms(7)**, **notmuch-show(1)**, **notmuch-tag(1)**,
-***notmuch-search(1)**
+**notmuch-search(1)**
diff --git a/notmuch-search.c b/notmuch-search.c
index 5036d8e4..14b9f01c 100644
--- a/notmuch-search.c
+++ b/notmuch-search.c
@@ -735,8 +735,8 @@ notmuch_address_command (notmuch_config_t *config, int argc, char *argv[])
if (opt_index < 0)
return EXIT_FAILURE;
- if (! ctx->output)
- ctx->output = OUTPUT_SENDER | OUTPUT_RECIPIENTS;
+ if (! (ctx->output & (OUTPUT_SENDER | OUTPUT_RECIPIENTS)))
+ ctx->output |= OUTPUT_SENDER;
if (_notmuch_search_prepare (ctx, config,
argc - opt_index, argv + opt_index))
diff --git a/test/T095-address.sh b/test/T095-address.sh
index 033d0f4f..ed0cac78 100755
--- a/test/T095-address.sh
+++ b/test/T095-address.sh
@@ -27,6 +27,11 @@ Mikhail Gusarov <dottedmag@dottedmag.net>
EOF
test_expect_equal_file OUTPUT EXPECTED
+test_begin_subtest "without --output"
+notmuch address '*' >OUTPUT
+# Use EXPECTED from previous subtest
+test_expect_equal_file OUTPUT EXPECTED
+
test_begin_subtest "--output=sender --format=json"
notmuch address --output=sender --format=json '*' >OUTPUT
cat <<EOF >EXPECTED
@@ -91,11 +96,6 @@ Mikhail Gusarov <dottedmag@dottedmag.net>
EOF
test_expect_equal_file OUTPUT EXPECTED
-test_begin_subtest "without --output"
-notmuch address '*' >OUTPUT
-# Use EXPECTED from previous subtest
-test_expect_equal_file OUTPUT EXPECTED
-
test_begin_subtest "--output=sender --output=count"
notmuch address --output=sender --output=count '*' | sort -n >OUTPUT
cat <<EOF >EXPECTED
@@ -119,10 +119,10 @@ cat <<EOF >EXPECTED
EOF
test_expect_equal_file OUTPUT EXPECTED
-test_begin_subtest "--output=sender --output=count --format=json"
+test_begin_subtest "--output=count --format=json"
# Since the iteration order of GHashTable is not specified, we
# preprocess and sort the results to keep the order stable here.
-notmuch address --output=sender --output=count --format=json '*' | \
+notmuch address --output=count --format=json '*' | \
sed -e 's/^\[//' -e 's/]$//' -e 's/,$//' | sort >OUTPUT
cat <<EOF >EXPECTED
{"name": "Adrian Perez de Castro", "address": "aperez@igalia.com", "name-addr": "Adrian Perez de Castro <aperez@igalia.com>", "count": 1}