cli: notmuch address option defaults update
authorTomi Ollila <tomi.ollila@iki.fi>
Fri, 7 Nov 2014 18:31:50 +0000 (20:31 +0200)
committerDavid Bremner <david@tethera.net>
Sun, 9 Nov 2014 09:09:51 +0000 (10:09 +0100)
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.

doc/man1/notmuch-address.rst
notmuch-search.c
test/T095-address.sh

index 359616e0dc5f70215794a448a388a04075ced8b9..9570095b23c8437965e88831e2247fa03dcaaea1 100644 (file)
@@ -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)**
index 5036d8e44005532f9f525eb6f87c18234dccb1a4..14b9f01c5ad1d731d802e2f7a18bb5f9ef8e6597 100644 (file)
@@ -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))
index 033d0f4fd68cffbae01e2473af5b08924239172f..ed0cac7807ffd8d1a7ffa06e0132d3832631ef5b 100755 (executable)
@@ -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}