]> git.eshelyaron.com Git - emacs.git/commitdiff
Ensure minibuffer input is added to history in read_minibuf
authorFederico Tedin <federicotedin@gmail.com>
Wed, 29 Jan 2020 21:24:40 +0000 (22:24 +0100)
committerEli Zaretskii <eliz@gnu.org>
Fri, 31 Jan 2020 09:17:41 +0000 (11:17 +0200)
* 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)

src/minibuf.c

index c5f61456900c75f4772bc24a4a8a80e1bb038db3..b837cc53eb9c6c5a0526f80d07af3479b2194085 100644 (file)
@@ -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;
 }