summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-08-07 18:28:03 +0000
committerRichard M. Stallman <rms@gnu.org>1996-08-07 18:28:03 +0000
commit18fef1118abe792aa6b81aebba31e7ef33363a19 (patch)
tree26b1e214aef33edefb24ec2c254f2abad5c657a7
parentdea5efcbe3af1c2f19e7983c3276cd9ad25bc5b4 (diff)
downloademacs-18fef1118abe792aa6b81aebba31e7ef33363a19.tar.gz
(Fread_from_minibuffer): Make position 0 in the initial
input mean the beginning.
-rw-r--r--src/minibuf.c8
1 files 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;
}
}