diff src/keyboard.c @ 90789:c0409ee15cee

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 670-674) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 209-210) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-185
author Miles Bader <miles@gnu.org>
date Wed, 21 Mar 2007 13:33:07 +0000
parents 91bf6e05918b 27b51de2d1d7
children 4ef881a120fe
line wrap: on
line diff
--- a/src/keyboard.c	Sun Mar 18 14:12:38 2007 +0000
+++ b/src/keyboard.c	Wed Mar 21 13:33:07 2007 +0000
@@ -142,10 +142,10 @@
    do not execute it; call disabled-command-function's value instead.  */
 Lisp_Object Qdisabled, Qdisabled_command_function;
 
-#define NUM_RECENT_KEYS (100)
+#define NUM_RECENT_KEYS (300)
 int recent_keys_index;	/* Index for storing next element into recent_keys */
 int total_keys;		/* Total number of elements stored into recent_keys */
-Lisp_Object recent_keys; /* A vector, holding the last 100 keystrokes */
+Lisp_Object recent_keys; /* Vector holds the last NUM_RECENT_KEYS keystrokes */
 
 /* Vector holding the key sequence that invoked the current command.
    It is reused for each command, and it may be longer than the current
@@ -3525,6 +3525,7 @@
      If you, dear reader, have a better idea, you've got the source.  :-) */
   if (dribble)
     {
+      BLOCK_INPUT;
       if (INTEGERP (c))
 	{
 	  if (XUINT (c) < 0x100)
@@ -3550,6 +3551,7 @@
 	}
 
       fflush (dribble);
+      UNBLOCK_INPUT;
     }
 }
 
@@ -9403,6 +9405,8 @@
 		      if (!NILP (map) || !NILP (map2))
 			{
 			  from_string = string;
+			  keybuf[t++] = key;
+			  mock_input = t;
 			  goto replay_sequence;
 			}
 		    }
@@ -10289,7 +10293,7 @@
 }
 
 DEFUN ("recent-keys", Frecent_keys, Srecent_keys, 0, 0, 0,
-       doc: /* Return vector of last 100 events, not counting those from keyboard macros.  */)
+       doc: /* Return vector of last 300 events, not counting those from keyboard macros.  */)
      ()
 {
   Lisp_Object *keys = XVECTOR (recent_keys)->contents;
@@ -10433,7 +10437,9 @@
 {
   if (dribble)
     {
+      BLOCK_INPUT;
       fclose (dribble);
+      UNBLOCK_INPUT;
       dribble = 0;
     }
   if (!NILP (file))