This is the mail archive of the gdb@sources.redhat.com 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: Difficulty with the readline completion interface in GDB


> Date: Sun, 18 Jan 2004 17:49:29 -0500
> From: Daniel Jacobowitz <drow@mvista.com>
> 
> I've spent this morning trying to fix a long-standing bug in GDB's tab
> completion.  I think it's unsolvable with the current readline interface

Agreed.  This has come up before on GDB mailing lists, see, for example:

   http://sources.redhat.com/ml/gdb/2001-09/msg00247.html

> There's a lot of possible solutions.  There could be a hook called before
> rl_complete generates the matches list, which could fudge the complete
> characters - most direct solution, not very elegant.  A function could be
> called to get the list of complete characters, which would then be sensitive
> to rl_point - not sure what other issues this could cause.  The filename
> completion code could search backwards according to the list of filename
> wordbreak characters; this would solve the specific problem but not the
> more general one.  Probably there are others.

I think the first solution is the easiest one and will do the job.

The two others need to teach GDB functions dealing with completion too
much context, which they are currently oblivious about.  For example,
the back-search method in the last proposal is not easy since you not
always know where to stop the search (e.g., imagine a GDB command that
has 2 file-name arguments, or the "foo.c:bar" case).  It's not so hard
to scan forward from some place, but much harder to scan backward.

What is inelegant in the first solution you suggested, Daniel?


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