summaryrefslogtreecommitdiff
path: root/src/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/keymap.c b/src/keymap.c
index ea0b1843b85..074cc1706bf 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -525,6 +525,10 @@ access_keymap (map, idx, t_ok, noinherit, autoload)
struct gcpro gcpro1;
Lisp_Object meta_map;
GCPRO1 (map);
+ /* A strange value in which Meta is set would cause
+ infinite recursion. Protect against that. */
+ if (meta_prefix_char & CHAR_META)
+ meta_prefix_char = make_number (27);
meta_map = get_keymap (access_keymap (map, meta_prefix_char,
t_ok, noinherit, autoload),
0, autoload);