Mercurial > emacs
diff src/minibuf.c @ 9615:f696aae6c5e0
(read_minibuf): Undo previous change.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 20 Oct 1994 04:37:03 +0000 |
parents | 99d523cdb0ea |
children | 6ee76b67cbfa |
line wrap: on
line diff
--- a/src/minibuf.c Thu Oct 20 04:33:34 1994 +0000 +++ b/src/minibuf.c Thu Oct 20 04:37:03 1994 +0000 @@ -269,6 +269,25 @@ /* VAL is the string of minibuffer text. */ last_minibuf_string = val; + /* Add the value to the appropriate history list unless it is empty. */ + if (XSTRING (val)->size != 0 + && SYMBOLP (Vminibuffer_history_variable) + && ! 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; + histval = Fsymbol_value (Vminibuffer_history_variable); + + /* The value of the history variable must be a cons or nil. Other + values are unacceptable. We silently ignore these values. */ + if (NILP (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) { @@ -283,23 +302,6 @@ val = Fcar (expr_and_pos); } - /* Add the value to the appropriate history list unless it is empty. */ - if (XSTRING (last_minibuf_string)->size != 0 - && SYMBOLP (Vminibuffer_history_variable) - && ! 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; - histval = Fsymbol_value (Vminibuffer_history_variable); - - /* The value of the history variable must be a cons or nil. Other - values are unacceptable. We silently ignore these values. */ - if (NILP (histval) - || (CONSP (histval) && NILP (Fequal (val, XCONS (histval)->car)))) - Fset (Vminibuffer_history_variable, Fcons (val, histval)); - } - return unbind_to (count, val); /* The appropriate frame will get selected in set-window-configuration. */ }