Commit 75fa7206 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(Fread_file_name): Delete duplicates in

file-name-history when history_delete_duplicates is true.
parent f10fffca
......@@ -228,6 +228,8 @@ 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.
......@@ -6383,7 +6385,13 @@ and `read-file-name-function'. */)
if (replace_in_history)
/* Replace what Fcompleting_read added to the history
with what we will actually return. */
XSETCAR (Fsymbol_value (Qfile_name_history), double_dollars (val));
Lisp_Object val1 = double_dollars (val);
tem = Fsymbol_value (Qfile_name_history);
if (history_delete_duplicates)
XSETCDR (tem, Fdelete (val1, XCDR(tem)));
XSETCAR (tem, val1);
else if (add_to_history)
/* Add the value to the history--but not if it matches
......@@ -6391,8 +6399,10 @@ and `read-file-name-function'. */)
Lisp_Object val1 = double_dollars (val);
tem = Fsymbol_value (Qfile_name_history);
if (! CONSP (tem) || NILP (Fequal (XCAR (tem), val1)))
Fset (Qfile_name_history,
Fcons (val1, tem));
if (history_delete_duplicates) tem = Fdelete (val1, tem);
Fset (Qfile_name_history, Fcons (val1, tem));
return val;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment