diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2009-04-15 00:08:23 +0000 |
---|---|---|
committer | Dan Nicolaescu <dann@ics.uci.edu> | 2009-04-15 00:08:23 +0000 |
commit | d65859c36e21f1e9c44655c19f3d8e34acc3a5cb (patch) | |
tree | 2960e4ba9f68bfe748d3e2d213e700d9e7ebcef4 | |
parent | ade29c44f68b80ac67b1f767c8069bff941c772c (diff) | |
download | emacs-d65859c36e21f1e9c44655c19f3d8e34acc3a5cb.tar.gz |
* 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.
-rw-r--r-- | src/ChangeLog | 8 | ||||
-rw-r--r-- | src/callint.c | 8 | ||||
-rw-r--r-- | src/fileio.c | 2 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5290d7ba92b..e9901dfa1bf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2009-04-15 Dan Nicolaescu <dann@ics.uci.edu> + + * 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 <eliz@gnu.org> * buffer.c (syms_of_buffer) <line-spacing>: Doc fix. diff --git a/src/callint.c b/src/callint.c index 3641fbc5b77..074f9c0fc5b 100644 --- a/src/callint.c +++ b/src/callint.c @@ -42,6 +42,7 @@ Lisp_Object Vcommand_history; 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 @@ invoke it. If KEYS is omitted or nil, the return value of { /* 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 --git a/src/fileio.c b/src/fileio.c index 0bdbe9f9a46..ed5c09bc840 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -221,8 +221,6 @@ extern int minibuf_level; 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. |