Mercurial > emacs
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));