git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 07/25] parse-options: make some arguments optional, add callbacks.

From
Nicolas Pitre <nico@cam.org>
Date
Oct 16, 2007, 17:21 UTC
Message-ID
<alpine.LFD.0.9999.0710161320400.19446@xanadu.home>
In-Reply-To
<20071016165319.GC13946@artemis.corp>
On Tue, 16 Oct 2007, Pierre Habouzit wrote:
Show 30 quoted lines
> On Tue, Oct 16, 2007 at 04:44:44PM +0000, Johannes Schindelin wrote:
> > Hi,
> > 
> > On Tue, 16 Oct 2007, Ren? Scharfe wrote:
> > 
> > > Pierre Habouzit schrieb:
> > > > This bit is to allow to aggregate options with arguments together when
> > > > the argument is numeric.
> > > > 
> > > >     +#if 0
> > > >     +		/* can be used to understand -A1B1 like -A1 -B1 */
> > > >     +		if (flag & OPT_SHORT && opt->opt && isdigit(*opt->opt)) {
> > > >     +			*(int *)opt->value = strtol(opt->opt, (char **)&opt->opt, 10);
> > > >     +			return 0;
> > > >     +		}
> > > >     +#endif
> > > 
> > > I don't like it, it complicates number options with unit suffixes (e.g.
> > > --windows-memory of git-pack-objects).
> > 
> > Why?  It only means that you cannot say -W10mxabc instead of -W10m xabc.  
> > 
> > Remember: this is a special case for OPT_INTEGER.  Nothing to do with 
> > OPT_SIZE, which you'd probably implement as a callback.
> 
>   Yeah but the point is that you can't migrate an option currently being
> an integer to an OPT_SIZE because of that (see my other mail). Meaning
> that once an argument is of type OPT_INTEGER you can't change it's type
> in the future _AT ALL_ without breaking backward compatibility badly.
> I'd say it's a rather sucky design.

And what's the point of supporting so criptic arguments? It doesn't have to go that far.

Nicolas
Previous: Pierre HabouzitNext: René Scharfe
Message 9 of 24 in “[parse-options] proposal for merge, take 1”
  1. Pierre HabouzitOct 16, 2007
  2. Pierre HabouzitOct 16, 2007
  3. Pierre HabouzitOct 16, 2007
  4. Pierre HabouzitOct 16, 2007
  5. Johannes SchindelinOct 16, 2007
  6. René ScharfeOct 16, 2007
  7. Johannes SchindelinOct 16, 2007
  8. Pierre HabouzitOct 16, 2007
  9. Nicolas PitreOct 16, 2007
  10. René ScharfeOct 16, 2007
  11. Nicolas PitreOct 16, 2007
  12. Pierre HabouzitOct 16, 2007
  13. Shawn O. PearceOct 17, 2007
  14. Johannes SchindelinOct 17, 2007
  15. Michael WittenOct 16, 2007
  16. Michael WittenOct 16, 2007
  17. Johannes SchindelinOct 16, 2007
  18. Michael WittenOct 16, 2007
  19. Pierre HabouzitOct 16, 2007
  20. Alex RiesenOct 16, 2007
  21. Pierre HabouzitOct 16, 2007
  22. Alex RiesenOct 17, 2007
  23. Shawn O. PearceOct 17, 2007
  24. Pierre HabouzitOct 17, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.