diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-08-29 00:51:51 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-08-29 00:51:51 +0000 |
commit | f0490a0bf2ee3707994b6f62b6f9ad501b57099c (patch) | |
tree | 72ed3b7669fcec321893a3410c7de70cb4f40e8f /src/callint.c | |
parent | 0819585c7b64be82f7b35d6294c2135132938fa6 (diff) | |
download | emacs-f0490a0bf2ee3707994b6f62b6f9ad501b57099c.tar.gz |
(Fcall_interactively): For `N' and `n',
if we don't get a number, try again.
Diffstat (limited to 'src/callint.c')
-rw-r--r-- | src/callint.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/callint.c b/src/callint.c index 9e9a1f1d0dc..14f34f3b5f6 100644 --- a/src/callint.c +++ b/src/callint.c @@ -563,9 +563,27 @@ Otherwise, this is done only if an arg is read using the minibuffer.") if (!NILP (prefix_arg)) goto have_prefix_arg; case 'n': /* Read number from minibuffer. */ - do - args[i] = Fread_minibuffer (build_string (callint_message), Qnil); - while (! NUMBERP (args[i])); + { + int first = 1; + do + { + Lisp_Object tem; + if (! first) + { + message ("Please enter a number."); + sit_for (1, 0, 0, 0); + } + first = 0; + + tem = Fread_from_minibuffer (build_string (callint_message), + Qnil, Qnil, Qnil, Qnil); + if (! STRINGP (tem) || XSTRING (tem)->size == 0) + args[i] = Qnil; + else + args[i] = Fread (tem); + } + while (! NUMBERP (args[i])); + } visargs[i] = last_minibuf_string; break; |