This is the mail archive of the gdb-patches@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: [RFA] "Help" command and completion



On Tue, 8 Jan 2002, Michael Snyder wrote:

> Michael Snyder wrote:
> > 
> > Eli Zaretskii wrote:
> > >
> > > How is no completion better than completion on symbols?
> > 
> > Because the symbols in the program being debugged
> > can't possibly have anything to do with gdb commands,
> > and therefore can't possibly be valid arguments for "help".
> > Not even if you're debugging gdb.
> 
> OK to commit?

Personally, I'd rather have it complete on commands, like you said it
should.  We already have the function to do that: complete_on_cmdlist,
so it shouldn't be too hard to make that happen.

In fact, I just took a quick attempt on that; the patch is below.  It 
seems to work for me.  (The diffs are against stock GDB 5.1, since
that's what I happen to have on the machine I have here.)

In any case, IIRC completion is Fernando's land, so I guess we need to
wait for his word.


2002-01-09  Eli Zaretskii  <eliz@is.elta.co.il>

	* completer.c (command_completer): New function.

	* completer.h <command_completer>: Add prototype.

	* cli/cli-cmds.c (init_cli_cmds): Make command_completer be the
	completer for the "help" command.

--- gdb/completer.c~0	Sun Jul 15 21:17:46 2001
+++ gdb/completer.c	Wed Jan  9 09:05:48 2002
@@ -339,6 +339,14 @@ location_completer (char *text, char *wo
   return list;
 }
 
+/* Complete on command names.  Used by "help".  */
+char **
+command_completer (char *text, char *word)
+{
+  return complete_on_cmdlist (cmdlist, text, word);
+}
+
+
 /* Here are some useful test cases for completion.  FIXME: These should
    be put in the test suite.  They should be tested with both M-? and TAB.
 
--- gdb/completer.h~0	Sun Jul 15 21:17:46 2001
+++ gdb/completer.h	Wed Jan  9 08:52:50 2002
@@ -29,6 +29,8 @@
 
 extern char **location_completer (char *, char *);
 
+extern char **command_completer (char *, char *);
+
 extern char *get_gdb_completer_word_break_characters (void); 
 
 extern char *get_gdb_completer_quote_characters (void);
--- gdb/cli/cli-cmds.c~0	Mon Jul 16 16:33:46 2001
+++ gdb/cli/cli-cmds.c	Wed Jan  9 08:58:40 2002
@@ -668,7 +668,8 @@ when gdb is started.", &cmdlist);
   c->completer = filename_completer;
 
   add_com ("quit", class_support, quit_command, "Exit gdb.");
-  add_com ("help", class_support, help_command, "Print list of commands.");
+  c = add_com ("help", class_support, help_command, "Print list of commands.");
+  c->completer = command_completer;
   add_com_alias ("q", "quit", class_support, 1);
   add_com_alias ("h", "help", class_support, 1);
 


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