[PATCH v2 05/18] Implement completion limiting for ada_make_symbol_completion_list.
Doug Evans
dje@google.com
Thu May 21 23:36:00 GMT 2015
Keith Seitz writes:
> This patch converts the one Ada completion(-related) function,
> symbol_completion_add, to use maybe_add_completion, and tests have
> been added to exercise this newly implemented behavior.
>
> gdb/ChangeLog
>
> * ada-lang.c (symbol_completion_add): Return
> add_completion_status instead of void.
> Use add_completion and return the status of this function.
> (ada_make_symbol_completion_list): If symbol_completion_add
> returns that maximum completions have been reached, stop
> looking for completions and return the list.
>
> gdb/testsuite/ChangeLog
>
> * gdb.ada/complete.exp (limit_multi_line): New procedure.
> Update existing tests for source changes.
> Add additional tests for new types.
> Add tests for completion limiting.
> * gdb.ada/complete/foo.adb (Repeat_Variable_1, Repeat_Variable_2,
> Repeat_Variable_3, Repeat_Variable_4): Define.
> * gdb.ada/complete/pck.ads (Repeat_Variable_1, Repeat_Variable_2)
> (Repeat_Variable_3, Repeat_Variable_4): Declare.
> (Repeated_1, Repeated_2, Repeated_3, Repeated_4): Define.
> ---
> gdb/ada-lang.c | 56 +++++++++---
> gdb/testsuite/gdb.ada/complete.exp | 144
++++++++++++++++++++++++++++++++
> gdb/testsuite/gdb.ada/complete/foo.adb | 4 +
> gdb/testsuite/gdb.ada/complete/pck.ads | 12 +++
> 4 files changed, 199 insertions(+), 17 deletions(-)
>
> diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
> index e5469c0..fd824ee 100644
> --- a/gdb/ada-lang.c
> +++ b/gdb/ada-lang.c
> @@ -6122,8 +6122,9 @@ symbol_completion_match (const char *sym_name,
> encoded formed (in which case the completion should also be
> encoded). */
>
> -static void
> +static enum add_completion_status
> symbol_completion_add (VEC(char_ptr) **sv,
> + struct completer_data *cdata,
> const char *sym_name,
> const char *text, int text_len,
> const char *orig_text, const char *word,
> @@ -6134,7 +6135,7 @@ symbol_completion_add (VEC(char_ptr) **sv,
> char *completion;
>
> if (match == NULL)
> - return;
> + return 0;
return ADD_COMPLETION_OK?
More information about the Gdb-patches
mailing list