# HG changeset patch # User Luc Teirlinck # Date 1072373483 0 # Node ID 93fc4ea3546c57d1d84307f74889d6c5778f642e # Parent 340af9abe9d04e7720d3bd529b5fb8f8af3c1795 (Fcompleting_read): Undo previous change. diff -r 340af9abe9d0 -r 93fc4ea3546c src/minibuf.c --- 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));