From: Federico Tedin Date: Wed, 29 Jan 2020 21:24:40 +0000 (+0100) Subject: Ensure minibuffer input is added to history in read_minibuf X-Git-Tag: emacs-27.0.90~85 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2e66013dcf;p=emacs.git Ensure minibuffer input is added to history in read_minibuf * src/minibuf.c (read_minibuf): Parse input string after saving the string to the history list instead of before, in case parsing signals an error or is interrupted by C-g. (Bug#39291) --- diff --git a/src/minibuf.c b/src/minibuf.c index c5f61456900..b837cc53eb9 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -696,10 +696,6 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, else histstring = Qnil; - /* If Lisp form desired instead of string, parse it. */ - if (expflag) - val = string_to_object (val, defalt); - /* The appropriate frame will get selected in set-window-configuration. */ unbind_to (count, Qnil); @@ -710,6 +706,10 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, if (! (NILP (Vhistory_add_new_input) || NILP (histstring))) call2 (intern ("add-to-history"), histvar, histstring); + /* If Lisp form desired instead of string, parse it. */ + if (expflag) + val = string_to_object (val, defalt); + return val; }