XEmacs 21.2.34 "Molpe".
[chise/xemacs-chise.git-] / src / event-stream.c
index 4b67a2e..e3cbf1f 100644 (file)
@@ -121,6 +121,8 @@ Lisp_Object Qpre_idle_hook, Vpre_idle_hook;
 /* Control gratuitous keyboard focus throwing. */
 int focus_follows_mouse;
 
+int modifier_keys_are_sticky;
+
 #if 0 /* FSF Emacs crap */
 /* Hook run after a command if there's no more input soon.  */
 Lisp_Object Qpost_command_idle_hook, Vpost_command_idle_hook;
@@ -4117,10 +4119,10 @@ Magic events are handled as necessary.
               be done without an undo boundary.  This counter is reset as
               soon as a command other than self-insert-command is executed.
 
-              Programmers can also use the `self-insert-undo-magic'
+              Programmers can also use the `self-insert-defer-undo'
               property to install that behaviour on functions other
               than `self-insert-command', or to change the magic
-              number 20 to something else.  */
+              number 20 to something else.  #### DOCUMENT THIS!  */
 
            if (SYMBOLP (leaf))
              {
@@ -4754,6 +4756,15 @@ you should *bind* this, not set it.
 */ );
     Vretry_undefined_key_binding_unshifted = Qt;
 
+  DEFVAR_BOOL ("modifier-keys-are-sticky", &modifier_keys_are_sticky /*
+*Non-nil makes modifier keys sticky.
+This means that you can release the modifier key before pressing down
+the key that you wish to be modified.  Although this is non-standard
+behavior, it is recommended because it reduces the strain on your hand,
+thus reducing the incidence of the dreaded Emacs-pinky syndrome.
+*/ );
+  modifier_keys_are_sticky = 0;
+
 #ifdef HAVE_XIM
   DEFVAR_LISP ("composed-character-default-binding",
                &Vcomposed_character_default_binding /*