Mercurial > emacs
changeset 46947:775e763fdaf2
(Fclear_this_command_keys): Added optional arg
KEEP-RECORD to avoid clearing lossage when we just want to clear
the current key sequence (kmacro needs this).
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 19 Aug 2002 14:58:29 +0000 |
parents | 664bdd6d9a58 |
children | f2225c68b0a8 |
files | src/keyboard.c |
diffstat | 1 files changed, 12 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Mon Aug 19 14:57:49 2002 +0000 +++ b/src/keyboard.c Mon Aug 19 14:58:29 2002 +0000 @@ -9732,19 +9732,24 @@ } DEFUN ("clear-this-command-keys", Fclear_this_command_keys, - Sclear_this_command_keys, 0, 0, 0, + Sclear_this_command_keys, 0, 1, 0, doc: /* Clear out the vector that `this-command-keys' returns. -Also clear the record of the last 100 events. */) - () +Also clear the record of the last 100 events, unless optional arg +KEEP-RECORD is non-nil. */) + (keep_record) + Lisp_Object keep_record; { int i; this_command_key_count = 0; - for (i = 0; i < XVECTOR (recent_keys)->size; ++i) - XVECTOR (recent_keys)->contents[i] = Qnil; - total_keys = 0; - recent_keys_index = 0; + if (NILP (keep_record)) + { + for (i = 0; i < XVECTOR (recent_keys)->size; ++i) + XVECTOR (recent_keys)->contents[i] = Qnil; + total_keys = 0; + recent_keys_index = 0; + } return Qnil; }