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