aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2003-04-30 21:04:13 +0000
committerStefan Monnier2003-04-30 21:04:13 +0000
commit65470b5257ab64fe936fabd545446e4306c0a3ef (patch)
tree8abc6d5ab2280a633ad18ed8aad5406e51f393e6 /src
parente3d2084cb13aa84751c8052fb16b30fb60b6f6e3 (diff)
downloademacs-65470b5257ab64fe936fabd545446e4306c0a3ef.tar.gz
emacs-65470b5257ab64fe936fabd545446e4306c0a3ef.zip
(parse_modifiers_uncached): Parse `down', `drag',
`double', and `triple' modifiers as well.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index e2e61d25798..70c9d90530d 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -5844,6 +5844,26 @@ parse_modifiers_uncached (symbol, modifier_end)
5844 break; 5844 break;
5845 5845
5846#undef SINGLE_LETTER_MOD 5846#undef SINGLE_LETTER_MOD
5847
5848#define MULTI_LETTER_MOD(BIT, NAME, LEN) \
5849 if (i + LEN + 1 <= SBYTES (name) \
5850 && ! strncmp (SDATA (name) + i, NAME, LEN)) \
5851 { \
5852 this_mod_end = i + LEN; \
5853 this_mod = BIT; \
5854 }
5855
5856 case 'd':
5857 MULTI_LETTER_MOD (drag_modifier, "drag", 4);
5858 MULTI_LETTER_MOD (down_modifier, "down", 4);
5859 MULTI_LETTER_MOD (double_modifier, "double", 6);
5860 break;
5861
5862 case 't':
5863 MULTI_LETTER_MOD (triple_modifier, "triple", 6);
5864 break;
5865#undef MULTI_LETTER_MOD
5866
5847 } 5867 }
5848 5868
5849 /* If we found no modifier, stop looking for them. */ 5869 /* If we found no modifier, stop looking for them. */