As part of ongoing hacking on Austin's revision tracking patches, I wanted to add an option to (almost) all subcommands. One thing led to another and this series emerged. By itself, the gain in functionality is probably not worthwhile (yay, we can type notmuch subcommand --version), but internally it makes it easy to add further "global options" that are accepted as % notmuch --option [subcommand] and % notmuch subcommand --option it would make sense, e.g. for --quiet and --verbose to be supported this way. Whatever people think about the shared options, I think the refactoring of notmuch_help_command is probably worthwhile as it is pretty simple and improves the readability of that code. Although there are other ways of doing so, patch 4 of this series also fixes a UI bug encountered by Rob recently, where "--config" is silently ignored in notmuch setup --config=/tmp/foo.conf In principle this series will need a documentation update, but note that notmuch search --help is already undocumented.