]> git.eshelyaron.com Git - emacs.git/commitdiff
(history_delete_duplicates): New variable.
authorJuri Linkov <juri@jurta.org>
Wed, 8 Sep 2004 20:06:13 +0000 (20:06 +0000)
committerJuri Linkov <juri@jurta.org>
Wed, 8 Sep 2004 20:06:13 +0000 (20:06 +0000)
(read_minibuf): Use it.
(syms_of_minibuf): Create the corresponding lisp variable.

src/minibuf.c

index d50e7404ab379f055381b53c326729db5f9e0f36..09e5675d68e0c8085d5b5f84c123a626c3ebb73e 100644 (file)
@@ -61,6 +61,10 @@ Lisp_Object Vcompletion_auto_help;
 
 Lisp_Object Qhistory_length, Vhistory_length;
 
+/* No duplicates in history.  */
+
+int history_delete_duplicates;
+
 /* Fread_minibuffer leaves the input here as a string. */
 
 Lisp_Object last_minibuf_string;
@@ -749,6 +753,7 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
        {
          Lisp_Object length;
 
+         if (history_delete_duplicates) Fdelete (histstring, histval);
          histval = Fcons (histstring, histval);
          Fset (Vminibuffer_history_variable, histval);
 
@@ -2668,6 +2673,12 @@ just after a new element is inserted.  Setting the history-length
 property of a history variable overrides this default.  */);
   XSETFASTINT (Vhistory_length, 30);
 
+  DEFVAR_BOOL ("history-delete-duplicates", &history_delete_duplicates,
+              doc: /* *Non-nil means to delete duplicates in history.
+If set to t when adding a new history element, all previous identical
+elements are deleted.  */);
+  history_delete_duplicates = 0;
+
   DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help,
               doc: /* *Non-nil means automatically provide help for invalid completion input.  */);
   Vcompletion_auto_help = Qt;