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