comparison src/callint.c @ 15961:e26f5c2b75a6

(Fcall_interactively): For `N' and `n', if we don't get a number, try again.
author Richard M. Stallman <rms@gnu.org>
date Thu, 29 Aug 1996 00:51:51 +0000
parents 3065719a83a9
children 855c8d8ba0f0
comparison
equal deleted inserted replaced
15960:12c61b25b7b6 15961:e26f5c2b75a6
561 561
562 case 'N': /* Prefix arg, else number from minibuffer */ 562 case 'N': /* Prefix arg, else number from minibuffer */
563 if (!NILP (prefix_arg)) 563 if (!NILP (prefix_arg))
564 goto have_prefix_arg; 564 goto have_prefix_arg;
565 case 'n': /* Read number from minibuffer. */ 565 case 'n': /* Read number from minibuffer. */
566 do 566 {
567 args[i] = Fread_minibuffer (build_string (callint_message), Qnil); 567 int first = 1;
568 while (! NUMBERP (args[i])); 568 do
569 {
570 Lisp_Object tem;
571 if (! first)
572 {
573 message ("Please enter a number.");
574 sit_for (1, 0, 0, 0);
575 }
576 first = 0;
577
578 tem = Fread_from_minibuffer (build_string (callint_message),
579 Qnil, Qnil, Qnil, Qnil);
580 if (! STRINGP (tem) || XSTRING (tem)->size == 0)
581 args[i] = Qnil;
582 else
583 args[i] = Fread (tem);
584 }
585 while (! NUMBERP (args[i]));
586 }
569 visargs[i] = last_minibuf_string; 587 visargs[i] = last_minibuf_string;
570 break; 588 break;
571 589
572 case 'P': /* Prefix arg in raw form. Does no I/O. */ 590 case 'P': /* Prefix arg in raw form. Does no I/O. */
573 args[i] = prefix_arg; 591 args[i] = prefix_arg;