# HG changeset patch # User Dan Nicolaescu # Date 1239754103 0 # Node ID 9980dd970cf98cc114c9b54de572eff6b4d932ae # Parent 9446d1875bbd5ae7f11be62aaa90e377384ce406 * fileio.c (history_delete_duplicates): Remove unused declaration. * callint.c (history_delete_duplicates): New declaration. (Fcall_interactively): Remove command history duplicates when history_delete_duplicates is true. diff -r 9446d1875bbd -r 9980dd970cf9 src/ChangeLog --- a/src/ChangeLog Tue Apr 14 21:54:49 2009 +0000 +++ b/src/ChangeLog Wed Apr 15 00:08:23 2009 +0000 @@ -1,3 +1,11 @@ +2009-04-15 Dan Nicolaescu + + * fileio.c (history_delete_duplicates): Remove unused declaration. + + * callint.c (history_delete_duplicates): New declaration. + (Fcall_interactively): Remove command history duplicates when + history_delete_duplicates is true. + 2009-04-14 Eli Zaretskii * buffer.c (syms_of_buffer) : Doc fix. diff -r 9446d1875bbd -r 9980dd970cf9 src/callint.c --- a/src/callint.c Tue Apr 14 21:54:49 2009 +0000 +++ b/src/callint.c Wed Apr 15 00:08:23 2009 +0000 @@ -42,6 +42,7 @@ extern Lisp_Object Vhistory_length; extern Lisp_Object Vthis_original_command, real_this_command; +extern int history_delete_duplicates; Lisp_Object Vcommand_debug_status, Qcommand_debug_status; Lisp_Object Qenable_recursive_minibuffers; @@ -366,12 +367,15 @@ { /* We should record this command on the command history. */ Lisp_Object values; + Lisp_Object this_cmd; /* Make a copy of the list of values, for the command history, and turn them into things we can eval. */ values = quotify_args (Fcopy_sequence (specs)); fix_command (input, values); - Vcommand_history - = Fcons (Fcons (function, values), Vcommand_history); + this_cmd = Fcons (function, values); + if (history_delete_duplicates) + Vcommand_history = Fdelete (this_cmd, Vcommand_history); + Vcommand_history = Fcons (this_cmd, Vcommand_history); /* Don't keep command history around forever. */ if (INTEGERP (Vhistory_length) && XINT (Vhistory_length) > 0) diff -r 9446d1875bbd -r 9980dd970cf9 src/fileio.c --- a/src/fileio.c Tue Apr 14 21:54:49 2009 +0000 +++ b/src/fileio.c Wed Apr 15 00:08:23 2009 +0000 @@ -221,8 +221,6 @@ extern int minibuffer_auto_raise; -extern int history_delete_duplicates; - /* These variables describe handlers that have "already" had a chance to handle the current operation.