Doug and Joel, I agree with the argument about the commas. For instance parsing a more complex expression (an inferior call) will potentially have issues parsing to spaces. But will work using commas. In this sense I am also for commas. Joel, thanks a lot for raising this subject! I will send an reworked version using commas for review.... Thanks and regards, -Fred -----Original Message----- From: Doug Evans [mailto:xdje42@gmail.com] Sent: Monday, April 20, 2015 7:45 AM To: Joel Brobecker Cc: Tedeschi, Walfred; Andreas Schwab; gdb-patches@sourceware.org Subject: Re: RFC: "set" command with 2 arguments instead of one? On Tue, Apr 14, 2015 at 5:49 AM, Joel Brobecker wrote: >> Sorry for the long delay here. Now I could come back to the patches again. >> >> Was there any outcome on that discussion. How do you think I could >> use the multiple arguments? > > I don't remember any reply to the message you quote above, which > summarizes my current thinking and position. As you indicate, it is a > question of making a decision. > > Global Maintainers: What do you think? Let's make a decision so that > Walfred can resume his work on this. > > Thanks! Hi. As a data point, regarding this comment: "Commas also have a meaning in C, so arguably they could be used in expressions as well." note that parse_to_comma_and_eval handles parenthesized expressions, so one *can* use commas in expressions. If they pose a problem to parsing of the command then one can wrap that expression in parens. E.g., (gdb) p $pc $1 = (void (*)(void)) 0x400764 (gdb) disas (($pc+42),($pc+0)),+16 Dump of assembler code from 0x400764 to 0x400774: => 0x0000000000400764 : mov $0x400860,%esi 0x0000000000400769 : mov $0x401c80,%edi 0x000000000040076e : callq 0x400630 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt> 0x0000000000400773 : mov $0x0,%eax So I'm not worried about commas in expressions. gdb is never going to be at a point where all commands can use buildargv. I think choosing either buildargv or commas (using parse_to_comma_and_eval or whatever) should consider what the arguments to the command are. And since this command takes things that are more like expressions than like strings, I'm leaning towards commas. >> -----Original Message----- >> From: gdb-patches-owner@sourceware.org >> [mailto:gdb-patches-owner@sourceware.org] On Behalf Of Joel Brobecker >> Sent: Monday, November 24, 2014 8:13 AM >> To: Doug Evans >> Cc: Andreas Schwab; gdb-patches@sourceware.org >> Subject: Re: RFC: "set" command with 2 arguments instead of one? >> >> > This feels like a case where we need to at least think about some >> > future-proofing. >> > One way some commands separate expressions is with commas. >> > I'm not fond of optional commas (setting aside the thread on info >> > macro -at LOCATION,). >> > IOW, if it turns out that we want to use commas down the road to >> > separate expressions here, then I'd prefer the commas be required >> > today. >> > E.g., set mpx bound ADDR, LBOUND, UBOUND >> >> > As for how to process multiple arguments to a "set" command, one >> > way would be to stage the value in a string parameter, and then >> > have a set handler post-process the result. >> >> I think using commas systematically is making it worse for ourselves, since it prevents us from using gdb_buildargv to parse the command arguments for us. Commas also have a meaning in C, so arguably they could be used in expressions as well. But, if that's the way people prefer, then having a standard gdb_buildargv-like API that everyone consistently uses will make it easier for me to accept that decision. >> >> -- >> Joel >> Intel GmbH >> Dornacher Strasse 1 >> 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: >> Feldkirchen bei Muenchen >> Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas >> Lusk >> Registergericht: Muenchen HRB 47456 >> Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. >> (BLZ 502 109 00) 600119052 > > -- > Joel Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk Registergericht: Muenchen HRB 47456 Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052 &j!z޶mb֫rnr