diff options
author | Richard M. Stallman <rms@gnu.org> | 1996-09-28 20:38:18 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1996-09-28 20:38:18 +0000 |
commit | c631c234c097c887302e07b9997cedbe17e05308 (patch) | |
tree | 22fb15c6a3aaeedb32a76e79ef470fcad476c216 /src/callint.c | |
parent | 5dd9db3bbdb22b71459731423b693110756ab28c (diff) | |
download | emacs-c631c234c097c887302e07b9997cedbe17e05308.tar.gz |
(Fcall_interactively): Bind cursor-in-echo-area to t for `k' and `K'.
Diffstat (limited to 'src/callint.c')
-rw-r--r-- | src/callint.c | 28 |
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. */ extern char *index (); +extern Lisp_Object Qcursor_in_echo_area; + Lisp_Object Vcurrent_prefix_arg, Qminus, Qplus; Lisp_Object Qcall_interactively; Lisp_Object Vcommand_history; @@ -522,17 +524,27 @@ Otherwise, this is done only if an arg is read using the minibuffer.") break; case 'k': /* Key sequence. */ - args[i] = Fread_key_sequence (build_string (callint_message), - Qnil, Qnil, Qnil); - teml = args[i]; - visargs[i] = Fkey_description (teml); + { + int speccount1 = specpdl_ptr - specpdl; + specbind (Qcursor_in_echo_area, Qt); + args[i] = Fread_key_sequence (build_string (callint_message), + Qnil, Qnil, Qnil); + unbind_to (speccount1, Qnil); + teml = args[i]; + visargs[i] = Fkey_description (teml); + } break; case 'K': /* Key sequence to be defined. */ - args[i] = Fread_key_sequence (build_string (callint_message), - Qnil, Qt, Qnil); - teml = args[i]; - visargs[i] = Fkey_description (teml); + { + int speccount1 = specpdl_ptr - specpdl; + specbind (Qcursor_in_echo_area, Qt); + args[i] = Fread_key_sequence (build_string (callint_message), + Qnil, Qt, Qnil); + teml = args[i]; + visargs[i] = Fkey_description (teml); + unbind_to (speccount1, Qnil); + } break; case 'e': /* The invoking event. */ |