This is the mail archive of the gdb-prs@sourceware.org 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]

[Bug cli/15548] Limit completions to a pre-defined limit when completions list is very large


https://sourceware.org/bugzilla/show_bug.cgi?id=15548

--- Comment #16 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Doug Evans <devans@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cfb069a8bebfacaf00dee6446e86a856978670be

commit cfb069a8bebfacaf00dee6446e86a856978670be
Author: Gary Benson <gbenson@redhat.com>
Date:   Sat Jan 31 15:24:26 2015 -0800

    ChangeLog entries for max-completions patch.

    gdb/ChangeLog:

        PR cli/9007
        PR cli/11920
        PR cli/15548
        * cli/cli-cmds.c (complete_command): Notify user if max-completions
        reached.
        * common/common-exceptions.h (enum errors)
        <MAX_COMPLETIONS_REACHED_ERROR>: New value.
        * completer.h (get_max_completions_reached_message): New declaration.
        (max_completions): Likewise.
        (completion_tracker_t): New typedef.
        (new_completion_tracker): New declaration.
        (make_cleanup_free_completion_tracker): Likewise.
        (maybe_add_completion_enum): New enum.
        (maybe_add_completion): New declaration.
        (throw_max_completions_reached_error): Likewise.
        * completer.c (max_completions): New global variable.
        (new_completion_tracker): New function.
        (free_completion_tracker): Likewise.
        (make_cleanup_free_completion_tracker): Likewise.
        (maybe_add_completions): Likewise.
        (throw_max_completions_reached_error): Likewise.
        (complete_line): Remove duplicates and limit result to max_completions
        entries.
        (get_max_completions_reached_message): New function.
        (gdb_display_match_list): Handle max_completions.
        (_initialize_completer): New declaration and function.
        * symtab.c: Include completer.h.
        (completion_tracker): New static variable.
        (completion_list_add_name): Call maybe_add_completion.
        (default_make_symbol_completion_list_break_on_1): Renamed from
        default_make_symbol_completion_list_break_on.  Maintain
        completion_tracker across calls to completion_list_add_name.
        (default_make_symbol_completion_list_break_on): New function.
        * top.c (init_main): Set rl_completion_display_matches_hook.
        * tui/tui-io.c: Include completer.h.
        (tui_old_rl_display_matches_hook): New static global.
        (tui_rl_display_match_list): Notify user if max-completions reached.
        (tui_setup_io): Save/restore rl_completion_display_matches_hook.
        * NEWS (New Options): Mention set/show max-completions.

    gdb/doc/ChangeLog:

        * gdb.texinfo (Command Completion): Document new
        "set/show max-completions" option.

    gdb/testsuite/ChangeLog:

        * gdb.base/completion.exp: Disable completion limiting for
        existing tests.  Add new tests to check completion limiting.
        * gdb.linespec/ls-errs.exp: Disable completion limiting.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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