This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch/rfc] mi interpreter-complete enh req 8058.


Tom Tromey writes:
 > >>>>> "Matt" == Matt Rice <ratmice@gmail.com> writes:
 > 
 > Matt> Attached is a patch i've ported from Apple's gdb...
 > Matt> it implements a tab-completion like function for MI
 > Matt> http://sourceware.org/bugzilla/show_bug.cgi?id=8058
 > Matt> I figured I would post a basic port of the patch for discussion,
 > Matt> before doing to much to it.
 > 
 > Thanks.

PR 8058 goes back to 2003.  I don't see the need for MI to duplicate all of
the CLI functionality.  Emacs just uses the CLI command "complete" which is
clearly just intended for front end use:

complete b ma
&"complete b ma\n"
~"b main\n"
~"b malloc\n"
~"b malloc@plt\n"
^done

The lisp function, gud-gdb-complete-command. is bound to TAB to it works
in the GUD buffer (Emacs' console) just as it does on the command line.

 > ...
 > Matt> -interpreter-complete console "b ma"
 > Matt> ^done,completions=[c="main",c="malloc",c="malloc@plt"]
 > 
 > It is weird to see all those useless "c=" strings in there :-)

Well, if they are going to be present, could we please stick to the syntax
suggested in the manual:

    `TUPLE ==>'
         ` "{}" | "{" RESULT ( "," RESULT )* "}" '

and

   * New GDB/MI commands should only output LISTS containing VALUES.

So either

    ^done,completions={c="main",c="malloc",c="malloc@plt"}

or

    ^done,completions=["main","malloc","malloc@plt"]


-- 
Nick                                           http://users.snap.net.nz/~nickrob


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]