Commit 60b73b25 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(read_minibuf): History list always gets strings,

not Lisp objects made by read.
parent b387ef9a
......@@ -259,25 +259,28 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
/* VAL is the string of minibuffer text. */
last_minibuf_string = val;
/* If Lisp form desired instead of string, parse it. */
if (expflag)
val = Fread (val);
/* Add the value to the appropriate history list. */
if (XTYPE (Vminibuffer_history_variable) == Lisp_Symbol
&& ! EQ (XSYMBOL (Vminibuffer_history_variable)->value, Qunbound))
{
/* If the caller wanted to save the value read on a history list,
then do so if the value is not already the front of the list. */
Lisp_Object histval = Fsymbol_value (Vminibuffer_history_variable);
then do so if the value is not already the front of the list. */
Lisp_Object histval;
histval = Fsymbol_value (Vminibuffer_history_variable);
/* The value of the history variable must be a cons or nil. Other
values are unacceptable. We silenty ignore these values. */
values are unacceptable. We silently ignore these values. */
if (NILP (histval)
|| (CONSP (histval) && NILP (Fequal (val, Fcar (histval)))))
Fset (Vminibuffer_history_variable, Fcons (val, histval));
|| (CONSP (histval)
&& NILP (Fequal (last_minibuf_string, Fcar (histval)))))
Fset (Vminibuffer_history_variable,
Fcons (last_minibuf_string, histval));
}
/* If Lisp form desired instead of string, parse it. */
if (expflag)
val = Fread (val);
unbind_to (count, Qnil); /* The appropriate frame will get selected
in set-window-configuration. */
......
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