From 18fef1118abe792aa6b81aebba31e7ef33363a19 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 7 Aug 1996 18:28:03 +0000 Subject: (Fread_from_minibuffer): Make position 0 in the initial input mean the beginning. --- src/minibuf.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/minibuf.c b/src/minibuf.c index d0e86ea3195..0d107f97b1b 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -493,7 +493,7 @@ DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, If optional second arg INITIAL-CONTENTS is non-nil, it is a string\n\ to be inserted into the minibuffer before reading input.\n\ If INITIAL-CONTENTS is (STRING . POSITION), the initial input\n\ - is STRING, but point is placed POSITION characters into the string.\n\ + is STRING, but point is placed at position POSITION in the minibuffer.\n\ Third arg KEYMAP is a keymap to use whilst reading;\n\ if omitted or nil, the default is `minibuffer-local-map'.\n\ If fourth arg READ is non-nil, then interpret the result as a lisp object\n\ @@ -531,7 +531,11 @@ DEFUN ("read-from-minibuffer", Fread_from_minibuffer, Sread_from_minibuffer, 1, { CHECK_NUMBER (position, 0); /* Convert to distance from end of input. */ - pos = XINT (position) - 1 - XSTRING (initial_contents)->size; + if (XINT (position) < 1) + /* A number too small means the beginning of the string. */ + pos = - XSTRING (initial_contents)->size; + else + pos = XINT (position) - 1 - XSTRING (initial_contents)->size; } } -- cgit v1.2.3