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);