From: Kim F. Storm Date: Mon, 19 Aug 2002 14:58:29 +0000 (+0000) Subject: (Fclear_this_command_keys): Added optional arg X-Git-Tag: ttn-vms-21-2-B4~13639 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ab1959fcbaf8c87bc39b2e98a7511348709ae1fe;p=emacs.git (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). --- diff --git a/src/keyboard.c b/src/keyboard.c index 5fd8cf1933a..1f2227f419a 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -9732,19 +9732,24 @@ appears in the echo area and in the value of `this-command-keys'. */) } 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; }