Mercurial > emacs
comparison src/callint.c @ 19548:b275154db0cb
(Finteractive): Document the code letter `M'.
(Fcall_interactively): Call Fcompleting_read,
Fread_from_minibuffer, and Fread_string with a proper value for
the arg INHERIT-INPUT-METHOD. Handle the code letter `M'.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 26 Aug 1997 11:42:33 +0000 |
parents | 31bda055d8fe |
children | 8dbed9d176fe |
comparison
equal
deleted
inserted
replaced
19547:70d930b49bb4 | 19548:b275154db0cb |
---|---|
94 F -- Possibly nonexistent file name.\n\ | 94 F -- Possibly nonexistent file name.\n\ |
95 i -- Ignored, i.e. always nil. Does not do I/O.\n\ | 95 i -- Ignored, i.e. always nil. Does not do I/O.\n\ |
96 k -- Key sequence (downcase the last event if needed to get a definition).\n\ | 96 k -- Key sequence (downcase the last event if needed to get a definition).\n\ |
97 K -- Key sequence to be redefined (do not downcase the last event).\n\ | 97 K -- Key sequence to be redefined (do not downcase the last event).\n\ |
98 m -- Value of mark as number. Does not do I/O.\n\ | 98 m -- Value of mark as number. Does not do I/O.\n\ |
99 M -- Any string. Inherits the current input method.\n\ | |
99 n -- Number read using minibuffer.\n\ | 100 n -- Number read using minibuffer.\n\ |
100 N -- Raw prefix arg, or if none, do like code `n'.\n\ | 101 N -- Raw prefix arg, or if none, do like code `n'.\n\ |
101 p -- Prefix arg converted to number. Does not do I/O.\n\ | 102 p -- Prefix arg converted to number. Does not do I/O.\n\ |
102 P -- Prefix arg in raw form. Does not do I/O.\n\ | 103 P -- Prefix arg in raw form. Does not do I/O.\n\ |
103 r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O.\n\ | 104 r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O.\n\ |
104 s -- Any string.\n\ | 105 s -- Any string. Does not inherit the current input method.\n\ |
105 S -- Any symbol.\n\ | 106 S -- Any symbol.\n\ |
106 v -- Variable name: symbol that is user-variable-p.\n\ | 107 v -- Variable name: symbol that is user-variable-p.\n\ |
107 x -- Lisp expression read but not evaluated.\n\ | 108 x -- Lisp expression read but not evaluated.\n\ |
108 X -- Lisp expression read and evaluated.\n\ | 109 X -- Lisp expression read and evaluated.\n\ |
109 z -- Coding system.\n\ | 110 z -- Coding system.\n\ |
464 switch (*tem) | 465 switch (*tem) |
465 { | 466 { |
466 case 'a': /* Symbol defined as a function */ | 467 case 'a': /* Symbol defined as a function */ |
467 visargs[i] = Fcompleting_read (build_string (callint_message), | 468 visargs[i] = Fcompleting_read (build_string (callint_message), |
468 Vobarray, Qfboundp, Qt, | 469 Vobarray, Qfboundp, Qt, |
469 Qnil, Qnil, Qnil); | 470 Qnil, Qnil, Qnil, Qnil); |
470 /* Passing args[i] directly stimulates compiler bug */ | 471 /* Passing args[i] directly stimulates compiler bug */ |
471 teml = visargs[i]; | 472 teml = visargs[i]; |
472 args[i] = Fintern (teml, Qnil); | 473 args[i] = Fintern (teml, Qnil); |
473 break; | 474 break; |
474 | 475 |
498 break; | 499 break; |
499 | 500 |
500 case 'C': /* Command: symbol with interactive function */ | 501 case 'C': /* Command: symbol with interactive function */ |
501 visargs[i] = Fcompleting_read (build_string (callint_message), | 502 visargs[i] = Fcompleting_read (build_string (callint_message), |
502 Vobarray, Qcommandp, | 503 Vobarray, Qcommandp, |
503 Qt, Qnil, Qnil, Qnil); | 504 Qt, Qnil, Qnil, Qnil, Qnil); |
504 /* Passing args[i] directly stimulates compiler bug */ | 505 /* Passing args[i] directly stimulates compiler bug */ |
505 teml = visargs[i]; | 506 teml = visargs[i]; |
506 args[i] = Fintern (teml, Qnil); | 507 args[i] = Fintern (teml, Qnil); |
507 break; | 508 break; |
508 | 509 |
576 case 'm': /* Value of mark. Does not do I/O. */ | 577 case 'm': /* Value of mark. Does not do I/O. */ |
577 check_mark (); | 578 check_mark (); |
578 /* visargs[i] = Qnil; */ | 579 /* visargs[i] = Qnil; */ |
579 args[i] = current_buffer->mark; | 580 args[i] = current_buffer->mark; |
580 varies[i] = 2; | 581 varies[i] = 2; |
582 break; | |
583 | |
584 case 'M': /* String read via minibuffer with | |
585 inheriting the current input method. */ | |
586 args[i] = Fread_string (build_string (callint_message), | |
587 Qnil, Qnil, Qnil, Qt); | |
581 break; | 588 break; |
582 | 589 |
583 case 'N': /* Prefix arg, else number from minibuffer */ | 590 case 'N': /* Prefix arg, else number from minibuffer */ |
584 if (!NILP (prefix_arg)) | 591 if (!NILP (prefix_arg)) |
585 goto have_prefix_arg; | 592 goto have_prefix_arg; |
595 sit_for (1, 0, 0, 0, 0); | 602 sit_for (1, 0, 0, 0, 0); |
596 } | 603 } |
597 first = 0; | 604 first = 0; |
598 | 605 |
599 tem = Fread_from_minibuffer (build_string (callint_message), | 606 tem = Fread_from_minibuffer (build_string (callint_message), |
600 Qnil, Qnil, Qnil, Qnil, Qnil); | 607 Qnil, Qnil, Qnil, Qnil, Qnil, |
608 Qnil); | |
601 if (! STRINGP (tem) || XSTRING (tem)->size == 0) | 609 if (! STRINGP (tem) || XSTRING (tem)->size == 0) |
602 args[i] = Qnil; | 610 args[i] = Qnil; |
603 else | 611 else |
604 args[i] = Fread (tem); | 612 args[i] = Fread (tem); |
605 } | 613 } |
631 varies[i] = 3; | 639 varies[i] = 3; |
632 args[++i] = PT > foo ? point_marker : current_buffer->mark; | 640 args[++i] = PT > foo ? point_marker : current_buffer->mark; |
633 varies[i] = 4; | 641 varies[i] = 4; |
634 break; | 642 break; |
635 | 643 |
636 case 's': /* String read via minibuffer. */ | 644 case 's': /* String read via minibuffer without |
645 inheriting the current input method. */ | |
637 args[i] = Fread_string (build_string (callint_message), | 646 args[i] = Fread_string (build_string (callint_message), |
638 Qnil, Qnil, Qnil); | 647 Qnil, Qnil, Qnil, Qnil); |
639 break; | 648 break; |
640 | 649 |
641 case 'S': /* Any symbol. */ | 650 case 'S': /* Any symbol. */ |
642 visargs[i] = Fread_string (build_string (callint_message), | 651 visargs[i] = Fread_string (build_string (callint_message), |
643 Qnil, Qnil, Qnil); | 652 Qnil, Qnil, Qnil, Qnil); |
644 /* Passing args[i] directly stimulates compiler bug */ | 653 /* Passing args[i] directly stimulates compiler bug */ |
645 teml = visargs[i]; | 654 teml = visargs[i]; |
646 args[i] = Fintern (teml, Qnil); | 655 args[i] = Fintern (teml, Qnil); |
647 break; | 656 break; |
648 | 657 |