Mercurial > emacs
changeset 691:cae8c3ef1677
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 05 Jun 1992 05:57:46 +0000 |
parents | be66b03cbead |
children | 681c352bbf30 |
files | src/keyboard.c |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Thu Jun 04 23:02:37 1992 +0000 +++ b/src/keyboard.c Fri Jun 05 05:57:46 1992 +0000 @@ -2734,19 +2734,21 @@ return t; } -DEFUN ("read-key-sequence", Fread_key_sequence, Sread_key_sequence, 1, 1, 0, +DEFUN ("read-key-sequence", Fread_key_sequence, Sread_key_sequence, 1, 2, 0, "Read a sequence of keystrokes and return as a string or vector.\n\ The sequence is sufficient to specify a non-prefix command in the\n\ current local and global maps.\n\ \n\ -Arg PROMPT is a prompt string. If nil, do not prompt specially.\n\ +First arg PROMPT is a prompt string. If nil, do not prompt specially.\n\ +Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos\n\ +as a continuation of the previous key.\n\ \n\ If Emacs is running on multiple screens, switching between screens in\n\ the midst of a keystroke will toss any prefix typed so far. A C-g\n\ typed while in this function is treated like any other character, and\n\ `quit-flag' is not set.") - (prompt) - Lisp_Object prompt; + (prompt, continue_echo) + Lisp_Object prompt, continue_echo; { Lisp_Object keybuf[30]; register int i; @@ -2760,7 +2762,9 @@ GCPRO1 (keybuf[0]); gcpro1.nvars = (sizeof keybuf/sizeof (keybuf[0])); - this_command_key_count = 0; + if (! NILP (continue_echo)) + this_command_key_count = 0; + i = read_key_sequence (keybuf, (sizeof keybuf/sizeof (keybuf[0])), NILP (prompt) ? 0 : XSTRING (prompt)->data);