parse-options: make it possible to have option "subtables"
Some programs share an awful lot of options, such as for the diff
machinery. Allow an option table to recurse into another option
table with the new OPTION_OPTIONS() directive.
The subtable is expected to store the values into a struct whose address
is passed as 2nd parameter to OPTION_OPTIONS().
Subtables can recurse into subtables, too.
Example:
#define null ((struct diff_options *)NULL)
struct option diff__options[] = {
OPT_INTEGER('l', NULL, &null->rename_limit,
"set rename limit"),
[...]
};
struct option diff_files__options[] = {
[...]
OPTION_OPTIONS(diff__options, &revopt.diff_options),
[...]
};
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>