comparison src/callint.c @ 100688:8233f3e2beb4

* textprop.c (Qminibuffer_prompt): New variable. (syms_of_textprop): Initialize it. * callint.c (Fcall_interactively): For `c', `k', and `K' prompt in minibuffer-prompt face. (Bug#1662)
author Martin Rudalics <rudalics@gmx.at>
date Fri, 26 Dec 2008 09:39:49 +0000
parents 8971ddf55736
children e038c1a8307c
comparison
equal deleted inserted replaced
100687:245c01516a02 100688:8233f3e2beb4
43 extern Lisp_Object Vhistory_length; 43 extern Lisp_Object Vhistory_length;
44 extern Lisp_Object Vthis_original_command, real_this_command; 44 extern Lisp_Object Vthis_original_command, real_this_command;
45 45
46 Lisp_Object Vcommand_debug_status, Qcommand_debug_status; 46 Lisp_Object Vcommand_debug_status, Qcommand_debug_status;
47 Lisp_Object Qenable_recursive_minibuffers; 47 Lisp_Object Qenable_recursive_minibuffers;
48 extern Lisp_Object Qface, Qminibuffer_prompt;
48 49
49 /* Non-nil means treat the mark as active 50 /* Non-nil means treat the mark as active
50 even if mark_active is 0. */ 51 even if mark_active is 0. */
51 Lisp_Object Vmark_even_if_inactive; 52 Lisp_Object Vmark_even_if_inactive;
52 53
539 Fother_buffer (Fcurrent_buffer (), Qnil, Qnil), 540 Fother_buffer (Fcurrent_buffer (), Qnil, Qnil),
540 Qnil); 541 Qnil);
541 break; 542 break;
542 543
543 case 'c': /* Character */ 544 case 'c': /* Character */
545 /* Prompt in `minibuffer-prompt' face. */
546 Fput_text_property (make_number (0),
547 make_number (SCHARS (callint_message)),
548 Qface, Qminibuffer_prompt, callint_message);
544 args[i] = Fread_char (callint_message, Qnil, Qnil); 549 args[i] = Fread_char (callint_message, Qnil, Qnil);
545 message1_nolog ((char *) 0); 550 message1_nolog ((char *) 0);
546 /* Passing args[i] directly stimulates compiler bug */ 551 /* Passing args[i] directly stimulates compiler bug */
547 teml = args[i]; 552 teml = args[i];
548 visargs[i] = Fchar_to_string (teml); 553 visargs[i] = Fchar_to_string (teml);
592 597
593 case 'k': /* Key sequence. */ 598 case 'k': /* Key sequence. */
594 { 599 {
595 int speccount1 = SPECPDL_INDEX (); 600 int speccount1 = SPECPDL_INDEX ();
596 specbind (Qcursor_in_echo_area, Qt); 601 specbind (Qcursor_in_echo_area, Qt);
602 /* Prompt in `minibuffer-prompt' face. */
603 Fput_text_property (make_number (0),
604 make_number (SCHARS (callint_message)),
605 Qface, Qminibuffer_prompt, callint_message);
597 args[i] = Fread_key_sequence (callint_message, 606 args[i] = Fread_key_sequence (callint_message,
598 Qnil, Qnil, Qnil, Qnil); 607 Qnil, Qnil, Qnil, Qnil);
599 unbind_to (speccount1, Qnil); 608 unbind_to (speccount1, Qnil);
600 teml = args[i]; 609 teml = args[i];
601 visargs[i] = Fkey_description (teml, Qnil); 610 visargs[i] = Fkey_description (teml, Qnil);
620 629
621 case 'K': /* Key sequence to be defined. */ 630 case 'K': /* Key sequence to be defined. */
622 { 631 {
623 int speccount1 = SPECPDL_INDEX (); 632 int speccount1 = SPECPDL_INDEX ();
624 specbind (Qcursor_in_echo_area, Qt); 633 specbind (Qcursor_in_echo_area, Qt);
634 /* Prompt in `minibuffer-prompt' face. */
635 Fput_text_property (make_number (0),
636 make_number (SCHARS (callint_message)),
637 Qface, Qminibuffer_prompt, callint_message);
625 args[i] = Fread_key_sequence (callint_message, 638 args[i] = Fread_key_sequence (callint_message,
626 Qnil, Qt, Qnil, Qnil); 639 Qnil, Qt, Qnil, Qnil);
627 teml = args[i]; 640 teml = args[i];
628 visargs[i] = Fkey_description (teml, Qnil); 641 visargs[i] = Fkey_description (teml, Qnil);
629 unbind_to (speccount1, Qnil); 642 unbind_to (speccount1, Qnil);