From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3625 invoked by alias); 9 Jan 2002 07:54:44 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3597 invoked from network); 9 Jan 2002 07:54:42 -0000 Received: from unknown (HELO is.elta.co.il) (199.203.121.2) by sources.redhat.com with SMTP; 9 Jan 2002 07:54:42 -0000 Received: from is (is [199.203.121.2]) by is.elta.co.il (8.9.3/8.8.8) with SMTP id JAA00718; Wed, 9 Jan 2002 09:53:53 +0200 (IST) Date: Tue, 08 Jan 2002 23:54:00 -0000 From: Eli Zaretskii X-Sender: eliz@is To: Michael Snyder cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] "Help" command and completion In-Reply-To: <3C3B7859.54CC8B69@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-01/txt/msg00160.txt.bz2 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 * completer.c (command_completer): New function. * completer.h : 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);