This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Add option to remove duplicate command history entries
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Patrick Palka <patrick at parcs dot ath dot cx>
- Cc: gdb-patches at sourceware dot org, patrick at parcs dot ath dot cx
- Date: Sat, 20 Jun 2015 09:51:53 +0300
- Subject: Re: [PATCH] Add option to remove duplicate command history entries
- Authentication-results: sourceware.org; auth=none
- References: <5578539E dot 1020806 at redhat dot com> <1434756821-7423-1-git-send-email-patrick at parcs dot ath dot cx>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> From: Patrick Palka <patrick@parcs.ath.cx>
> Cc: Patrick Palka <patrick@parcs.ath.cx>
> Date: Fri, 19 Jun 2015 19:33:41 -0400
>
> This patch implements the new option "history remove-duplicates", which
> controls the removal of duplicate history entries ("off" by default).
>
> The motivation for this option is to be able to reduce the prevalence of
> basic commands such as "up" and "down" in the history file. These
> common commands crowd out more unique commands in the history file (when
> the history file has a fixed size), and they make navigation of the
> history file via ^P, ^N and ^R more inconvenient.
>
> The option takes an integer denoting the number of history entries to
> look back at for a history entry that is a duplicate of the latest one.
> "history remove-duplicates 1" is equivalent to bash's ignoredups option,
> and "history remove-duplicates unlimited" is equivalent to bash's
> erasedups option.
>
> [ I decided to go with this integer approach instead of a tri-state enum
> because it's slightly more flexible and seemingly more intuitive than
> leave/erase/ignore. ]
>
> gdb/ChangeLog:
>
> * NEWS: Mention the new option "history remove-duplicates".
> * top.c (history_remove_duplicates): New static variable.
> (show_history_remove_duplicates): New static function.
> (gdb_add_history): Conditionally remove duplicate history
> entries.
> (init_main): Add "history remove-duplicates" option.
>
> gdb/doc/ChangeLog:
>
> * gdb.texinfo (Command History): Document the new option
> "history remove-duplicates".
>
> gdb/testsuite/ChangeLog:
>
> * gdb.base/history-duplicates.exp: New test.
OK for the documentation parts.
Thanks.