summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFederico Tedin <federicotedin@gmail.com>2020-01-29 22:24:40 +0100
committerEli Zaretskii <eliz@gnu.org>2020-01-31 11:17:41 +0200
commit2e66013dcf1e139436cc806725e0b04945be55a9 (patch)
treed973884fe9f6ce4e02ae63f1328d55abe2c20894 /src
parentde411615344d1551d685e45b0739e1f738cf4afd (diff)
downloademacs-2e66013dcf1e139436cc806725e0b04945be55a9.tar.gz
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)
Diffstat (limited to 'src')
-rw-r--r--src/minibuf.c8
1 files changed, 4 insertions, 4 deletions
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;
}