Remove old stale expression_completer hack

The code in question was introduced by:

 https://sourceware.com/ml/gdb-patches/2008-06/msg00143.html

"The fix is to make sure that the entire expression is passed to
expression_completer, then duplicate some logic there in the case
where location_completer is called."

The logic that was duplicated was much later on removed by the
original explicit locations patch:

 commit 87f0e72047
 Author:     Keith Seitz <keiths@redhat.com>
 AuthorDate: Tue Aug 11 17:09:36 2015 -0700
 Commit:     Keith Seitz <keiths@redhat.com>
 CommitDate: Tue Aug 11 17:09:36 2015 -0700

     Explicit locations: add UI features for CLI

 @@ -688,16 +880,6 @@ complete_line_internal (const char *text,
		       rl_completer_word_break_characters =
			 gdb_completer_file_name_break_characters;
		     }
 -                 else if (c->completer == location_completer)
 -                   {
 -                     /* Commands which complete on locations want to
 -                        see the entire argument.  */
 -                     for (p = word;
 -                          p > tmp_command
 -                            && p[-1] != ' ' && p[-1] != '\t';
 -                          p--)
 -                       ;
 -                   }

However this case in expression_completer was left behind.

I couldn't come up with a test where this currently makes any
difference.

gdb/ChangeLog:
2017-06-29  Pedro Alves  <palves@redhat.com>

	* completer.c (expression_completer): Remove code that recomputes
	'text' from 'word'.
This commit is contained in:
Pedro Alves 2017-06-29 15:52:37 +01:00
parent 2e74f9dd8a
commit 195bcdd518
2 changed files with 6 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2017-06-29 Pedro Alves <palves@redhat.com>
* completer.c (expression_completer): Remove code that recomputes
'text' from 'word'.
2017-06-29 Yao Qi <yao.qi@linaro.org>
* regformats/regdat.sh: Generate code with

View File

@ -587,7 +587,6 @@ expression_completer (struct cmd_list_element *ignore,
{
struct type *type = NULL;
char *fieldname;
const char *p;
enum type_code code = TYPE_CODE_UNDEF;
/* Perform a tentative parse of the expression, to see whether a
@ -635,15 +634,8 @@ expression_completer (struct cmd_list_element *ignore,
}
xfree (fieldname);
/* Commands which complete on locations want to see the entire
argument. */
for (p = word;
p > text && p[-1] != ' ' && p[-1] != '\t';
p--)
;
/* Not ideal but it is what we used to do before... */
return location_completer (ignore, p, word);
return location_completer (ignore, text, word);
}
/* See definition in completer.h. */