aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1996-09-28 20:38:18 +0000
committerRichard M. Stallman1996-09-28 20:38:18 +0000
commitc631c234c097c887302e07b9997cedbe17e05308 (patch)
tree22fb15c6a3aaeedb32a76e79ef470fcad476c216 /src
parent5dd9db3bbdb22b71459731423b693110756ab28c (diff)
downloademacs-c631c234c097c887302e07b9997cedbe17e05308.tar.gz
emacs-c631c234c097c887302e07b9997cedbe17e05308.zip
(Fcall_interactively): Bind cursor-in-echo-area to t for `k' and `K'.
Diffstat (limited to 'src')
-rw-r--r--src/callint.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/src/callint.c b/src/callint.c
index 3741a0930d1..5cedc443933 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -29,6 +29,8 @@ Boston, MA 02111-1307, USA. */
29 29
30extern char *index (); 30extern char *index ();
31 31
32extern Lisp_Object Qcursor_in_echo_area;
33
32Lisp_Object Vcurrent_prefix_arg, Qminus, Qplus; 34Lisp_Object Vcurrent_prefix_arg, Qminus, Qplus;
33Lisp_Object Qcall_interactively; 35Lisp_Object Qcall_interactively;
34Lisp_Object Vcommand_history; 36Lisp_Object Vcommand_history;
@@ -522,17 +524,27 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
522 break; 524 break;
523 525
524 case 'k': /* Key sequence. */ 526 case 'k': /* Key sequence. */
525 args[i] = Fread_key_sequence (build_string (callint_message), 527 {
526 Qnil, Qnil, Qnil); 528 int speccount1 = specpdl_ptr - specpdl;
527 teml = args[i]; 529 specbind (Qcursor_in_echo_area, Qt);
528 visargs[i] = Fkey_description (teml); 530 args[i] = Fread_key_sequence (build_string (callint_message),
531 Qnil, Qnil, Qnil);
532 unbind_to (speccount1, Qnil);
533 teml = args[i];
534 visargs[i] = Fkey_description (teml);
535 }
529 break; 536 break;
530 537
531 case 'K': /* Key sequence to be defined. */ 538 case 'K': /* Key sequence to be defined. */
532 args[i] = Fread_key_sequence (build_string (callint_message), 539 {
533 Qnil, Qt, Qnil); 540 int speccount1 = specpdl_ptr - specpdl;
534 teml = args[i]; 541 specbind (Qcursor_in_echo_area, Qt);
535 visargs[i] = Fkey_description (teml); 542 args[i] = Fread_key_sequence (build_string (callint_message),
543 Qnil, Qt, Qnil);
544 teml = args[i];
545 visargs[i] = Fkey_description (teml);
546 unbind_to (speccount1, Qnil);
547 }
536 break; 548 break;
537 549
538 case 'e': /* The invoking event. */ 550 case 'e': /* The invoking event. */