From: Johannes Schindelin Date: Wed, 18 Jun 2008 16:50:31 GMT Subject: Re: [PATCH 1/2] parse_options: Add flag to prevent errors for further processing Message-ID: In-Reply-To: <7vwskn1g2p.fsf@gitster.siamese.dyndns.org> Hi, On Tue, 17 Jun 2008, Junio C Hamano wrote: > Jeff King writes: > > > I think the only right way to accomplish this is to convert the revision > > and diff parameters into a parseopt-understandable format. > > Not necessarily. You could structure individual option parsers like how > diff option parsers are done. You iterate over argv[], feed diff option > parser the current index into argv[] and ask if it is an option diff > understands, have diff eat the option (and possibly its parameter) to > advance the index, or allow diff option to say "I do not understand > this", and then handle it yourself or hand it to other parsers. AFAIR Pierre tried a few ways, and settled with a macro to introduce the diff options into a caller's options. IOW it would look something like this: static struct option builtin_what_options[] = { [... options specific to this command ...] DIFF__OPT(&diff_options) }; Ciao, Dscho