changeset 20865:7a730831aa0e

(read_minibuf): If input is empty, return empty string. (Fread_string): Return DEFAULT_VALUE here, if input is empty. (Fcompleting_read): Likewise.
author Richard M. Stallman <rms@gnu.org>
date Sun, 08 Feb 1998 21:04:19 +0000
parents ad9e06c97d95
children 2501e131622d
files src/minibuf.c
diffstat 1 files changed, 14 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/minibuf.c	Sun Feb 08 20:58:53 1998 +0000
+++ b/src/minibuf.c	Sun Feb 08 21:04:19 1998 +0000
@@ -421,9 +421,6 @@
 
   /* VAL is the string of minibuffer text.  */
 
-  if (STRINGP (val) && XSTRING (val)->size == 0 && ! NILP (defalt))
-    val = defalt;
-
   last_minibuf_string = val;
 
   /* Add the value to the appropriate history list unless it is empty.  */
@@ -629,9 +626,9 @@
   and HISTPOS is the initial position (the position in the list\n\
   which INITIAL-CONTENTS corresponds to).\n\
   Positions are counted starting from 1 at the beginning of the list.\n\
-Sixth arg DEFAULT-VALUE is the default value.  If non-nil, it is used\n\
- for history commands, and as the value to return if the user enters\n\
- the empty string.\n\
+Sixth arg DEFAULT-VALUE is the default value.  If non-nil, it is available\n\
+ for history commands; but `read-from-minibuffer' does NOT return DEFAULT-VALUE\n\
+ if the user enters empty input!  It returns the empty string.\n\
 Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits\n\
  the current input method and the setting of enable-multibyte-characters.\n\
 If the variable `minibuffer-allow-text-properties' is non-nil,\n\
@@ -745,9 +742,13 @@
      Lisp_Object prompt, initial_input, history, default_value;
      Lisp_Object inherit_input_method;
 {
-  return Fread_from_minibuffer (prompt, initial_input, Qnil,
-				Qnil, history, default_value,
-				inherit_input_method);
+  Lisp_Object val;
+  val = Fread_from_minibuffer (prompt, initial_input, Qnil,
+			       Qnil, history, default_value,
+			       inherit_input_method);
+  if (STRINGP (val) && XSTRING (val)->size == 0 && ! NILP (default_value))
+    val = default_value;
+  return val;
 }
 
 DEFUN ("read-no-blanks-input", Fread_no_blanks_input, Sread_no_blanks_input, 1, 3, 0,
@@ -1325,6 +1326,10 @@
 		      init, prompt, make_number (pos), 0,
 		      histvar, histpos, def, 0,
 		      !NILP (inherit_input_method));
+
+  if (STRINGP (val) && XSTRING (val)->size == 0 && ! NILP (def))
+    val = def;
+
   RETURN_UNGCPRO (unbind_to (count, val));
 }