If the top level --help is combined with other options, help
fails. For example:

    $ notmuch --version --help

    Sorry, --help is not a known command. There's not much I can do to help.

Fix this by adjusting argc and argv appropriately. The help command
ignores argv[0] anyway, so we don't have to set it to "help".
---
 notmuch.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/notmuch.c b/notmuch.c
index 0fac0997865e..1717e8b3683c 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -315,7 +315,13 @@ main (int argc, char *argv[])
     }

     if (print_help) {
-       ret = notmuch_help_command (NULL, argc - 1, &argv[1]);
+       /*
+        * Pass the first positional argument as argv[1] so the help
+        * command can give help for it. The help command ignores the
+        * argv[0] passed to it.
+        */
+       ret = notmuch_help_command (NULL, argc - opt_index + 1,
+                                   argv + opt_index - 1);
        goto DONE;
     }

-- 
2.1.4

Reply via email to