* main.c (filename_completer): Don't complete to files ending in ~.
* NEWS: Mention filename completion and "info line" enhancements. * main.c (symbol_completion_function): On "info t foo", return NULL, don't error(). * main.c (symbol_completion_function): Don't use readline word breaking. Use new calling convention for c->completer and complete_on_cmdlist. * command.h (struct command): Change arguments; now the text passed to completer does not have any word breaking done. New arg word. * symtab.{c,h} (make_symbol_completion_list): Do word breaking. Take word argument. * {main.c,gdbcmd.h} ({filename,noop}_completer): Take word argument. * command.{c,h} (complete_on_cmdlist): Take word argument. * command.c (lookup_cmd_1): Doc fix.
This commit is contained in:
parent
6ba7b81886
commit
a32ebcfd6b
|
@ -1,3 +1,24 @@
|
|||
Thu Jun 24 14:52:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* main.c (filename_completer): Don't complete to files ending in ~.
|
||||
|
||||
* NEWS: Mention filename completion and "info line" enhancements.
|
||||
|
||||
* main.c (symbol_completion_function): On "info t foo", return NULL,
|
||||
don't error().
|
||||
|
||||
* main.c (symbol_completion_function): Don't use readline word
|
||||
breaking. Use new calling convention for c->completer and
|
||||
complete_on_cmdlist.
|
||||
* command.h (struct command): Change arguments; now the text passed
|
||||
to completer does not have any word breaking done. New arg word.
|
||||
* symtab.{c,h} (make_symbol_completion_list): Do word breaking. Take
|
||||
word argument.
|
||||
* {main.c,gdbcmd.h} ({filename,noop}_completer): Take word argument.
|
||||
* command.{c,h} (complete_on_cmdlist): Take word argument.
|
||||
|
||||
* command.c (lookup_cmd_1): Doc fix.
|
||||
|
||||
Thu Jun 24 13:26:04 1993 K. Richard Pixley (rich@sendai.cygnus.com)
|
||||
|
||||
* Makefile.in (OP_INCLUDE): define.
|
||||
|
|
6
gdb/NEWS
6
gdb/NEWS
|
@ -5,6 +5,12 @@
|
|||
|
||||
* User visible changes:
|
||||
|
||||
Filename completion now works.
|
||||
|
||||
When run under emacs mode, the "info line" command now causes the
|
||||
arrow to point to the line specified. Also, "info line" prints
|
||||
addresses in symbolic form.
|
||||
|
||||
All vxworks based targets now support a user settable option, called
|
||||
vxworks-timeout. This option represents the number of seconds gdb
|
||||
should wait for responses to rpc's. You might want to use this if
|
||||
|
|
|
@ -504,7 +504,10 @@ help_cmd_list (list, class, prefix, recurse, stream)
|
|||
"info" matches without ambiguity, but "a" could be "args" or "address", so
|
||||
*RESULT_LIST is set to the cmd_list_element for "info". So in this case
|
||||
RESULT_LIST should not be interpeted as a pointer to the beginning of a
|
||||
list; it simply points to a specific command.
|
||||
list; it simply points to a specific command. In the case of an ambiguous
|
||||
return *TEXT is advanced past the last non-ambiguous prefix (e.g.
|
||||
"info t" can be "info types" or "info target"; upon return *TEXT has been
|
||||
advanced past "info ").
|
||||
|
||||
If RESULT_LIST is NULL, don't set *RESULT_LIST (but don't otherwise
|
||||
affect the operation).
|
||||
|
@ -906,12 +909,18 @@ lookup_cmd (line, list, cmdtype, allow_unknown)
|
|||
/* Helper function for SYMBOL_COMPLETION_FUNCTION. */
|
||||
|
||||
/* Return a vector of char pointers which point to the different
|
||||
possible completions in LIST of TEXT. */
|
||||
possible completions in LIST of TEXT.
|
||||
|
||||
WORD points in the same buffer as TEXT, and completions should be
|
||||
returned relative to this position. For example, suppose TEXT is "foo"
|
||||
and we want to complete to "foobar". If WORD is "oo", return
|
||||
"oobar"; if WORD is "baz/foo", return "baz/foobar". */
|
||||
|
||||
char **
|
||||
complete_on_cmdlist (list, text)
|
||||
complete_on_cmdlist (list, text, word)
|
||||
struct cmd_list_element *list;
|
||||
char *text;
|
||||
char *word;
|
||||
{
|
||||
struct cmd_list_element *ptr;
|
||||
char **matchlist;
|
||||
|
@ -938,8 +947,22 @@ complete_on_cmdlist (list, text)
|
|||
}
|
||||
|
||||
matchlist[matches] = (char *)
|
||||
xmalloc (strlen (ptr->name) + 1);
|
||||
strcpy (matchlist[matches++], ptr->name);
|
||||
xmalloc (strlen (word) + strlen (ptr->name) + 1);
|
||||
if (word == text)
|
||||
strcpy (matchlist[matches], ptr->name);
|
||||
else if (word > text)
|
||||
{
|
||||
/* Return some portion of ptr->name. */
|
||||
strcpy (matchlist[matches], ptr->name + (word - text));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Return some of text plus ptr->name. */
|
||||
strncpy (matchlist[matches], word, text - word);
|
||||
matchlist[matches][text - word] = '\0';
|
||||
strcat (matchlist[matches], ptr->name);
|
||||
}
|
||||
++matches;
|
||||
}
|
||||
|
||||
if (matches == 0)
|
||||
|
|
Loading…
Reference in New Issue