changeset 53312:93fc4ea3546c

(Fcompleting_read): Undo previous change.
author Luc Teirlinck <teirllm@auburn.edu>
date Thu, 25 Dec 2003 17:31:23 +0000
parents 340af9abe9d0
children 89450ca4c47e
files src/minibuf.c
diffstat 1 files changed, 22 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/minibuf.c	Thu Dec 25 17:12:59 2003 +0000
+++ b/src/minibuf.c	Thu Dec 25 17:31:23 2003 +0000
@@ -1578,10 +1578,13 @@
      Lisp_Object prompt, table, predicate, require_match, initial_input;
      Lisp_Object hist, def, inherit_input_method;
 {
-  Lisp_Object val, histvar, histpos;
+  Lisp_Object val, histvar, histpos, position;
+  Lisp_Object init;
+  int pos = 0;
   int count = SPECPDL_INDEX ();
   struct gcpro gcpro1;
 
+  init = initial_input;
   GCPRO1 (def);
 
   specbind (Qminibuffer_completion_table, table);
@@ -1590,6 +1593,23 @@
 	    EQ (require_match, Qt) ? Qnil : require_match);
   last_exact_completion = Qnil;
 
+  position = Qnil;
+  if (!NILP (init))
+    {
+      if (CONSP (init))
+	{
+	  position = Fcdr (init);
+	  init = Fcar (init);
+	}
+      CHECK_STRING (init);
+      if (!NILP (position))
+	{
+	  CHECK_NUMBER (position);
+	  /* Convert to distance from end of input.  */
+	  pos = XINT (position) - SCHARS (init);
+	}
+    }
+
   if (SYMBOLP (hist))
     {
       histvar = hist;
@@ -1608,7 +1628,7 @@
   val = read_minibuf (NILP (require_match)
 		      ? Vminibuffer_local_completion_map
 		      : Vminibuffer_local_must_match_map,
-		      initial_input, prompt, Qnil, 0,
+		      init, prompt, make_number (pos), 0,
 		      histvar, histpos, def, 0,
 		      !NILP (inherit_input_method));