diff options
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/minibuf.c | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c1d45f1df40..027d0fc0d25 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2014-05-07 Jarek Czekalski <jarekczek@poczta.onet.pl> + + Fix initialization of minibuffer history variable (Bug#17430). + * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound. + Move the initialization up to prevent any "value void" message. + 2014-05-06 Samuel Bronson <naesten@gmail.com> * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level diff --git a/src/minibuf.c b/src/minibuf.c index f325381d1ca..03d6104f226 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -535,6 +535,13 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, if (!NILP (Vminibuffer_completing_file_name)) Vminibuffer_completing_file_name = Qlambda; + /* If variable is unbound, make it nil. */ + Lisp_Object histval = find_symbol_value (Vminibuffer_history_variable); + if (EQ (histval, Qunbound)) { + Fset (Vminibuffer_history_variable, Qnil); + histval = Qnil; + } + if (inherit_input_method) { /* `current-input-method' is buffer local. So, remember it in @@ -703,13 +710,6 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, { /* 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; - - /* If variable is unbound, make it nil. */ - - histval = find_symbol_value (Vminibuffer_history_variable); - if (EQ (histval, Qunbound)) - Fset (Vminibuffer_history_variable, Qnil); /* The value of the history variable must be a cons or nil. Other values are unacceptable. We silently ignore these values. */ |