* [PATCH 1/2] cli: fix top level --help combined with other options
@ 2015-03-08 16:18 Jani Nikula
2015-03-08 16:18 ` [PATCH 2/2] cli: add support for notmuch command --help Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Jani Nikula @ 2015-03-08 16:18 UTC (permalink / raw)
To: notmuch
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] cli: add support for notmuch command --help
2015-03-08 16:18 [PATCH 1/2] cli: fix top level --help combined with other options Jani Nikula
@ 2015-03-08 16:18 ` Jani Nikula
2015-03-09 7:14 ` David Bremner
2015-03-09 7:06 ` [PATCH 1/2] cli: fix top level --help combined with other options David Bremner
2015-03-11 7:16 ` David Bremner
2 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2015-03-08 16:18 UTC (permalink / raw)
To: notmuch
Recognize 'notmuch command --help' at the top level as a special case,
and show help for the command. Note that for simplicity, --help is
only recognized as the first option for the subcommand.
---
Creeping featurism or useful? ISTR Mark wanted this.
---
notmuch.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/notmuch.c b/notmuch.c
index 1717e8b3683c..a5b2877aee09 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -314,7 +314,9 @@ main (int argc, char *argv[])
goto DONE;
}
- if (print_help) {
+ /* Handle notmuch --help [command] and notmuch command --help. */
+ if (print_help ||
+ (opt_index + 1 < argc && strcmp (argv[opt_index + 1], "--help") == 0)) {
/*
* Pass the first positional argument as argv[1] so the help
* command can give help for it. The help command ignores the
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] cli: add support for notmuch command --help
2015-03-08 16:18 ` [PATCH 2/2] cli: add support for notmuch command --help Jani Nikula
@ 2015-03-09 7:14 ` David Bremner
2015-03-10 8:06 ` Tomi Ollila
0 siblings, 1 reply; 7+ messages in thread
From: David Bremner @ 2015-03-09 7:14 UTC (permalink / raw)
To: Jani Nikula, notmuch
Jani Nikula <jani@nikula.org> writes:
> - if (print_help) {
> + /* Handle notmuch --help [command] and notmuch command --help. */
> + if (print_help ||
> + (opt_index + 1 < argc && strcmp (argv[opt_index + 1], "--help") == 0)) {
I like the feature, and I can live with the implementation. I'm reminded
that you once proposed a more sophisticated way of handling shared
arguments for subcommands, but that foundered on a reef of bikeshedding.
d
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] cli: add support for notmuch command --help
2015-03-09 7:14 ` David Bremner
@ 2015-03-10 8:06 ` Tomi Ollila
0 siblings, 0 replies; 7+ messages in thread
From: Tomi Ollila @ 2015-03-10 8:06 UTC (permalink / raw)
To: David Bremner, Jani Nikula, notmuch
On Mon, Mar 09 2015, David Bremner <david@tethera.net> wrote:
> Jani Nikula <jani@nikula.org> writes:
>
>> - if (print_help) {
>> + /* Handle notmuch --help [command] and notmuch command --help. */
>> + if (print_help ||
>> + (opt_index + 1 < argc && strcmp (argv[opt_index + 1], "--help") == 0)) {
>
> I like the feature, and I can live with the implementation. I'm reminded
This part above I agree :D
> that you once proposed a more sophisticated way of handling shared
> arguments for subcommands, but that foundered on a reef of bikeshedding.
>
> d
Tomi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] cli: fix top level --help combined with other options
2015-03-08 16:18 [PATCH 1/2] cli: fix top level --help combined with other options Jani Nikula
2015-03-08 16:18 ` [PATCH 2/2] cli: add support for notmuch command --help Jani Nikula
@ 2015-03-09 7:06 ` David Bremner
2015-03-10 8:03 ` Tomi Ollila
2015-03-11 7:16 ` David Bremner
2 siblings, 1 reply; 7+ messages in thread
From: David Bremner @ 2015-03-09 7:06 UTC (permalink / raw)
To: Jani Nikula, notmuch
Jani Nikula <jani@nikula.org> writes:
> - 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;
> }
LGTM
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] cli: fix top level --help combined with other options
2015-03-09 7:06 ` [PATCH 1/2] cli: fix top level --help combined with other options David Bremner
@ 2015-03-10 8:03 ` Tomi Ollila
0 siblings, 0 replies; 7+ messages in thread
From: Tomi Ollila @ 2015-03-10 8:03 UTC (permalink / raw)
To: David Bremner, Jani Nikula, notmuch
On Mon, Mar 09 2015, David Bremner <david@tethera.net> wrote:
> Jani Nikula <jani@nikula.org> writes:
>
>> - 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;
>> }
>
> LGTM
Also to me, too.
Tomi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] cli: fix top level --help combined with other options
2015-03-08 16:18 [PATCH 1/2] cli: fix top level --help combined with other options Jani Nikula
2015-03-08 16:18 ` [PATCH 2/2] cli: add support for notmuch command --help Jani Nikula
2015-03-09 7:06 ` [PATCH 1/2] cli: fix top level --help combined with other options David Bremner
@ 2015-03-11 7:16 ` David Bremner
2 siblings, 0 replies; 7+ messages in thread
From: David Bremner @ 2015-03-11 7:16 UTC (permalink / raw)
To: Jani Nikula, notmuch
Jani Nikula <jani@nikula.org> writes:
> 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
pushed these two
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-03-11 7:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-08 16:18 [PATCH 1/2] cli: fix top level --help combined with other options Jani Nikula
2015-03-08 16:18 ` [PATCH 2/2] cli: add support for notmuch command --help Jani Nikula
2015-03-09 7:14 ` David Bremner
2015-03-10 8:06 ` Tomi Ollila
2015-03-09 7:06 ` [PATCH 1/2] cli: fix top level --help combined with other options David Bremner
2015-03-10 8:03 ` Tomi Ollila
2015-03-11 7:16 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).